worker-xquery.js 3.4 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987529885298952990529915299252993529945299552996529975299852999530005300153002530035300453005530065300753008530095301053011530125301353014530155301653017530185301953020530215302253023530245302553026530275302853029530305303153032530335303453035530365303753038530395304053041530425304353044530455304653047530485304953050530515305253053530545305553056530575305853059530605306153062530635306453065530665306753068530695307053071530725307353074530755307653077530785307953080530815308253083530845308553086530875308853089530905309153092530935309453095530965309753098530995310053101531025310353104531055310653107531085310953110531115311253113531145311553116531175311853119531205312153122531235312453125531265312753128531295313053131531325313353134531355313653137531385313953140531415314253143531445314553146531475314853149531505315153152531535315453155531565315753158531595316053161531625316353164531655316653167531685316953170531715317253173531745317553176531775317853179531805318153182531835318453185531865318753188531895319053191531925319353194531955319653197531985319953200532015320253203532045320553206532075320853209532105321153212532135321453215532165321753218532195322053221532225322353224532255322653227532285322953230532315323253233532345323553236532375323853239532405324153242532435324453245532465324753248532495325053251532525325353254532555325653257532585325953260532615326253263532645326553266532675326853269532705327153272532735327453275532765327753278532795328053281532825328353284532855328653287532885328953290532915329253293532945329553296532975329853299533005330153302533035330453305533065330753308533095331053311533125331353314533155331653317533185331953320533215332253323533245332553326533275332853329533305333153332533335333453335533365333753338533395334053341533425334353344533455334653347533485334953350533515335253353533545335553356533575335853359533605336153362533635336453365533665336753368533695337053371533725337353374533755337653377533785337953380533815338253383533845338553386533875338853389533905339153392533935339453395533965339753398533995340053401534025340353404534055340653407534085340953410534115341253413534145341553416534175341853419534205342153422534235342453425534265342753428534295343053431534325343353434534355343653437534385343953440534415344253443534445344553446534475344853449534505345153452534535345453455534565345753458534595346053461534625346353464534655346653467534685346953470534715347253473534745347553476534775347853479534805348153482534835348453485534865348753488534895349053491534925349353494534955349653497534985349953500535015350253503535045350553506535075350853509535105351153512535135351453515535165351753518535195352053521535225352353524535255352653527535285352953530535315353253533535345353553536535375353853539535405354153542535435354453545535465354753548535495355053551535525355353554535555355653557535585355953560535615356253563535645356553566535675356853569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359253593535945359553596535975359853599536005360153602536035360453605536065360753608536095361053611536125361353614536155361653617536185361953620536215362253623536245362553626536275362853629536305363153632536335363453635536365363753638536395364053641536425364353644536455364653647536485364953650536515365253653536545365553656536575365853659536605366153662536635366453665536665366753668536695367053671536725367353674536755367653677536785367953680536815368253683536845368553686536875368853689536905369153692536935369453695536965369753698536995370053701537025370353704537055370653707537085370953710537115371253713537145371553716537175371853719537205372153722537235372453725537265372753728537295373053731537325373353734537355373653737537385373953740537415374253743537445374553746537475374853749537505375153752537535375453755537565375753758537595376053761537625376353764537655376653767537685376953770537715377253773537745377553776537775377853779537805378153782537835378453785537865378753788537895379053791537925379353794537955379653797537985379953800538015380253803538045380553806538075380853809538105381153812538135381453815538165381753818538195382053821538225382353824538255382653827538285382953830538315383253833538345383553836538375383853839538405384153842538435384453845538465384753848538495385053851538525385353854538555385653857538585385953860538615386253863538645386553866538675386853869538705387153872538735387453875538765387753878538795388053881538825388353884538855388653887538885388953890538915389253893538945389553896538975389853899539005390153902539035390453905539065390753908539095391053911539125391353914539155391653917539185391953920539215392253923539245392553926539275392853929539305393153932539335393453935539365393753938539395394053941539425394353944539455394653947539485394953950539515395253953539545395553956539575395853959539605396153962539635396453965539665396753968539695397053971539725397353974539755397653977539785397953980539815398253983539845398553986539875398853989539905399153992539935399453995539965399753998539995400054001540025400354004540055400654007540085400954010540115401254013540145401554016540175401854019540205402154022540235402454025540265402754028540295403054031540325403354034540355403654037540385403954040540415404254043540445404554046540475404854049540505405154052540535405454055540565405754058540595406054061540625406354064540655406654067540685406954070540715407254073540745407554076540775407854079540805408154082540835408454085540865408754088540895409054091540925409354094540955409654097540985409954100541015410254103541045410554106541075410854109541105411154112541135411454115541165411754118541195412054121541225412354124541255412654127541285412954130541315413254133541345413554136541375413854139541405414154142541435414454145541465414754148541495415054151541525415354154541555415654157541585415954160541615416254163541645416554166541675416854169541705417154172541735417454175541765417754178541795418054181541825418354184541855418654187541885418954190541915419254193541945419554196541975419854199542005420154202542035420454205542065420754208542095421054211542125421354214542155421654217542185421954220542215422254223542245422554226542275422854229542305423154232542335423454235542365423754238542395424054241542425424354244542455424654247542485424954250542515425254253542545425554256542575425854259542605426154262542635426454265542665426754268542695427054271542725427354274542755427654277542785427954280542815428254283542845428554286542875428854289542905429154292542935429454295542965429754298542995430054301543025430354304543055430654307543085430954310543115431254313543145431554316543175431854319543205432154322543235432454325543265432754328543295433054331543325433354334543355433654337543385433954340543415434254343543445434554346543475434854349543505435154352543535435454355543565435754358543595436054361543625436354364543655436654367543685436954370543715437254373543745437554376543775437854379543805438154382543835438454385543865438754388543895439054391543925439354394543955439654397543985439954400544015440254403544045440554406544075440854409544105441154412544135441454415544165441754418544195442054421544225442354424544255442654427544285442954430544315443254433544345443554436544375443854439544405444154442544435444454445544465444754448544495445054451544525445354454544555445654457544585445954460544615446254463544645446554466544675446854469544705447154472544735447454475544765447754478544795448054481544825448354484544855448654487544885448954490544915449254493544945449554496544975449854499545005450154502545035450454505545065450754508545095451054511545125451354514545155451654517545185451954520545215452254523545245452554526545275452854529545305453154532545335453454535545365453754538545395454054541545425454354544545455454654547545485454954550545515455254553545545455554556545575455854559545605456154562545635456454565545665456754568545695457054571545725457354574545755457654577545785457954580545815458254583545845458554586545875458854589545905459154592545935459454595545965459754598545995460054601546025460354604546055460654607546085460954610546115461254613546145461554616546175461854619546205462154622546235462454625546265462754628546295463054631546325463354634546355463654637546385463954640546415464254643546445464554646546475464854649546505465154652546535465454655546565465754658546595466054661546625466354664546655466654667546685466954670546715467254673546745467554676546775467854679546805468154682546835468454685546865468754688546895469054691546925469354694546955469654697546985469954700547015470254703547045470554706547075470854709547105471154712547135471454715547165471754718547195472054721547225472354724547255472654727547285472954730547315473254733547345473554736547375473854739547405474154742547435474454745547465474754748547495475054751547525475354754547555475654757547585475954760547615476254763547645476554766547675476854769547705477154772547735477454775547765477754778547795478054781547825478354784547855478654787547885478954790547915479254793547945479554796547975479854799548005480154802548035480454805548065480754808548095481054811548125481354814548155481654817548185481954820548215482254823548245482554826548275482854829548305483154832548335483454835548365483754838548395484054841548425484354844548455484654847548485484954850548515485254853548545485554856548575485854859548605486154862548635486454865548665486754868548695487054871548725487354874548755487654877548785487954880548815488254883548845488554886548875488854889548905489154892548935489454895548965489754898548995490054901549025490354904549055490654907549085490954910549115491254913549145491554916549175491854919549205492154922549235492454925549265492754928549295493054931549325493354934549355493654937549385493954940549415494254943549445494554946549475494854949549505495154952549535495454955549565495754958549595496054961549625496354964549655496654967549685496954970549715497254973549745497554976549775497854979549805498154982549835498454985549865498754988549895499054991549925499354994549955499654997549985499955000550015500255003550045500555006550075500855009550105501155012550135501455015550165501755018550195502055021550225502355024550255502655027550285502955030550315503255033550345503555036550375503855039550405504155042550435504455045550465504755048550495505055051550525505355054550555505655057550585505955060550615506255063550645506555066550675506855069550705507155072550735507455075550765507755078550795508055081550825508355084550855508655087550885508955090550915509255093550945509555096550975509855099551005510155102551035510455105551065510755108551095511055111551125511355114551155511655117551185511955120551215512255123551245512555126551275512855129551305513155132551335513455135551365513755138551395514055141551425514355144551455514655147551485514955150551515515255153551545515555156551575515855159551605516155162551635516455165551665516755168551695517055171551725517355174551755517655177551785517955180551815518255183551845518555186551875518855189551905519155192551935519455195551965519755198551995520055201552025520355204552055520655207552085520955210552115521255213552145521555216552175521855219552205522155222552235522455225552265522755228552295523055231552325523355234552355523655237552385523955240552415524255243552445524555246552475524855249552505525155252552535525455255552565525755258552595526055261552625526355264552655526655267552685526955270552715527255273552745527555276552775527855279552805528155282552835528455285552865528755288552895529055291552925529355294552955529655297552985529955300553015530255303553045530555306553075530855309553105531155312553135531455315553165531755318553195532055321553225532355324553255532655327553285532955330553315533255333553345533555336553375533855339553405534155342553435534455345553465534755348553495535055351553525535355354553555535655357553585535955360553615536255363553645536555366553675536855369553705537155372553735537455375553765537755378553795538055381553825538355384553855538655387553885538955390553915539255393553945539555396553975539855399554005540155402554035540455405554065540755408554095541055411554125541355414554155541655417554185541955420554215542255423554245542555426554275542855429554305543155432554335543455435554365543755438554395544055441554425544355444554455544655447554485544955450554515545255453554545545555456554575545855459554605546155462554635546455465554665546755468554695547055471554725547355474554755547655477554785547955480554815548255483554845548555486554875548855489554905549155492554935549455495554965549755498554995550055501555025550355504555055550655507555085550955510555115551255513555145551555516555175551855519555205552155522555235552455525555265552755528555295553055531555325553355534555355553655537555385553955540555415554255543555445554555546555475554855549555505555155552555535555455555555565555755558555595556055561555625556355564555655556655567555685556955570555715557255573555745557555576555775557855579555805558155582555835558455585555865558755588555895559055591555925559355594555955559655597555985559955600556015560255603556045560555606556075560855609556105561155612556135561455615556165561755618556195562055621556225562355624556255562655627556285562955630556315563255633556345563555636556375563855639556405564155642556435564455645556465564755648556495565055651556525565355654556555565655657556585565955660556615566255663556645566555666556675566855669556705567155672556735567455675556765567755678556795568055681556825568355684556855568655687556885568955690556915569255693556945569555696556975569855699557005570155702557035570455705557065570755708557095571055711557125571355714557155571655717557185571955720557215572255723557245572555726557275572855729557305573155732557335573455735557365573755738557395574055741557425574355744557455574655747557485574955750557515575255753557545575555756557575575855759557605576155762557635576455765557665576755768557695577055771557725577355774557755577655777557785577955780557815578255783557845578555786557875578855789557905579155792557935579455795557965579755798557995580055801558025580355804558055580655807558085580955810558115581255813558145581555816558175581855819558205582155822558235582455825558265582755828558295583055831558325583355834558355583655837558385583955840558415584255843558445584555846558475584855849558505585155852558535585455855558565585755858558595586055861558625586355864558655586655867558685586955870558715587255873558745587555876558775587855879558805588155882558835588455885558865588755888558895589055891558925589355894558955589655897558985589955900559015590255903559045590555906559075590855909559105591155912559135591455915559165591755918559195592055921559225592355924559255592655927559285592955930559315593255933559345593555936559375593855939559405594155942559435594455945559465594755948559495595055951559525595355954559555595655957559585595955960559615596255963559645596555966559675596855969559705597155972559735597455975559765597755978559795598055981559825598355984559855598655987559885598955990559915599255993559945599555996559975599855999560005600156002560035600456005560065600756008560095601056011560125601356014560155601656017560185601956020560215602256023560245602556026560275602856029560305603156032560335603456035560365603756038560395604056041560425604356044560455604656047560485604956050560515605256053560545605556056560575605856059560605606156062560635606456065560665606756068560695607056071560725607356074560755607656077560785607956080560815608256083560845608556086560875608856089560905609156092560935609456095560965609756098560995610056101561025610356104561055610656107561085610956110561115611256113561145611556116561175611856119561205612156122561235612456125561265612756128561295613056131561325613356134561355613656137561385613956140561415614256143561445614556146561475614856149561505615156152561535615456155561565615756158561595616056161561625616356164561655616656167561685616956170561715617256173561745617556176561775617856179561805618156182561835618456185561865618756188561895619056191561925619356194561955619656197561985619956200562015620256203562045620556206562075620856209562105621156212562135621456215562165621756218562195622056221562225622356224562255622656227562285622956230562315623256233562345623556236562375623856239562405624156242562435624456245562465624756248562495625056251562525625356254562555625656257562585625956260562615626256263562645626556266562675626856269562705627156272562735627456275562765627756278562795628056281562825628356284562855628656287562885628956290562915629256293562945629556296562975629856299563005630156302563035630456305563065630756308563095631056311563125631356314563155631656317563185631956320563215632256323563245632556326563275632856329563305633156332563335633456335563365633756338563395634056341563425634356344563455634656347563485634956350563515635256353563545635556356563575635856359563605636156362563635636456365563665636756368563695637056371563725637356374563755637656377563785637956380563815638256383563845638556386563875638856389563905639156392563935639456395563965639756398563995640056401564025640356404564055640656407564085640956410564115641256413564145641556416564175641856419564205642156422564235642456425564265642756428564295643056431564325643356434564355643656437564385643956440564415644256443564445644556446564475644856449564505645156452564535645456455564565645756458564595646056461564625646356464564655646656467564685646956470564715647256473564745647556476564775647856479564805648156482564835648456485564865648756488564895649056491564925649356494564955649656497564985649956500565015650256503565045650556506565075650856509565105651156512565135651456515565165651756518565195652056521565225652356524565255652656527565285652956530565315653256533565345653556536565375653856539565405654156542565435654456545565465654756548565495655056551565525655356554565555655656557565585655956560565615656256563565645656556566565675656856569565705657156572565735657456575565765657756578565795658056581565825658356584565855658656587565885658956590565915659256593565945659556596565975659856599566005660156602566035660456605566065660756608566095661056611566125661356614566155661656617566185661956620566215662256623566245662556626566275662856629566305663156632566335663456635566365663756638566395664056641566425664356644566455664656647566485664956650566515665256653566545665556656566575665856659566605666156662566635666456665566665666756668566695667056671566725667356674566755667656677566785667956680566815668256683566845668556686566875668856689566905669156692566935669456695566965669756698566995670056701567025670356704567055670656707567085670956710567115671256713567145671556716567175671856719567205672156722567235672456725567265672756728567295673056731567325673356734567355673656737567385673956740567415674256743567445674556746567475674856749567505675156752567535675456755567565675756758567595676056761567625676356764567655676656767567685676956770567715677256773567745677556776567775677856779567805678156782567835678456785567865678756788567895679056791567925679356794567955679656797567985679956800568015680256803568045680556806568075680856809568105681156812568135681456815568165681756818568195682056821568225682356824568255682656827568285682956830568315683256833568345683556836568375683856839568405684156842568435684456845568465684756848568495685056851568525685356854568555685656857568585685956860568615686256863568645686556866568675686856869568705687156872568735687456875568765687756878568795688056881568825688356884568855688656887568885688956890568915689256893568945689556896568975689856899569005690156902569035690456905569065690756908569095691056911569125691356914569155691656917569185691956920569215692256923569245692556926569275692856929569305693156932569335693456935569365693756938569395694056941569425694356944569455694656947569485694956950569515695256953569545695556956569575695856959569605696156962569635696456965569665696756968569695697056971569725697356974569755697656977569785697956980569815698256983569845698556986569875698856989569905699156992569935699456995569965699756998569995700057001570025700357004570055700657007570085700957010570115701257013570145701557016570175701857019570205702157022570235702457025570265702757028570295703057031570325703357034570355703657037570385703957040570415704257043570445704557046570475704857049570505705157052570535705457055570565705757058570595706057061570625706357064570655706657067570685706957070570715707257073570745707557076570775707857079570805708157082570835708457085570865708757088570895709057091570925709357094570955709657097570985709957100571015710257103571045710557106571075710857109571105711157112571135711457115571165711757118571195712057121571225712357124571255712657127571285712957130571315713257133571345713557136571375713857139571405714157142571435714457145571465714757148571495715057151571525715357154571555715657157571585715957160571615716257163571645716557166571675716857169571705717157172571735717457175571765717757178571795718057181571825718357184571855718657187571885718957190571915719257193571945719557196571975719857199572005720157202572035720457205572065720757208572095721057211572125721357214572155721657217572185721957220572215722257223572245722557226572275722857229572305723157232572335723457235572365723757238572395724057241572425724357244572455724657247572485724957250572515725257253572545725557256572575725857259572605726157262572635726457265572665726757268572695727057271572725727357274572755727657277572785727957280572815728257283572845728557286572875728857289572905729157292572935729457295572965729757298572995730057301573025730357304573055730657307573085730957310573115731257313573145731557316573175731857319573205732157322573235732457325573265732757328573295733057331573325733357334573355733657337573385733957340573415734257343573445734557346573475734857349573505735157352573535735457355573565735757358573595736057361573625736357364573655736657367573685736957370573715737257373573745737557376573775737857379573805738157382573835738457385573865738757388573895739057391573925739357394573955739657397573985739957400574015740257403574045740557406574075740857409574105741157412574135741457415574165741757418574195742057421574225742357424574255742657427574285742957430574315743257433574345743557436574375743857439574405744157442574435744457445574465744757448574495745057451574525745357454574555745657457574585745957460574615746257463574645746557466574675746857469574705747157472574735747457475574765747757478574795748057481574825748357484574855748657487574885748957490574915749257493574945749557496574975749857499575005750157502575035750457505575065750757508575095751057511575125751357514575155751657517575185751957520575215752257523575245752557526575275752857529575305753157532575335753457535575365753757538575395754057541575425754357544575455754657547575485754957550575515755257553575545755557556575575755857559575605756157562575635756457565575665756757568575695757057571575725757357574575755757657577575785757957580575815758257583575845758557586575875758857589575905759157592575935759457595575965759757598575995760057601576025760357604576055760657607576085760957610576115761257613576145761557616576175761857619576205762157622576235762457625576265762757628576295763057631576325763357634576355763657637576385763957640576415764257643576445764557646576475764857649576505765157652576535765457655576565765757658576595766057661576625766357664576655766657667576685766957670576715767257673576745767557676576775767857679576805768157682576835768457685576865768757688576895769057691576925769357694576955769657697576985769957700577015770257703577045770557706577075770857709577105771157712577135771457715577165771757718577195772057721577225772357724577255772657727577285772957730577315773257733577345773557736577375773857739577405774157742577435774457745577465774757748577495775057751577525775357754577555775657757577585775957760577615776257763577645776557766577675776857769577705777157772577735777457775577765777757778577795778057781577825778357784577855778657787577885778957790577915779257793577945779557796577975779857799578005780157802578035780457805578065780757808578095781057811578125781357814578155781657817578185781957820578215782257823578245782557826578275782857829578305783157832578335783457835578365783757838578395784057841578425784357844578455784657847578485784957850578515785257853578545785557856578575785857859578605786157862578635786457865578665786757868578695787057871578725787357874578755787657877578785787957880578815788257883578845788557886578875788857889578905789157892578935789457895578965789757898578995790057901579025790357904579055790657907579085790957910579115791257913579145791557916579175791857919579205792157922579235792457925579265792757928579295793057931579325793357934579355793657937579385793957940579415794257943579445794557946579475794857949579505795157952579535795457955579565795757958579595796057961579625796357964579655796657967579685796957970579715797257973579745797557976579775797857979579805798157982579835798457985579865798757988579895799057991579925799357994579955799657997579985799958000580015800258003580045800558006580075800858009580105801158012580135801458015580165801758018580195802058021580225802358024580255802658027580285802958030580315803258033580345803558036580375803858039580405804158042580435804458045580465804758048580495805058051580525805358054580555805658057580585805958060580615806258063580645806558066580675806858069580705807158072580735807458075580765807758078580795808058081580825808358084580855808658087580885808958090580915809258093580945809558096580975809858099581005810158102581035810458105581065810758108581095811058111581125811358114581155811658117581185811958120581215812258123581245812558126581275812858129581305813158132581335813458135581365813758138581395814058141581425814358144581455814658147581485814958150581515815258153581545815558156581575815858159581605816158162581635816458165581665816758168581695817058171581725817358174581755817658177581785817958180581815818258183581845818558186581875818858189581905819158192581935819458195581965819758198581995820058201582025820358204582055820658207582085820958210582115821258213582145821558216582175821858219582205822158222582235822458225582265822758228582295823058231582325823358234582355823658237582385823958240582415824258243582445824558246582475824858249582505825158252582535825458255582565825758258582595826058261582625826358264582655826658267582685826958270582715827258273582745827558276582775827858279582805828158282582835828458285582865828758288582895829058291582925829358294582955829658297582985829958300583015830258303583045830558306583075830858309583105831158312583135831458315583165831758318583195832058321583225832358324583255832658327583285832958330583315833258333583345833558336583375833858339583405834158342583435834458345583465834758348583495835058351
  1. "no use strict";
  2. ;(function(window) {
  3. if (typeof window.window != "undefined" && window.document)
  4. return;
  5. if (window.require && window.define)
  6. return;
  7. if (!window.console) {
  8. window.console = function() {
  9. var msgs = Array.prototype.slice.call(arguments, 0);
  10. postMessage({type: "log", data: msgs});
  11. };
  12. window.console.error =
  13. window.console.warn =
  14. window.console.log =
  15. window.console.trace = window.console;
  16. }
  17. window.window = window;
  18. window.ace = window;
  19. window.onerror = function(message, file, line, col, err) {
  20. postMessage({type: "error", data: {
  21. message: message,
  22. data: err.data,
  23. file: file,
  24. line: line,
  25. col: col,
  26. stack: err.stack
  27. }});
  28. };
  29. window.normalizeModule = function(parentId, moduleName) {
  30. // normalize plugin requires
  31. if (moduleName.indexOf("!") !== -1) {
  32. var chunks = moduleName.split("!");
  33. return window.normalizeModule(parentId, chunks[0]) + "!" + window.normalizeModule(parentId, chunks[1]);
  34. }
  35. // normalize relative requires
  36. if (moduleName.charAt(0) == ".") {
  37. var base = parentId.split("/").slice(0, -1).join("/");
  38. moduleName = (base ? base + "/" : "") + moduleName;
  39. while (moduleName.indexOf(".") !== -1 && previous != moduleName) {
  40. var previous = moduleName;
  41. moduleName = moduleName.replace(/^\.\//, "").replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
  42. }
  43. }
  44. return moduleName;
  45. };
  46. window.require = function require(parentId, id) {
  47. if (!id) {
  48. id = parentId;
  49. parentId = null;
  50. }
  51. if (!id.charAt)
  52. throw new Error("worker.js require() accepts only (parentId, id) as arguments");
  53. id = window.normalizeModule(parentId, id);
  54. var module = window.require.modules[id];
  55. if (module) {
  56. if (!module.initialized) {
  57. module.initialized = true;
  58. module.exports = module.factory().exports;
  59. }
  60. return module.exports;
  61. }
  62. if (!window.require.tlns)
  63. return console.log("unable to load " + id);
  64. var path = resolveModuleId(id, window.require.tlns);
  65. if (path.slice(-3) != ".js") path += ".js";
  66. window.require.id = id;
  67. window.require.modules[id] = {}; // prevent infinite loop on broken modules
  68. importScripts(path);
  69. return window.require(parentId, id);
  70. };
  71. function resolveModuleId(id, paths) {
  72. var testPath = id, tail = "";
  73. while (testPath) {
  74. var alias = paths[testPath];
  75. if (typeof alias == "string") {
  76. return alias + tail;
  77. } else if (alias) {
  78. return alias.location.replace(/\/*$/, "/") + (tail || alias.main || alias.name);
  79. } else if (alias === false) {
  80. return "";
  81. }
  82. var i = testPath.lastIndexOf("/");
  83. if (i === -1) break;
  84. tail = testPath.substr(i) + tail;
  85. testPath = testPath.slice(0, i);
  86. }
  87. return id;
  88. }
  89. window.require.modules = {};
  90. window.require.tlns = {};
  91. window.define = function(id, deps, factory) {
  92. if (arguments.length == 2) {
  93. factory = deps;
  94. if (typeof id != "string") {
  95. deps = id;
  96. id = window.require.id;
  97. }
  98. } else if (arguments.length == 1) {
  99. factory = id;
  100. deps = [];
  101. id = window.require.id;
  102. }
  103. if (typeof factory != "function") {
  104. window.require.modules[id] = {
  105. exports: factory,
  106. initialized: true
  107. };
  108. return;
  109. }
  110. if (!deps.length)
  111. // If there is no dependencies, we inject "require", "exports" and
  112. // "module" as dependencies, to provide CommonJS compatibility.
  113. deps = ["require", "exports", "module"];
  114. var req = function(childId) {
  115. return window.require(id, childId);
  116. };
  117. window.require.modules[id] = {
  118. exports: {},
  119. factory: function() {
  120. var module = this;
  121. var returnExports = factory.apply(this, deps.map(function(dep) {
  122. switch (dep) {
  123. // Because "require", "exports" and "module" aren't actual
  124. // dependencies, we must handle them seperately.
  125. case "require": return req;
  126. case "exports": return module.exports;
  127. case "module": return module;
  128. // But for all other dependencies, we can just go ahead and
  129. // require them.
  130. default: return req(dep);
  131. }
  132. }));
  133. if (returnExports)
  134. module.exports = returnExports;
  135. return module;
  136. }
  137. };
  138. };
  139. window.define.amd = {};
  140. require.tlns = {};
  141. window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
  142. for (var i in topLevelNamespaces)
  143. require.tlns[i] = topLevelNamespaces[i];
  144. };
  145. window.initSender = function initSender() {
  146. var EventEmitter = window.require("ace/lib/event_emitter").EventEmitter;
  147. var oop = window.require("ace/lib/oop");
  148. var Sender = function() {};
  149. (function() {
  150. oop.implement(this, EventEmitter);
  151. this.callback = function(data, callbackId) {
  152. postMessage({
  153. type: "call",
  154. id: callbackId,
  155. data: data
  156. });
  157. };
  158. this.emit = function(name, data) {
  159. postMessage({
  160. type: "event",
  161. name: name,
  162. data: data
  163. });
  164. };
  165. }).call(Sender.prototype);
  166. return new Sender();
  167. };
  168. var main = window.main = null;
  169. var sender = window.sender = null;
  170. window.onmessage = function(e) {
  171. var msg = e.data;
  172. if (msg.event && sender) {
  173. sender._signal(msg.event, msg.data);
  174. }
  175. else if (msg.command) {
  176. if (main[msg.command])
  177. main[msg.command].apply(main, msg.args);
  178. else if (window[msg.command])
  179. window[msg.command].apply(window, msg.args);
  180. else
  181. throw new Error("Unknown command:" + msg.command);
  182. }
  183. else if (msg.init) {
  184. window.initBaseUrls(msg.tlns);
  185. require("ace/lib/es5-shim");
  186. sender = window.sender = window.initSender();
  187. var clazz = require(msg.module)[msg.classname];
  188. main = window.main = new clazz(sender);
  189. }
  190. };
  191. })(this);
  192. define("ace/lib/oop",["require","exports","module"], function(require, exports, module) {
  193. "use strict";
  194. exports.inherits = function(ctor, superCtor) {
  195. ctor.super_ = superCtor;
  196. ctor.prototype = Object.create(superCtor.prototype, {
  197. constructor: {
  198. value: ctor,
  199. enumerable: false,
  200. writable: true,
  201. configurable: true
  202. }
  203. });
  204. };
  205. exports.mixin = function(obj, mixin) {
  206. for (var key in mixin) {
  207. obj[key] = mixin[key];
  208. }
  209. return obj;
  210. };
  211. exports.implement = function(proto, mixin) {
  212. exports.mixin(proto, mixin);
  213. };
  214. });
  215. define("ace/range",["require","exports","module"], function(require, exports, module) {
  216. "use strict";
  217. var comparePoints = function(p1, p2) {
  218. return p1.row - p2.row || p1.column - p2.column;
  219. };
  220. var Range = function(startRow, startColumn, endRow, endColumn) {
  221. this.start = {
  222. row: startRow,
  223. column: startColumn
  224. };
  225. this.end = {
  226. row: endRow,
  227. column: endColumn
  228. };
  229. };
  230. (function() {
  231. this.isEqual = function(range) {
  232. return this.start.row === range.start.row &&
  233. this.end.row === range.end.row &&
  234. this.start.column === range.start.column &&
  235. this.end.column === range.end.column;
  236. };
  237. this.toString = function() {
  238. return ("Range: [" + this.start.row + "/" + this.start.column +
  239. "] -> [" + this.end.row + "/" + this.end.column + "]");
  240. };
  241. this.contains = function(row, column) {
  242. return this.compare(row, column) == 0;
  243. };
  244. this.compareRange = function(range) {
  245. var cmp,
  246. end = range.end,
  247. start = range.start;
  248. cmp = this.compare(end.row, end.column);
  249. if (cmp == 1) {
  250. cmp = this.compare(start.row, start.column);
  251. if (cmp == 1) {
  252. return 2;
  253. } else if (cmp == 0) {
  254. return 1;
  255. } else {
  256. return 0;
  257. }
  258. } else if (cmp == -1) {
  259. return -2;
  260. } else {
  261. cmp = this.compare(start.row, start.column);
  262. if (cmp == -1) {
  263. return -1;
  264. } else if (cmp == 1) {
  265. return 42;
  266. } else {
  267. return 0;
  268. }
  269. }
  270. };
  271. this.comparePoint = function(p) {
  272. return this.compare(p.row, p.column);
  273. };
  274. this.containsRange = function(range) {
  275. return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
  276. };
  277. this.intersects = function(range) {
  278. var cmp = this.compareRange(range);
  279. return (cmp == -1 || cmp == 0 || cmp == 1);
  280. };
  281. this.isEnd = function(row, column) {
  282. return this.end.row == row && this.end.column == column;
  283. };
  284. this.isStart = function(row, column) {
  285. return this.start.row == row && this.start.column == column;
  286. };
  287. this.setStart = function(row, column) {
  288. if (typeof row == "object") {
  289. this.start.column = row.column;
  290. this.start.row = row.row;
  291. } else {
  292. this.start.row = row;
  293. this.start.column = column;
  294. }
  295. };
  296. this.setEnd = function(row, column) {
  297. if (typeof row == "object") {
  298. this.end.column = row.column;
  299. this.end.row = row.row;
  300. } else {
  301. this.end.row = row;
  302. this.end.column = column;
  303. }
  304. };
  305. this.inside = function(row, column) {
  306. if (this.compare(row, column) == 0) {
  307. if (this.isEnd(row, column) || this.isStart(row, column)) {
  308. return false;
  309. } else {
  310. return true;
  311. }
  312. }
  313. return false;
  314. };
  315. this.insideStart = function(row, column) {
  316. if (this.compare(row, column) == 0) {
  317. if (this.isEnd(row, column)) {
  318. return false;
  319. } else {
  320. return true;
  321. }
  322. }
  323. return false;
  324. };
  325. this.insideEnd = function(row, column) {
  326. if (this.compare(row, column) == 0) {
  327. if (this.isStart(row, column)) {
  328. return false;
  329. } else {
  330. return true;
  331. }
  332. }
  333. return false;
  334. };
  335. this.compare = function(row, column) {
  336. if (!this.isMultiLine()) {
  337. if (row === this.start.row) {
  338. return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
  339. }
  340. }
  341. if (row < this.start.row)
  342. return -1;
  343. if (row > this.end.row)
  344. return 1;
  345. if (this.start.row === row)
  346. return column >= this.start.column ? 0 : -1;
  347. if (this.end.row === row)
  348. return column <= this.end.column ? 0 : 1;
  349. return 0;
  350. };
  351. this.compareStart = function(row, column) {
  352. if (this.start.row == row && this.start.column == column) {
  353. return -1;
  354. } else {
  355. return this.compare(row, column);
  356. }
  357. };
  358. this.compareEnd = function(row, column) {
  359. if (this.end.row == row && this.end.column == column) {
  360. return 1;
  361. } else {
  362. return this.compare(row, column);
  363. }
  364. };
  365. this.compareInside = function(row, column) {
  366. if (this.end.row == row && this.end.column == column) {
  367. return 1;
  368. } else if (this.start.row == row && this.start.column == column) {
  369. return -1;
  370. } else {
  371. return this.compare(row, column);
  372. }
  373. };
  374. this.clipRows = function(firstRow, lastRow) {
  375. if (this.end.row > lastRow)
  376. var end = {row: lastRow + 1, column: 0};
  377. else if (this.end.row < firstRow)
  378. var end = {row: firstRow, column: 0};
  379. if (this.start.row > lastRow)
  380. var start = {row: lastRow + 1, column: 0};
  381. else if (this.start.row < firstRow)
  382. var start = {row: firstRow, column: 0};
  383. return Range.fromPoints(start || this.start, end || this.end);
  384. };
  385. this.extend = function(row, column) {
  386. var cmp = this.compare(row, column);
  387. if (cmp == 0)
  388. return this;
  389. else if (cmp == -1)
  390. var start = {row: row, column: column};
  391. else
  392. var end = {row: row, column: column};
  393. return Range.fromPoints(start || this.start, end || this.end);
  394. };
  395. this.isEmpty = function() {
  396. return (this.start.row === this.end.row && this.start.column === this.end.column);
  397. };
  398. this.isMultiLine = function() {
  399. return (this.start.row !== this.end.row);
  400. };
  401. this.clone = function() {
  402. return Range.fromPoints(this.start, this.end);
  403. };
  404. this.collapseRows = function() {
  405. if (this.end.column == 0)
  406. return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)
  407. else
  408. return new Range(this.start.row, 0, this.end.row, 0)
  409. };
  410. this.toScreenRange = function(session) {
  411. var screenPosStart = session.documentToScreenPosition(this.start);
  412. var screenPosEnd = session.documentToScreenPosition(this.end);
  413. return new Range(
  414. screenPosStart.row, screenPosStart.column,
  415. screenPosEnd.row, screenPosEnd.column
  416. );
  417. };
  418. this.moveBy = function(row, column) {
  419. this.start.row += row;
  420. this.start.column += column;
  421. this.end.row += row;
  422. this.end.column += column;
  423. };
  424. }).call(Range.prototype);
  425. Range.fromPoints = function(start, end) {
  426. return new Range(start.row, start.column, end.row, end.column);
  427. };
  428. Range.comparePoints = comparePoints;
  429. Range.comparePoints = function(p1, p2) {
  430. return p1.row - p2.row || p1.column - p2.column;
  431. };
  432. exports.Range = Range;
  433. });
  434. define("ace/apply_delta",["require","exports","module"], function(require, exports, module) {
  435. "use strict";
  436. function throwDeltaError(delta, errorText){
  437. console.log("Invalid Delta:", delta);
  438. throw "Invalid Delta: " + errorText;
  439. }
  440. function positionInDocument(docLines, position) {
  441. return position.row >= 0 && position.row < docLines.length &&
  442. position.column >= 0 && position.column <= docLines[position.row].length;
  443. }
  444. function validateDelta(docLines, delta) {
  445. if (delta.action != "insert" && delta.action != "remove")
  446. throwDeltaError(delta, "delta.action must be 'insert' or 'remove'");
  447. if (!(delta.lines instanceof Array))
  448. throwDeltaError(delta, "delta.lines must be an Array");
  449. if (!delta.start || !delta.end)
  450. throwDeltaError(delta, "delta.start/end must be an present");
  451. var start = delta.start;
  452. if (!positionInDocument(docLines, delta.start))
  453. throwDeltaError(delta, "delta.start must be contained in document");
  454. var end = delta.end;
  455. if (delta.action == "remove" && !positionInDocument(docLines, end))
  456. throwDeltaError(delta, "delta.end must contained in document for 'remove' actions");
  457. var numRangeRows = end.row - start.row;
  458. var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));
  459. if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)
  460. throwDeltaError(delta, "delta.range must match delta lines");
  461. }
  462. exports.applyDelta = function(docLines, delta, doNotValidate) {
  463. var row = delta.start.row;
  464. var startColumn = delta.start.column;
  465. var line = docLines[row] || "";
  466. switch (delta.action) {
  467. case "insert":
  468. var lines = delta.lines;
  469. if (lines.length === 1) {
  470. docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);
  471. } else {
  472. var args = [row, 1].concat(delta.lines);
  473. docLines.splice.apply(docLines, args);
  474. docLines[row] = line.substring(0, startColumn) + docLines[row];
  475. docLines[row + delta.lines.length - 1] += line.substring(startColumn);
  476. }
  477. break;
  478. case "remove":
  479. var endColumn = delta.end.column;
  480. var endRow = delta.end.row;
  481. if (row === endRow) {
  482. docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);
  483. } else {
  484. docLines.splice(
  485. row, endRow - row + 1,
  486. line.substring(0, startColumn) + docLines[endRow].substring(endColumn)
  487. );
  488. }
  489. break;
  490. }
  491. }
  492. });
  493. define("ace/lib/event_emitter",["require","exports","module"], function(require, exports, module) {
  494. "use strict";
  495. var EventEmitter = {};
  496. var stopPropagation = function() { this.propagationStopped = true; };
  497. var preventDefault = function() { this.defaultPrevented = true; };
  498. EventEmitter._emit =
  499. EventEmitter._dispatchEvent = function(eventName, e) {
  500. this._eventRegistry || (this._eventRegistry = {});
  501. this._defaultHandlers || (this._defaultHandlers = {});
  502. var listeners = this._eventRegistry[eventName] || [];
  503. var defaultHandler = this._defaultHandlers[eventName];
  504. if (!listeners.length && !defaultHandler)
  505. return;
  506. if (typeof e != "object" || !e)
  507. e = {};
  508. if (!e.type)
  509. e.type = eventName;
  510. if (!e.stopPropagation)
  511. e.stopPropagation = stopPropagation;
  512. if (!e.preventDefault)
  513. e.preventDefault = preventDefault;
  514. listeners = listeners.slice();
  515. for (var i=0; i<listeners.length; i++) {
  516. listeners[i](e, this);
  517. if (e.propagationStopped)
  518. break;
  519. }
  520. if (defaultHandler && !e.defaultPrevented)
  521. return defaultHandler(e, this);
  522. };
  523. EventEmitter._signal = function(eventName, e) {
  524. var listeners = (this._eventRegistry || {})[eventName];
  525. if (!listeners)
  526. return;
  527. listeners = listeners.slice();
  528. for (var i=0; i<listeners.length; i++)
  529. listeners[i](e, this);
  530. };
  531. EventEmitter.once = function(eventName, callback) {
  532. var _self = this;
  533. callback && this.addEventListener(eventName, function newCallback() {
  534. _self.removeEventListener(eventName, newCallback);
  535. callback.apply(null, arguments);
  536. });
  537. };
  538. EventEmitter.setDefaultHandler = function(eventName, callback) {
  539. var handlers = this._defaultHandlers
  540. if (!handlers)
  541. handlers = this._defaultHandlers = {_disabled_: {}};
  542. if (handlers[eventName]) {
  543. var old = handlers[eventName];
  544. var disabled = handlers._disabled_[eventName];
  545. if (!disabled)
  546. handlers._disabled_[eventName] = disabled = [];
  547. disabled.push(old);
  548. var i = disabled.indexOf(callback);
  549. if (i != -1)
  550. disabled.splice(i, 1);
  551. }
  552. handlers[eventName] = callback;
  553. };
  554. EventEmitter.removeDefaultHandler = function(eventName, callback) {
  555. var handlers = this._defaultHandlers
  556. if (!handlers)
  557. return;
  558. var disabled = handlers._disabled_[eventName];
  559. if (handlers[eventName] == callback) {
  560. var old = handlers[eventName];
  561. if (disabled)
  562. this.setDefaultHandler(eventName, disabled.pop());
  563. } else if (disabled) {
  564. var i = disabled.indexOf(callback);
  565. if (i != -1)
  566. disabled.splice(i, 1);
  567. }
  568. };
  569. EventEmitter.on =
  570. EventEmitter.addEventListener = function(eventName, callback, capturing) {
  571. this._eventRegistry = this._eventRegistry || {};
  572. var listeners = this._eventRegistry[eventName];
  573. if (!listeners)
  574. listeners = this._eventRegistry[eventName] = [];
  575. if (listeners.indexOf(callback) == -1)
  576. listeners[capturing ? "unshift" : "push"](callback);
  577. return callback;
  578. };
  579. EventEmitter.off =
  580. EventEmitter.removeListener =
  581. EventEmitter.removeEventListener = function(eventName, callback) {
  582. this._eventRegistry = this._eventRegistry || {};
  583. var listeners = this._eventRegistry[eventName];
  584. if (!listeners)
  585. return;
  586. var index = listeners.indexOf(callback);
  587. if (index !== -1)
  588. listeners.splice(index, 1);
  589. };
  590. EventEmitter.removeAllListeners = function(eventName) {
  591. if (this._eventRegistry) this._eventRegistry[eventName] = [];
  592. };
  593. exports.EventEmitter = EventEmitter;
  594. });
  595. define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"], function(require, exports, module) {
  596. "use strict";
  597. var oop = require("./lib/oop");
  598. var EventEmitter = require("./lib/event_emitter").EventEmitter;
  599. var Anchor = exports.Anchor = function(doc, row, column) {
  600. this.$onChange = this.onChange.bind(this);
  601. this.attach(doc);
  602. if (typeof column == "undefined")
  603. this.setPosition(row.row, row.column);
  604. else
  605. this.setPosition(row, column);
  606. };
  607. (function() {
  608. oop.implement(this, EventEmitter);
  609. this.getPosition = function() {
  610. return this.$clipPositionToDocument(this.row, this.column);
  611. };
  612. this.getDocument = function() {
  613. return this.document;
  614. };
  615. this.$insertRight = false;
  616. this.onChange = function(delta) {
  617. if (delta.start.row == delta.end.row && delta.start.row != this.row)
  618. return;
  619. if (delta.start.row > this.row)
  620. return;
  621. var point = $getTransformedPoint(delta, {row: this.row, column: this.column}, this.$insertRight);
  622. this.setPosition(point.row, point.column, true);
  623. };
  624. function $pointsInOrder(point1, point2, equalPointsInOrder) {
  625. var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
  626. return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
  627. }
  628. function $getTransformedPoint(delta, point, moveIfEqual) {
  629. var deltaIsInsert = delta.action == "insert";
  630. var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);
  631. var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);
  632. var deltaStart = delta.start;
  633. var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.
  634. if ($pointsInOrder(point, deltaStart, moveIfEqual)) {
  635. return {
  636. row: point.row,
  637. column: point.column
  638. };
  639. }
  640. if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {
  641. return {
  642. row: point.row + deltaRowShift,
  643. column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)
  644. };
  645. }
  646. return {
  647. row: deltaStart.row,
  648. column: deltaStart.column
  649. };
  650. }
  651. this.setPosition = function(row, column, noClip) {
  652. var pos;
  653. if (noClip) {
  654. pos = {
  655. row: row,
  656. column: column
  657. };
  658. } else {
  659. pos = this.$clipPositionToDocument(row, column);
  660. }
  661. if (this.row == pos.row && this.column == pos.column)
  662. return;
  663. var old = {
  664. row: this.row,
  665. column: this.column
  666. };
  667. this.row = pos.row;
  668. this.column = pos.column;
  669. this._signal("change", {
  670. old: old,
  671. value: pos
  672. });
  673. };
  674. this.detach = function() {
  675. this.document.removeEventListener("change", this.$onChange);
  676. };
  677. this.attach = function(doc) {
  678. this.document = doc || this.document;
  679. this.document.on("change", this.$onChange);
  680. };
  681. this.$clipPositionToDocument = function(row, column) {
  682. var pos = {};
  683. if (row >= this.document.getLength()) {
  684. pos.row = Math.max(0, this.document.getLength() - 1);
  685. pos.column = this.document.getLine(pos.row).length;
  686. }
  687. else if (row < 0) {
  688. pos.row = 0;
  689. pos.column = 0;
  690. }
  691. else {
  692. pos.row = row;
  693. pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
  694. }
  695. if (column < 0)
  696. pos.column = 0;
  697. return pos;
  698. };
  699. }).call(Anchor.prototype);
  700. });
  701. define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"], function(require, exports, module) {
  702. "use strict";
  703. var oop = require("./lib/oop");
  704. var applyDelta = require("./apply_delta").applyDelta;
  705. var EventEmitter = require("./lib/event_emitter").EventEmitter;
  706. var Range = require("./range").Range;
  707. var Anchor = require("./anchor").Anchor;
  708. var Document = function(textOrLines) {
  709. this.$lines = [""];
  710. if (textOrLines.length === 0) {
  711. this.$lines = [""];
  712. } else if (Array.isArray(textOrLines)) {
  713. this.insertMergedLines({row: 0, column: 0}, textOrLines);
  714. } else {
  715. this.insert({row: 0, column:0}, textOrLines);
  716. }
  717. };
  718. (function() {
  719. oop.implement(this, EventEmitter);
  720. this.setValue = function(text) {
  721. var len = this.getLength() - 1;
  722. this.remove(new Range(0, 0, len, this.getLine(len).length));
  723. this.insert({row: 0, column: 0}, text);
  724. };
  725. this.getValue = function() {
  726. return this.getAllLines().join(this.getNewLineCharacter());
  727. };
  728. this.createAnchor = function(row, column) {
  729. return new Anchor(this, row, column);
  730. };
  731. if ("aaa".split(/a/).length === 0) {
  732. this.$split = function(text) {
  733. return text.replace(/\r\n|\r/g, "\n").split("\n");
  734. };
  735. } else {
  736. this.$split = function(text) {
  737. return text.split(/\r\n|\r|\n/);
  738. };
  739. }
  740. this.$detectNewLine = function(text) {
  741. var match = text.match(/^.*?(\r\n|\r|\n)/m);
  742. this.$autoNewLine = match ? match[1] : "\n";
  743. this._signal("changeNewLineMode");
  744. };
  745. this.getNewLineCharacter = function() {
  746. switch (this.$newLineMode) {
  747. case "windows":
  748. return "\r\n";
  749. case "unix":
  750. return "\n";
  751. default:
  752. return this.$autoNewLine || "\n";
  753. }
  754. };
  755. this.$autoNewLine = "";
  756. this.$newLineMode = "auto";
  757. this.setNewLineMode = function(newLineMode) {
  758. if (this.$newLineMode === newLineMode)
  759. return;
  760. this.$newLineMode = newLineMode;
  761. this._signal("changeNewLineMode");
  762. };
  763. this.getNewLineMode = function() {
  764. return this.$newLineMode;
  765. };
  766. this.isNewLine = function(text) {
  767. return (text == "\r\n" || text == "\r" || text == "\n");
  768. };
  769. this.getLine = function(row) {
  770. return this.$lines[row] || "";
  771. };
  772. this.getLines = function(firstRow, lastRow) {
  773. return this.$lines.slice(firstRow, lastRow + 1);
  774. };
  775. this.getAllLines = function() {
  776. return this.getLines(0, this.getLength());
  777. };
  778. this.getLength = function() {
  779. return this.$lines.length;
  780. };
  781. this.getTextRange = function(range) {
  782. return this.getLinesForRange(range).join(this.getNewLineCharacter());
  783. };
  784. this.getLinesForRange = function(range) {
  785. var lines;
  786. if (range.start.row === range.end.row) {
  787. lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];
  788. } else {
  789. lines = this.getLines(range.start.row, range.end.row);
  790. lines[0] = (lines[0] || "").substring(range.start.column);
  791. var l = lines.length - 1;
  792. if (range.end.row - range.start.row == l)
  793. lines[l] = lines[l].substring(0, range.end.column);
  794. }
  795. return lines;
  796. };
  797. this.insertLines = function(row, lines) {
  798. console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead.");
  799. return this.insertFullLines(row, lines);
  800. };
  801. this.removeLines = function(firstRow, lastRow) {
  802. console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead.");
  803. return this.removeFullLines(firstRow, lastRow);
  804. };
  805. this.insertNewLine = function(position) {
  806. console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");
  807. return this.insertMergedLines(position, ["", ""]);
  808. };
  809. this.insert = function(position, text) {
  810. if (this.getLength() <= 1)
  811. this.$detectNewLine(text);
  812. return this.insertMergedLines(position, this.$split(text));
  813. };
  814. this.insertInLine = function(position, text) {
  815. var start = this.clippedPos(position.row, position.column);
  816. var end = this.pos(position.row, position.column + text.length);
  817. this.applyDelta({
  818. start: start,
  819. end: end,
  820. action: "insert",
  821. lines: [text]
  822. }, true);
  823. return this.clonePos(end);
  824. };
  825. this.clippedPos = function(row, column) {
  826. var length = this.getLength();
  827. if (row === undefined) {
  828. row = length;
  829. } else if (row < 0) {
  830. row = 0;
  831. } else if (row >= length) {
  832. row = length - 1;
  833. column = undefined;
  834. }
  835. var line = this.getLine(row);
  836. if (column == undefined)
  837. column = line.length;
  838. column = Math.min(Math.max(column, 0), line.length);
  839. return {row: row, column: column};
  840. };
  841. this.clonePos = function(pos) {
  842. return {row: pos.row, column: pos.column};
  843. };
  844. this.pos = function(row, column) {
  845. return {row: row, column: column};
  846. };
  847. this.$clipPosition = function(position) {
  848. var length = this.getLength();
  849. if (position.row >= length) {
  850. position.row = Math.max(0, length - 1);
  851. position.column = this.getLine(length - 1).length;
  852. } else {
  853. position.row = Math.max(0, position.row);
  854. position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);
  855. }
  856. return position;
  857. };
  858. this.insertFullLines = function(row, lines) {
  859. row = Math.min(Math.max(row, 0), this.getLength());
  860. var column = 0;
  861. if (row < this.getLength()) {
  862. lines = lines.concat([""]);
  863. column = 0;
  864. } else {
  865. lines = [""].concat(lines);
  866. row--;
  867. column = this.$lines[row].length;
  868. }
  869. this.insertMergedLines({row: row, column: column}, lines);
  870. };
  871. this.insertMergedLines = function(position, lines) {
  872. var start = this.clippedPos(position.row, position.column);
  873. var end = {
  874. row: start.row + lines.length - 1,
  875. column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length
  876. };
  877. this.applyDelta({
  878. start: start,
  879. end: end,
  880. action: "insert",
  881. lines: lines
  882. });
  883. return this.clonePos(end);
  884. };
  885. this.remove = function(range) {
  886. var start = this.clippedPos(range.start.row, range.start.column);
  887. var end = this.clippedPos(range.end.row, range.end.column);
  888. this.applyDelta({
  889. start: start,
  890. end: end,
  891. action: "remove",
  892. lines: this.getLinesForRange({start: start, end: end})
  893. });
  894. return this.clonePos(start);
  895. };
  896. this.removeInLine = function(row, startColumn, endColumn) {
  897. var start = this.clippedPos(row, startColumn);
  898. var end = this.clippedPos(row, endColumn);
  899. this.applyDelta({
  900. start: start,
  901. end: end,
  902. action: "remove",
  903. lines: this.getLinesForRange({start: start, end: end})
  904. }, true);
  905. return this.clonePos(start);
  906. };
  907. this.removeFullLines = function(firstRow, lastRow) {
  908. firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);
  909. lastRow = Math.min(Math.max(0, lastRow ), this.getLength() - 1);
  910. var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;
  911. var deleteLastNewLine = lastRow < this.getLength() - 1;
  912. var startRow = ( deleteFirstNewLine ? firstRow - 1 : firstRow );
  913. var startCol = ( deleteFirstNewLine ? this.getLine(startRow).length : 0 );
  914. var endRow = ( deleteLastNewLine ? lastRow + 1 : lastRow );
  915. var endCol = ( deleteLastNewLine ? 0 : this.getLine(endRow).length );
  916. var range = new Range(startRow, startCol, endRow, endCol);
  917. var deletedLines = this.$lines.slice(firstRow, lastRow + 1);
  918. this.applyDelta({
  919. start: range.start,
  920. end: range.end,
  921. action: "remove",
  922. lines: this.getLinesForRange(range)
  923. });
  924. return deletedLines;
  925. };
  926. this.removeNewLine = function(row) {
  927. if (row < this.getLength() - 1 && row >= 0) {
  928. this.applyDelta({
  929. start: this.pos(row, this.getLine(row).length),
  930. end: this.pos(row + 1, 0),
  931. action: "remove",
  932. lines: ["", ""]
  933. });
  934. }
  935. };
  936. this.replace = function(range, text) {
  937. if (!(range instanceof Range))
  938. range = Range.fromPoints(range.start, range.end);
  939. if (text.length === 0 && range.isEmpty())
  940. return range.start;
  941. if (text == this.getTextRange(range))
  942. return range.end;
  943. this.remove(range);
  944. var end;
  945. if (text) {
  946. end = this.insert(range.start, text);
  947. }
  948. else {
  949. end = range.start;
  950. }
  951. return end;
  952. };
  953. this.applyDeltas = function(deltas) {
  954. for (var i=0; i<deltas.length; i++) {
  955. this.applyDelta(deltas[i]);
  956. }
  957. };
  958. this.revertDeltas = function(deltas) {
  959. for (var i=deltas.length-1; i>=0; i--) {
  960. this.revertDelta(deltas[i]);
  961. }
  962. };
  963. this.applyDelta = function(delta, doNotValidate) {
  964. var isInsert = delta.action == "insert";
  965. if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]
  966. : !Range.comparePoints(delta.start, delta.end)) {
  967. return;
  968. }
  969. if (isInsert && delta.lines.length > 20000)
  970. this.$splitAndapplyLargeDelta(delta, 20000);
  971. applyDelta(this.$lines, delta, doNotValidate);
  972. this._signal("change", delta);
  973. };
  974. this.$splitAndapplyLargeDelta = function(delta, MAX) {
  975. var lines = delta.lines;
  976. var l = lines.length;
  977. var row = delta.start.row;
  978. var column = delta.start.column;
  979. var from = 0, to = 0;
  980. do {
  981. from = to;
  982. to += MAX - 1;
  983. var chunk = lines.slice(from, to);
  984. if (to > l) {
  985. delta.lines = chunk;
  986. delta.start.row = row + from;
  987. delta.start.column = column;
  988. break;
  989. }
  990. chunk.push("");
  991. this.applyDelta({
  992. start: this.pos(row + from, column),
  993. end: this.pos(row + to, column = 0),
  994. action: delta.action,
  995. lines: chunk
  996. }, true);
  997. } while(true);
  998. };
  999. this.revertDelta = function(delta) {
  1000. this.applyDelta({
  1001. start: this.clonePos(delta.start),
  1002. end: this.clonePos(delta.end),
  1003. action: (delta.action == "insert" ? "remove" : "insert"),
  1004. lines: delta.lines.slice()
  1005. });
  1006. };
  1007. this.indexToPosition = function(index, startRow) {
  1008. var lines = this.$lines || this.getAllLines();
  1009. var newlineLength = this.getNewLineCharacter().length;
  1010. for (var i = startRow || 0, l = lines.length; i < l; i++) {
  1011. index -= lines[i].length + newlineLength;
  1012. if (index < 0)
  1013. return {row: i, column: index + lines[i].length + newlineLength};
  1014. }
  1015. return {row: l-1, column: lines[l-1].length};
  1016. };
  1017. this.positionToIndex = function(pos, startRow) {
  1018. var lines = this.$lines || this.getAllLines();
  1019. var newlineLength = this.getNewLineCharacter().length;
  1020. var index = 0;
  1021. var row = Math.min(pos.row, lines.length);
  1022. for (var i = startRow || 0; i < row; ++i)
  1023. index += lines[i].length + newlineLength;
  1024. return index + pos.column;
  1025. };
  1026. }).call(Document.prototype);
  1027. exports.Document = Document;
  1028. });
  1029. define("ace/lib/lang",["require","exports","module"], function(require, exports, module) {
  1030. "use strict";
  1031. exports.last = function(a) {
  1032. return a[a.length - 1];
  1033. };
  1034. exports.stringReverse = function(string) {
  1035. return string.split("").reverse().join("");
  1036. };
  1037. exports.stringRepeat = function (string, count) {
  1038. var result = '';
  1039. while (count > 0) {
  1040. if (count & 1)
  1041. result += string;
  1042. if (count >>= 1)
  1043. string += string;
  1044. }
  1045. return result;
  1046. };
  1047. var trimBeginRegexp = /^\s\s*/;
  1048. var trimEndRegexp = /\s\s*$/;
  1049. exports.stringTrimLeft = function (string) {
  1050. return string.replace(trimBeginRegexp, '');
  1051. };
  1052. exports.stringTrimRight = function (string) {
  1053. return string.replace(trimEndRegexp, '');
  1054. };
  1055. exports.copyObject = function(obj) {
  1056. var copy = {};
  1057. for (var key in obj) {
  1058. copy[key] = obj[key];
  1059. }
  1060. return copy;
  1061. };
  1062. exports.copyArray = function(array){
  1063. var copy = [];
  1064. for (var i=0, l=array.length; i<l; i++) {
  1065. if (array[i] && typeof array[i] == "object")
  1066. copy[i] = this.copyObject(array[i]);
  1067. else
  1068. copy[i] = array[i];
  1069. }
  1070. return copy;
  1071. };
  1072. exports.deepCopy = function deepCopy(obj) {
  1073. if (typeof obj !== "object" || !obj)
  1074. return obj;
  1075. var copy;
  1076. if (Array.isArray(obj)) {
  1077. copy = [];
  1078. for (var key = 0; key < obj.length; key++) {
  1079. copy[key] = deepCopy(obj[key]);
  1080. }
  1081. return copy;
  1082. }
  1083. if (Object.prototype.toString.call(obj) !== "[object Object]")
  1084. return obj;
  1085. copy = {};
  1086. for (var key in obj)
  1087. copy[key] = deepCopy(obj[key]);
  1088. return copy;
  1089. };
  1090. exports.arrayToMap = function(arr) {
  1091. var map = {};
  1092. for (var i=0; i<arr.length; i++) {
  1093. map[arr[i]] = 1;
  1094. }
  1095. return map;
  1096. };
  1097. exports.createMap = function(props) {
  1098. var map = Object.create(null);
  1099. for (var i in props) {
  1100. map[i] = props[i];
  1101. }
  1102. return map;
  1103. };
  1104. exports.arrayRemove = function(array, value) {
  1105. for (var i = 0; i <= array.length; i++) {
  1106. if (value === array[i]) {
  1107. array.splice(i, 1);
  1108. }
  1109. }
  1110. };
  1111. exports.escapeRegExp = function(str) {
  1112. return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
  1113. };
  1114. exports.escapeHTML = function(str) {
  1115. return str.replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
  1116. };
  1117. exports.getMatchOffsets = function(string, regExp) {
  1118. var matches = [];
  1119. string.replace(regExp, function(str) {
  1120. matches.push({
  1121. offset: arguments[arguments.length-2],
  1122. length: str.length
  1123. });
  1124. });
  1125. return matches;
  1126. };
  1127. exports.deferredCall = function(fcn) {
  1128. var timer = null;
  1129. var callback = function() {
  1130. timer = null;
  1131. fcn();
  1132. };
  1133. var deferred = function(timeout) {
  1134. deferred.cancel();
  1135. timer = setTimeout(callback, timeout || 0);
  1136. return deferred;
  1137. };
  1138. deferred.schedule = deferred;
  1139. deferred.call = function() {
  1140. this.cancel();
  1141. fcn();
  1142. return deferred;
  1143. };
  1144. deferred.cancel = function() {
  1145. clearTimeout(timer);
  1146. timer = null;
  1147. return deferred;
  1148. };
  1149. deferred.isPending = function() {
  1150. return timer;
  1151. };
  1152. return deferred;
  1153. };
  1154. exports.delayedCall = function(fcn, defaultTimeout) {
  1155. var timer = null;
  1156. var callback = function() {
  1157. timer = null;
  1158. fcn();
  1159. };
  1160. var _self = function(timeout) {
  1161. if (timer == null)
  1162. timer = setTimeout(callback, timeout || defaultTimeout);
  1163. };
  1164. _self.delay = function(timeout) {
  1165. timer && clearTimeout(timer);
  1166. timer = setTimeout(callback, timeout || defaultTimeout);
  1167. };
  1168. _self.schedule = _self;
  1169. _self.call = function() {
  1170. this.cancel();
  1171. fcn();
  1172. };
  1173. _self.cancel = function() {
  1174. timer && clearTimeout(timer);
  1175. timer = null;
  1176. };
  1177. _self.isPending = function() {
  1178. return timer;
  1179. };
  1180. return _self;
  1181. };
  1182. });
  1183. define("ace/worker/mirror",["require","exports","module","ace/range","ace/document","ace/lib/lang"], function(require, exports, module) {
  1184. "use strict";
  1185. var Range = require("../range").Range;
  1186. var Document = require("../document").Document;
  1187. var lang = require("../lib/lang");
  1188. var Mirror = exports.Mirror = function(sender) {
  1189. this.sender = sender;
  1190. var doc = this.doc = new Document("");
  1191. var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));
  1192. var _self = this;
  1193. sender.on("change", function(e) {
  1194. var data = e.data;
  1195. if (data[0].start) {
  1196. doc.applyDeltas(data);
  1197. } else {
  1198. for (var i = 0; i < data.length; i += 2) {
  1199. if (Array.isArray(data[i+1])) {
  1200. var d = {action: "insert", start: data[i], lines: data[i+1]};
  1201. } else {
  1202. var d = {action: "remove", start: data[i], end: data[i+1]};
  1203. }
  1204. doc.applyDelta(d, true);
  1205. }
  1206. }
  1207. if (_self.$timeout)
  1208. return deferredUpdate.schedule(_self.$timeout);
  1209. _self.onUpdate();
  1210. });
  1211. };
  1212. (function() {
  1213. this.$timeout = 500;
  1214. this.setTimeout = function(timeout) {
  1215. this.$timeout = timeout;
  1216. };
  1217. this.setValue = function(value) {
  1218. this.doc.setValue(value);
  1219. this.deferredUpdate.schedule(this.$timeout);
  1220. };
  1221. this.getValue = function(callbackId) {
  1222. this.sender.callback(this.doc.getValue(), callbackId);
  1223. };
  1224. this.onUpdate = function() {
  1225. };
  1226. this.isPending = function() {
  1227. return this.deferredUpdate.isPending();
  1228. };
  1229. }).call(Mirror.prototype);
  1230. });
  1231. define("ace/mode/xquery/xqlint",["require","exports","module"], function(require, exports, module) {
  1232. module.exports = (function outer (modules, cache, entry) {
  1233. var previousRequire = typeof require == "function" && require;
  1234. function newRequire(name, jumped){
  1235. if(!cache[name]) {
  1236. if(!modules[name]) {
  1237. var currentRequire = typeof require == "function" && require;
  1238. if (!jumped && currentRequire) return currentRequire(name, true);
  1239. if (previousRequire) return previousRequire(name, true);
  1240. var err = new Error('Cannot find module \'' + name + '\'');
  1241. err.code = 'MODULE_NOT_FOUND';
  1242. throw err;
  1243. }
  1244. var m = cache[name] = {exports:{}};
  1245. modules[name][0].call(m.exports, function(x){
  1246. var id = modules[name][1][x];
  1247. return newRequire(id ? id : x);
  1248. },m,m.exports,outer,modules,cache,entry);
  1249. }
  1250. return cache[name].exports;
  1251. }
  1252. for(var i=0;i<entry.length;i++) newRequire(entry[i]);
  1253. return newRequire(entry[0]);
  1254. })
  1255. ({"/node_modules/xqlint/lib/compiler/errors.js":[function(_dereq_,module,exports){
  1256. 'use strict';
  1257. var init = function(that, code, message, pos, type){
  1258. if(!code) {
  1259. throw new Error(type + ' code is missing.');
  1260. }
  1261. if(!message) {
  1262. throw new Error(type + ' message is missing.');
  1263. }
  1264. if(!pos) {
  1265. throw new Error(type + ' position is missing.');
  1266. }
  1267. that.getCode = function(){
  1268. return code;
  1269. };
  1270. that.getMessage = function(){
  1271. return message;
  1272. };
  1273. that.getPos = function(){
  1274. return pos;
  1275. };
  1276. };
  1277. var StaticError = {};
  1278. var StaticWarning = {};
  1279. StaticError.prototype = new Error();
  1280. StaticWarning.prototype = new Error();
  1281. exports.StaticError = StaticError.prototype.constructor = function(code, message, pos) {
  1282. init(this, code, message, pos, 'Error');
  1283. };
  1284. exports.StaticWarning = StaticWarning.prototype.constructor = function(code, message, pos) {
  1285. init(this, code, message, pos, 'Warning');
  1286. };
  1287. },{}],"/node_modules/xqlint/lib/compiler/handlers.js":[function(_dereq_,module,exports){
  1288. 'use strict';
  1289. var TreeOps = _dereq_('../tree_ops').TreeOps;
  1290. var Errors = _dereq_('./errors');
  1291. var StaticWarning = Errors.StaticWarning;
  1292. exports.ModuleDecl = function(translator, rootSctx, node){
  1293. var prefix = '';
  1294. return {
  1295. NCName: function(ncname){
  1296. prefix = TreeOps.flatten(ncname);
  1297. },
  1298. URILiteral: function(uri) {
  1299. uri = TreeOps.flatten(uri);
  1300. uri = uri.substring(1, uri.length - 1);
  1301. translator.apply(function(){
  1302. rootSctx.moduleNamespace = uri;
  1303. rootSctx.addNamespace(uri, prefix, node.pos, 'moduleDecl');
  1304. });
  1305. }
  1306. };
  1307. };
  1308. exports.ModuleImport = function(translator, rootSctx, node) {
  1309. var prefix = '';
  1310. var moduleURI;
  1311. return {
  1312. NCName: function(ncname){
  1313. prefix = TreeOps.flatten(ncname);
  1314. },
  1315. URILiteral: function(uri) {
  1316. if(moduleURI !== undefined) {
  1317. return;
  1318. }
  1319. uri = TreeOps.flatten(uri);
  1320. uri = uri.substring(1, uri.length - 1);
  1321. moduleURI = uri;
  1322. translator.apply(function(){
  1323. rootSctx.importModule(uri, prefix, node.pos);
  1324. });
  1325. }
  1326. };
  1327. };
  1328. exports.SchemaImport = function(translator, rootSctx, node) {
  1329. var prefix = '';
  1330. var schemaURI;
  1331. return {
  1332. SchemaPrefix: function(schemaPrefix) {
  1333. var SchemaPrefixHandler = function () {
  1334. this.NCName = function (ncname) {
  1335. prefix = TreeOps.flatten(ncname);
  1336. };
  1337. };
  1338. translator.visitChildren(schemaPrefix, new SchemaPrefixHandler());
  1339. },
  1340. URILiteral: function(uri) {
  1341. if(schemaURI !== undefined) {
  1342. return;
  1343. }
  1344. uri = TreeOps.flatten(uri);
  1345. uri = uri.substring(1, uri.length - 1);
  1346. schemaURI = uri;
  1347. translator.apply(function(){
  1348. rootSctx.addNamespace(uri, prefix, node.pos, 'schema');
  1349. });
  1350. }
  1351. };
  1352. };
  1353. exports.DefaultNamespaceDecl = function(translator, rootSctx, node) {
  1354. var fn = false;
  1355. var ns = '';
  1356. return {
  1357. TOKEN: function(token){
  1358. fn = fn ? true : (token.value === 'function');
  1359. },
  1360. URILiteral: function(uri){
  1361. ns = TreeOps.flatten(uri);
  1362. ns = ns.substring(1, ns.length - 1);
  1363. if(!fn) {
  1364. translator.apply(function(){
  1365. throw new StaticWarning('W06', 'Avoid default element namespace declarations.', node.pos);
  1366. });
  1367. rootSctx.defaultElementNamespace = ns;
  1368. } else {
  1369. rootSctx.defaultFunctionNamespace = ns;
  1370. }
  1371. }
  1372. };
  1373. };
  1374. exports.NamespaceDecl = function(translator, rootSctx, node) {
  1375. var prefix = '';
  1376. return {
  1377. NCName: function(ncname) {
  1378. prefix = TreeOps.flatten(ncname);
  1379. },
  1380. URILiteral: function(uri) {
  1381. uri = TreeOps.flatten(uri);
  1382. uri = uri.substring(1, uri.length - 1);
  1383. translator.apply(function(){
  1384. rootSctx.addNamespace(uri, prefix, node.pos, 'declare');
  1385. });
  1386. }
  1387. };
  1388. };
  1389. exports.VarHandler = function(translator, sctx, node){
  1390. var EQNameHandler = function(eqname){
  1391. var value = TreeOps.flatten(eqname);
  1392. translator.apply(function(){
  1393. var qname = sctx.resolveQName(value, eqname.pos);
  1394. sctx.addVariable(qname, node.name, eqname.pos);
  1395. });
  1396. };
  1397. return {
  1398. ExprSingle: function(){ return true; },
  1399. VarValue: function(){ return true; },
  1400. VarDefaultValue: function(){ return true; },
  1401. VarName: EQNameHandler,
  1402. EQName: EQNameHandler
  1403. };
  1404. };
  1405. exports.VarRefHandler = function(translator, sctx, node){
  1406. return {
  1407. VarName: function(eqname){
  1408. var value = TreeOps.flatten(eqname);
  1409. translator.apply(function(){
  1410. var qname = sctx.resolveQName(value, node.pos);
  1411. if(qname.uri !== '') {
  1412. sctx.root.namespaces[qname.uri].used = true;
  1413. }
  1414. sctx.addVarRef(qname, eqname.pos);
  1415. });
  1416. }
  1417. };
  1418. };
  1419. },{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./errors":"/node_modules/xqlint/lib/compiler/errors.js"}],"/node_modules/xqlint/lib/compiler/schema_built-in_types.js":[function(_dereq_,module,exports){
  1420. 'use strict';
  1421. exports.getSchemaBuiltinTypes = function(){
  1422. var ns = 'http://www.w3.org/2001/XMLSchema';
  1423. var SchemaBuiltinTypes = {};
  1424. SchemaBuiltinTypes[ns] = {
  1425. variables: {},
  1426. functions: {}
  1427. };
  1428. SchemaBuiltinTypes[ns].functions[ns + '#string#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'string', arity: 1, eqname: { uri: ns, name: 'string' } };
  1429. SchemaBuiltinTypes[ns].functions[ns + '#boolean#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'boolean', arity: 1, eqname: { uri: ns, name: 'boolean' } };
  1430. SchemaBuiltinTypes[ns].functions[ns + '#decimal#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'decimal', arity: 1, eqname: { uri: ns, name: 'decimal' } };
  1431. SchemaBuiltinTypes[ns].functions[ns + '#float#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'float', arity: 1, eqname: { uri: ns, name: 'float' } };
  1432. SchemaBuiltinTypes[ns].functions[ns + '#double#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'double', arity: 1, eqname: { uri: ns, name: 'double' } };
  1433. SchemaBuiltinTypes[ns].functions[ns + '#duration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'duration', arity: 1, eqname: { uri: ns, name: 'duration' } };
  1434. SchemaBuiltinTypes[ns].functions[ns + '#dateTime#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'dateTime', arity: 1, eqname: { uri: ns, name: 'dateTime' } };
  1435. SchemaBuiltinTypes[ns].functions[ns + '#time#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'time', arity: 1, eqname: { uri: ns, name: 'time' } };
  1436. SchemaBuiltinTypes[ns].functions[ns + '#date#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'date', arity: 1, eqname: { uri: ns, name: 'date' } };
  1437. SchemaBuiltinTypes[ns].functions[ns + '#gYearMonth#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gYearMonth', arity: 1, eqname: { uri: ns, name: 'gYearMonth' } };
  1438. SchemaBuiltinTypes[ns].functions[ns + '#gYear#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gYear', arity: 1, eqname: { uri: ns, name: 'gYear' } };
  1439. SchemaBuiltinTypes[ns].functions[ns + '#gMonthDay#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gMonthDay', arity: 1, eqname: { uri: ns, name: 'gMonthDay' } };
  1440. SchemaBuiltinTypes[ns].functions[ns + '#gDay#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gDay', arity: 1, eqname: { uri: ns, name: 'gDay' } };
  1441. SchemaBuiltinTypes[ns].functions[ns + '#gMonth#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gMonth', arity: 1, eqname: { uri: ns, name: 'gMonth' } };
  1442. SchemaBuiltinTypes[ns].functions[ns + '#hexBinary#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'hexBinary', arity: 1, eqname: { uri: ns, name: 'hexBinary' } };
  1443. SchemaBuiltinTypes[ns].functions[ns + '#base64Binary#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'base64Binary', arity: 1, eqname: { uri: ns, name: 'base64Binary' } };
  1444. SchemaBuiltinTypes[ns].functions[ns + '#anyURI#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'anyURI', arity: 1, eqname: { uri: ns, name: 'anyURI' } };
  1445. SchemaBuiltinTypes[ns].functions[ns + '#QName#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'QName', arity: 1, eqname: { uri: ns, name: 'QName' } };
  1446. SchemaBuiltinTypes[ns].functions[ns + '#normalizedString#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'normalizedString', arity: 1, eqname: { uri: ns, name: 'normalizedString' } };
  1447. SchemaBuiltinTypes[ns].functions[ns + '#token#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'token', arity: 1, eqname: { uri: ns, name: 'token' } };
  1448. SchemaBuiltinTypes[ns].functions[ns + '#language#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'language', arity: 1, eqname: { uri: ns, name: 'language' } };
  1449. SchemaBuiltinTypes[ns].functions[ns + '#NMTOKEN#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'NMTOKEN', arity: 1, eqname: { uri: ns, name: 'NMTOKEN' } };
  1450. SchemaBuiltinTypes[ns].functions[ns + '#Name#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'Name', arity: 1, eqname: { uri: ns, name: 'Name' } };
  1451. SchemaBuiltinTypes[ns].functions[ns + '#NCName#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'NCName', arity: 1, eqname: { uri: ns, name: 'NCName' } };
  1452. SchemaBuiltinTypes[ns].functions[ns + '#ID#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'ID', arity: 1, eqname: { uri: ns, name: 'ID' } };
  1453. SchemaBuiltinTypes[ns].functions[ns + '#IDREF#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'IDREF', arity: 1, eqname: { uri: ns, name: 'IDREF' } };
  1454. SchemaBuiltinTypes[ns].functions[ns + '#ENTITY#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'ENTITY', arity: 1, eqname: { uri: ns, name: 'ENTITY' } };
  1455. SchemaBuiltinTypes[ns].functions[ns + '#integer#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'integer', arity: 1, eqname: { uri: ns, name: 'integer' } };
  1456. SchemaBuiltinTypes[ns].functions[ns + '#nonPositiveInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'nonPositiveInteger', arity: 1, eqname: { uri: ns, name: 'nonPositiveInteger' } };
  1457. SchemaBuiltinTypes[ns].functions[ns + '#negativeInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'negativeInteger', arity: 1, eqname: { uri: ns, name: 'negativeInteger' } };
  1458. SchemaBuiltinTypes[ns].functions[ns + '#long#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'long', arity: 1, eqname: { uri: ns, name: 'long' } };
  1459. SchemaBuiltinTypes[ns].functions[ns + '#int#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'int', arity: 1, eqname: { uri: ns, name: 'int' } };
  1460. SchemaBuiltinTypes[ns].functions[ns + '#short#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'short', arity: 1, eqname: { uri: ns, name: 'short' } };
  1461. SchemaBuiltinTypes[ns].functions[ns + '#byte#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'byte', arity: 1, eqname: { uri: ns, name: 'byte' } };
  1462. SchemaBuiltinTypes[ns].functions[ns + '#nonNegativeInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'nonNegativeInteger', arity: 1, eqname: { uri: ns, name: 'nonNegativeInteger' } };
  1463. SchemaBuiltinTypes[ns].functions[ns + '#unsignedLong#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedLong', arity: 1, eqname: { uri: ns, name: 'unsignedLong' } };
  1464. SchemaBuiltinTypes[ns].functions[ns + '#unsignedInt#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedInt', arity: 1, eqname: { uri: ns, name: 'unsignedInt' } };
  1465. SchemaBuiltinTypes[ns].functions[ns + '#unsignedShort#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedShort', arity: 1, eqname: { uri: ns, name: 'unsignedShort' } };
  1466. SchemaBuiltinTypes[ns].functions[ns + '#unsignedByte#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedByte', arity: 1, eqname: { uri: ns, name: 'unsignedByte' } };
  1467. SchemaBuiltinTypes[ns].functions[ns + '#positiveInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'positiveInteger', arity: 1, eqname: { uri: ns, name: 'positiveInteger' } };
  1468. SchemaBuiltinTypes[ns].functions[ns + '#yearMonthDuration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'yearMonthDuration', arity: 1, eqname: { uri: ns, name: 'yearMonthDuration' } };
  1469. SchemaBuiltinTypes[ns].functions[ns + '#dayTimeDuration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'dayTimeDuration', arity: 1, eqname: { uri: ns, name: 'dayTimeDuration' } };
  1470. SchemaBuiltinTypes[ns].functions[ns + '#untypedAtomic#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'untypedAtomic', arity: 1, eqname: { uri: ns, name: 'untypedAtomic' } };
  1471. return SchemaBuiltinTypes;
  1472. };
  1473. },{}],"/node_modules/xqlint/lib/compiler/static_context.js":[function(_dereq_,module,exports){
  1474. exports.StaticContext = function (parent, pos) {
  1475. 'use strict';
  1476. var TreeOps = _dereq_('../tree_ops').TreeOps;
  1477. var Errors = _dereq_('./errors');
  1478. var StaticError = Errors.StaticError;
  1479. var StaticWarning = Errors.StaticWarning;
  1480. var getSchemaBuiltinTypes = _dereq_('./schema_built-in_types').getSchemaBuiltinTypes;
  1481. var emptyPos = { sl:0, sc: 0, el: 0, ec: 0 };
  1482. var namespaces = {};
  1483. var getVarKey = function(qname) {
  1484. return qname.uri + '#' + qname.name;
  1485. };
  1486. var getFnKey = function(qname, arity) {
  1487. return getVarKey(qname) + '#' + arity;
  1488. };
  1489. if(!parent) {
  1490. namespaces['http://jsoniq.org/functions'] = {
  1491. prefixes: ['jn'],
  1492. pos: emptyPos,
  1493. type: 'module',
  1494. override: true
  1495. };
  1496. namespaces['http://www.28msec.com/modules/collections'] = {
  1497. prefixes: ['db'],
  1498. pos: emptyPos,
  1499. type: 'module',
  1500. override: true
  1501. };
  1502. namespaces['http://www.28msec.com/modules/store'] = {
  1503. prefixes: ['store'],
  1504. pos: emptyPos,
  1505. type: 'module',
  1506. override: true
  1507. };
  1508. namespaces['http://jsoniq.org/function-library'] = {
  1509. prefixes: ['libjn'],
  1510. pos: emptyPos,
  1511. type: 'module',
  1512. override: true
  1513. };
  1514. namespaces['http://www.w3.org/2005/xpath-functions'] = {
  1515. prefixes: ['fn'],
  1516. pos: emptyPos,
  1517. type: 'module',
  1518. override: true
  1519. };
  1520. namespaces['http://www.w3.org/2005/xquery-local-functions'] = {
  1521. prefixes: ['local'],
  1522. pos: emptyPos,
  1523. type: 'declare',
  1524. override: true
  1525. };
  1526. namespaces['http://www.w3.org/2001/XMLSchema-instance'] = {
  1527. prefixes: ['xsi'],
  1528. pos: emptyPos,
  1529. type: 'declare'
  1530. };
  1531. namespaces['http://www.w3.org/2001/XMLSchema'] = {
  1532. prefixes: ['xs'],
  1533. pos: emptyPos,
  1534. type: 'declare'
  1535. };
  1536. namespaces['http://www.w3.org/XML/1998/namespace'] = {
  1537. prefixes: ['xml'],
  1538. pos: emptyPos,
  1539. type: 'declare'
  1540. };
  1541. namespaces['http://zorba.io/annotations'] = {
  1542. prefixes: ['an'],
  1543. pos: emptyPos,
  1544. type: 'declare',
  1545. override: true
  1546. };
  1547. namespaces['http://www.28msec.com/annotations/rest'] = {
  1548. prefixes: ['rest'],
  1549. pos: emptyPos,
  1550. type: 'declare',
  1551. override: true
  1552. };
  1553. namespaces['http://www.w3.org/2005/xqt-errors'] = {
  1554. prefixes: ['err'],
  1555. pos: emptyPos,
  1556. type: 'declare',
  1557. override: true
  1558. };
  1559. namespaces['http://zorba.io/errors'] = {
  1560. prefixes: ['zerr'],
  1561. pos: emptyPos,
  1562. type: 'declare',
  1563. override: true
  1564. };
  1565. }
  1566. var s = {
  1567. parent: parent,
  1568. children: [],
  1569. pos: pos,
  1570. setModuleResolver: function(resolver){
  1571. this.root.moduleResolver = resolver;
  1572. return this;
  1573. },
  1574. setModules: function(index){
  1575. if(this !== this.root){
  1576. throw new Error('setModules() not invoked from the root static context.');
  1577. }
  1578. this.moduleResolver = function(uri){
  1579. return index[uri];
  1580. };
  1581. var that = this;
  1582. Object.keys(this.namespaces).forEach(function(uri){
  1583. var ns = that.namespaces[uri];
  1584. if(ns.type === 'module') {
  1585. var mod = that.moduleResolver(uri);
  1586. if(mod.variables) {
  1587. TreeOps.concat(that.variables, mod.variables);
  1588. }
  1589. if(mod.functions) {
  1590. TreeOps.concat(that.functions, mod.functions);
  1591. }
  1592. }
  1593. });
  1594. return this;
  1595. },
  1596. setModulesFromXQDoc: function(xqdoc){
  1597. if(this !== this.root){
  1598. throw new Error('setModulesFromXQDoc() not invoked from the root static context.');
  1599. }
  1600. var index = {};
  1601. Object.keys(xqdoc).forEach(function(uri) {
  1602. var mod = xqdoc[uri];
  1603. var variables = {};
  1604. var functions = {};
  1605. mod.functions.forEach(function(fn){
  1606. functions[uri + '#' + fn.name + '#' + fn.arity] = {
  1607. params: [],
  1608. annotations: [],
  1609. name: fn.name,
  1610. arity: fn.arity,
  1611. eqname: { uri: uri, name: fn.name }
  1612. };
  1613. fn.parameters.forEach(function(param){
  1614. functions[uri + '#' + fn.name + '#' + fn.arity].params.push('$' + param.name);
  1615. });
  1616. });
  1617. mod.variables.forEach(function(variable){
  1618. var name = variable.name.substring(variable.name.indexOf(':') + 1);
  1619. variables[uri + '#' + name] = { type: 'VarDecl', annotations: [], eqname: { uri: uri, name: name } };
  1620. });
  1621. index[uri] = {
  1622. variables: variables,
  1623. functions: functions
  1624. };
  1625. });
  1626. this.root.moduleResolver = function(uri){
  1627. return index[uri];
  1628. };
  1629. var that = this;
  1630. Object.keys(this.namespaces).forEach(function(uri){
  1631. var ns = that.namespaces[uri];
  1632. if(ns.type === 'module') {
  1633. var mod = that.moduleResolver(uri);
  1634. if(mod.variables) {
  1635. TreeOps.concat(that.variables, mod.variables);
  1636. }
  1637. if(mod.functions) {
  1638. TreeOps.concat(that.functions, mod.functions);
  1639. }
  1640. }
  1641. });
  1642. return this;
  1643. },
  1644. moduleNamespace: '',
  1645. description: '',
  1646. defaultFunctionNamespace: 'http://www.w3.org/2005/xpath-functions',
  1647. defaultFunctionNamespaces: [
  1648. 'http://www.28msec.com/modules/collections',
  1649. 'http://www.28msec.com/modules/store',
  1650. 'http://jsoniq.org/functions',
  1651. 'http://jsoniq.org/function-library',
  1652. 'http://www.w3.org/2001/XMLSchema' //Built-in type constructors
  1653. ],
  1654. defaultElementNamespace: '',
  1655. namespaces: namespaces,
  1656. availableModuleNamespaces: [],
  1657. importModule: function(uri, prefix, pos) {
  1658. if(this !== this.root){
  1659. throw new Error('Function not invoked from the root static context.');
  1660. }
  1661. this.addNamespace(uri, prefix, pos, 'module');
  1662. if(this.moduleResolver) {
  1663. try {
  1664. var mod = this.moduleResolver(uri, []);
  1665. if(mod.variables) {
  1666. TreeOps.concat(this.variables, mod.variables);
  1667. }
  1668. if(mod.functions) {
  1669. TreeOps.concat(this.functions, mod.functions);
  1670. }
  1671. } catch(e) {
  1672. throw new StaticError('XQST0059', 'module "' + uri + '" not found', pos);
  1673. }
  1674. }
  1675. return this;
  1676. },
  1677. getAvailableModuleNamespaces: function(){
  1678. return this.root.availableModuleNamespaces;
  1679. },
  1680. getPrefixesByNamespace: function(uri){
  1681. return this.root.namespaces[uri].prefixes;
  1682. },
  1683. addNamespace: function (uri, prefix, pos, type) {
  1684. if(prefix === '' && type === 'module') {
  1685. throw new StaticWarning('W01', 'Avoid this type of import. Use import module namespace instead', pos);
  1686. }
  1687. if (uri === '') {
  1688. throw new StaticError('XQST0088', 'empty target namespace in module import or module declaration', pos);
  1689. }
  1690. var namespace = this.getNamespace(uri);
  1691. if (namespace && namespace.type === type && type !== 'declare' && !namespace.override) {
  1692. throw new StaticError('XQST0047', '"' + uri + '": duplicate target namespace', pos);
  1693. }
  1694. namespace = this.getNamespaceByPrefix(prefix);
  1695. if (namespace && !namespace.override) {
  1696. throw new StaticError('XQST0033', '"' + prefix + '": namespace prefix already bound to "' + namespace.uri + '"', pos);
  1697. }
  1698. namespace = this.namespaces[uri];
  1699. var prefixes = [prefix];
  1700. if(namespace) {
  1701. prefixes = prefixes.concat(this.namespaces[uri].prefixes);
  1702. }
  1703. this.namespaces[uri] = {
  1704. prefixes: prefixes,
  1705. pos: pos,
  1706. type: type
  1707. };
  1708. if (namespace) {
  1709. throw new StaticWarning('W02', '"' + uri + '" already bound to the "' + namespace.prefixes.join(', ') + '" prefix', pos);
  1710. }
  1711. },
  1712. getNamespaces: function(){
  1713. return this.root.namespaces;
  1714. },
  1715. getNamespace: function (uri) {
  1716. var that = this;
  1717. while (that) {
  1718. var namespace = that.namespaces[uri];
  1719. if (namespace) {
  1720. return namespace;
  1721. }
  1722. that = that.parent;
  1723. }
  1724. },
  1725. getNamespaceByPrefix: function (prefix) {
  1726. var found = [];
  1727. var handler = function (uri) {
  1728. var namespace = that.namespaces[uri];
  1729. if (namespace.prefixes.indexOf(prefix) !== -1) {
  1730. namespace.uri = uri;
  1731. found.push(namespace);
  1732. }
  1733. };
  1734. var that = this;
  1735. while (that) {
  1736. Object.keys(that.namespaces).forEach(handler);
  1737. that = that.parent;
  1738. }
  1739. var result;
  1740. found.forEach(function(ns){
  1741. if(ns.type === 'moduleDecl') {
  1742. result = ns;
  1743. }
  1744. });
  1745. if(result) {
  1746. return result;
  1747. } else {
  1748. return found[0];
  1749. }
  1750. },
  1751. resolveQName: function(value, pos){
  1752. var qname = {
  1753. uri: '',
  1754. prefix: '',
  1755. name: ''
  1756. };
  1757. var idx;
  1758. if (value.substring(0, 2) === 'Q{') {
  1759. idx = value.indexOf('}');
  1760. qname.uri = value.substring(2, idx);
  1761. qname.name = value.substring(idx + 1);
  1762. } else {
  1763. idx = value.indexOf(':');
  1764. qname.prefix = value.substring(0, idx);
  1765. var namespace = this.getNamespaceByPrefix(qname.prefix);
  1766. if(!namespace && qname.prefix !== '' && ['fn', 'jn'].indexOf(qname.prefix) === -1) {
  1767. throw new StaticError('XPST0081', '"' + qname.prefix + '": can not expand prefix of lexical QName to namespace URI', pos);
  1768. }
  1769. if(namespace) {
  1770. qname.uri = namespace.uri;
  1771. }
  1772. qname.name = value.substring(idx + 1);
  1773. }
  1774. return qname;
  1775. },
  1776. variables: {},
  1777. varRefs: {},
  1778. functionCalls: {},
  1779. addVariable: function(qname, type, pos){
  1780. if(
  1781. type === 'VarDecl' && this.moduleNamespace !== '' &&
  1782. !(this.moduleNamespace === qname.uri || qname.uri === '')
  1783. ) {
  1784. throw new StaticError('XQST0048', '"' + qname.prefix + ':' + qname.name + '": Qname not library namespace', pos);
  1785. }
  1786. var key = getVarKey(qname);
  1787. if(type === 'VarDecl' && this.variables[key]) {
  1788. throw new StaticError('XQST0049', '"' + qname.name + '": duplicate variable declaration', pos);
  1789. }
  1790. this.variables[key] = {
  1791. type: type,
  1792. pos: pos,
  1793. qname: qname,
  1794. annotations: {}
  1795. };
  1796. return this;
  1797. },
  1798. getVariables: function(){
  1799. var variables = {};
  1800. var that = this;
  1801. var handler = function(key){
  1802. if(!variables[key]){
  1803. variables[key] = that.variables[key];
  1804. }
  1805. };
  1806. while(that){
  1807. Object.keys(that.variables).forEach(handler);
  1808. that = that.parent;
  1809. }
  1810. return variables;
  1811. },
  1812. getVariable: function(qname) {
  1813. var key = getVarKey(qname);
  1814. var that = this;
  1815. while(that) {
  1816. if(that.variables[key]) {
  1817. return that.variables[key];
  1818. }
  1819. that = that.parent;
  1820. }
  1821. },
  1822. addVarRef: function(qname, pos){
  1823. var varDecl = this.getVariable(qname);
  1824. if(!varDecl && (qname.uri === '' || this.root.moduleResolver)) {
  1825. throw new StaticError('XPST0008', '"' + qname.name + '": undeclared variable', pos);
  1826. }
  1827. var key = getVarKey(qname);
  1828. this.varRefs[key] = true;
  1829. },
  1830. addFunctionCall: function(qname, arity, pos){
  1831. var fn = this.getFunction(qname, arity);
  1832. if(!fn && (qname.uri === 'http://www.w3.org/2005/xquery-local-functions' || this.root.moduleResolver)){
  1833. if((qname.uri === 'http://www.w3.org/2005/xpath-functions' ||
  1834. (qname.uri === '' && this.root.defaultFunctionNamespaces.concat(this.root.defaultFunctionNamespace).indexOf('http://www.w3.org/2005/xpath-functions') !== -1)) && qname.name === 'concat') {
  1835. } else if(!fn){
  1836. throw new StaticError('XPST0008', '"' + qname.name + '#' + arity + '": undeclared function', pos);
  1837. }
  1838. }
  1839. var key = getFnKey(qname, arity);
  1840. this.functionCalls[key] = true;
  1841. },
  1842. functions: getSchemaBuiltinTypes()['http://www.w3.org/2001/XMLSchema'].functions,
  1843. getFunctions: function(){
  1844. return this.root.functions;
  1845. },
  1846. getFunction: function(qname, arity){
  1847. var key = getFnKey(qname, arity);
  1848. var fn;
  1849. if(qname.uri === '') {
  1850. var that = this;
  1851. this.root.defaultFunctionNamespaces.concat([this.root.defaultFunctionNamespace]).forEach(function(defaultFunctionNamespace){
  1852. if(!fn){
  1853. fn = that.getFunction({ uri: defaultFunctionNamespace, prefix: qname.prefix, name: qname.name }, arity);
  1854. } else {
  1855. return false;
  1856. }
  1857. });
  1858. return fn;
  1859. } else {
  1860. return this.root.functions[key];
  1861. }
  1862. },
  1863. addFunction: function(qname, pos, params) {
  1864. if(this !== this.root){
  1865. throw new Error('addFunction() not invoked from the root static context.');
  1866. }
  1867. var arity = params.length;
  1868. if(
  1869. this.moduleNamespace !== '' &&
  1870. !(this.moduleNamespace === qname.uri || (qname.uri === '' && this.defaultFunctionNamespace === this.moduleNamespace))
  1871. ) {
  1872. throw new StaticError('XQST0048', '"' + qname.prefix + ':' + qname.name + '": Qname not library namespace', pos);
  1873. }
  1874. var key = getFnKey(qname, arity);
  1875. if(this.functions[key]) {
  1876. throw new StaticError('XQST0034', '"' + qname.name + '": duplicate function declaration', pos);
  1877. }
  1878. this.functions[key] = {
  1879. pos: pos,
  1880. params: params
  1881. };
  1882. return this;
  1883. }
  1884. };
  1885. s.root = parent ? parent.root : s;
  1886. return s;
  1887. };
  1888. },{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./errors":"/node_modules/xqlint/lib/compiler/errors.js","./schema_built-in_types":"/node_modules/xqlint/lib/compiler/schema_built-in_types.js"}],"/node_modules/xqlint/lib/compiler/translator.js":[function(_dereq_,module,exports){
  1889. exports.Translator = function(rootStcx, ast){
  1890. 'use strict';
  1891. var Errors = _dereq_('./errors');
  1892. var StaticError = Errors.StaticError;
  1893. var StaticWarning = Errors.StaticWarning;
  1894. var TreeOps = _dereq_('../tree_ops').TreeOps;
  1895. var StaticContext = _dereq_('./static_context').StaticContext;
  1896. var Handlers = _dereq_('./handlers');
  1897. var get = function(node, path){
  1898. var result = [];
  1899. if(path.length === 0){
  1900. return node;
  1901. }
  1902. node.children.forEach(function(child){
  1903. if(child.name === path[0] && path.length > 1) {
  1904. result = get(child, path.slice(1));
  1905. } else if(child.name === path[0]) {
  1906. result.push(child);
  1907. }
  1908. });
  1909. return result;
  1910. };
  1911. var markers = [];
  1912. this.apply = function(fn) {
  1913. try {
  1914. fn();
  1915. } catch(e) {
  1916. if(e instanceof StaticError) {
  1917. addStaticError(e);
  1918. } else if(e instanceof StaticWarning) {
  1919. addWarning(e.getCode(), e.getMessage(), e.getPos());
  1920. } else {
  1921. throw e;
  1922. }
  1923. }
  1924. };
  1925. var addStaticError = function(e){
  1926. markers.push({
  1927. pos: e.getPos(),
  1928. type: 'error',
  1929. level: 'error',
  1930. message: '[' + e.getCode() + '] ' + e.getMessage()
  1931. });
  1932. };
  1933. var addWarning = function(code, message, pos) {
  1934. markers.push({
  1935. pos: pos,
  1936. type: 'warning',
  1937. level: 'warning',
  1938. message: '[' + code + '] ' + message
  1939. });
  1940. };
  1941. this.getMarkers = function(){
  1942. return markers;
  1943. };
  1944. var translator = this;
  1945. rootStcx.pos = ast.pos;
  1946. var sctx = rootStcx;
  1947. var pushSctx = function(pos){
  1948. sctx = new StaticContext(sctx, pos);
  1949. sctx.parent.children.push(sctx);
  1950. };
  1951. var popSctx = function(pos){
  1952. if (pos !== undefined) {
  1953. sctx.pos.el = pos.el;
  1954. sctx.pos.ec = pos.ec;
  1955. }
  1956. Object.keys(sctx.varRefs).forEach(function(key){
  1957. if(!sctx.variables[key]) {
  1958. sctx.parent.varRefs[key] = true;
  1959. }
  1960. });
  1961. Object.keys(sctx.variables).forEach(function(key){
  1962. if(!sctx.varRefs[key] && sctx.variables[key].type !== 'GroupingVariable' && sctx.variables[key].type !== 'CatchVar') {
  1963. addWarning('W03', 'Unused variable "$' + sctx.variables[key].qname.name + '"', sctx.variables[key].pos);
  1964. }
  1965. });
  1966. sctx = sctx.parent;
  1967. };
  1968. this.visitOnly = function(node, names) {
  1969. node.children.forEach(function(child){
  1970. if (names.indexOf(child.name) !== -1){
  1971. translator.visit(child);
  1972. }
  1973. });
  1974. };
  1975. this.getFirstChild = function(node, name) {
  1976. var result;
  1977. node.children.forEach(function(child){
  1978. if(child.name === name && result === undefined){
  1979. result = child;
  1980. }
  1981. });
  1982. return result;
  1983. };
  1984. this.XQuery = function(node) {
  1985. rootStcx.description = node.comment ? node.comment.description : undefined;
  1986. };
  1987. this.ModuleDecl = function(node){
  1988. this.visitChildren(node, Handlers.ModuleDecl(translator, rootStcx, node));
  1989. return true;
  1990. };
  1991. this.Prolog = function(node){
  1992. this.visitOnly(node, ['DefaultNamespaceDecl', 'Setter', 'NamespaceDecl', 'Import']);
  1993. ast.index.forEach(function(node){
  1994. if(node.name === 'VarDecl') {
  1995. node.children.forEach(function(child){
  1996. if(child.name === 'VarName') {
  1997. translator.apply(function(){
  1998. var value = TreeOps.flatten(child);
  1999. var qname = rootStcx.resolveQName(value, child.pos);
  2000. rootStcx.addVariable(qname, node.name, child.pos);
  2001. });
  2002. }
  2003. });
  2004. } else if(node.name === 'FunctionDecl') {
  2005. var qname, pos, params = [];
  2006. node.children.forEach(function(child){
  2007. if(child.name === 'EQName') {
  2008. qname = child;
  2009. pos = child.pos;
  2010. } else if(child.name === 'ParamList'){
  2011. child.children.forEach(function(c){
  2012. if(c.name === 'Param') {
  2013. params.push(TreeOps.flatten(c));
  2014. }
  2015. });
  2016. }
  2017. });
  2018. translator.apply(function(){
  2019. qname = TreeOps.flatten(qname);
  2020. qname = rootStcx.resolveQName(qname, pos);
  2021. rootStcx.addFunction(qname, pos, params);
  2022. });
  2023. }
  2024. });
  2025. this.visitOnly(node, ['ContextItemDecl', 'AnnotatedDecl', 'OptionDecl']);
  2026. return true;
  2027. };
  2028. this.ModuleImport = function (node) {
  2029. this.visitChildren(node, Handlers.ModuleImport(translator, rootStcx, node));
  2030. return true;
  2031. };
  2032. this.SchemaImport = function (node) {
  2033. this.visitChildren(node, Handlers.SchemaImport(translator, rootStcx, node));
  2034. return true;
  2035. };
  2036. this.DefaultNamespaceDecl = function(node){
  2037. this.visitChildren(node, Handlers.DefaultNamespaceDecl(translator, rootStcx, node));
  2038. return true;
  2039. };
  2040. this.NamespaceDecl = function (node) {
  2041. this.visitChildren(node, Handlers.NamespaceDecl(translator, rootStcx, node));
  2042. return true;
  2043. };
  2044. var annotations = {};
  2045. this.AnnotatedDecl = function(node) {
  2046. annotations = {};
  2047. this.visitChildren(node, Handlers.NamespaceDecl(translator, rootStcx, node));
  2048. return true;
  2049. };
  2050. this.CompatibilityAnnotation = function(){
  2051. annotations['http://www.w3.org/2012/xquery#updating'] = [];
  2052. return true;
  2053. };
  2054. this.Annotation = function(node){
  2055. this.visitChildren(node, {
  2056. EQName: function(eqname){
  2057. var value = TreeOps.flatten(eqname);
  2058. translator.apply(function(){
  2059. var qname = sctx.resolveQName(value, eqname.pos);
  2060. annotations[qname.uri + '#' + qname.name] = [];
  2061. });
  2062. }
  2063. });
  2064. return true;
  2065. };
  2066. this.VarDecl = function(node){
  2067. try {
  2068. var varname = translator.getFirstChild(node, 'VarName');
  2069. var value = TreeOps.flatten(varname);
  2070. var qname = sctx.resolveQName(value, varname.pos);
  2071. var variable = rootStcx.getVariable(qname);
  2072. if(variable) {
  2073. variable.annotations = annotations;
  2074. variable.description = node.getParent.comment ? node.getParent.comment.description : undefined;
  2075. variable.type = TreeOps.flatten(get(node, ['TypeDeclaration'])[0]).substring(2).trim();
  2076. var last = variable.type.substring(variable.type.length - 1);
  2077. if(last === '?') {
  2078. variable.occurrence = 0;
  2079. variable.type = variable.type.substring(0, variable.type.length - 1);
  2080. } else if(last === '*') {
  2081. variable.occurrence = -1;
  2082. variable.type = variable.type.substring(0, variable.type.length - 1);
  2083. } else if(last === '+') {
  2084. variable.occurrence = 2;
  2085. variable.type = variable.type.substring(0, variable.type.length - 1);
  2086. } else {
  2087. variable.occurrence = 1;
  2088. }
  2089. }
  2090. } catch(e) {
  2091. }
  2092. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2093. return true;
  2094. };
  2095. this.FunctionDecl = function(node) {
  2096. var isUpdating = annotations['http://www.w3.org/2012/xquery#updating'] !== undefined;
  2097. var typeDecl = get(node, ['ReturnType'])[0];
  2098. var name = get(node, ['EQName'])[0];
  2099. if(!typeDecl && !isUpdating){
  2100. addWarning('W05', 'Untyped return value', name.pos);
  2101. }
  2102. var isExternal = false;
  2103. node.children.forEach(function(child){
  2104. if(child.name === 'TOKEN' && child.value === 'external') {
  2105. isExternal = true;
  2106. return false;
  2107. }
  2108. });
  2109. if(!isExternal) {
  2110. pushSctx(node.pos);
  2111. this.visitChildren(node);
  2112. popSctx();
  2113. }
  2114. return true;
  2115. };
  2116. this.VarRef = function(node) {
  2117. this.visitChildren(node, Handlers.VarRefHandler(translator, sctx, node));
  2118. return true;
  2119. };
  2120. this.Param = function(node){
  2121. var typeDecl = get(node, ['TypeDeclaration'])[0];
  2122. if(!typeDecl){
  2123. addWarning('W05', 'Untyped function parameter', node.pos);
  2124. }
  2125. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2126. return true;
  2127. };
  2128. this.InlineFunctionExpr = function(node) {
  2129. pushSctx(node.pos);
  2130. this.visitChildren(node);
  2131. popSctx();
  2132. return true;
  2133. };
  2134. var statementCount = [];
  2135. var handleStatements = function(node) {
  2136. pushSctx(node.pos);
  2137. statementCount.push(0);
  2138. translator.visitChildren(node);
  2139. for (var i = 1; i <= statementCount[statementCount.length - 1]; i++) {
  2140. popSctx(node.pos);
  2141. }
  2142. statementCount.pop();
  2143. popSctx();
  2144. };
  2145. this.StatementsAndOptionalExpr = function (node) {
  2146. handleStatements(node);
  2147. return true;
  2148. };
  2149. this.StatementsAndExpr = function (node) {
  2150. handleStatements(node);
  2151. return true;
  2152. };
  2153. this.BlockStatement = function (node) {
  2154. handleStatements(node);
  2155. return true;
  2156. };
  2157. this.VarDeclStatement = function(node){
  2158. pushSctx(node.pos);
  2159. statementCount[statementCount.length - 1]++;
  2160. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2161. };
  2162. var clauses = [];
  2163. this.FLWORExpr = this.FLWORStatement = function (node) {
  2164. pushSctx(node.pos);
  2165. clauses.push(0);
  2166. this.visitChildren(node);
  2167. for(var i=1; i <= clauses[clauses.length - 1]; i++) {
  2168. popSctx(node.pos);
  2169. }
  2170. clauses.pop();
  2171. popSctx();
  2172. return true;
  2173. };
  2174. this.ForBinding = function (node) {
  2175. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2176. pushSctx(node.pos);
  2177. clauses[clauses.length - 1]++;
  2178. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2179. return true;
  2180. };
  2181. this.LetBinding = function(node){
  2182. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2183. pushSctx(node.pos);
  2184. clauses[clauses.length - 1]++;
  2185. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2186. return true;
  2187. };
  2188. this.GroupingSpec = function(node){
  2189. var isVarDecl = false;
  2190. node.children.forEach(function(child){
  2191. if(child.value === ':=') {
  2192. isVarDecl = true;
  2193. return false;
  2194. }
  2195. });
  2196. if(isVarDecl) {
  2197. var groupingVariable = node.children[0];
  2198. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2199. pushSctx(node.pos);
  2200. clauses[clauses.length - 1]++;
  2201. this.visitChildren(groupingVariable, Handlers.VarHandler(translator, sctx, groupingVariable));
  2202. return true;
  2203. } else {
  2204. }
  2205. };
  2206. this.TumblingWindowClause = function (node) {
  2207. this.visitOnly(node, ['ExprSingle']);
  2208. pushSctx(node.pos);
  2209. clauses[clauses.length - 1]++;
  2210. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2211. this.visitOnly(node, ['WindowStartCondition', 'WindowEndCondition']);
  2212. return true;
  2213. };
  2214. this.WindowVars = function (node) {
  2215. pushSctx(node.pos);
  2216. clauses[clauses.length - 1]++;
  2217. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2218. return true;
  2219. };
  2220. this.SlidingWindowClause = function (node) {
  2221. this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
  2222. pushSctx(node.pos);
  2223. clauses[clauses.length - 1]++;
  2224. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2225. this.visitOnly(node, ['WindowStartCondition', 'WindowEndCondition']);
  2226. return true;
  2227. };
  2228. this.PositionalVar = function (node) {
  2229. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2230. return true;
  2231. };
  2232. this.PositionalVar = function (node) {
  2233. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2234. return true;
  2235. };
  2236. this.CurrentItem = function (node) {
  2237. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2238. return true;
  2239. };
  2240. this.PreviousItem = function (node) {
  2241. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2242. return true;
  2243. };
  2244. this.NextItem = function (node) {
  2245. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2246. return true;
  2247. };
  2248. this.CountClause = function (node) {
  2249. pushSctx(node.pos);
  2250. clauses[clauses.length - 1]++;
  2251. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2252. return true;
  2253. };
  2254. this.CaseClause = function(node) {
  2255. pushSctx(node.pos);
  2256. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2257. this.visitOnly(node, ['ExprSingle']);
  2258. popSctx();
  2259. return true;
  2260. };
  2261. var copies = [];
  2262. this.TransformExpr = function (node) {
  2263. pushSctx(node.pos);
  2264. copies.push(0);
  2265. this.visitChildren(node);
  2266. for(var i=1; i <= copies[copies.length - 1]; i++) {
  2267. popSctx(node.pos);
  2268. }
  2269. copies.pop();
  2270. popSctx();
  2271. return true;
  2272. };
  2273. this.TransformSpec = function(node) {
  2274. this.visitOnly(node, ['ExprSingle']);
  2275. pushSctx(node.pos);
  2276. copies[copies.length-1] += 1;
  2277. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2278. return true;
  2279. };
  2280. var quantifiedDecls = [];
  2281. this.QuantifiedExpr = function (node) {
  2282. pushSctx(node.pos);
  2283. quantifiedDecls.push(0);
  2284. this.visitChildren(node);
  2285. for(var i=1; i <= quantifiedDecls[quantifiedDecls.length - 1]; i++) {
  2286. popSctx(node.pos);
  2287. }
  2288. quantifiedDecls.pop();
  2289. popSctx();
  2290. return true;
  2291. };
  2292. this.QuantifiedVarDecl = function(node) {
  2293. this.visitOnly(node, ['ExprSingle']);
  2294. pushSctx(node.pos);
  2295. quantifiedDecls[quantifiedDecls.length - 1]++;
  2296. this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
  2297. return true;
  2298. };
  2299. this.FunctionCall = function(node){
  2300. this.visitOnly(node, ['ArgumentList']);
  2301. var name = translator.getFirstChild(node, 'EQName');
  2302. var eqname = TreeOps.flatten(name);
  2303. var arity = get(node, ['ArgumentList', 'Argument']).length;
  2304. translator.apply(function(){
  2305. var qname = sctx.resolveQName(eqname, node.pos);
  2306. try {
  2307. if(qname.uri !== '') {
  2308. sctx.root.namespaces[qname.uri].used = true;
  2309. }
  2310. } catch(e){
  2311. }
  2312. sctx.addFunctionCall(qname, arity, name.pos);
  2313. });
  2314. return true;
  2315. };
  2316. this.TryClause = function(node){
  2317. pushSctx(node.pos);
  2318. this.visitChildren(node);
  2319. popSctx();
  2320. return true;
  2321. };
  2322. this.CatchClause = function(node){
  2323. pushSctx(node.pos);
  2324. var prefix = 'err';
  2325. var uri = 'http://www.w3.org/2005/xqt-errors';
  2326. var emptyPos = { sl: 0, sc: 0, el: 0, ec: 0 };
  2327. sctx.addVariable({ prefix: prefix, uri: uri, name: 'code' }, 'CatchVar', emptyPos);
  2328. sctx.addVariable({ prefix: prefix, uri: uri, name: 'description' }, 'CatchVar', emptyPos);
  2329. sctx.addVariable({ prefix: prefix, uri: uri, name: 'value' }, 'CatchVar', emptyPos);
  2330. sctx.addVariable({ prefix: prefix, uri: uri, name: 'module' }, 'CatchVar', emptyPos);
  2331. sctx.addVariable({ prefix: prefix, uri: uri, name: 'line-number' }, 'CatchVar', emptyPos);
  2332. sctx.addVariable({ prefix: prefix, uri: uri, name: 'column-number' }, 'CatchVar', emptyPos);
  2333. sctx.addVariable({ prefix: prefix, uri: uri, name: 'additional' }, 'CatchVar', emptyPos);
  2334. this.visitChildren(node);
  2335. popSctx();
  2336. return true;
  2337. };
  2338. this.Pragma = function(node){
  2339. var qname = TreeOps.flatten(get(node, ['EQName'])[0]);
  2340. qname = rootStcx.resolveQName(qname, node);
  2341. var value = TreeOps.flatten(get(node, ['PragmaContents'])[0]);
  2342. if (qname.name === 'xqlint' && qname.uri === 'http://xqlint.io') {
  2343. pushSctx(node.pos);
  2344. var commands = value.match(/[a-zA-Z]+\(([^)]+)\)/g);
  2345. commands.forEach(function (command) {
  2346. var name = command.substring(0, command.indexOf('('));
  2347. var args = command.substring(0, command.length - 1).substring(command.indexOf('(') + 1).split(',').map(function (val) {
  2348. return val.trim();
  2349. });
  2350. if (name === 'varrefs') {
  2351. args.forEach(function (arg) {
  2352. var qname = sctx.resolveQName(arg.substring(1), node.pos);
  2353. if (qname.uri !== '') {
  2354. sctx.root.namespaces[qname.uri].used = true;
  2355. }
  2356. sctx.addVarRef(qname, node.pos);
  2357. });
  2358. }
  2359. });
  2360. this.visitChildren(node);
  2361. popSctx();
  2362. return true;
  2363. }
  2364. };
  2365. this.visit = function (node) {
  2366. var name = node.name;
  2367. var skip = false;
  2368. if (typeof this[name] === 'function') {
  2369. skip = this[name](node) === true;
  2370. }
  2371. if (!skip) {
  2372. this.visitChildren(node);
  2373. }
  2374. };
  2375. this.visitChildren = function (node, handler) {
  2376. for (var i = 0; i < node.children.length; i++) {
  2377. var child = node.children[i];
  2378. if (handler !== undefined && typeof handler[child.name] === 'function') {
  2379. handler[child.name](child);
  2380. } else {
  2381. this.visit(child);
  2382. }
  2383. }
  2384. };
  2385. this.visit(ast);
  2386. Object.keys(rootStcx.variables).forEach(function(key){
  2387. if(!rootStcx.varRefs[key] && (rootStcx.variables[key].annotations['http://www.w3.org/2005/xpath-functions#private'] || rootStcx.moduleNamespace === '') && rootStcx.variables[key].pos) {
  2388. addWarning('W03', 'Unused variable "' + rootStcx.variables[key].qname.name + '"', rootStcx.variables[key].pos);
  2389. }
  2390. });
  2391. Object.keys(rootStcx.namespaces).forEach(function(uri){
  2392. var namespace = rootStcx.namespaces[uri];
  2393. if(namespace.used === undefined && !namespace.override && namespace.type === 'module') {
  2394. addWarning('W04', 'Unused module "' + uri + '"', namespace.pos);
  2395. }
  2396. });
  2397. };
  2398. },{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./errors":"/node_modules/xqlint/lib/compiler/errors.js","./handlers":"/node_modules/xqlint/lib/compiler/handlers.js","./static_context":"/node_modules/xqlint/lib/compiler/static_context.js"}],"/node_modules/xqlint/lib/completion/completer.js":[function(_dereq_,module,exports){
  2399. 'use strict';
  2400. var TreeOps = _dereq_('../tree_ops').TreeOps;
  2401. var ID_REGEX = /[a-zA-Z_0-9\$]/;
  2402. function retrievePrecedingIdentifier(text, pos, regex) {
  2403. regex = regex || ID_REGEX;
  2404. var buf = [];
  2405. for (var i = pos-1; i >= 0; i--) {
  2406. if (regex.test(text[i])) {
  2407. buf.push(text[i]);
  2408. } else {
  2409. break;
  2410. }
  2411. }
  2412. return buf.reverse().join('');
  2413. }
  2414. function prefixBinarySearch(items, prefix) {
  2415. var startIndex = 0;
  2416. var stopIndex = items.length - 1;
  2417. var middle = Math.floor((stopIndex + startIndex) / 2);
  2418. while (stopIndex > startIndex && middle >= 0 && items[middle].indexOf(prefix) !== 0) {
  2419. if (prefix < items[middle]) {
  2420. stopIndex = middle - 1;
  2421. } else if (prefix > items[middle]) {
  2422. startIndex = middle + 1;
  2423. }
  2424. middle = Math.floor((stopIndex + startIndex) / 2);
  2425. }
  2426. while (middle > 0 && items[middle-1].indexOf(prefix) === 0) {
  2427. middle--;
  2428. }
  2429. return middle >= 0 ? middle : 0; // ensure we're not returning a negative index
  2430. }
  2431. var uriRegex = /[a-zA-Z_0-9\/\.:\-#]/;
  2432. var char = '-._A-Za-z0-9:\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD';
  2433. var nameChar = '[' + char + ']';
  2434. var varChar = '[' + char + '\\$]';
  2435. var nameCharRegExp = new RegExp(nameChar);
  2436. var varCharRegExp = new RegExp(varChar);
  2437. var varDeclLabels = {
  2438. 'LetBinding': 'Let binding',
  2439. 'Param': 'Function parameter',
  2440. 'QuantifiedExpr': 'Quantified expression binding',
  2441. 'VarDeclStatement': 'Local variable',
  2442. 'ForBinding': 'For binding',
  2443. 'TumblingWindowClause': 'Tumbling window binding',
  2444. 'WindowVars': 'Window variable',
  2445. 'SlidingWindowClause': 'Sliding window binding',
  2446. 'PositionalVar': 'Positional variable',
  2447. 'CurrentItem': 'Current item',
  2448. 'PreviousItem': 'Previous item',
  2449. 'NextItem': 'Next item',
  2450. 'CountClause': 'Count binding',
  2451. 'GroupingVariable': 'Grouping variable',
  2452. 'VarDecl': 'Module variable'
  2453. };
  2454. var findCompletions = function(prefix, allIdentifiers) {
  2455. allIdentifiers.sort();
  2456. var startIdx = prefixBinarySearch(allIdentifiers, prefix);
  2457. var matches = [];
  2458. for (var i = startIdx; i < allIdentifiers.length && allIdentifiers[i].indexOf(prefix) === 0; i++) {
  2459. matches.push(allIdentifiers[i]);
  2460. }
  2461. return matches;
  2462. };
  2463. var completePrefix = function(identifier, pos, sctx){
  2464. var idx = identifier.indexOf(':');
  2465. if(idx === -1) {
  2466. var prefixes = [];
  2467. var namespaces = sctx.getNamespaces();
  2468. Object.keys(namespaces).forEach(function(key){
  2469. if(namespaces[key].type === 'module' || key === 'http://www.w3.org/2005/xquery-local-functions') {
  2470. prefixes.push(namespaces[key].prefixes[0]);
  2471. }
  2472. });
  2473. var matches = findCompletions(identifier, prefixes);
  2474. var match = function(name) {
  2475. return {
  2476. name: name + ':',
  2477. value: name + ':',
  2478. meta: 'prefix'
  2479. };
  2480. };
  2481. return matches.map(match);
  2482. } else {
  2483. return [];
  2484. }
  2485. };
  2486. var completeFunction = function(identifier, pos, sctx){
  2487. var names = [];
  2488. var snippets = {};
  2489. var functions = sctx.getFunctions();
  2490. var uri = '';
  2491. var prefix = '';
  2492. var name = identifier;
  2493. var idx = identifier.indexOf(':');
  2494. var defaultNamespace = false;
  2495. if(idx !== -1){
  2496. prefix = identifier.substring(0, idx);
  2497. name = identifier.substring(idx + 1);
  2498. var ns = sctx.getNamespaceByPrefix(prefix);
  2499. if(ns){
  2500. uri = sctx.getNamespaceByPrefix(prefix).uri;
  2501. }
  2502. } else {
  2503. defaultNamespace = true;
  2504. uri = sctx.root.defaultFunctionNamespace;
  2505. }
  2506. Object.keys(functions).forEach(function(key){
  2507. var fn = functions[key];
  2508. var ns = key.substring(0, key.indexOf('#'));
  2509. var name = key.substring(key.indexOf('#') + 1);
  2510. name = name.substring(0, name.indexOf('#'));
  2511. if(ns !== uri) {
  2512. return;
  2513. }
  2514. if(!defaultNamespace){
  2515. name = sctx.getNamespaces()[ns].prefixes[0] + ':' + name;
  2516. }
  2517. name += '(';
  2518. var snippet = name;
  2519. snippet += fn.params.map(function(param, index){
  2520. return '${' + (index + 1) + ':\\' + param.split(' ')[0] + '}';
  2521. }).join(', ');
  2522. name += fn.params.join(', ');
  2523. name += ')';
  2524. snippet += ')';
  2525. names.push(name);
  2526. snippets[name] = snippet;
  2527. });
  2528. var matches = findCompletions(identifier, names);
  2529. var match = function(name) {
  2530. return {
  2531. name: name,
  2532. value: name,
  2533. meta: 'function',
  2534. priority: 4,
  2535. identifierRegex: nameCharRegExp,
  2536. snippet: snippets[name]
  2537. };
  2538. };
  2539. return matches.map(match);
  2540. };
  2541. var completeVariable = function(identifier, pos, sctx){
  2542. var uri = '';
  2543. var prefix = '';
  2544. var idx = identifier.indexOf(':');
  2545. if(idx !== -1){
  2546. prefix = identifier.substring(0, idx);
  2547. uri = sctx.getNamespaceByPrefix(prefix).uri;
  2548. }
  2549. var decls = sctx.getVariables();
  2550. var names = [];
  2551. var types = {};
  2552. Object.keys(decls).forEach(function(key){
  2553. var i = key.indexOf('#');
  2554. var ns = key.substring(0, i);
  2555. var name = key.substring(i+1);
  2556. if(ns !== ''){
  2557. names.push(sctx.getPrefixesByNamespace(ns)[0] + ':' + name);
  2558. types[sctx.getPrefixesByNamespace(ns)[0] + ':' + name] = decls[key].type;
  2559. } else {
  2560. names.push(name);
  2561. types[name] = decls[key].type;
  2562. }
  2563. });
  2564. var matches = findCompletions(identifier, names);
  2565. var match = function(name) {
  2566. return {
  2567. name: '$' + name,
  2568. value: '$' + name,
  2569. meta: varDeclLabels[types[name]],
  2570. priority: 4,
  2571. identifierRegex: varCharRegExp
  2572. };
  2573. };
  2574. return matches.map(match);
  2575. };
  2576. var completeExpr = function(line, pos, sctx){
  2577. var identifier = retrievePrecedingIdentifier(line, pos.col, nameCharRegExp);
  2578. var before = line.substring(0, pos.col - (identifier.length === 0 ? 0 : identifier.length));
  2579. var isVar = before[before.length - 1] === '$';
  2580. if(isVar) {
  2581. return completeVariable(identifier, pos, sctx);
  2582. } else if(identifier !== '') {
  2583. return completeFunction(identifier, pos, sctx).concat(completePrefix(identifier, pos, sctx));
  2584. } else {
  2585. return completeVariable(identifier, pos, sctx).concat(completeFunction(identifier, pos, sctx)).concat(completePrefix(identifier, pos, sctx));
  2586. }
  2587. };
  2588. var completeModuleUri = function(line, pos, sctx){
  2589. var identifier = retrievePrecedingIdentifier(line, pos.col, uriRegex);
  2590. var matches = findCompletions(identifier, sctx.getAvailableModuleNamespaces());
  2591. var match = function(uri) {
  2592. return {
  2593. name: uri,
  2594. value: uri,
  2595. meta: 'module',
  2596. priority: 4,
  2597. identifierRegex: uriRegex
  2598. };
  2599. };
  2600. return matches.map(match);
  2601. };
  2602. exports.complete = function(source, ast, rootSctx, pos){
  2603. var line = source.split('\n')[pos.line];
  2604. var node = TreeOps.findNode(ast, pos);
  2605. var sctx = TreeOps.findNode(rootSctx, pos);
  2606. sctx = sctx ? sctx : rootSctx;
  2607. if(node && node.name === 'URILiteral' && node.getParent && node.getParent.name === 'ModuleImport'){
  2608. return completeModuleUri(line, pos, sctx);
  2609. } else {
  2610. return completeExpr(line, pos, sctx);
  2611. }
  2612. };
  2613. },{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js"}],"/node_modules/xqlint/lib/formatter/style_checker.js":[function(_dereq_,module,exports){
  2614. exports.StyleChecker = function (ast, source) {
  2615. 'use strict';
  2616. var tab = ' ';
  2617. var markers = [];
  2618. this.getMarkers = function(){
  2619. return markers;
  2620. };
  2621. this.WS = function(node) {
  2622. var lines = node.value.split('\n');
  2623. lines.forEach(function(line, index){
  2624. var isFirst = index === 0;
  2625. var isLast = index === (lines.length - 1);
  2626. if(/\r$/.test(line)) {
  2627. markers.push({
  2628. pos: {
  2629. sl: node.pos.sl + index,
  2630. el: node.pos.sl + index,
  2631. sc: line.length - 1,
  2632. ec: line.length
  2633. },
  2634. type: 'warning',
  2635. level: 'warning',
  2636. message: '[SW01] Detected CRLF'
  2637. });
  2638. }
  2639. var match = line.match(/\t+/);
  2640. if(match !== null){
  2641. markers.push({
  2642. pos: {
  2643. sl: node.pos.sl + index,
  2644. el: node.pos.sl + index,
  2645. sc: match.index,
  2646. ec: match.index + match[0].length
  2647. },
  2648. type: 'warning',
  2649. level: 'warning',
  2650. message: '[SW02] Tabs detected'
  2651. });
  2652. }
  2653. if((!isFirst) && isLast){
  2654. match = line.match(/^\ +/);
  2655. if(match !== null) {
  2656. var mod = match[0].length % tab.length;
  2657. if(mod !== 0) {
  2658. markers.push({
  2659. pos: {
  2660. sl: node.pos.sl + index,
  2661. el: node.pos.sl + index,
  2662. sc: match.index,
  2663. ec: match.index + match[0].length
  2664. },
  2665. type: 'warning',
  2666. level: 'warning',
  2667. message: '[SW03] Unexcepted indentation of ' + match[0].length
  2668. });
  2669. }
  2670. }
  2671. }
  2672. });
  2673. return true;
  2674. };
  2675. this.visit = function (node, index) {
  2676. var name = node.name;
  2677. var skip = false;
  2678. if (typeof this[name] === 'function') {
  2679. skip = this[name](node, index) === true;
  2680. }
  2681. if (!skip) {
  2682. this.visitChildren(node);
  2683. }
  2684. };
  2685. this.visitChildren = function (node, handler) {
  2686. for (var i = 0; i < node.children.length; i++) {
  2687. var child = node.children[i];
  2688. if (handler !== undefined && typeof handler[child.name] === 'function') {
  2689. handler[child.name](child);
  2690. } else {
  2691. this.visit(child);
  2692. }
  2693. }
  2694. };
  2695. source.split('\n').forEach(function(line, index){
  2696. var match = line.match(/\ +$/);
  2697. if(match){
  2698. markers.push({
  2699. pos: {
  2700. sl: index,
  2701. el: index,
  2702. sc: match.index,
  2703. ec: match.index + match[0].length
  2704. },
  2705. type: 'warning',
  2706. level: 'warning',
  2707. message: '[SW04] Trailing whitespace'
  2708. });
  2709. }
  2710. });
  2711. this.visit(ast);
  2712. };
  2713. },{}],"/node_modules/xqlint/lib/lexers/JSONiqTokenizer.js":[function(_dereq_,module,exports){
  2714. var JSONiqTokenizer = exports.JSONiqTokenizer = function JSONiqTokenizer(string, parsingEventHandler)
  2715. {
  2716. init(string, parsingEventHandler);
  2717. var self = this;
  2718. this.ParseException = function(b, e, s, o, x)
  2719. {
  2720. var
  2721. begin = b,
  2722. end = e,
  2723. state = s,
  2724. offending = o,
  2725. expected = x;
  2726. this.getBegin = function() {return begin;};
  2727. this.getEnd = function() {return end;};
  2728. this.getState = function() {return state;};
  2729. this.getExpected = function() {return expected;};
  2730. this.getOffending = function() {return offending;};
  2731. this.getMessage = function()
  2732. {
  2733. return offending < 0 ? "lexical analysis failed" : "syntax error";
  2734. };
  2735. };
  2736. function init(string, parsingEventHandler)
  2737. {
  2738. eventHandler = parsingEventHandler;
  2739. input = string;
  2740. size = string.length;
  2741. reset(0, 0, 0);
  2742. }
  2743. this.getInput = function()
  2744. {
  2745. return input;
  2746. };
  2747. function reset(l, b, e)
  2748. {
  2749. b0 = b; e0 = b;
  2750. l1 = l; b1 = b; e1 = e;
  2751. end = e;
  2752. eventHandler.reset(input);
  2753. }
  2754. this.getOffendingToken = function(e)
  2755. {
  2756. var o = e.getOffending();
  2757. return o >= 0 ? JSONiqTokenizer.TOKEN[o] : null;
  2758. };
  2759. this.getExpectedTokenSet = function(e)
  2760. {
  2761. var expected;
  2762. if (e.getExpected() < 0)
  2763. {
  2764. expected = JSONiqTokenizer.getTokenSet(- e.getState());
  2765. }
  2766. else
  2767. {
  2768. expected = [JSONiqTokenizer.TOKEN[e.getExpected()]];
  2769. }
  2770. return expected;
  2771. };
  2772. this.getErrorMessage = function(e)
  2773. {
  2774. var tokenSet = this.getExpectedTokenSet(e);
  2775. var found = this.getOffendingToken(e);
  2776. var prefix = input.substring(0, e.getBegin());
  2777. var lines = prefix.split("\n");
  2778. var line = lines.length;
  2779. var column = lines[line - 1].length + 1;
  2780. var size = e.getEnd() - e.getBegin();
  2781. return e.getMessage()
  2782. + (found == null ? "" : ", found " + found)
  2783. + "\nwhile expecting "
  2784. + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
  2785. + "\n"
  2786. + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
  2787. + "at line " + line + ", column " + column + ":\n..."
  2788. + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
  2789. + "...";
  2790. };
  2791. this.parse_start = function()
  2792. {
  2793. eventHandler.startNonterminal("start", e0);
  2794. lookahead1W(14); // ModuleDecl | Annotation | OptionDecl | Operator | Variable | Tag | AttrTest |
  2795. switch (l1)
  2796. {
  2797. case 58: // '<![CDATA['
  2798. shift(58); // '<![CDATA['
  2799. break;
  2800. case 57: // '<!--'
  2801. shift(57); // '<!--'
  2802. break;
  2803. case 59: // '<?'
  2804. shift(59); // '<?'
  2805. break;
  2806. case 43: // '(#'
  2807. shift(43); // '(#'
  2808. break;
  2809. case 45: // '(:~'
  2810. shift(45); // '(:~'
  2811. break;
  2812. case 44: // '(:'
  2813. shift(44); // '(:'
  2814. break;
  2815. case 37: // '"'
  2816. shift(37); // '"'
  2817. break;
  2818. case 41: // "'"
  2819. shift(41); // "'"
  2820. break;
  2821. case 277: // '}'
  2822. shift(277); // '}'
  2823. break;
  2824. case 274: // '{'
  2825. shift(274); // '{'
  2826. break;
  2827. case 42: // '('
  2828. shift(42); // '('
  2829. break;
  2830. case 46: // ')'
  2831. shift(46); // ')'
  2832. break;
  2833. case 52: // '/'
  2834. shift(52); // '/'
  2835. break;
  2836. case 65: // '['
  2837. shift(65); // '['
  2838. break;
  2839. case 66: // ']'
  2840. shift(66); // ']'
  2841. break;
  2842. case 49: // ','
  2843. shift(49); // ','
  2844. break;
  2845. case 51: // '.'
  2846. shift(51); // '.'
  2847. break;
  2848. case 56: // ';'
  2849. shift(56); // ';'
  2850. break;
  2851. case 54: // ':'
  2852. shift(54); // ':'
  2853. break;
  2854. case 36: // '!'
  2855. shift(36); // '!'
  2856. break;
  2857. case 276: // '|'
  2858. shift(276); // '|'
  2859. break;
  2860. case 40: // '$$'
  2861. shift(40); // '$$'
  2862. break;
  2863. case 5: // Annotation
  2864. shift(5); // Annotation
  2865. break;
  2866. case 4: // ModuleDecl
  2867. shift(4); // ModuleDecl
  2868. break;
  2869. case 6: // OptionDecl
  2870. shift(6); // OptionDecl
  2871. break;
  2872. case 15: // AttrTest
  2873. shift(15); // AttrTest
  2874. break;
  2875. case 16: // Wildcard
  2876. shift(16); // Wildcard
  2877. break;
  2878. case 18: // IntegerLiteral
  2879. shift(18); // IntegerLiteral
  2880. break;
  2881. case 19: // DecimalLiteral
  2882. shift(19); // DecimalLiteral
  2883. break;
  2884. case 20: // DoubleLiteral
  2885. shift(20); // DoubleLiteral
  2886. break;
  2887. case 8: // Variable
  2888. shift(8); // Variable
  2889. break;
  2890. case 9: // Tag
  2891. shift(9); // Tag
  2892. break;
  2893. case 7: // Operator
  2894. shift(7); // Operator
  2895. break;
  2896. case 35: // EOF
  2897. shift(35); // EOF
  2898. break;
  2899. default:
  2900. parse_EQName();
  2901. }
  2902. eventHandler.endNonterminal("start", e0);
  2903. };
  2904. this.parse_StartTag = function()
  2905. {
  2906. eventHandler.startNonterminal("StartTag", e0);
  2907. lookahead1W(8); // QName | S^WS | EOF | '"' | "'" | '/>' | '=' | '>'
  2908. switch (l1)
  2909. {
  2910. case 61: // '>'
  2911. shift(61); // '>'
  2912. break;
  2913. case 53: // '/>'
  2914. shift(53); // '/>'
  2915. break;
  2916. case 29: // QName
  2917. shift(29); // QName
  2918. break;
  2919. case 60: // '='
  2920. shift(60); // '='
  2921. break;
  2922. case 37: // '"'
  2923. shift(37); // '"'
  2924. break;
  2925. case 41: // "'"
  2926. shift(41); // "'"
  2927. break;
  2928. default:
  2929. shift(35); // EOF
  2930. }
  2931. eventHandler.endNonterminal("StartTag", e0);
  2932. };
  2933. this.parse_TagContent = function()
  2934. {
  2935. eventHandler.startNonterminal("TagContent", e0);
  2936. lookahead1(11); // Tag | EndTag | PredefinedEntityRef | ElementContentChar | CharRef | EOF |
  2937. switch (l1)
  2938. {
  2939. case 25: // ElementContentChar
  2940. shift(25); // ElementContentChar
  2941. break;
  2942. case 9: // Tag
  2943. shift(9); // Tag
  2944. break;
  2945. case 10: // EndTag
  2946. shift(10); // EndTag
  2947. break;
  2948. case 58: // '<![CDATA['
  2949. shift(58); // '<![CDATA['
  2950. break;
  2951. case 57: // '<!--'
  2952. shift(57); // '<!--'
  2953. break;
  2954. case 21: // PredefinedEntityRef
  2955. shift(21); // PredefinedEntityRef
  2956. break;
  2957. case 31: // CharRef
  2958. shift(31); // CharRef
  2959. break;
  2960. case 275: // '{{'
  2961. shift(275); // '{{'
  2962. break;
  2963. case 278: // '}}'
  2964. shift(278); // '}}'
  2965. break;
  2966. case 274: // '{'
  2967. shift(274); // '{'
  2968. break;
  2969. default:
  2970. shift(35); // EOF
  2971. }
  2972. eventHandler.endNonterminal("TagContent", e0);
  2973. };
  2974. this.parse_AposAttr = function()
  2975. {
  2976. eventHandler.startNonterminal("AposAttr", e0);
  2977. lookahead1(10); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | EOF | "'" |
  2978. switch (l1)
  2979. {
  2980. case 23: // EscapeApos
  2981. shift(23); // EscapeApos
  2982. break;
  2983. case 27: // AposAttrContentChar
  2984. shift(27); // AposAttrContentChar
  2985. break;
  2986. case 21: // PredefinedEntityRef
  2987. shift(21); // PredefinedEntityRef
  2988. break;
  2989. case 31: // CharRef
  2990. shift(31); // CharRef
  2991. break;
  2992. case 275: // '{{'
  2993. shift(275); // '{{'
  2994. break;
  2995. case 278: // '}}'
  2996. shift(278); // '}}'
  2997. break;
  2998. case 274: // '{'
  2999. shift(274); // '{'
  3000. break;
  3001. case 41: // "'"
  3002. shift(41); // "'"
  3003. break;
  3004. default:
  3005. shift(35); // EOF
  3006. }
  3007. eventHandler.endNonterminal("AposAttr", e0);
  3008. };
  3009. this.parse_QuotAttr = function()
  3010. {
  3011. eventHandler.startNonterminal("QuotAttr", e0);
  3012. lookahead1(9); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | EOF | '"' |
  3013. switch (l1)
  3014. {
  3015. case 22: // EscapeQuot
  3016. shift(22); // EscapeQuot
  3017. break;
  3018. case 26: // QuotAttrContentChar
  3019. shift(26); // QuotAttrContentChar
  3020. break;
  3021. case 21: // PredefinedEntityRef
  3022. shift(21); // PredefinedEntityRef
  3023. break;
  3024. case 31: // CharRef
  3025. shift(31); // CharRef
  3026. break;
  3027. case 275: // '{{'
  3028. shift(275); // '{{'
  3029. break;
  3030. case 278: // '}}'
  3031. shift(278); // '}}'
  3032. break;
  3033. case 274: // '{'
  3034. shift(274); // '{'
  3035. break;
  3036. case 37: // '"'
  3037. shift(37); // '"'
  3038. break;
  3039. default:
  3040. shift(35); // EOF
  3041. }
  3042. eventHandler.endNonterminal("QuotAttr", e0);
  3043. };
  3044. this.parse_CData = function()
  3045. {
  3046. eventHandler.startNonterminal("CData", e0);
  3047. lookahead1(1); // CDataSectionContents | EOF | ']]>'
  3048. switch (l1)
  3049. {
  3050. case 14: // CDataSectionContents
  3051. shift(14); // CDataSectionContents
  3052. break;
  3053. case 67: // ']]>'
  3054. shift(67); // ']]>'
  3055. break;
  3056. default:
  3057. shift(35); // EOF
  3058. }
  3059. eventHandler.endNonterminal("CData", e0);
  3060. };
  3061. this.parse_XMLComment = function()
  3062. {
  3063. eventHandler.startNonterminal("XMLComment", e0);
  3064. lookahead1(0); // DirCommentContents | EOF | '-->'
  3065. switch (l1)
  3066. {
  3067. case 12: // DirCommentContents
  3068. shift(12); // DirCommentContents
  3069. break;
  3070. case 50: // '-->'
  3071. shift(50); // '-->'
  3072. break;
  3073. default:
  3074. shift(35); // EOF
  3075. }
  3076. eventHandler.endNonterminal("XMLComment", e0);
  3077. };
  3078. this.parse_PI = function()
  3079. {
  3080. eventHandler.startNonterminal("PI", e0);
  3081. lookahead1(3); // DirPIContents | EOF | '?' | '?>'
  3082. switch (l1)
  3083. {
  3084. case 13: // DirPIContents
  3085. shift(13); // DirPIContents
  3086. break;
  3087. case 62: // '?'
  3088. shift(62); // '?'
  3089. break;
  3090. case 63: // '?>'
  3091. shift(63); // '?>'
  3092. break;
  3093. default:
  3094. shift(35); // EOF
  3095. }
  3096. eventHandler.endNonterminal("PI", e0);
  3097. };
  3098. this.parse_Pragma = function()
  3099. {
  3100. eventHandler.startNonterminal("Pragma", e0);
  3101. lookahead1(2); // PragmaContents | EOF | '#' | '#)'
  3102. switch (l1)
  3103. {
  3104. case 11: // PragmaContents
  3105. shift(11); // PragmaContents
  3106. break;
  3107. case 38: // '#'
  3108. shift(38); // '#'
  3109. break;
  3110. case 39: // '#)'
  3111. shift(39); // '#)'
  3112. break;
  3113. default:
  3114. shift(35); // EOF
  3115. }
  3116. eventHandler.endNonterminal("Pragma", e0);
  3117. };
  3118. this.parse_Comment = function()
  3119. {
  3120. eventHandler.startNonterminal("Comment", e0);
  3121. lookahead1(4); // CommentContents | EOF | '(:' | ':)'
  3122. switch (l1)
  3123. {
  3124. case 55: // ':)'
  3125. shift(55); // ':)'
  3126. break;
  3127. case 44: // '(:'
  3128. shift(44); // '(:'
  3129. break;
  3130. case 32: // CommentContents
  3131. shift(32); // CommentContents
  3132. break;
  3133. default:
  3134. shift(35); // EOF
  3135. }
  3136. eventHandler.endNonterminal("Comment", e0);
  3137. };
  3138. this.parse_CommentDoc = function()
  3139. {
  3140. eventHandler.startNonterminal("CommentDoc", e0);
  3141. lookahead1(6); // DocTag | DocCommentContents | EOF | '(:' | ':)'
  3142. switch (l1)
  3143. {
  3144. case 33: // DocTag
  3145. shift(33); // DocTag
  3146. break;
  3147. case 34: // DocCommentContents
  3148. shift(34); // DocCommentContents
  3149. break;
  3150. case 55: // ':)'
  3151. shift(55); // ':)'
  3152. break;
  3153. case 44: // '(:'
  3154. shift(44); // '(:'
  3155. break;
  3156. default:
  3157. shift(35); // EOF
  3158. }
  3159. eventHandler.endNonterminal("CommentDoc", e0);
  3160. };
  3161. this.parse_QuotString = function()
  3162. {
  3163. eventHandler.startNonterminal("QuotString", e0);
  3164. lookahead1(5); // JSONChar | JSONCharRef | JSONPredefinedCharRef | EOF | '"'
  3165. switch (l1)
  3166. {
  3167. case 3: // JSONPredefinedCharRef
  3168. shift(3); // JSONPredefinedCharRef
  3169. break;
  3170. case 2: // JSONCharRef
  3171. shift(2); // JSONCharRef
  3172. break;
  3173. case 1: // JSONChar
  3174. shift(1); // JSONChar
  3175. break;
  3176. case 37: // '"'
  3177. shift(37); // '"'
  3178. break;
  3179. default:
  3180. shift(35); // EOF
  3181. }
  3182. eventHandler.endNonterminal("QuotString", e0);
  3183. };
  3184. this.parse_AposString = function()
  3185. {
  3186. eventHandler.startNonterminal("AposString", e0);
  3187. lookahead1(7); // PredefinedEntityRef | EscapeApos | AposChar | CharRef | EOF | "'"
  3188. switch (l1)
  3189. {
  3190. case 21: // PredefinedEntityRef
  3191. shift(21); // PredefinedEntityRef
  3192. break;
  3193. case 31: // CharRef
  3194. shift(31); // CharRef
  3195. break;
  3196. case 23: // EscapeApos
  3197. shift(23); // EscapeApos
  3198. break;
  3199. case 24: // AposChar
  3200. shift(24); // AposChar
  3201. break;
  3202. case 41: // "'"
  3203. shift(41); // "'"
  3204. break;
  3205. default:
  3206. shift(35); // EOF
  3207. }
  3208. eventHandler.endNonterminal("AposString", e0);
  3209. };
  3210. this.parse_Prefix = function()
  3211. {
  3212. eventHandler.startNonterminal("Prefix", e0);
  3213. lookahead1W(13); // NCName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  3214. whitespace();
  3215. parse_NCName();
  3216. eventHandler.endNonterminal("Prefix", e0);
  3217. };
  3218. this.parse__EQName = function()
  3219. {
  3220. eventHandler.startNonterminal("_EQName", e0);
  3221. lookahead1W(12); // EQName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  3222. whitespace();
  3223. parse_EQName();
  3224. eventHandler.endNonterminal("_EQName", e0);
  3225. };
  3226. function parse_EQName()
  3227. {
  3228. eventHandler.startNonterminal("EQName", e0);
  3229. switch (l1)
  3230. {
  3231. case 80: // 'attribute'
  3232. shift(80); // 'attribute'
  3233. break;
  3234. case 94: // 'comment'
  3235. shift(94); // 'comment'
  3236. break;
  3237. case 118: // 'document-node'
  3238. shift(118); // 'document-node'
  3239. break;
  3240. case 119: // 'element'
  3241. shift(119); // 'element'
  3242. break;
  3243. case 122: // 'empty-sequence'
  3244. shift(122); // 'empty-sequence'
  3245. break;
  3246. case 143: // 'function'
  3247. shift(143); // 'function'
  3248. break;
  3249. case 150: // 'if'
  3250. shift(150); // 'if'
  3251. break;
  3252. case 163: // 'item'
  3253. shift(163); // 'item'
  3254. break;
  3255. case 183: // 'namespace-node'
  3256. shift(183); // 'namespace-node'
  3257. break;
  3258. case 189: // 'node'
  3259. shift(189); // 'node'
  3260. break;
  3261. case 214: // 'processing-instruction'
  3262. shift(214); // 'processing-instruction'
  3263. break;
  3264. case 224: // 'schema-attribute'
  3265. shift(224); // 'schema-attribute'
  3266. break;
  3267. case 225: // 'schema-element'
  3268. shift(225); // 'schema-element'
  3269. break;
  3270. case 241: // 'switch'
  3271. shift(241); // 'switch'
  3272. break;
  3273. case 242: // 'text'
  3274. shift(242); // 'text'
  3275. break;
  3276. case 251: // 'typeswitch'
  3277. shift(251); // 'typeswitch'
  3278. break;
  3279. default:
  3280. parse_FunctionName();
  3281. }
  3282. eventHandler.endNonterminal("EQName", e0);
  3283. }
  3284. function parse_FunctionName()
  3285. {
  3286. eventHandler.startNonterminal("FunctionName", e0);
  3287. switch (l1)
  3288. {
  3289. case 17: // EQName^Token
  3290. shift(17); // EQName^Token
  3291. break;
  3292. case 68: // 'after'
  3293. shift(68); // 'after'
  3294. break;
  3295. case 71: // 'ancestor'
  3296. shift(71); // 'ancestor'
  3297. break;
  3298. case 72: // 'ancestor-or-self'
  3299. shift(72); // 'ancestor-or-self'
  3300. break;
  3301. case 73: // 'and'
  3302. shift(73); // 'and'
  3303. break;
  3304. case 77: // 'as'
  3305. shift(77); // 'as'
  3306. break;
  3307. case 78: // 'ascending'
  3308. shift(78); // 'ascending'
  3309. break;
  3310. case 82: // 'before'
  3311. shift(82); // 'before'
  3312. break;
  3313. case 86: // 'case'
  3314. shift(86); // 'case'
  3315. break;
  3316. case 87: // 'cast'
  3317. shift(87); // 'cast'
  3318. break;
  3319. case 88: // 'castable'
  3320. shift(88); // 'castable'
  3321. break;
  3322. case 91: // 'child'
  3323. shift(91); // 'child'
  3324. break;
  3325. case 92: // 'collation'
  3326. shift(92); // 'collation'
  3327. break;
  3328. case 101: // 'copy'
  3329. shift(101); // 'copy'
  3330. break;
  3331. case 103: // 'count'
  3332. shift(103); // 'count'
  3333. break;
  3334. case 106: // 'declare'
  3335. shift(106); // 'declare'
  3336. break;
  3337. case 107: // 'default'
  3338. shift(107); // 'default'
  3339. break;
  3340. case 108: // 'delete'
  3341. shift(108); // 'delete'
  3342. break;
  3343. case 109: // 'descendant'
  3344. shift(109); // 'descendant'
  3345. break;
  3346. case 110: // 'descendant-or-self'
  3347. shift(110); // 'descendant-or-self'
  3348. break;
  3349. case 111: // 'descending'
  3350. shift(111); // 'descending'
  3351. break;
  3352. case 116: // 'div'
  3353. shift(116); // 'div'
  3354. break;
  3355. case 117: // 'document'
  3356. shift(117); // 'document'
  3357. break;
  3358. case 120: // 'else'
  3359. shift(120); // 'else'
  3360. break;
  3361. case 121: // 'empty'
  3362. shift(121); // 'empty'
  3363. break;
  3364. case 124: // 'end'
  3365. shift(124); // 'end'
  3366. break;
  3367. case 126: // 'eq'
  3368. shift(126); // 'eq'
  3369. break;
  3370. case 127: // 'every'
  3371. shift(127); // 'every'
  3372. break;
  3373. case 129: // 'except'
  3374. shift(129); // 'except'
  3375. break;
  3376. case 132: // 'first'
  3377. shift(132); // 'first'
  3378. break;
  3379. case 133: // 'following'
  3380. shift(133); // 'following'
  3381. break;
  3382. case 134: // 'following-sibling'
  3383. shift(134); // 'following-sibling'
  3384. break;
  3385. case 135: // 'for'
  3386. shift(135); // 'for'
  3387. break;
  3388. case 144: // 'ge'
  3389. shift(144); // 'ge'
  3390. break;
  3391. case 146: // 'group'
  3392. shift(146); // 'group'
  3393. break;
  3394. case 148: // 'gt'
  3395. shift(148); // 'gt'
  3396. break;
  3397. case 149: // 'idiv'
  3398. shift(149); // 'idiv'
  3399. break;
  3400. case 151: // 'import'
  3401. shift(151); // 'import'
  3402. break;
  3403. case 157: // 'insert'
  3404. shift(157); // 'insert'
  3405. break;
  3406. case 158: // 'instance'
  3407. shift(158); // 'instance'
  3408. break;
  3409. case 160: // 'intersect'
  3410. shift(160); // 'intersect'
  3411. break;
  3412. case 161: // 'into'
  3413. shift(161); // 'into'
  3414. break;
  3415. case 162: // 'is'
  3416. shift(162); // 'is'
  3417. break;
  3418. case 168: // 'last'
  3419. shift(168); // 'last'
  3420. break;
  3421. case 170: // 'le'
  3422. shift(170); // 'le'
  3423. break;
  3424. case 172: // 'let'
  3425. shift(172); // 'let'
  3426. break;
  3427. case 176: // 'lt'
  3428. shift(176); // 'lt'
  3429. break;
  3430. case 178: // 'mod'
  3431. shift(178); // 'mod'
  3432. break;
  3433. case 179: // 'modify'
  3434. shift(179); // 'modify'
  3435. break;
  3436. case 180: // 'module'
  3437. shift(180); // 'module'
  3438. break;
  3439. case 182: // 'namespace'
  3440. shift(182); // 'namespace'
  3441. break;
  3442. case 184: // 'ne'
  3443. shift(184); // 'ne'
  3444. break;
  3445. case 196: // 'only'
  3446. shift(196); // 'only'
  3447. break;
  3448. case 198: // 'or'
  3449. shift(198); // 'or'
  3450. break;
  3451. case 199: // 'order'
  3452. shift(199); // 'order'
  3453. break;
  3454. case 200: // 'ordered'
  3455. shift(200); // 'ordered'
  3456. break;
  3457. case 204: // 'parent'
  3458. shift(204); // 'parent'
  3459. break;
  3460. case 210: // 'preceding'
  3461. shift(210); // 'preceding'
  3462. break;
  3463. case 211: // 'preceding-sibling'
  3464. shift(211); // 'preceding-sibling'
  3465. break;
  3466. case 216: // 'rename'
  3467. shift(216); // 'rename'
  3468. break;
  3469. case 217: // 'replace'
  3470. shift(217); // 'replace'
  3471. break;
  3472. case 218: // 'return'
  3473. shift(218); // 'return'
  3474. break;
  3475. case 222: // 'satisfies'
  3476. shift(222); // 'satisfies'
  3477. break;
  3478. case 227: // 'self'
  3479. shift(227); // 'self'
  3480. break;
  3481. case 233: // 'some'
  3482. shift(233); // 'some'
  3483. break;
  3484. case 234: // 'stable'
  3485. shift(234); // 'stable'
  3486. break;
  3487. case 235: // 'start'
  3488. shift(235); // 'start'
  3489. break;
  3490. case 246: // 'to'
  3491. shift(246); // 'to'
  3492. break;
  3493. case 247: // 'treat'
  3494. shift(247); // 'treat'
  3495. break;
  3496. case 248: // 'try'
  3497. shift(248); // 'try'
  3498. break;
  3499. case 252: // 'union'
  3500. shift(252); // 'union'
  3501. break;
  3502. case 254: // 'unordered'
  3503. shift(254); // 'unordered'
  3504. break;
  3505. case 258: // 'validate'
  3506. shift(258); // 'validate'
  3507. break;
  3508. case 264: // 'where'
  3509. shift(264); // 'where'
  3510. break;
  3511. case 268: // 'with'
  3512. shift(268); // 'with'
  3513. break;
  3514. case 272: // 'xquery'
  3515. shift(272); // 'xquery'
  3516. break;
  3517. case 70: // 'allowing'
  3518. shift(70); // 'allowing'
  3519. break;
  3520. case 79: // 'at'
  3521. shift(79); // 'at'
  3522. break;
  3523. case 81: // 'base-uri'
  3524. shift(81); // 'base-uri'
  3525. break;
  3526. case 83: // 'boundary-space'
  3527. shift(83); // 'boundary-space'
  3528. break;
  3529. case 84: // 'break'
  3530. shift(84); // 'break'
  3531. break;
  3532. case 89: // 'catch'
  3533. shift(89); // 'catch'
  3534. break;
  3535. case 96: // 'construction'
  3536. shift(96); // 'construction'
  3537. break;
  3538. case 99: // 'context'
  3539. shift(99); // 'context'
  3540. break;
  3541. case 100: // 'continue'
  3542. shift(100); // 'continue'
  3543. break;
  3544. case 102: // 'copy-namespaces'
  3545. shift(102); // 'copy-namespaces'
  3546. break;
  3547. case 104: // 'decimal-format'
  3548. shift(104); // 'decimal-format'
  3549. break;
  3550. case 123: // 'encoding'
  3551. shift(123); // 'encoding'
  3552. break;
  3553. case 130: // 'exit'
  3554. shift(130); // 'exit'
  3555. break;
  3556. case 131: // 'external'
  3557. shift(131); // 'external'
  3558. break;
  3559. case 139: // 'ft-option'
  3560. shift(139); // 'ft-option'
  3561. break;
  3562. case 152: // 'in'
  3563. shift(152); // 'in'
  3564. break;
  3565. case 153: // 'index'
  3566. shift(153); // 'index'
  3567. break;
  3568. case 159: // 'integrity'
  3569. shift(159); // 'integrity'
  3570. break;
  3571. case 169: // 'lax'
  3572. shift(169); // 'lax'
  3573. break;
  3574. case 190: // 'nodes'
  3575. shift(190); // 'nodes'
  3576. break;
  3577. case 197: // 'option'
  3578. shift(197); // 'option'
  3579. break;
  3580. case 201: // 'ordering'
  3581. shift(201); // 'ordering'
  3582. break;
  3583. case 220: // 'revalidation'
  3584. shift(220); // 'revalidation'
  3585. break;
  3586. case 223: // 'schema'
  3587. shift(223); // 'schema'
  3588. break;
  3589. case 226: // 'score'
  3590. shift(226); // 'score'
  3591. break;
  3592. case 232: // 'sliding'
  3593. shift(232); // 'sliding'
  3594. break;
  3595. case 238: // 'strict'
  3596. shift(238); // 'strict'
  3597. break;
  3598. case 249: // 'tumbling'
  3599. shift(249); // 'tumbling'
  3600. break;
  3601. case 250: // 'type'
  3602. shift(250); // 'type'
  3603. break;
  3604. case 255: // 'updating'
  3605. shift(255); // 'updating'
  3606. break;
  3607. case 259: // 'value'
  3608. shift(259); // 'value'
  3609. break;
  3610. case 260: // 'variable'
  3611. shift(260); // 'variable'
  3612. break;
  3613. case 261: // 'version'
  3614. shift(261); // 'version'
  3615. break;
  3616. case 265: // 'while'
  3617. shift(265); // 'while'
  3618. break;
  3619. case 95: // 'constraint'
  3620. shift(95); // 'constraint'
  3621. break;
  3622. case 174: // 'loop'
  3623. shift(174); // 'loop'
  3624. break;
  3625. default:
  3626. shift(219); // 'returning'
  3627. }
  3628. eventHandler.endNonterminal("FunctionName", e0);
  3629. }
  3630. function parse_NCName()
  3631. {
  3632. eventHandler.startNonterminal("NCName", e0);
  3633. switch (l1)
  3634. {
  3635. case 28: // NCName^Token
  3636. shift(28); // NCName^Token
  3637. break;
  3638. case 68: // 'after'
  3639. shift(68); // 'after'
  3640. break;
  3641. case 73: // 'and'
  3642. shift(73); // 'and'
  3643. break;
  3644. case 77: // 'as'
  3645. shift(77); // 'as'
  3646. break;
  3647. case 78: // 'ascending'
  3648. shift(78); // 'ascending'
  3649. break;
  3650. case 82: // 'before'
  3651. shift(82); // 'before'
  3652. break;
  3653. case 86: // 'case'
  3654. shift(86); // 'case'
  3655. break;
  3656. case 87: // 'cast'
  3657. shift(87); // 'cast'
  3658. break;
  3659. case 88: // 'castable'
  3660. shift(88); // 'castable'
  3661. break;
  3662. case 92: // 'collation'
  3663. shift(92); // 'collation'
  3664. break;
  3665. case 103: // 'count'
  3666. shift(103); // 'count'
  3667. break;
  3668. case 107: // 'default'
  3669. shift(107); // 'default'
  3670. break;
  3671. case 111: // 'descending'
  3672. shift(111); // 'descending'
  3673. break;
  3674. case 116: // 'div'
  3675. shift(116); // 'div'
  3676. break;
  3677. case 120: // 'else'
  3678. shift(120); // 'else'
  3679. break;
  3680. case 121: // 'empty'
  3681. shift(121); // 'empty'
  3682. break;
  3683. case 124: // 'end'
  3684. shift(124); // 'end'
  3685. break;
  3686. case 126: // 'eq'
  3687. shift(126); // 'eq'
  3688. break;
  3689. case 129: // 'except'
  3690. shift(129); // 'except'
  3691. break;
  3692. case 135: // 'for'
  3693. shift(135); // 'for'
  3694. break;
  3695. case 144: // 'ge'
  3696. shift(144); // 'ge'
  3697. break;
  3698. case 146: // 'group'
  3699. shift(146); // 'group'
  3700. break;
  3701. case 148: // 'gt'
  3702. shift(148); // 'gt'
  3703. break;
  3704. case 149: // 'idiv'
  3705. shift(149); // 'idiv'
  3706. break;
  3707. case 158: // 'instance'
  3708. shift(158); // 'instance'
  3709. break;
  3710. case 160: // 'intersect'
  3711. shift(160); // 'intersect'
  3712. break;
  3713. case 161: // 'into'
  3714. shift(161); // 'into'
  3715. break;
  3716. case 162: // 'is'
  3717. shift(162); // 'is'
  3718. break;
  3719. case 170: // 'le'
  3720. shift(170); // 'le'
  3721. break;
  3722. case 172: // 'let'
  3723. shift(172); // 'let'
  3724. break;
  3725. case 176: // 'lt'
  3726. shift(176); // 'lt'
  3727. break;
  3728. case 178: // 'mod'
  3729. shift(178); // 'mod'
  3730. break;
  3731. case 179: // 'modify'
  3732. shift(179); // 'modify'
  3733. break;
  3734. case 184: // 'ne'
  3735. shift(184); // 'ne'
  3736. break;
  3737. case 196: // 'only'
  3738. shift(196); // 'only'
  3739. break;
  3740. case 198: // 'or'
  3741. shift(198); // 'or'
  3742. break;
  3743. case 199: // 'order'
  3744. shift(199); // 'order'
  3745. break;
  3746. case 218: // 'return'
  3747. shift(218); // 'return'
  3748. break;
  3749. case 222: // 'satisfies'
  3750. shift(222); // 'satisfies'
  3751. break;
  3752. case 234: // 'stable'
  3753. shift(234); // 'stable'
  3754. break;
  3755. case 235: // 'start'
  3756. shift(235); // 'start'
  3757. break;
  3758. case 246: // 'to'
  3759. shift(246); // 'to'
  3760. break;
  3761. case 247: // 'treat'
  3762. shift(247); // 'treat'
  3763. break;
  3764. case 252: // 'union'
  3765. shift(252); // 'union'
  3766. break;
  3767. case 264: // 'where'
  3768. shift(264); // 'where'
  3769. break;
  3770. case 268: // 'with'
  3771. shift(268); // 'with'
  3772. break;
  3773. case 71: // 'ancestor'
  3774. shift(71); // 'ancestor'
  3775. break;
  3776. case 72: // 'ancestor-or-self'
  3777. shift(72); // 'ancestor-or-self'
  3778. break;
  3779. case 80: // 'attribute'
  3780. shift(80); // 'attribute'
  3781. break;
  3782. case 91: // 'child'
  3783. shift(91); // 'child'
  3784. break;
  3785. case 94: // 'comment'
  3786. shift(94); // 'comment'
  3787. break;
  3788. case 101: // 'copy'
  3789. shift(101); // 'copy'
  3790. break;
  3791. case 106: // 'declare'
  3792. shift(106); // 'declare'
  3793. break;
  3794. case 108: // 'delete'
  3795. shift(108); // 'delete'
  3796. break;
  3797. case 109: // 'descendant'
  3798. shift(109); // 'descendant'
  3799. break;
  3800. case 110: // 'descendant-or-self'
  3801. shift(110); // 'descendant-or-self'
  3802. break;
  3803. case 117: // 'document'
  3804. shift(117); // 'document'
  3805. break;
  3806. case 118: // 'document-node'
  3807. shift(118); // 'document-node'
  3808. break;
  3809. case 119: // 'element'
  3810. shift(119); // 'element'
  3811. break;
  3812. case 122: // 'empty-sequence'
  3813. shift(122); // 'empty-sequence'
  3814. break;
  3815. case 127: // 'every'
  3816. shift(127); // 'every'
  3817. break;
  3818. case 132: // 'first'
  3819. shift(132); // 'first'
  3820. break;
  3821. case 133: // 'following'
  3822. shift(133); // 'following'
  3823. break;
  3824. case 134: // 'following-sibling'
  3825. shift(134); // 'following-sibling'
  3826. break;
  3827. case 143: // 'function'
  3828. shift(143); // 'function'
  3829. break;
  3830. case 150: // 'if'
  3831. shift(150); // 'if'
  3832. break;
  3833. case 151: // 'import'
  3834. shift(151); // 'import'
  3835. break;
  3836. case 157: // 'insert'
  3837. shift(157); // 'insert'
  3838. break;
  3839. case 163: // 'item'
  3840. shift(163); // 'item'
  3841. break;
  3842. case 168: // 'last'
  3843. shift(168); // 'last'
  3844. break;
  3845. case 180: // 'module'
  3846. shift(180); // 'module'
  3847. break;
  3848. case 182: // 'namespace'
  3849. shift(182); // 'namespace'
  3850. break;
  3851. case 183: // 'namespace-node'
  3852. shift(183); // 'namespace-node'
  3853. break;
  3854. case 189: // 'node'
  3855. shift(189); // 'node'
  3856. break;
  3857. case 200: // 'ordered'
  3858. shift(200); // 'ordered'
  3859. break;
  3860. case 204: // 'parent'
  3861. shift(204); // 'parent'
  3862. break;
  3863. case 210: // 'preceding'
  3864. shift(210); // 'preceding'
  3865. break;
  3866. case 211: // 'preceding-sibling'
  3867. shift(211); // 'preceding-sibling'
  3868. break;
  3869. case 214: // 'processing-instruction'
  3870. shift(214); // 'processing-instruction'
  3871. break;
  3872. case 216: // 'rename'
  3873. shift(216); // 'rename'
  3874. break;
  3875. case 217: // 'replace'
  3876. shift(217); // 'replace'
  3877. break;
  3878. case 224: // 'schema-attribute'
  3879. shift(224); // 'schema-attribute'
  3880. break;
  3881. case 225: // 'schema-element'
  3882. shift(225); // 'schema-element'
  3883. break;
  3884. case 227: // 'self'
  3885. shift(227); // 'self'
  3886. break;
  3887. case 233: // 'some'
  3888. shift(233); // 'some'
  3889. break;
  3890. case 241: // 'switch'
  3891. shift(241); // 'switch'
  3892. break;
  3893. case 242: // 'text'
  3894. shift(242); // 'text'
  3895. break;
  3896. case 248: // 'try'
  3897. shift(248); // 'try'
  3898. break;
  3899. case 251: // 'typeswitch'
  3900. shift(251); // 'typeswitch'
  3901. break;
  3902. case 254: // 'unordered'
  3903. shift(254); // 'unordered'
  3904. break;
  3905. case 258: // 'validate'
  3906. shift(258); // 'validate'
  3907. break;
  3908. case 260: // 'variable'
  3909. shift(260); // 'variable'
  3910. break;
  3911. case 272: // 'xquery'
  3912. shift(272); // 'xquery'
  3913. break;
  3914. case 70: // 'allowing'
  3915. shift(70); // 'allowing'
  3916. break;
  3917. case 79: // 'at'
  3918. shift(79); // 'at'
  3919. break;
  3920. case 81: // 'base-uri'
  3921. shift(81); // 'base-uri'
  3922. break;
  3923. case 83: // 'boundary-space'
  3924. shift(83); // 'boundary-space'
  3925. break;
  3926. case 84: // 'break'
  3927. shift(84); // 'break'
  3928. break;
  3929. case 89: // 'catch'
  3930. shift(89); // 'catch'
  3931. break;
  3932. case 96: // 'construction'
  3933. shift(96); // 'construction'
  3934. break;
  3935. case 99: // 'context'
  3936. shift(99); // 'context'
  3937. break;
  3938. case 100: // 'continue'
  3939. shift(100); // 'continue'
  3940. break;
  3941. case 102: // 'copy-namespaces'
  3942. shift(102); // 'copy-namespaces'
  3943. break;
  3944. case 104: // 'decimal-format'
  3945. shift(104); // 'decimal-format'
  3946. break;
  3947. case 123: // 'encoding'
  3948. shift(123); // 'encoding'
  3949. break;
  3950. case 130: // 'exit'
  3951. shift(130); // 'exit'
  3952. break;
  3953. case 131: // 'external'
  3954. shift(131); // 'external'
  3955. break;
  3956. case 139: // 'ft-option'
  3957. shift(139); // 'ft-option'
  3958. break;
  3959. case 152: // 'in'
  3960. shift(152); // 'in'
  3961. break;
  3962. case 153: // 'index'
  3963. shift(153); // 'index'
  3964. break;
  3965. case 159: // 'integrity'
  3966. shift(159); // 'integrity'
  3967. break;
  3968. case 169: // 'lax'
  3969. shift(169); // 'lax'
  3970. break;
  3971. case 190: // 'nodes'
  3972. shift(190); // 'nodes'
  3973. break;
  3974. case 197: // 'option'
  3975. shift(197); // 'option'
  3976. break;
  3977. case 201: // 'ordering'
  3978. shift(201); // 'ordering'
  3979. break;
  3980. case 220: // 'revalidation'
  3981. shift(220); // 'revalidation'
  3982. break;
  3983. case 223: // 'schema'
  3984. shift(223); // 'schema'
  3985. break;
  3986. case 226: // 'score'
  3987. shift(226); // 'score'
  3988. break;
  3989. case 232: // 'sliding'
  3990. shift(232); // 'sliding'
  3991. break;
  3992. case 238: // 'strict'
  3993. shift(238); // 'strict'
  3994. break;
  3995. case 249: // 'tumbling'
  3996. shift(249); // 'tumbling'
  3997. break;
  3998. case 250: // 'type'
  3999. shift(250); // 'type'
  4000. break;
  4001. case 255: // 'updating'
  4002. shift(255); // 'updating'
  4003. break;
  4004. case 259: // 'value'
  4005. shift(259); // 'value'
  4006. break;
  4007. case 261: // 'version'
  4008. shift(261); // 'version'
  4009. break;
  4010. case 265: // 'while'
  4011. shift(265); // 'while'
  4012. break;
  4013. case 95: // 'constraint'
  4014. shift(95); // 'constraint'
  4015. break;
  4016. case 174: // 'loop'
  4017. shift(174); // 'loop'
  4018. break;
  4019. default:
  4020. shift(219); // 'returning'
  4021. }
  4022. eventHandler.endNonterminal("NCName", e0);
  4023. }
  4024. function shift(t)
  4025. {
  4026. if (l1 == t)
  4027. {
  4028. whitespace();
  4029. eventHandler.terminal(JSONiqTokenizer.TOKEN[l1], b1, e1 > size ? size : e1);
  4030. b0 = b1; e0 = e1; l1 = 0;
  4031. }
  4032. else
  4033. {
  4034. error(b1, e1, 0, l1, t);
  4035. }
  4036. }
  4037. function whitespace()
  4038. {
  4039. if (e0 != b1)
  4040. {
  4041. b0 = e0;
  4042. e0 = b1;
  4043. eventHandler.whitespace(b0, e0);
  4044. }
  4045. }
  4046. function matchW(set)
  4047. {
  4048. var code;
  4049. for (;;)
  4050. {
  4051. code = match(set);
  4052. if (code != 30) // S^WS
  4053. {
  4054. break;
  4055. }
  4056. }
  4057. return code;
  4058. }
  4059. function lookahead1W(set)
  4060. {
  4061. if (l1 == 0)
  4062. {
  4063. l1 = matchW(set);
  4064. b1 = begin;
  4065. e1 = end;
  4066. }
  4067. }
  4068. function lookahead1(set)
  4069. {
  4070. if (l1 == 0)
  4071. {
  4072. l1 = match(set);
  4073. b1 = begin;
  4074. e1 = end;
  4075. }
  4076. }
  4077. function error(b, e, s, l, t)
  4078. {
  4079. throw new self.ParseException(b, e, s, l, t);
  4080. }
  4081. var lk, b0, e0;
  4082. var l1, b1, e1;
  4083. var eventHandler;
  4084. var input;
  4085. var size;
  4086. var begin;
  4087. var end;
  4088. function match(tokenSetId)
  4089. {
  4090. var nonbmp = false;
  4091. begin = end;
  4092. var current = end;
  4093. var result = JSONiqTokenizer.INITIAL[tokenSetId];
  4094. var state = 0;
  4095. for (var code = result & 4095; code != 0; )
  4096. {
  4097. var charclass;
  4098. var c0 = current < size ? input.charCodeAt(current) : 0;
  4099. ++current;
  4100. if (c0 < 0x80)
  4101. {
  4102. charclass = JSONiqTokenizer.MAP0[c0];
  4103. }
  4104. else if (c0 < 0xd800)
  4105. {
  4106. var c1 = c0 >> 4;
  4107. charclass = JSONiqTokenizer.MAP1[(c0 & 15) + JSONiqTokenizer.MAP1[(c1 & 31) + JSONiqTokenizer.MAP1[c1 >> 5]]];
  4108. }
  4109. else
  4110. {
  4111. if (c0 < 0xdc00)
  4112. {
  4113. var c1 = current < size ? input.charCodeAt(current) : 0;
  4114. if (c1 >= 0xdc00 && c1 < 0xe000)
  4115. {
  4116. ++current;
  4117. c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
  4118. nonbmp = true;
  4119. }
  4120. }
  4121. var lo = 0, hi = 5;
  4122. for (var m = 3; ; m = (hi + lo) >> 1)
  4123. {
  4124. if (JSONiqTokenizer.MAP2[m] > c0) hi = m - 1;
  4125. else if (JSONiqTokenizer.MAP2[6 + m] < c0) lo = m + 1;
  4126. else {charclass = JSONiqTokenizer.MAP2[12 + m]; break;}
  4127. if (lo > hi) {charclass = 0; break;}
  4128. }
  4129. }
  4130. state = code;
  4131. var i0 = (charclass << 12) + code - 1;
  4132. code = JSONiqTokenizer.TRANSITION[(i0 & 15) + JSONiqTokenizer.TRANSITION[i0 >> 4]];
  4133. if (code > 4095)
  4134. {
  4135. result = code;
  4136. code &= 4095;
  4137. end = current;
  4138. }
  4139. }
  4140. result >>= 12;
  4141. if (result == 0)
  4142. {
  4143. end = current - 1;
  4144. var c1 = end < size ? input.charCodeAt(end) : 0;
  4145. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  4146. return error(begin, end, state, -1, -1);
  4147. }
  4148. if (nonbmp)
  4149. {
  4150. for (var i = result >> 9; i > 0; --i)
  4151. {
  4152. --end;
  4153. var c1 = end < size ? input.charCodeAt(end) : 0;
  4154. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  4155. }
  4156. }
  4157. else
  4158. {
  4159. end -= result >> 9;
  4160. }
  4161. return (result & 511) - 1;
  4162. }
  4163. }
  4164. JSONiqTokenizer.getTokenSet = function(tokenSetId)
  4165. {
  4166. var set = [];
  4167. var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 4095;
  4168. for (var i = 0; i < 279; i += 32)
  4169. {
  4170. var j = i;
  4171. var i0 = (i >> 5) * 2066 + s - 1;
  4172. var i1 = i0 >> 2;
  4173. var i2 = i1 >> 2;
  4174. var f = JSONiqTokenizer.EXPECTED[(i0 & 3) + JSONiqTokenizer.EXPECTED[(i1 & 3) + JSONiqTokenizer.EXPECTED[(i2 & 3) + JSONiqTokenizer.EXPECTED[i2 >> 2]]]];
  4175. for ( ; f != 0; f >>>= 1, ++j)
  4176. {
  4177. if ((f & 1) != 0)
  4178. {
  4179. set.push(JSONiqTokenizer.TOKEN[j]);
  4180. }
  4181. }
  4182. }
  4183. return set;
  4184. };
  4185. JSONiqTokenizer.MAP0 =
  4186. [ 67, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 37, 31, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 31, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 31, 62, 63, 64, 65, 37
  4187. ];
  4188. JSONiqTokenizer.MAP1 =
  4189. [ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 347, 363, 379, 416, 416, 416, 408, 331, 323, 331, 323, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 433, 433, 433, 433, 433, 433, 433, 316, 331, 331, 331, 331, 331, 331, 331, 331, 394, 416, 416, 417, 415, 416, 416, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 330, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 67, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 37, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 37, 31, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 31, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 31, 62, 63, 64, 65, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 31, 31, 37, 37, 37, 37, 37, 37, 37, 66, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66
  4190. ];
  4191. JSONiqTokenizer.MAP2 =
  4192. [ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 37, 31, 37, 31, 31, 37
  4193. ];
  4194. JSONiqTokenizer.INITIAL =
  4195. [ 1, 2, 49155, 57348, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
  4196. ];
  4197. JSONiqTokenizer.TRANSITION =
  4198. [ 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 17408, 19288, 17439, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 22126, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17672, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 19469, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 36919, 18234, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18419, 18432, 18304, 18448, 18485, 18523, 18553, 18583, 18599, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 18825, 18841, 18871, 18906, 18944, 18960, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19074, 36169, 17439, 36866, 17466, 36890, 36866, 22314, 19105, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 22126, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17672, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 19469, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 36919, 18234, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18419, 18432, 18304, 18448, 18485, 18523, 18553, 18583, 18599, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 18825, 18841, 18871, 18906, 18944, 18960, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22182, 19288, 19121, 36866, 17466, 18345, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19273, 19552, 19304, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19332, 17423, 19363, 36866, 17466, 17537, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 18614, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 19391, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 19427, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36154, 19288, 19457, 36866, 17466, 17740, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22780, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22375, 22197, 18469, 36866, 17466, 36890, 36866, 21991, 24018, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 21331, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 19485, 19501, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19537, 22390, 19568, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19596, 19611, 19457, 36866, 17466, 36890, 36866, 18246, 19627, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22242, 20553, 19457, 36866, 17466, 36890, 36866, 18648, 30477, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36472, 19288, 19457, 36866, 17466, 17809, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 21770, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 19643, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 19672, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 20538, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 17975, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22345, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19726, 19742, 21529, 24035, 23112, 26225, 23511, 27749, 27397, 24035, 34360, 24035, 24036, 23114, 35166, 23114, 23114, 19758, 23511, 35247, 23511, 23511, 28447, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 24254, 19821, 23511, 23511, 23511, 23511, 23512, 19441, 36539, 24035, 24035, 24035, 24035, 19846, 19869, 23114, 23114, 23114, 28618, 32187, 19892, 23511, 23511, 23511, 34585, 20402, 36647, 24035, 24035, 24036, 23114, 33757, 23114, 23114, 23029, 20271, 23511, 27070, 23511, 23511, 30562, 24035, 24035, 29274, 26576, 23114, 23114, 31118, 23036, 29695, 23511, 23511, 32431, 23634, 30821, 24035, 23110, 19913, 23114, 23467, 31261, 23261, 34299, 19932, 24035, 32609, 19965, 35389, 19984, 27689, 19830, 29391, 29337, 20041, 22643, 35619, 33728, 20062, 20121, 20166, 35100, 26145, 20211, 23008, 19876, 20208, 20227, 25670, 20132, 26578, 27685, 20141, 20243, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36094, 19288, 19457, 36866, 17466, 21724, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22735, 19552, 20287, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22750, 19288, 21529, 24035, 23112, 28056, 23511, 29483, 28756, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 20327, 23511, 23511, 23511, 23511, 31156, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 24254, 20371, 23511, 23511, 23511, 23511, 27443, 20395, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 29457, 29700, 23511, 23511, 23511, 23511, 33444, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 28350, 20421, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 20447, 20475, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 20523, 22257, 20569, 20783, 21715, 17603, 20699, 20837, 20614, 20630, 21149, 20670, 21405, 17486, 17509, 17525, 18373, 19179, 20695, 20716, 20732, 20755, 19194, 18042, 21641, 20592, 20779, 20598, 21412, 17470, 17591, 20896, 17468, 17619, 20799, 20700, 21031, 20744, 20699, 20828, 18075, 21259, 20581, 20853, 18048, 20868, 20884, 17756, 17784, 17800, 17825, 17854, 21171, 21200, 20931, 20947, 21378, 20955, 20971, 18086, 20645, 21002, 20986, 18178, 17960, 18012, 18381, 18064, 29176, 21044, 21438, 21018, 21122, 21393, 21060, 21844, 21094, 20654, 17493, 18150, 18166, 18214, 25967, 20763, 21799, 21110, 21830, 21138, 21246, 21301, 18336, 18361, 21165, 21187, 20812, 21216, 21232, 21287, 21317, 18553, 21347, 21363, 21428, 21454, 21271, 21483, 21499, 21515, 21575, 21467, 18712, 21591, 21633, 21078, 18189, 18198, 20679, 21657, 21701, 21074, 21687, 21740, 21756, 21786, 21815, 21860, 21876, 21892, 21946, 21962, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36457, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 36813, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 21981, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 22151, 22007, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 27898, 17884, 18890, 17906, 17928, 22042, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 22070, 22112, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 22142, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36109, 19288, 18469, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22167, 19288, 19457, 36866, 17466, 17768, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22227, 36487, 22273, 36866, 17466, 36890, 36866, 19316, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18749, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 22304, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 19580, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22330, 19089, 19457, 36866, 17466, 18721, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22765, 19347, 19457, 36866, 17466, 36890, 36866, 18114, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34541, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 22540, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29908, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22561, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 23837, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22584, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36442, 19288, 21605, 24035, 23112, 28137, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 31568, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22690, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 27584, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 22659, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22360, 19552, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22675, 22811, 19457, 36866, 17466, 36890, 36866, 19133, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 22827, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36139, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36064, 19288, 22865, 22881, 32031, 22897, 22913, 22956, 29939, 24035, 24035, 24035, 23003, 23114, 23114, 23114, 23024, 22420, 23511, 23511, 23511, 23052, 29116, 23073, 29268, 24035, 25563, 26915, 23106, 23131, 23114, 23114, 23159, 23181, 23197, 23248, 23511, 23511, 23282, 23305, 22493, 32364, 24035, 33472, 30138, 26325, 31770, 33508, 27345, 33667, 23114, 23321, 23473, 23351, 35793, 36576, 23511, 23375, 22500, 24145, 24035, 29197, 20192, 24533, 23440, 23114, 19017, 23459, 22839, 23489, 23510, 23511, 33563, 23528, 32076, 25389, 24035, 26576, 23561, 23583, 23114, 32683, 22516, 23622, 23655, 23511, 23634, 35456, 37144, 23110, 23683, 34153, 20499, 32513, 25824, 23705, 24035, 24035, 23111, 23114, 19874, 27078, 33263, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 20507, 32241, 20150, 31862, 27464, 35108, 23727, 23007, 35895, 34953, 26578, 27685, 20141, 24569, 31691, 19787, 33967, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36427, 19552, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 27027, 26576, 23114, 23114, 23114, 31471, 23756, 22468, 23511, 23511, 23511, 34687, 23772, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 23788, 24035, 24035, 24035, 21559, 23828, 23114, 23114, 23114, 25086, 22839, 23853, 23511, 23511, 23511, 23876, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 31761, 23909, 23953, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36049, 19288, 21605, 30825, 23112, 23987, 23511, 24003, 31001, 27617, 24034, 24035, 24036, 24052, 24089, 23114, 23114, 22420, 24109, 24168, 23511, 23511, 29116, 24188, 27609, 20017, 29516, 24035, 26576, 24222, 19968, 23114, 24252, 33811, 22468, 24270, 33587, 23511, 24320, 27443, 22493, 24035, 24035, 24035, 24035, 24339, 23113, 23114, 23114, 23114, 28128, 28618, 29700, 23511, 23511, 23511, 28276, 34564, 20402, 24035, 24035, 32929, 24036, 23114, 23114, 23114, 24357, 23029, 22839, 23511, 23511, 23511, 24377, 25645, 24035, 34112, 24035, 26576, 23114, 26643, 23114, 32683, 22516, 23511, 25638, 23511, 23711, 24035, 24395, 27809, 23114, 24414, 20499, 24432, 30917, 23628, 24035, 30680, 23111, 23114, 30233, 27078, 25748, 24452, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 24475, 19829, 26577, 26597, 26154, 24519, 24556, 24596, 23007, 20046, 20132, 26578, 24634, 20141, 24569, 31691, 24679, 24727, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36412, 19288, 21605, 19943, 34861, 32618, 26027, 29483, 32016, 32050, 36233, 24776, 35574, 24801, 24819, 32671, 31289, 22420, 24868, 24886, 20087, 26849, 29116, 19803, 24035, 24035, 24035, 36228, 26576, 23114, 23114, 23114, 24981, 33811, 22468, 23511, 23511, 23511, 29028, 27443, 22493, 24923, 27965, 24035, 24035, 32797, 24946, 23443, 23114, 23114, 29636, 24997, 22849, 28252, 23511, 23511, 23511, 25042, 25110, 24035, 24035, 34085, 24036, 25133, 23114, 23114, 25152, 23029, 22839, 25169, 23511, 36764, 23511, 25645, 30403, 24035, 25186, 26576, 31806, 24093, 25212, 32683, 22516, 32713, 26245, 34293, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 32406, 23111, 23114, 28676, 30944, 27689, 25234, 24035, 23112, 19872, 37063, 23266, 24036, 23114, 30243, 20379, 26100, 29218, 20211, 30105, 25257, 25284, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 24834, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36034, 19288, 21671, 25314, 25072, 25330, 25346, 25362, 29939, 29951, 35288, 29984, 23812, 27216, 25405, 25424, 30456, 22584, 26292, 25461, 25480, 31592, 29116, 25516, 34963, 25545, 27007, 25579, 33937, 25614, 25661, 25686, 34872, 25702, 25718, 25734, 25769, 25795, 25811, 25840, 22493, 26533, 25856, 24035, 25876, 30763, 27481, 25909, 23114, 28987, 25936, 25954, 29700, 25983, 23511, 31412, 26043, 26063, 22568, 29241, 29592, 26116, 31216, 35383, 26170, 34783, 26194, 26221, 22839, 26241, 26261, 22477, 26283, 26308, 27306, 31035, 24655, 26576, 29854, 33386, 26341, 32683, 22516, 32153, 30926, 26361, 19996, 26381, 35463, 26397, 26424, 34646, 26478, 35605, 31386, 26494, 35567, 31964, 22940, 23689, 25218, 30309, 32289, 19830, 33605, 23112, 32109, 27733, 27084, 24496, 35886, 35221, 26525, 36602, 26549, 26558, 26574, 26594, 26613, 26629, 26666, 26700, 26578, 27685, 23740, 24285, 31691, 26733, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36397, 19552, 18991, 25887, 28117, 32618, 26776, 29483, 29939, 26802, 24035, 24035, 24036, 28664, 23114, 23114, 23114, 22420, 30297, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 25559, 26576, 23114, 23114, 23114, 30525, 33811, 22468, 23511, 23511, 23511, 28725, 27443, 22493, 24035, 24035, 27249, 24035, 24035, 23113, 23114, 23114, 26827, 23114, 28618, 29700, 23511, 23511, 26845, 23511, 34564, 20402, 24035, 24035, 26979, 24036, 23114, 23114, 23114, 24974, 23029, 22839, 23511, 23511, 23511, 26865, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 33305, 24035, 25598, 23114, 19874, 34253, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 26886, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 26931, 24569, 26439, 26947, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36019, 19288, 26995, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 27043, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 27061, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 29978, 24035, 24035, 23113, 23114, 33114, 23114, 23114, 30010, 29700, 23511, 35913, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 27155, 26576, 23114, 23114, 30447, 23036, 29695, 23511, 23511, 30935, 20099, 24152, 25529, 27100, 34461, 27121, 22625, 29156, 26009, 27137, 30422, 31903, 31655, 28870, 27171, 32439, 31731, 19830, 27232, 22612, 27265, 26786, 25494, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 20342, 27288, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 27322, 27339, 28020, 27361, 27382, 29939, 24035, 24035, 32581, 24036, 23114, 23114, 23114, 27425, 22420, 23511, 23511, 23511, 27442, 28306, 19803, 24035, 24035, 24035, 24035, 26710, 23114, 23114, 23114, 23114, 32261, 22468, 23511, 23511, 23511, 23511, 35719, 24694, 29510, 24035, 24035, 24035, 24035, 26717, 23114, 23114, 23114, 23114, 28618, 32217, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 27459, 23114, 23114, 23114, 36252, 23029, 20271, 23511, 23511, 23511, 28840, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 27480, 34483, 28401, 29761, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36382, 19288, 21605, 27497, 27517, 28504, 28898, 27569, 29939, 29401, 27600, 27323, 27633, 19025, 27662, 23114, 27705, 22420, 20483, 27721, 23511, 27765, 28306, 19803, 23540, 24035, 24610, 27781, 27805, 26650, 23114, 28573, 32990, 25920, 22468, 26870, 23511, 26684, 34262, 34737, 25057, 34622, 24035, 24035, 23971, 24206, 27825, 27847, 23114, 23114, 27865, 27885, 35766, 27914, 23511, 23511, 32766, 32844, 27934, 28795, 26909, 27955, 26092, 27988, 25445, 28005, 28036, 28052, 21965, 23511, 32196, 19897, 28072, 28102, 36534, 21541, 23801, 28153, 28180, 28197, 28221, 23036, 32695, 28251, 28268, 28292, 23667, 34825, 23930, 24580, 28322, 28344, 31627, 28366, 25996, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 35625, 33477, 33359, 27674, 28393, 33992, 24036, 23114, 30243, 19829, 28417, 28433, 28463, 23008, 19876, 20208, 23007, 20046, 20132, 28489, 28520, 20141, 24569, 31691, 19787, 28550, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 28589, 24035, 24035, 24035, 24035, 28608, 23114, 23114, 23114, 23114, 28618, 20431, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36004, 19288, 28634, 31951, 28565, 28702, 28718, 28741, 32544, 20175, 28792, 32086, 20105, 28811, 29059, 29862, 28856, 22420, 28886, 30354, 23359, 28922, 28306, 28952, 23888, 26320, 36506, 24035, 29331, 28968, 36609, 23114, 29003, 31661, 27061, 30649, 27366, 23511, 29023, 27918, 24694, 24035, 24035, 23893, 33094, 30867, 23113, 23114, 23114, 29044, 34184, 30010, 29700, 23511, 23511, 29081, 29102, 34585, 20402, 27789, 24035, 24035, 24036, 23114, 29132, 23114, 23114, 23029, 20271, 23511, 29153, 23511, 23511, 30562, 30174, 24035, 24035, 27409, 25438, 23114, 23114, 29172, 36668, 31332, 23511, 23511, 29192, 30144, 24035, 23110, 30203, 23114, 23467, 31544, 23261, 23628, 24035, 22545, 23111, 23114, 29213, 27078, 27689, 29234, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 29257, 23008, 19876, 20208, 28768, 29290, 29320, 34776, 29353, 20141, 22435, 29378, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36367, 19288, 21605, 34616, 19006, 32618, 31497, 31507, 36216, 20184, 24035, 34393, 29424, 34668, 23114, 34900, 29447, 22420, 30360, 23511, 37089, 29473, 28306, 19803, 29499, 24398, 24035, 24035, 26576, 31799, 29532, 29550, 23114, 33811, 22468, 32298, 29571, 31184, 23511, 23512, 37127, 36628, 29589, 24035, 24135, 24035, 23113, 29608, 23114, 27831, 29634, 28618, 29652, 30037, 23511, 24172, 29671, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 29555, 29690, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 29719, 24035, 23110, 29738, 23114, 23467, 34035, 29756, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 29777, 34364, 28181, 30243, 29799, 31920, 27272, 27185, 23008, 31126, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29828, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35989, 19552, 19687, 35139, 28649, 29878, 29894, 29924, 29939, 23224, 23085, 31969, 24036, 35173, 24752, 24803, 23114, 22420, 31190, 30318, 24870, 23511, 28306, 29967, 23967, 24035, 24035, 24035, 26576, 30000, 23114, 23114, 23114, 33811, 22468, 30026, 23511, 23511, 23511, 23512, 26078, 24035, 24035, 24035, 30053, 37137, 30071, 23114, 23114, 33368, 25136, 28618, 30723, 23511, 23511, 37096, 31356, 34585, 20402, 30092, 30127, 30160, 24036, 35740, 30219, 24960, 30259, 23029, 20271, 34042, 30285, 30342, 30376, 23289, 30055, 30400, 30419, 30438, 32640, 33532, 33514, 30472, 18792, 26267, 24323, 23057, 30493, 23639, 20008, 30196, 33188, 30517, 20075, 23511, 30541, 23628, 30578, 33928, 28776, 30594, 19874, 30610, 30637, 19830, 30677, 27646, 19872, 25779, 23266, 23232, 35016, 30243, 30696, 29812, 30712, 30746, 27206, 30779, 30807, 23007, 33395, 20132, 26578, 27685, 31703, 22928, 31691, 19787, 31079, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36352, 19288, 23335, 30841, 26131, 30888, 30904, 30986, 29939, 24035, 24704, 31017, 20025, 23114, 26178, 31051, 31095, 22420, 23511, 22524, 31142, 31172, 28534, 31206, 35497, 25196, 24035, 28592, 24503, 23114, 31239, 31285, 23114, 31305, 31321, 31355, 31372, 31407, 23511, 30556, 24694, 24035, 27501, 19805, 24035, 24035, 23113, 23114, 31428, 24066, 23114, 28618, 29700, 23511, 31837, 18809, 23511, 34585, 31448, 24035, 24035, 24035, 23090, 23114, 23114, 23114, 23114, 31619, 35038, 23511, 23511, 23511, 23511, 33714, 24035, 33085, 24035, 29431, 23114, 31467, 23114, 23143, 31487, 23511, 31523, 23511, 35195, 36783, 24035, 30111, 23567, 23114, 23467, 31543, 31560, 23628, 24035, 24035, 23111, 23114, 19874, 30953, 31584, 34508, 24035, 31608, 26345, 37055, 23266, 31643, 31677, 31719, 31747, 31786, 31822, 26898, 23008, 19876, 31859, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 31878, 31936, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35974, 19288, 21605, 27972, 35663, 31985, 29655, 32001, 36715, 24785, 25893, 23545, 31912, 19853, 19916, 25938, 24540, 22420, 31843, 29674, 29573, 32735, 28936, 19803, 24035, 24035, 32047, 24035, 26576, 23114, 23114, 27544, 23114, 33811, 22468, 23511, 23511, 32161, 23511, 23512, 32066, 24035, 33313, 24035, 24035, 24035, 23113, 27426, 32102, 23114, 23114, 28618, 32125, 23511, 32144, 23511, 23511, 33569, 20402, 24035, 27045, 24035, 24036, 23114, 23114, 28328, 23114, 30076, 32177, 23511, 23511, 30384, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23595, 32212, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 22635, 25753, 32233, 32257, 32277, 19829, 26577, 26597, 20211, 23008, 19876, 32322, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 32352, 35285, 32380, 34196, 33016, 30661, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 32404, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 32422, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 30269, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 19949, 24035, 23111, 32455, 19874, 31269, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36337, 19552, 19209, 21617, 26509, 32475, 32491, 32529, 29939, 24035, 32578, 25241, 32597, 23114, 32634, 29007, 32656, 22420, 23511, 32729, 26365, 32751, 28306, 32788, 32882, 24035, 24035, 32813, 36727, 23114, 33182, 23114, 27553, 33235, 32829, 23511, 32706, 23511, 28906, 28377, 26962, 32881, 32904, 32898, 32920, 24035, 32953, 23114, 32977, 26408, 23114, 28164, 33006, 23511, 33039, 35774, 23511, 32306, 20402, 33076, 30872, 24035, 24036, 25408, 33110, 28979, 23114, 23029, 20271, 35835, 33130, 33054, 23511, 30562, 33148, 24035, 24035, 33167, 23114, 23114, 33775, 23036, 20459, 23511, 23511, 25464, 24646, 24035, 24035, 22446, 23114, 23114, 25627, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 31391, 33204, 33220, 33251, 33287, 26577, 26597, 20211, 33329, 19876, 33345, 23007, 20046, 20132, 26578, 27685, 28473, 22599, 31691, 33411, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35959, 19288, 21907, 27243, 29843, 32618, 33427, 31507, 29939, 33460, 34090, 24035, 24036, 33493, 24416, 33530, 23114, 22420, 33548, 24379, 33585, 23511, 28306, 19803, 33603, 24202, 24035, 24035, 25593, 33749, 28205, 23114, 23114, 32388, 22468, 33853, 33060, 23511, 23511, 31339, 33621, 24035, 24035, 34397, 24618, 30757, 33663, 23114, 23114, 33683, 35684, 28618, 26678, 23511, 23511, 32506, 33699, 34585, 20402, 24035, 32562, 26973, 24036, 23114, 23114, 33377, 33773, 23029, 20271, 23511, 23511, 30621, 23511, 23860, 24035, 33791, 21553, 26576, 36558, 23114, 33809, 23036, 32857, 26047, 23511, 33827, 23634, 24035, 24035, 23110, 23114, 23114, 31252, 23511, 33845, 23628, 24035, 24459, 23111, 23114, 33869, 27078, 30791, 29783, 24035, 24742, 19872, 33895, 23266, 26462, 19710, 33879, 33919, 26577, 26597, 24123, 24930, 21930, 20208, 30501, 33953, 25268, 20252, 33983, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36322, 19552, 23390, 33634, 35154, 34008, 34024, 34058, 35544, 34106, 34128, 26811, 33151, 34144, 34169, 34212, 23114, 34228, 34244, 34278, 34315, 23511, 34331, 34347, 34380, 34413, 24035, 24663, 26576, 34429, 34453, 34477, 29534, 33811, 22468, 34499, 34524, 34557, 25170, 34580, 35436, 23937, 34601, 24035, 24341, 26453, 23113, 34638, 34662, 23114, 24236, 28618, 34684, 34703, 34729, 23511, 35352, 34753, 34799, 24035, 34815, 32558, 34848, 34888, 35814, 34923, 23165, 29137, 23606, 30326, 30730, 34939, 33023, 30562, 36848, 34979, 24035, 24847, 34996, 23114, 23114, 35032, 29695, 35054, 23511, 23511, 35091, 33296, 35124, 24296, 28235, 24361, 36276, 32772, 35067, 35189, 27301, 30855, 24852, 22452, 35211, 35237, 35316, 25500, 35270, 23405, 24304, 35304, 29362, 24036, 23114, 35332, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 35368, 28823, 23920, 32336, 35405, 20141, 24569, 31691, 35421, 35479, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35944, 22795, 21605, 33647, 35877, 35513, 30962, 35529, 34073, 35557, 24035, 24035, 20405, 31107, 23114, 23114, 23114, 35590, 34713, 23511, 23511, 23511, 35641, 19803, 29408, 32937, 25298, 24035, 35657, 23115, 27849, 24760, 35679, 26205, 22468, 23511, 35700, 24907, 24901, 35075, 31893, 34980, 24035, 24035, 24035, 24035, 23113, 35009, 23114, 23114, 23114, 28618, 35716, 30970, 23511, 23511, 23511, 34585, 23215, 24035, 24035, 24035, 24036, 35735, 23114, 23114, 23114, 27105, 35756, 35790, 23511, 23511, 23511, 35254, 35446, 24035, 24035, 31223, 35809, 23114, 23114, 23036, 36825, 35830, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 31031, 20355, 19872, 33903, 23266, 24036, 23114, 28686, 19829, 26577, 26597, 20211, 23008, 23424, 20208, 24711, 31065, 24486, 26578, 27685, 20141, 19773, 35851, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36307, 19288, 21605, 35494, 19702, 32618, 33437, 31507, 29939, 25117, 24035, 27939, 24036, 27869, 23114, 26829, 23114, 22420, 23494, 23511, 33132, 23511, 28306, 19803, 24035, 34832, 24035, 24035, 26576, 23114, 25153, 23114, 23114, 33811, 22468, 23511, 23511, 35911, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35929, 19288, 21605, 25860, 23112, 36185, 23511, 36201, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 26748, 24035, 24035, 24035, 24035, 24035, 36249, 23114, 23114, 23114, 23114, 28618, 28835, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 27151, 24035, 26760, 23114, 27989, 23114, 23114, 36268, 20271, 23511, 24436, 23511, 29703, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36292, 19288, 21605, 36503, 21922, 32618, 34534, 31507, 36522, 24035, 33793, 24035, 35864, 23114, 23114, 36555, 23417, 22420, 23511, 23511, 36574, 26020, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 36592, 24035, 24035, 36625, 24035, 24035, 23113, 23114, 32961, 23114, 23114, 29618, 29700, 23511, 29086, 23511, 23511, 34585, 20402, 36644, 24035, 24035, 24036, 29740, 23114, 23114, 23114, 29065, 36663, 31527, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 31451, 23112, 36684, 23511, 36700, 29939, 24035, 24035, 24035, 30185, 23114, 23114, 23114, 27526, 22420, 23511, 23511, 23511, 32865, 28306, 19803, 36743, 24035, 27017, 24035, 26576, 27535, 23114, 31432, 23114, 33811, 22468, 33271, 23511, 32128, 23511, 23512, 24694, 24035, 27196, 24035, 24035, 24035, 23113, 32459, 23114, 23114, 23114, 28618, 29700, 33829, 36762, 23511, 23511, 34585, 20402, 24035, 36746, 24035, 29722, 23114, 23114, 34437, 23114, 34907, 20271, 23511, 23511, 18801, 23511, 23206, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 36837, 24035, 24035, 33739, 23114, 23114, 25094, 23511, 23261, 23628, 24035, 36780, 23111, 24073, 19874, 27078, 35344, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22720, 19288, 36799, 36866, 17466, 36890, 36864, 21991, 22211, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 17631, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 36883, 36906, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22705, 19288, 19457, 36866, 17466, 36890, 36866, 19375, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36124, 19288, 36951, 36866, 17466, 36890, 36866, 21991, 22404, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18567, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 36979, 36995, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36139, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18027, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36139, 19288, 21529, 24035, 23112, 23033, 23511, 31507, 25377, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 37040, 23511, 23511, 23511, 23511, 28086, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 24254, 37079, 23511, 23511, 23511, 23511, 23512, 34766, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 37112, 37160, 18469, 36866, 17466, 36890, 36866, 17656, 37174, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18537, 22984, 17553, 17572, 22285, 18780, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 36883, 36906, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 127011, 110630, 114730, 106539, 127011, 127011, 127011, 53264, 18, 18, 0, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 0, 0, 127011, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2170880, 2170880, 2170880, 3002368, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2576384, 2215936, 2215936, 2215936, 2416640, 2424832, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2543616, 2215936, 2215936, 2215936, 2215936, 2215936, 2629632, 2215936, 2617344, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2691072, 2215936, 2707456, 2215936, 2715648, 2215936, 2723840, 2764800, 2215936, 2215936, 2797568, 2215936, 2822144, 2215936, 2215936, 2854912, 2215936, 2215936, 2215936, 2912256, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 180224, 0, 0, 2174976, 0, 0, 2170880, 2617344, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2691072, 2170880, 2707456, 2170880, 2715648, 2170880, 2723840, 2764800, 2170880, 2170880, 2797568, 2170880, 2170880, 2797568, 2170880, 2822144, 2170880, 2170880, 2854912, 2170880, 2170880, 2170880, 2912256, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2609152, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2654208, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 184599, 280, 0, 2174976, 0, 0, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 544, 0, 546, 0, 0, 2179072, 0, 0, 0, 552, 0, 0, 2170880, 2170880, 2170880, 3117056, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2158592, 2158592, 2232320, 2232320, 0, 2240512, 2240512, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3129344, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2400256, 2215936, 2215936, 2215936, 2215936, 2711552, 2170880, 2170880, 2170880, 2170880, 2170880, 2760704, 2768896, 2789376, 2813952, 2170880, 2170880, 2170880, 2875392, 2904064, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2453504, 2457600, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 167936, 0, 0, 0, 0, 2174976, 0, 0, 2215936, 2215936, 2514944, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2592768, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 32768, 0, 0, 0, 0, 0, 2174976, 32768, 0, 2633728, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2711552, 2215936, 2215936, 2215936, 2215936, 2215936, 2760704, 2768896, 2789376, 2813952, 2215936, 2215936, 2215936, 2875392, 2904064, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 0, 65819, 2215936, 2215936, 3031040, 2215936, 3055616, 2215936, 2215936, 2215936, 2215936, 3092480, 2215936, 2215936, 3125248, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3002368, 2215936, 2215936, 2170880, 2170880, 2494464, 2170880, 2170880, 0, 0, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3198976, 2215936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2379776, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2445312, 2170880, 2465792, 2473984, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2523136, 2170880, 2170880, 2641920, 2170880, 2170880, 2170880, 2699264, 2170880, 2727936, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2879488, 2170880, 2916352, 2170880, 2170880, 2170880, 2879488, 2170880, 2916352, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3026944, 2170880, 2170880, 3063808, 2170880, 2170880, 3112960, 2170880, 2170880, 3133440, 2170880, 2170880, 3112960, 2170880, 2170880, 3133440, 2170880, 2170880, 2170880, 3162112, 2170880, 2170880, 3182592, 3186688, 2170880, 2379776, 2215936, 2523136, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2596864, 2215936, 2621440, 2215936, 2215936, 2641920, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 548, 0, 0, 0, 0, 287, 2170880, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3117056, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2699264, 2215936, 2727936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2879488, 2215936, 2916352, 2215936, 2215936, 0, 0, 0, 0, 188416, 0, 2179072, 0, 0, 0, 0, 0, 287, 2170880, 0, 2171019, 2171019, 2171019, 2400395, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3031179, 2171019, 3055755, 2171019, 2171019, 2215936, 3133440, 2215936, 2215936, 2215936, 3162112, 2215936, 2215936, 3182592, 3186688, 2215936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2523275, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2597003, 2171019, 2621579, 2170880, 2170880, 2170880, 3162112, 2170880, 2170880, 3182592, 3186688, 2170880, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 24, 0, 4337664, 28, 2170880, 2170880, 2170880, 2629632, 2170880, 2170880, 2170880, 2170880, 2719744, 2744320, 2170880, 2170880, 2170880, 2834432, 2838528, 2170880, 2908160, 2170880, 2170880, 2936832, 2215936, 2215936, 2215936, 2215936, 2719744, 2744320, 2215936, 2215936, 2215936, 2834432, 2838528, 2215936, 2908160, 2215936, 2215936, 2936832, 2215936, 2215936, 2985984, 2215936, 2994176, 2215936, 2215936, 3014656, 2215936, 3059712, 3076096, 3088384, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2445312, 2215936, 2465792, 2473984, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2171166, 2171166, 2171166, 2171166, 2171166, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171019, 2171019, 2494603, 2171019, 2171019, 2215936, 2215936, 2215936, 3215360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379776, 2170880, 2170880, 2170880, 2170880, 2985984, 2170880, 2994176, 2170880, 2170880, 3016168, 2170880, 3059712, 3076096, 3088384, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 124, 124, 0, 128, 128, 2170880, 2170880, 2170880, 3215360, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2486272, 2170880, 2170880, 2506752, 2170880, 2170880, 2170880, 2535424, 2539520, 2170880, 2170880, 2588672, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2920448, 2170880, 2170880, 2170880, 2990080, 2170880, 2170880, 2170880, 2170880, 3051520, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3170304, 0, 2387968, 2392064, 2170880, 2170880, 2433024, 2170880, 2170880, 2170880, 3170304, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2486272, 2215936, 2215936, 2506752, 2215936, 2215936, 2215936, 2535424, 2539520, 2215936, 2215936, 2588672, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 136, 0, 2215936, 2215936, 2920448, 2215936, 2215936, 2215936, 2990080, 2215936, 2215936, 2215936, 2215936, 3051520, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3108864, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3026944, 2215936, 2215936, 3063808, 2215936, 2215936, 3112960, 2215936, 2215936, 2215936, 3170304, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2453504, 2457600, 2170880, 2170880, 2170880, 2486272, 2170880, 2170880, 2506752, 2170880, 2170880, 2170880, 2537049, 2539520, 2170880, 2170880, 2588672, 2170880, 2170880, 2170880, 1508, 2170880, 2170880, 2170880, 1512, 2170880, 2920448, 2170880, 2170880, 2170880, 2990080, 2170880, 2170880, 2170880, 2461696, 2170880, 2170880, 2170880, 2510848, 2170880, 2170880, 2170880, 2170880, 2580480, 2170880, 2605056, 2637824, 2170880, 2170880, 18, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2686976, 2748416, 2170880, 2170880, 2170880, 2924544, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3121152, 2170880, 2170880, 3145728, 3158016, 3166208, 2170880, 2420736, 2428928, 2170880, 2478080, 2170880, 2170880, 2170880, 2170880, 0, 0, 2170880, 2170880, 2170880, 2170880, 2646016, 2670592, 0, 0, 3145728, 3158016, 3166208, 2387968, 2392064, 2215936, 2215936, 2433024, 2215936, 2461696, 2215936, 2215936, 2215936, 2510848, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 0, 2170880, 2215936, 2215936, 2580480, 2215936, 2605056, 2637824, 2215936, 2215936, 2686976, 2748416, 2215936, 2215936, 2215936, 2924544, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 286, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 3121152, 2215936, 2215936, 3145728, 3158016, 3166208, 2387968, 2392064, 2170880, 2170880, 2433024, 2170880, 2461696, 2170880, 2170880, 2170880, 2510848, 2170880, 2170880, 1625, 2170880, 2170880, 2580480, 2170880, 2605056, 2637824, 2170880, 647, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2576384, 2170880, 2170880, 2170880, 2170880, 2170880, 2609152, 2170880, 2170880, 2686976, 0, 0, 2748416, 2170880, 2170880, 0, 2170880, 2924544, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 0, 0, 28, 28, 2170880, 3141632, 2215936, 2420736, 2428928, 2215936, 2478080, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2646016, 2670592, 2752512, 2756608, 2846720, 2961408, 2215936, 2998272, 2215936, 3010560, 2215936, 2215936, 2215936, 3141632, 2170880, 2420736, 2428928, 2752512, 2756608, 0, 2846720, 2961408, 2170880, 2998272, 2170880, 3010560, 2170880, 2170880, 2170880, 3141632, 2170880, 2170880, 2490368, 2215936, 2490368, 2215936, 2215936, 2215936, 2547712, 2555904, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 245760, 0, 3129344, 2170880, 2170880, 2490368, 2170880, 2170880, 2170880, 0, 0, 2547712, 2555904, 2170880, 2170880, 2170880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 45056, 0, 2584576, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2170880, 2170880, 2158592, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 0, 1482, 97, 97, 97, 97, 97, 97, 97, 1354, 97, 97, 97, 97, 97, 97, 97, 97, 1148, 97, 97, 97, 97, 97, 97, 97, 2584576, 2170880, 2170880, 1512, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2441216, 2170880, 2527232, 2170880, 2600960, 2170880, 2850816, 2170880, 2170880, 2170880, 3022848, 2215936, 2441216, 2215936, 2527232, 2215936, 2600960, 2215936, 2850816, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 287, 2170880, 2215936, 3022848, 2170880, 2441216, 2170880, 2527232, 0, 0, 2170880, 2600960, 2170880, 0, 2850816, 2170880, 2170880, 2170880, 2170880, 2170880, 2523136, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2596864, 2170880, 2621440, 2170880, 2170880, 2641920, 2170880, 2170880, 2170880, 3022848, 2170880, 2519040, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2519040, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 2453504, 2457600, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2514944, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2592768, 2170880, 2170880, 2519040, 0, 2024, 2170880, 2170880, 0, 2170880, 2170880, 2170880, 2396160, 2170880, 2170880, 2170880, 2170880, 3018752, 2396160, 2215936, 2215936, 2215936, 2215936, 3018752, 2396160, 0, 2024, 2170880, 2170880, 2170880, 2170880, 3018752, 2170880, 2650112, 2965504, 2170880, 2215936, 2650112, 2965504, 2215936, 0, 0, 2170880, 2650112, 2965504, 2170880, 2551808, 2170880, 2551808, 2215936, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 141, 45, 45, 67, 67, 67, 67, 67, 224, 67, 67, 238, 67, 67, 67, 67, 67, 67, 67, 1288, 67, 67, 67, 67, 67, 67, 67, 67, 67, 469, 67, 67, 67, 67, 67, 67, 0, 2551808, 2170880, 2170880, 2215936, 0, 2170880, 2170880, 2215936, 0, 2170880, 2170880, 2215936, 0, 2170880, 2977792, 2977792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 29, 102432, 127011, 110630, 114730, 106539, 127011, 127011, 127011, 53264, 18, 18, 49172, 0, 0, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 0, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 136, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 4256099, 4256099, 24, 24, 0, 28, 28, 2170880, 2461696, 2170880, 2170880, 2170880, 2510848, 2170880, 2170880, 0, 2170880, 2170880, 2580480, 2170880, 2605056, 2637824, 2170880, 2170880, 2170880, 2547712, 2555904, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3129344, 2215936, 2215936, 543, 543, 545, 545, 0, 0, 2179072, 0, 550, 551, 551, 0, 287, 2171166, 2171166, 18, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 645, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 149, 2584576, 2170880, 2170880, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2441216, 2170880, 2527232, 2170880, 2600960, 2519040, 0, 0, 2170880, 2170880, 0, 2170880, 2170880, 2170880, 2396160, 2170880, 2170880, 2170880, 2170880, 3018752, 2396160, 2215936, 2215936, 2215936, 2215936, 3018752, 2396160, 0, 0, 2170880, 2170880, 2170880, 2170880, 3018752, 2170880, 2650112, 2965504, 53264, 18, 49172, 57366, 24, 155648, 28, 102432, 155648, 155687, 114730, 106539, 0, 0, 155648, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 0, 0, 0, 0, 2220032, 0, 94208, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 208896, 18, 278528, 24, 24, 0, 28, 28, 53264, 18, 159765, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 0, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 139394, 28, 28, 102432, 131, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 32768, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 546, 0, 0, 2183168, 0, 0, 552, 832, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2170880, 2609152, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2654208, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3198976, 2215936, 0, 1084, 0, 1088, 0, 1092, 0, 0, 0, 0, 0, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 937, 0, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 644, 0, 0, 0, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 826, 0, 828, 0, 0, 2183168, 0, 0, 830, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2592768, 2170880, 2170880, 2170880, 2170880, 2633728, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2711552, 2170880, 2170880, 2170880, 2170880, 2170880, 2760704, 53264, 18, 49172, 57366, 24, 8192, 28, 172066, 172032, 110630, 172066, 106539, 0, 0, 172032, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 16384, 28, 28, 28, 28, 102432, 0, 98304, 0, 0, 2220032, 110630, 0, 0, 0, 0, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 45056, 0, 0, 0, 53264, 18, 49172, 57366, 25, 8192, 30, 102432, 0, 110630, 114730, 106539, 0, 0, 176219, 53264, 18, 18, 49172, 0, 57366, 0, 124, 124, 124, 0, 128, 128, 128, 128, 102432, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 0, 546, 0, 0, 2183168, 0, 65536, 552, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2646016, 2670592, 2752512, 2756608, 2846720, 2961408, 2170880, 2998272, 2170880, 3010560, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3198976, 2215936, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 143, 45, 45, 67, 67, 67, 67, 67, 227, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1824, 67, 1826, 67, 67, 67, 67, 17, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 32768, 120, 121, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 67, 67, 37139, 37139, 24853, 24853, 0, 0, 2179072, 548, 0, 65820, 65820, 0, 287, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 2033, 45, 67, 67, 67, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 978, 0, 546, 70179, 0, 2183168, 0, 0, 552, 0, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1013, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 473, 67, 67, 67, 67, 483, 67, 67, 1025, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1119, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1359, 97, 97, 97, 67, 67, 1584, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 497, 67, 67, 1659, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1667, 45, 45, 45, 45, 45, 169, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1668, 45, 45, 45, 45, 67, 67, 1694, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 774, 67, 67, 1713, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 1723, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 1538, 45, 45, 45, 45, 45, 1559, 45, 45, 1561, 45, 45, 45, 45, 45, 45, 45, 687, 45, 45, 45, 45, 45, 45, 45, 45, 448, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1771, 1772, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 67, 67, 67, 67, 67, 1821, 67, 67, 67, 67, 67, 67, 1827, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 1614, 97, 97, 97, 97, 97, 603, 97, 97, 605, 97, 97, 608, 97, 97, 97, 97, 0, 1532, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 450, 45, 45, 45, 45, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 1839, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 97, 1883, 97, 1885, 97, 0, 1888, 0, 97, 97, 0, 97, 97, 1848, 97, 97, 97, 97, 1852, 45, 45, 45, 45, 45, 45, 45, 384, 391, 45, 45, 45, 45, 45, 45, 45, 385, 45, 45, 45, 45, 45, 45, 45, 45, 1237, 45, 45, 45, 45, 45, 45, 67, 0, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 1951, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1963, 97, 2023, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 1994, 67, 1995, 67, 67, 67, 67, 67, 67, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 0, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 137, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2793472, 2805760, 2170880, 2830336, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3031040, 2170880, 3055616, 2170880, 2170880, 67, 67, 37139, 37139, 24853, 24853, 0, 0, 281, 549, 0, 65820, 65820, 0, 287, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 2031, 2032, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1769, 67, 0, 546, 70179, 549, 549, 0, 0, 552, 0, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1858, 45, 641, 0, 0, 0, 0, 41606, 926, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 456, 67, 0, 0, 0, 1313, 0, 0, 0, 1096, 1319, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1110, 97, 97, 97, 97, 67, 67, 67, 67, 1301, 1476, 0, 0, 0, 0, 1307, 1478, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1486, 97, 1487, 97, 1313, 1480, 0, 0, 0, 0, 1319, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 566, 97, 97, 97, 97, 97, 97, 67, 67, 67, 1476, 0, 1478, 0, 1480, 0, 97, 97, 97, 97, 97, 97, 97, 45, 1853, 45, 1855, 45, 45, 45, 45, 53264, 18, 49172, 57366, 26, 8192, 31, 102432, 0, 110630, 114730, 106539, 0, 0, 225368, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 32768, 53264, 18, 18, 49172, 163840, 57366, 0, 24, 24, 229376, 0, 28, 28, 28, 229376, 102432, 0, 0, 0, 0, 2220167, 110630, 0, 0, 0, 114730, 106539, 0, 2171019, 2171019, 2171019, 2171019, 2592907, 2171019, 2171019, 2171019, 2171019, 2633867, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2654347, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3117195, 2171019, 2171019, 2171019, 2171019, 2240641, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 140, 2171019, 2171019, 2171019, 2416779, 2424971, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2617483, 2171019, 2171019, 2642059, 2171019, 2171019, 2171019, 2699403, 2171019, 2728075, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3215499, 2215936, 2215936, 2215936, 2215936, 2215936, 2437120, 2215936, 2215936, 2171019, 2822283, 2171019, 2171019, 2855051, 2171019, 2171019, 2171019, 2912395, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3002507, 2171019, 2171019, 2215936, 2215936, 2494464, 2215936, 2215936, 2215936, 2171166, 2171166, 2416926, 2425118, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2576670, 2171166, 2617630, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2691358, 2171166, 2707742, 2171166, 2715934, 2171166, 2724126, 2765086, 2171166, 2171166, 2797854, 2171166, 2822430, 2171166, 2171166, 2855198, 2171166, 2171166, 2171166, 2912542, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2793758, 2806046, 2171166, 2830622, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3109150, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2543902, 2171166, 2171166, 2171166, 2171166, 2171166, 2629918, 2793611, 2805899, 2171019, 2830475, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 0, 546, 0, 0, 2183168, 0, 0, 552, 0, 2171166, 2171166, 2171166, 2400542, 2171166, 2171166, 2171166, 0, 2171166, 2171166, 2171166, 0, 2171166, 2920734, 2171166, 2171166, 2171166, 2990366, 2171166, 2171166, 2171166, 2171166, 3117342, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 0, 53264, 0, 18, 18, 4329472, 2232445, 0, 2240641, 4337664, 2711691, 2171019, 2171019, 2171019, 2171019, 2171019, 2760843, 2769035, 2789515, 2814091, 2171019, 2171019, 2171019, 2875531, 2904203, 2171019, 2171019, 3092619, 2171019, 2171019, 3125387, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3199115, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2453504, 2457600, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2793472, 2805760, 2215936, 2830336, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2494464, 2170880, 2170880, 2171166, 2171166, 2634014, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2711838, 2171166, 2171166, 2171166, 2171166, 2171166, 2760990, 2769182, 2789662, 2814238, 2171166, 2171166, 2171166, 2875678, 2904350, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3199262, 2171166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379915, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2445451, 2171019, 2465931, 2474123, 2171019, 2171019, 3113099, 2171019, 2171019, 3133579, 2171019, 2171019, 2171019, 3162251, 2171019, 2171019, 3182731, 3186827, 2171019, 2379776, 2879627, 2171019, 2916491, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3027083, 2171019, 2171019, 3063947, 2699550, 2171166, 2728222, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2879774, 2171166, 2916638, 2171166, 2171166, 2171166, 2171166, 2171166, 2609438, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2654494, 2171166, 2171166, 2171166, 2171166, 2171166, 2445598, 2171166, 2466078, 2474270, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2523422, 2171019, 2437259, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2543755, 2171019, 2171019, 2171019, 2584715, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2908299, 2171019, 2171019, 2936971, 2171019, 2171019, 2986123, 2171019, 2994315, 2171019, 2171019, 3014795, 2171019, 3059851, 3076235, 3088523, 2171166, 2171166, 2986270, 2171166, 2994462, 2171166, 2171166, 3014942, 2171166, 3059998, 3076382, 3088670, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3027230, 2171166, 2171166, 3064094, 2171166, 2171166, 3113246, 2171166, 2171166, 3133726, 2506891, 2171019, 2171019, 2171019, 2535563, 2539659, 2171019, 2171019, 2588811, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2691211, 2171019, 2707595, 2171019, 2715787, 2171019, 2723979, 2764939, 2171019, 2171019, 2797707, 2215936, 2215936, 3170304, 0, 0, 0, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2453790, 2457886, 2171166, 2171166, 2171166, 2486558, 2171166, 2171166, 2507038, 2171166, 2171166, 2171166, 2535710, 2539806, 2171166, 2171166, 2588958, 2171166, 2171166, 2171166, 2171166, 2515230, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2593054, 2171166, 2171166, 2171166, 2171166, 3051806, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3170590, 0, 2388107, 2392203, 2171019, 2171019, 2433163, 2171019, 2461835, 2171019, 2171019, 2171019, 2510987, 2171019, 2171019, 2171019, 2171019, 2580619, 2171019, 2605195, 2637963, 2171019, 2171019, 2171019, 2920587, 2171019, 2171019, 2171019, 2990219, 2171019, 2171019, 2171019, 2171019, 3051659, 2171019, 2171019, 2171019, 2453643, 2457739, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2515083, 2171019, 2171019, 2171019, 2171019, 2646155, 2670731, 2752651, 2756747, 2846859, 2961547, 2171019, 2998411, 2171019, 3010699, 2171019, 2171019, 2687115, 2748555, 2171019, 2171019, 2171019, 2924683, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3121291, 2171019, 2171019, 2171019, 3170443, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2486272, 2215936, 2215936, 2506752, 3145867, 3158155, 3166347, 2387968, 2392064, 2215936, 2215936, 2433024, 2215936, 2461696, 2215936, 2215936, 2215936, 2510848, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 553, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 3121152, 2215936, 2215936, 3145728, 3158016, 3166208, 2388254, 2392350, 2171166, 2171166, 2433310, 2171166, 2461982, 2171166, 2171166, 2171166, 2511134, 2171166, 2171166, 0, 2171166, 2171166, 2580766, 2171166, 2605342, 2638110, 2171166, 2171166, 2171166, 2171166, 3031326, 2171166, 3055902, 2171166, 2171166, 2171166, 2171166, 3092766, 2171166, 2171166, 3125534, 2171166, 2171166, 2171166, 3162398, 2171166, 2171166, 3182878, 3186974, 2171166, 0, 0, 0, 2171019, 2171019, 2171019, 2171019, 3109003, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2215936, 2215936, 2215936, 2400256, 2215936, 2215936, 2215936, 2215936, 2171166, 2687262, 0, 0, 2748702, 2171166, 2171166, 0, 2171166, 2924830, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2597150, 2171166, 2621726, 2171166, 2171166, 2642206, 2171166, 2171166, 2171166, 2171166, 3121438, 2171166, 2171166, 3146014, 3158302, 3166494, 2171019, 2420875, 2429067, 2171019, 2478219, 2171019, 2171019, 2171019, 2171019, 2547851, 2556043, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3129483, 2215936, 2171019, 3141771, 2215936, 2420736, 2428928, 2215936, 2478080, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2646016, 2670592, 2752512, 2756608, 2846720, 2961408, 2215936, 2998272, 2215936, 3010560, 2215936, 2215936, 2215936, 3141632, 2171166, 2421022, 2429214, 2171166, 2478366, 2171166, 2171166, 2171166, 2171166, 0, 0, 2171166, 2171166, 2171166, 2171166, 2646302, 2670878, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 0, 45, 45, 45, 45, 45, 1405, 1406, 45, 45, 45, 45, 1409, 45, 45, 45, 45, 45, 1415, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1238, 45, 45, 45, 45, 67, 2752798, 2756894, 0, 2847006, 2961694, 2171166, 2998558, 2171166, 3010846, 2171166, 2171166, 2171166, 3141918, 2171019, 2171019, 2490507, 3129344, 2171166, 2171166, 2490654, 2171166, 2171166, 2171166, 0, 0, 2547998, 2556190, 2171166, 2171166, 2171166, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 45, 167, 45, 45, 45, 45, 185, 187, 45, 45, 198, 45, 45, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3129630, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2576523, 2171019, 2171019, 2171019, 2171019, 2171019, 2609291, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3002368, 2215936, 2215936, 2171166, 2171166, 2494750, 2171166, 2171166, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 147, 2584576, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2171166, 2171166, 2171166, 2171166, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 0, 0, 0, 2171166, 2171166, 2171166, 3002654, 2171166, 2171166, 2171019, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2175257, 0, 0, 2584862, 2171166, 2171166, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171019, 2441355, 2171019, 2527371, 2171019, 2601099, 2171019, 2850955, 2171019, 2171019, 2171019, 3022987, 2215936, 2441216, 2215936, 2527232, 2215936, 2600960, 2215936, 2850816, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 69632, 287, 2170880, 2215936, 3022848, 2171166, 2441502, 2171166, 2527518, 0, 0, 2171166, 2601246, 2171166, 0, 2851102, 2171166, 2171166, 2171166, 2171166, 2720030, 2744606, 2171166, 2171166, 2171166, 2834718, 2838814, 2171166, 2908446, 2171166, 2171166, 2937118, 3023134, 2171019, 2519179, 2171019, 2171019, 2171019, 2171019, 2171019, 2215936, 2519040, 2215936, 2215936, 2215936, 2215936, 2215936, 2171166, 2171166, 2171166, 3215646, 0, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2486411, 2171019, 2171019, 2171019, 2629771, 2171019, 2171019, 2171019, 2171019, 2719883, 2744459, 2171019, 2171019, 2171019, 2834571, 2838667, 2171019, 2519326, 0, 0, 2171166, 2171166, 0, 2171166, 2171166, 2171166, 2396299, 2171019, 2171019, 2171019, 2171019, 3018891, 2396160, 2215936, 2215936, 2215936, 2215936, 3018752, 2396446, 0, 0, 2171166, 2171166, 2171166, 2171166, 3019038, 2171019, 2650251, 2965643, 2171019, 2215936, 2650112, 2965504, 2215936, 0, 0, 2171166, 2650398, 2965790, 2171166, 2551947, 2171019, 2551808, 2215936, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 144, 45, 45, 67, 67, 67, 67, 67, 228, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1929, 97, 97, 97, 97, 0, 0, 0, 2552094, 2171166, 2171019, 2215936, 0, 2171166, 2171019, 2215936, 0, 2171166, 2171019, 2215936, 0, 2171166, 2977931, 2977792, 2978078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1321, 97, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 140, 0, 2379776, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2445312, 2170880, 2465792, 2473984, 2170880, 2170880, 2170880, 2584576, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 3162112, 2170880, 2170880, 3182592, 3186688, 2170880, 0, 140, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3002368, 2170880, 2170880, 2215936, 2215936, 2494464, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3215360, 544, 0, 0, 0, 544, 0, 546, 0, 0, 0, 546, 0, 0, 2183168, 0, 0, 552, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 0, 2170880, 2170880, 2170880, 0, 2170880, 2920448, 2170880, 2170880, 2170880, 2990080, 2170880, 2170880, 552, 0, 0, 0, 552, 0, 287, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2437120, 2170880, 2170880, 18, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 644, 0, 2215936, 2215936, 3170304, 544, 0, 546, 0, 552, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 0, 140, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 249856, 110630, 114730, 106539, 0, 0, 32768, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 151640, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2416640, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 253952, 110630, 114730, 106539, 0, 0, 32856, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 192512, 53264, 18, 18, 49172, 0, 57366, 0, 2232445, 184320, 2232445, 0, 2240641, 2240641, 184320, 2240641, 102432, 0, 0, 0, 221184, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3108864, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 24, 0, 127, 127, 53264, 18, 49172, 258071, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 32768, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 204800, 53264, 18, 49172, 57366, 24, 27, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 28, 33, 0, 33, 33, 33, 0, 0, 0, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 16384, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 2170880, 2170880, 2170880, 2416640, 67, 67, 37139, 37139, 24853, 24853, 0, 70179, 0, 0, 0, 65820, 65820, 369, 287, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 2030, 45, 45, 45, 45, 67, 1573, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1699, 67, 67, 67, 67, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1355, 97, 97, 97, 1358, 97, 97, 97, 641, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 1187, 45, 45, 45, 45, 45, 0, 1480, 0, 0, 0, 0, 1319, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 592, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1531, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1680, 45, 45, 45, 641, 0, 924, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1186, 45, 45, 45, 45, 45, 45, 67, 67, 37139, 37139, 24853, 24853, 0, 70179, 282, 0, 0, 65820, 65820, 369, 287, 97, 0, 0, 97, 97, 0, 97, 2028, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1767, 67, 67, 67, 0, 0, 0, 0, 0, 0, 1612, 97, 97, 97, 97, 97, 97, 0, 1785, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1790, 97, 0, 0, 2170880, 2170880, 3051520, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3170304, 241664, 2387968, 2392064, 2170880, 2170880, 2433024, 53264, 19, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 274432, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 270336, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 1134711, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 1126440, 1126440, 1126440, 0, 0, 1126400, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 36, 110630, 114730, 106539, 0, 0, 217088, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 94, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 96, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 24666, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 126, 28, 28, 28, 28, 102432, 53264, 122, 123, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 2170880, 2170880, 4256099, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1109, 97, 97, 97, 97, 1113, 132, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 146, 150, 45, 45, 45, 45, 45, 175, 45, 180, 45, 186, 45, 189, 45, 45, 203, 67, 256, 67, 67, 270, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 97, 293, 297, 97, 97, 97, 97, 97, 322, 97, 327, 97, 333, 97, 0, 0, 97, 2026, 0, 2027, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1685, 67, 67, 67, 67, 67, 67, 67, 1690, 67, 336, 97, 97, 350, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 2424832, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2617344, 2170880, 45, 439, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 525, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 622, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1524, 97, 97, 1527, 369, 648, 45, 45, 45, 45, 45, 45, 45, 45, 45, 659, 45, 45, 45, 45, 408, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1239, 45, 45, 45, 67, 729, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 762, 67, 746, 67, 67, 67, 67, 67, 67, 67, 67, 67, 759, 67, 67, 67, 67, 0, 0, 0, 1477, 0, 1086, 0, 0, 0, 1479, 0, 1090, 67, 67, 796, 67, 67, 799, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1291, 67, 67, 67, 811, 67, 67, 67, 67, 67, 816, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 833, 97, 97, 97, 97, 97, 97, 97, 97, 1380, 0, 0, 0, 45, 45, 45, 45, 45, 1185, 45, 45, 45, 45, 45, 45, 45, 386, 45, 45, 45, 45, 45, 45, 45, 45, 1810, 45, 45, 45, 45, 45, 45, 67, 97, 97, 844, 97, 97, 97, 97, 97, 97, 97, 97, 97, 857, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 97, 97, 97, 894, 97, 97, 897, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 1382, 45, 45, 45, 97, 909, 97, 97, 97, 97, 97, 914, 97, 97, 97, 97, 97, 97, 97, 923, 67, 67, 1079, 67, 67, 67, 67, 67, 37689, 1085, 25403, 1089, 66365, 1093, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 148, 1114, 97, 97, 97, 97, 97, 97, 1122, 97, 97, 97, 97, 97, 97, 97, 97, 97, 606, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1173, 97, 97, 97, 97, 97, 12288, 0, 925, 0, 1179, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 145, 45, 45, 67, 67, 67, 67, 67, 1762, 67, 67, 67, 1766, 67, 67, 67, 67, 67, 67, 528, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 1934, 67, 67, 1255, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1035, 67, 67, 67, 67, 67, 67, 1297, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1111, 97, 97, 97, 97, 97, 97, 1327, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 33344, 97, 97, 97, 1335, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 1377, 97, 97, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 670, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 430, 45, 45, 45, 45, 67, 67, 1438, 67, 67, 1442, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1592, 67, 67, 67, 1451, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1458, 67, 67, 67, 67, 0, 0, 1305, 0, 0, 0, 0, 0, 1311, 0, 0, 0, 1317, 0, 0, 0, 0, 0, 0, 0, 97, 97, 1322, 97, 97, 1491, 97, 97, 1495, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1551, 45, 1553, 45, 1504, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1513, 97, 97, 97, 97, 0, 45, 45, 45, 45, 1536, 45, 45, 45, 45, 1540, 45, 67, 67, 67, 67, 67, 1585, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1700, 67, 67, 67, 97, 1648, 97, 97, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1541, 0, 97, 97, 97, 97, 0, 1940, 0, 97, 97, 97, 97, 97, 97, 45, 45, 2011, 45, 45, 45, 2015, 67, 67, 2017, 67, 67, 67, 2021, 97, 67, 67, 812, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 97, 97, 97, 910, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 923, 0, 0, 0, 45, 45, 45, 45, 1184, 45, 45, 45, 45, 1188, 45, 45, 45, 45, 1414, 45, 45, 45, 1417, 45, 1419, 45, 45, 45, 45, 45, 443, 45, 45, 45, 45, 45, 45, 453, 45, 45, 67, 67, 67, 67, 1244, 67, 67, 67, 67, 1248, 67, 67, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 282, 41098, 65820, 97, 1324, 97, 97, 97, 97, 1328, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 930, 45, 45, 45, 45, 97, 97, 97, 97, 1378, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 975, 45, 45, 45, 45, 67, 67, 1923, 67, 1925, 67, 67, 1927, 67, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1985, 45, 45, 45, 45, 45, 45, 1560, 45, 45, 45, 45, 45, 45, 45, 45, 45, 946, 45, 45, 950, 45, 45, 45, 0, 97, 97, 97, 1939, 0, 0, 0, 97, 1943, 97, 97, 1945, 97, 45, 45, 45, 669, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 990, 45, 45, 45, 67, 257, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 337, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 2170880, 2170880, 2170880, 2416640, 401, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 459, 461, 67, 67, 67, 67, 67, 67, 67, 67, 475, 67, 480, 67, 67, 67, 67, 67, 67, 1054, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1698, 67, 67, 67, 67, 67, 484, 67, 67, 487, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1459, 67, 67, 97, 556, 558, 97, 97, 97, 97, 97, 97, 97, 97, 572, 97, 577, 97, 97, 0, 0, 1896, 97, 97, 97, 97, 97, 97, 1903, 45, 45, 45, 45, 983, 45, 45, 45, 45, 988, 45, 45, 45, 45, 45, 45, 1195, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1549, 45, 45, 45, 45, 45, 581, 97, 97, 584, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1153, 97, 97, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 662, 45, 45, 45, 684, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1004, 45, 45, 45, 67, 67, 67, 749, 67, 67, 67, 67, 67, 67, 67, 67, 67, 761, 67, 67, 67, 67, 67, 67, 1068, 67, 67, 67, 1071, 67, 67, 67, 67, 1076, 794, 795, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 544, 97, 97, 97, 97, 847, 97, 97, 97, 97, 97, 97, 97, 97, 97, 859, 97, 0, 0, 2025, 97, 20480, 97, 97, 2029, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1575, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1775, 67, 67, 67, 97, 97, 97, 97, 892, 893, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1515, 97, 993, 994, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 992, 67, 67, 67, 1284, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1607, 67, 67, 97, 1364, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 596, 97, 45, 1556, 1557, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 696, 45, 1596, 1597, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 499, 67, 97, 97, 97, 1621, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1346, 97, 97, 97, 97, 1740, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1678, 45, 45, 45, 45, 45, 67, 97, 97, 97, 97, 97, 97, 1836, 0, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1984, 97, 45, 45, 45, 45, 45, 45, 1808, 45, 45, 45, 45, 45, 45, 45, 45, 67, 739, 67, 67, 67, 67, 67, 744, 45, 45, 1909, 45, 45, 45, 45, 45, 45, 45, 67, 1917, 67, 1918, 67, 67, 67, 67, 67, 67, 1247, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 532, 67, 67, 67, 67, 67, 67, 1922, 67, 67, 67, 67, 67, 67, 67, 97, 1930, 97, 1931, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1576, 67, 67, 67, 67, 1580, 67, 67, 0, 97, 97, 1938, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 699, 45, 45, 45, 704, 45, 45, 45, 45, 45, 45, 45, 45, 987, 45, 45, 45, 45, 45, 45, 45, 67, 67, 97, 97, 97, 97, 0, 0, 97, 97, 97, 2006, 97, 97, 97, 97, 0, 45, 1533, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1416, 45, 45, 45, 45, 45, 45, 45, 45, 722, 723, 45, 45, 45, 45, 45, 45, 2045, 67, 67, 67, 2047, 0, 0, 97, 97, 97, 2051, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 409, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1957, 45, 67, 67, 67, 67, 67, 1836, 97, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 45, 67, 67, 67, 1761, 67, 67, 67, 1764, 67, 67, 67, 67, 67, 67, 67, 494, 67, 67, 67, 67, 67, 67, 67, 67, 67, 787, 67, 67, 67, 67, 67, 67, 45, 45, 420, 45, 45, 422, 45, 45, 425, 45, 45, 45, 45, 45, 45, 45, 387, 45, 45, 45, 45, 397, 45, 45, 45, 67, 460, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 515, 67, 485, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 498, 67, 67, 67, 67, 67, 97, 0, 2039, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1426, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1689, 67, 67, 67, 97, 557, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 612, 97, 582, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 595, 97, 97, 97, 97, 97, 896, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 885, 97, 97, 97, 97, 97, 45, 939, 45, 45, 45, 45, 943, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1916, 67, 67, 67, 67, 67, 45, 67, 67, 67, 67, 67, 67, 67, 1015, 67, 67, 67, 67, 1019, 67, 67, 67, 67, 67, 67, 1271, 67, 67, 67, 67, 67, 67, 1277, 67, 67, 67, 67, 67, 67, 1287, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 804, 67, 67, 67, 67, 67, 1077, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2437120, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2543616, 2170880, 2170880, 2170880, 2170880, 2170880, 2629632, 1169, 97, 1171, 97, 97, 97, 97, 97, 97, 97, 12288, 0, 925, 0, 1179, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 936, 45, 45, 67, 67, 214, 67, 220, 67, 67, 233, 67, 243, 67, 248, 67, 67, 67, 67, 67, 67, 1298, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 1617, 97, 0, 0, 0, 45, 45, 45, 1183, 45, 45, 45, 45, 45, 45, 45, 45, 45, 393, 45, 45, 45, 45, 45, 45, 67, 67, 1243, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1074, 67, 67, 1281, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 776, 1323, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 907, 45, 1412, 45, 45, 45, 45, 45, 45, 45, 1418, 45, 45, 45, 45, 45, 45, 686, 45, 45, 45, 690, 45, 45, 695, 45, 45, 67, 67, 67, 67, 67, 1465, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1712, 97, 97, 97, 97, 1741, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 426, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1924, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1983, 97, 97, 45, 45, 1987, 45, 1988, 45, 0, 97, 97, 97, 97, 0, 0, 0, 1942, 97, 97, 97, 97, 97, 45, 45, 45, 700, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 711, 45, 45, 153, 45, 45, 166, 45, 176, 45, 181, 45, 45, 188, 191, 196, 45, 204, 255, 258, 263, 67, 271, 67, 67, 0, 37139, 24853, 0, 0, 0, 282, 41098, 65820, 97, 97, 97, 294, 97, 300, 97, 97, 313, 97, 323, 97, 328, 97, 97, 335, 338, 343, 97, 351, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 41098, 0, 140, 45, 45, 45, 45, 1404, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1411, 67, 67, 486, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1251, 67, 67, 501, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 513, 67, 67, 67, 67, 67, 67, 1443, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1263, 67, 67, 67, 67, 67, 97, 97, 583, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1526, 97, 598, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 610, 97, 97, 0, 97, 97, 1796, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1744, 45, 45, 45, 369, 0, 651, 45, 653, 45, 654, 45, 656, 45, 45, 45, 660, 45, 45, 45, 45, 1558, 45, 45, 45, 45, 45, 45, 45, 45, 1566, 45, 45, 681, 45, 683, 45, 45, 45, 45, 45, 45, 45, 45, 691, 692, 694, 45, 45, 45, 716, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 709, 45, 45, 712, 45, 714, 45, 45, 45, 718, 45, 45, 45, 45, 45, 45, 45, 726, 45, 45, 45, 733, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1691, 67, 67, 747, 67, 67, 67, 67, 67, 67, 67, 67, 67, 760, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 1613, 97, 97, 97, 97, 97, 97, 1509, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 67, 764, 67, 67, 67, 67, 768, 67, 770, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 1977, 67, 778, 779, 781, 67, 67, 67, 67, 67, 67, 788, 789, 67, 67, 792, 793, 67, 67, 67, 813, 67, 67, 67, 67, 67, 67, 67, 67, 67, 824, 37689, 544, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 836, 97, 838, 97, 839, 97, 841, 97, 97, 97, 845, 97, 97, 97, 97, 97, 97, 97, 97, 97, 858, 97, 97, 0, 1728, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 1802, 45, 97, 97, 862, 97, 97, 97, 97, 866, 97, 868, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1788, 97, 97, 97, 0, 0, 97, 97, 876, 877, 879, 97, 97, 97, 97, 97, 97, 886, 887, 97, 97, 890, 891, 97, 97, 97, 97, 97, 97, 97, 899, 97, 97, 97, 903, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 1646, 97, 97, 97, 97, 911, 97, 97, 97, 97, 97, 97, 97, 97, 97, 922, 923, 45, 955, 45, 957, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 195, 45, 45, 45, 45, 45, 981, 982, 45, 45, 45, 45, 45, 45, 989, 45, 45, 45, 45, 45, 170, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 411, 45, 45, 45, 45, 45, 67, 1023, 67, 67, 67, 67, 67, 67, 1031, 67, 1033, 67, 67, 67, 67, 67, 67, 67, 817, 819, 67, 67, 67, 67, 67, 37689, 544, 67, 1065, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 516, 67, 67, 1078, 67, 67, 1081, 1082, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 0, 0, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2437406, 2171166, 2171166, 97, 1115, 97, 1117, 97, 97, 97, 97, 97, 97, 1125, 97, 1127, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 1644, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 1642, 97, 97, 97, 97, 97, 97, 625, 97, 97, 97, 97, 97, 97, 97, 97, 97, 316, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1159, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1502, 97, 97, 97, 97, 97, 1172, 97, 97, 1175, 1176, 97, 97, 12288, 0, 925, 0, 1179, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 935, 45, 45, 45, 1233, 45, 45, 45, 1236, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1873, 67, 67, 45, 45, 1218, 45, 45, 45, 1223, 45, 45, 45, 45, 45, 45, 45, 1230, 45, 45, 67, 67, 215, 219, 222, 67, 230, 67, 67, 244, 246, 249, 67, 67, 67, 67, 67, 67, 1882, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 1904, 45, 1905, 45, 67, 67, 67, 67, 67, 1258, 67, 1260, 67, 67, 67, 67, 67, 67, 67, 67, 67, 495, 67, 67, 67, 67, 67, 67, 67, 67, 1283, 67, 67, 67, 67, 67, 67, 67, 1290, 67, 67, 67, 67, 67, 67, 67, 818, 67, 67, 67, 67, 67, 67, 37689, 544, 67, 67, 1295, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 2174976, 0, 0, 97, 97, 97, 1326, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1514, 97, 97, 97, 97, 97, 1338, 97, 1340, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1500, 97, 97, 1503, 97, 1363, 97, 97, 97, 97, 97, 97, 97, 1370, 97, 97, 97, 97, 97, 97, 97, 563, 97, 97, 97, 97, 97, 97, 578, 97, 1375, 97, 97, 97, 97, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 685, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1003, 45, 45, 45, 45, 67, 67, 67, 1463, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1778, 97, 97, 97, 97, 97, 1518, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 609, 97, 97, 97, 45, 1542, 45, 45, 45, 45, 45, 45, 45, 1548, 45, 45, 45, 45, 45, 1554, 45, 1570, 1571, 45, 67, 67, 67, 67, 67, 67, 1578, 67, 67, 67, 67, 67, 67, 67, 1055, 67, 67, 67, 67, 67, 1061, 67, 67, 1582, 67, 67, 67, 67, 67, 67, 67, 1588, 67, 67, 67, 67, 67, 1594, 67, 67, 67, 67, 67, 97, 2038, 0, 97, 97, 97, 97, 97, 2044, 45, 45, 45, 995, 45, 45, 45, 45, 1000, 45, 45, 45, 45, 45, 45, 45, 1809, 45, 1811, 45, 45, 45, 45, 45, 67, 1610, 1611, 67, 1476, 0, 1478, 0, 1480, 0, 97, 97, 97, 97, 97, 97, 1618, 1647, 1649, 97, 97, 97, 1652, 97, 1654, 1655, 97, 0, 45, 45, 45, 1658, 45, 45, 67, 67, 216, 67, 67, 67, 67, 234, 67, 67, 67, 67, 252, 254, 1845, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 945, 45, 947, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1881, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 1902, 45, 45, 45, 45, 45, 45, 1908, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1921, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 0, 97, 1937, 97, 97, 1940, 0, 0, 97, 97, 97, 97, 97, 97, 1947, 1948, 1949, 45, 45, 45, 1952, 45, 1954, 45, 45, 45, 45, 1959, 1960, 1961, 67, 67, 67, 67, 67, 67, 1455, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 757, 67, 67, 67, 67, 67, 67, 1964, 67, 1966, 67, 67, 67, 67, 1971, 1972, 1973, 97, 0, 0, 0, 97, 97, 1104, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 884, 97, 97, 97, 889, 97, 97, 1978, 97, 0, 0, 1981, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 736, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1018, 67, 67, 67, 45, 67, 67, 67, 67, 0, 2049, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 933, 45, 45, 45, 45, 1234, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 97, 97, 288, 97, 97, 97, 97, 97, 97, 317, 97, 97, 97, 97, 97, 97, 0, 0, 97, 1787, 97, 97, 97, 97, 0, 0, 45, 45, 378, 45, 45, 45, 45, 45, 390, 45, 45, 45, 45, 45, 45, 45, 424, 45, 45, 45, 431, 433, 45, 45, 45, 67, 1050, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 518, 67, 97, 97, 97, 1144, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 632, 97, 97, 97, 97, 97, 97, 97, 1367, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 855, 97, 97, 97, 97, 67, 97, 97, 97, 97, 97, 97, 1837, 0, 97, 97, 97, 97, 97, 0, 0, 0, 1897, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1208, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 724, 45, 45, 45, 45, 45, 97, 2010, 45, 45, 45, 45, 45, 45, 2016, 67, 67, 67, 67, 67, 67, 2022, 45, 2046, 67, 67, 67, 0, 0, 2050, 97, 97, 97, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 932, 45, 45, 45, 45, 45, 1222, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1227, 45, 45, 45, 45, 45, 133, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 45, 701, 702, 45, 45, 705, 706, 45, 45, 45, 45, 45, 45, 703, 45, 45, 45, 45, 45, 45, 45, 45, 45, 719, 45, 45, 45, 45, 45, 725, 45, 45, 45, 369, 649, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1216, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 834, 97, 97, 97, 97, 97, 97, 97, 1342, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 1799, 97, 97, 45, 45, 45, 1569, 45, 45, 45, 1572, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 1306, 0, 67, 67, 67, 1598, 67, 67, 67, 67, 67, 67, 67, 67, 1606, 67, 67, 1609, 97, 97, 97, 1650, 97, 97, 1653, 97, 97, 97, 0, 45, 45, 1657, 45, 45, 45, 1206, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1421, 45, 45, 45, 1703, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 1711, 97, 97, 0, 1895, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 958, 45, 960, 45, 45, 45, 45, 45, 45, 45, 45, 1913, 45, 45, 1915, 67, 67, 67, 67, 67, 67, 67, 466, 67, 67, 67, 67, 67, 67, 481, 67, 45, 1749, 45, 45, 45, 45, 45, 45, 45, 45, 1755, 45, 45, 45, 45, 45, 173, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 974, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1773, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1886, 0, 0, 0, 97, 97, 67, 2035, 2036, 67, 67, 97, 0, 0, 97, 2041, 2042, 97, 97, 45, 45, 45, 45, 1662, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1397, 45, 45, 45, 45, 151, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 437, 205, 45, 67, 67, 67, 218, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1047, 67, 67, 67, 67, 97, 97, 97, 97, 298, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 870, 97, 97, 97, 97, 97, 97, 97, 97, 352, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 0, 0, 0, 0, 0, 365, 0, 41098, 0, 140, 45, 45, 45, 45, 45, 1427, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1435, 520, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1037, 617, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 923, 45, 1232, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1919, 67, 1759, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1021, 45, 154, 45, 162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 964, 45, 45, 45, 206, 45, 67, 67, 67, 67, 221, 67, 229, 67, 67, 67, 67, 67, 67, 67, 67, 530, 67, 67, 67, 67, 67, 67, 67, 67, 755, 67, 67, 67, 67, 67, 67, 67, 67, 785, 67, 67, 67, 67, 67, 67, 67, 67, 802, 67, 67, 67, 807, 67, 67, 67, 97, 97, 97, 97, 353, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 402, 45, 45, 45, 45, 45, 45, 45, 410, 45, 45, 45, 45, 45, 45, 45, 674, 45, 45, 45, 45, 45, 45, 45, 45, 389, 45, 394, 45, 45, 398, 45, 45, 45, 45, 441, 45, 45, 45, 45, 45, 447, 45, 45, 45, 454, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1768, 67, 67, 67, 67, 67, 488, 67, 67, 67, 67, 67, 67, 67, 496, 67, 67, 67, 67, 67, 67, 67, 1774, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 67, 67, 523, 67, 67, 527, 67, 67, 67, 67, 67, 533, 67, 67, 67, 540, 97, 97, 97, 585, 97, 97, 97, 97, 97, 97, 97, 593, 97, 97, 97, 97, 97, 97, 1784, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 0, 18, 18, 24, 24, 0, 28, 28, 97, 97, 620, 97, 97, 624, 97, 97, 97, 97, 97, 630, 97, 97, 97, 637, 713, 45, 45, 45, 45, 45, 45, 721, 45, 45, 45, 45, 45, 45, 45, 45, 1197, 45, 45, 45, 45, 45, 45, 45, 45, 730, 732, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1581, 67, 45, 67, 67, 67, 67, 1012, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1059, 67, 67, 67, 67, 67, 1024, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 775, 67, 67, 67, 67, 1066, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 479, 67, 67, 67, 67, 67, 67, 1080, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, 287, 0, 2379776, 2170880, 2170880, 97, 97, 97, 1118, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 920, 97, 97, 0, 0, 0, 0, 45, 1181, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 432, 45, 45, 45, 45, 45, 45, 1219, 45, 45, 45, 45, 45, 45, 1226, 45, 45, 45, 45, 45, 45, 959, 45, 45, 45, 45, 45, 45, 45, 45, 45, 184, 45, 45, 45, 45, 202, 45, 1241, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1266, 67, 1268, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1279, 67, 67, 67, 67, 67, 272, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 67, 67, 67, 1286, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1293, 67, 67, 67, 1296, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 281, 94, 0, 0, 97, 97, 97, 1366, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1373, 97, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 0, 97, 1376, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 1384, 45, 45, 67, 208, 67, 67, 67, 67, 67, 67, 237, 67, 67, 67, 67, 67, 67, 67, 1069, 1070, 67, 67, 67, 67, 67, 67, 67, 0, 37140, 24854, 0, 0, 0, 0, 41098, 65821, 45, 1423, 45, 45, 45, 45, 45, 45, 67, 67, 1431, 67, 67, 67, 67, 67, 67, 67, 1083, 37689, 0, 25403, 0, 66365, 0, 0, 0, 1436, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1830, 67, 1452, 1453, 67, 67, 67, 67, 1456, 67, 67, 67, 67, 67, 67, 67, 67, 67, 771, 67, 67, 67, 67, 67, 67, 1461, 67, 67, 67, 1464, 67, 1466, 67, 67, 67, 67, 67, 67, 1470, 67, 67, 67, 67, 67, 67, 1587, 67, 67, 67, 67, 67, 67, 67, 67, 1595, 1489, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1129, 97, 1505, 1506, 97, 97, 97, 97, 1510, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1163, 1164, 97, 97, 97, 97, 97, 1516, 97, 97, 97, 1519, 97, 1521, 97, 97, 97, 97, 97, 97, 1525, 97, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 67, 67, 67, 67, 67, 1586, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1276, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1600, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1301, 0, 0, 0, 1307, 97, 97, 1620, 97, 97, 97, 97, 97, 97, 97, 1627, 97, 97, 97, 97, 97, 97, 913, 97, 97, 97, 97, 919, 97, 97, 97, 0, 97, 97, 97, 1781, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 1792, 1860, 45, 1862, 1863, 45, 1865, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1875, 67, 1877, 1878, 67, 1880, 67, 97, 97, 97, 97, 97, 1887, 0, 1889, 97, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 237568, 0, 367, 0, 97, 1893, 0, 0, 0, 97, 1898, 1899, 97, 1901, 97, 45, 45, 45, 45, 45, 2014, 45, 67, 67, 67, 67, 67, 2020, 67, 97, 1989, 45, 1990, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1996, 67, 1997, 67, 67, 67, 67, 67, 273, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 97, 97, 97, 97, 0, 0, 97, 97, 2005, 0, 97, 2007, 97, 97, 18, 0, 139621, 0, 0, 0, 642, 0, 133, 364, 0, 0, 367, 41606, 0, 97, 97, 2056, 2057, 0, 2059, 45, 67, 0, 97, 45, 67, 0, 97, 45, 45, 67, 209, 67, 67, 67, 223, 67, 67, 67, 67, 67, 67, 67, 67, 67, 786, 67, 67, 67, 791, 67, 67, 45, 45, 940, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 727, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1016, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 133, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 142, 45, 45, 67, 210, 67, 67, 67, 225, 67, 67, 239, 67, 67, 67, 250, 67, 67, 67, 67, 67, 464, 67, 67, 67, 67, 67, 476, 67, 67, 67, 67, 67, 67, 67, 1709, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 1843, 0, 67, 259, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 289, 97, 97, 97, 303, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 901, 97, 97, 97, 97, 97, 339, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 358, 0, 0, 0, 0, 0, 0, 41098, 0, 140, 45, 45, 45, 45, 45, 1953, 45, 1955, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1687, 1688, 67, 67, 67, 67, 45, 45, 405, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1203, 45, 458, 67, 67, 67, 67, 67, 67, 67, 67, 67, 470, 477, 67, 67, 67, 67, 67, 67, 67, 1970, 97, 97, 97, 1974, 0, 0, 0, 97, 1103, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1372, 97, 97, 97, 97, 67, 522, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 536, 67, 67, 67, 67, 67, 67, 1696, 67, 67, 67, 67, 67, 67, 67, 1701, 67, 555, 97, 97, 97, 97, 97, 97, 97, 97, 97, 567, 574, 97, 97, 97, 97, 97, 301, 97, 309, 97, 97, 97, 97, 97, 97, 97, 97, 97, 900, 97, 97, 97, 905, 97, 97, 97, 619, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 633, 97, 97, 18, 0, 139621, 0, 0, 362, 0, 0, 0, 364, 0, 0, 367, 41606, 369, 649, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 663, 664, 67, 67, 67, 67, 750, 751, 67, 67, 67, 67, 758, 67, 67, 67, 67, 67, 67, 67, 1272, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1057, 1058, 67, 67, 67, 67, 67, 67, 67, 67, 797, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 512, 67, 67, 67, 97, 97, 97, 97, 895, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 902, 97, 97, 97, 97, 67, 67, 1051, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1062, 67, 67, 67, 67, 67, 491, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1302, 0, 0, 0, 1308, 97, 97, 97, 97, 1145, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1139, 97, 97, 97, 97, 1156, 97, 97, 97, 97, 97, 97, 1161, 97, 97, 97, 97, 97, 1166, 97, 97, 18, 640, 139621, 0, 641, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 67, 67, 67, 67, 1257, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 1305, 0, 0, 97, 97, 1337, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1630, 97, 67, 1474, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380062, 2171166, 2171166, 97, 1529, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1228, 45, 45, 45, 45, 67, 67, 67, 67, 1707, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 1891, 1739, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1198, 45, 1200, 45, 45, 45, 45, 97, 97, 1894, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 672, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1420, 45, 45, 45, 45, 67, 67, 1965, 67, 1967, 67, 67, 67, 97, 97, 97, 97, 0, 1976, 0, 97, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 97, 97, 1979, 0, 0, 97, 1982, 97, 97, 97, 1986, 45, 45, 45, 45, 45, 735, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1770, 67, 67, 2000, 97, 97, 97, 2002, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1798, 97, 97, 97, 45, 45, 45, 2034, 67, 67, 67, 67, 97, 0, 0, 2040, 97, 97, 97, 97, 45, 45, 45, 45, 1752, 45, 45, 45, 1753, 1754, 45, 45, 45, 45, 45, 45, 383, 45, 45, 45, 45, 45, 45, 45, 45, 45, 675, 45, 45, 45, 45, 45, 45, 438, 45, 45, 45, 45, 45, 445, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1430, 67, 67, 67, 67, 67, 67, 67, 67, 67, 524, 67, 67, 67, 67, 67, 531, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 1096, 97, 97, 97, 621, 97, 97, 97, 97, 97, 628, 97, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 665, 45, 45, 45, 45, 45, 45, 45, 45, 45, 676, 45, 45, 45, 45, 45, 942, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 707, 708, 45, 45, 45, 45, 763, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 809, 810, 67, 67, 67, 67, 783, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 1303, 0, 0, 0, 97, 861, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 613, 97, 45, 45, 956, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1215, 45, 67, 67, 67, 67, 1027, 67, 67, 67, 67, 1032, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 1097, 1064, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1075, 67, 1098, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 331, 97, 97, 97, 97, 1158, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 594, 97, 97, 1309, 0, 0, 0, 1315, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1374, 97, 45, 45, 1543, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1240, 67, 67, 1583, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1252, 67, 97, 97, 97, 1635, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1800, 97, 45, 45, 45, 97, 97, 1793, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1743, 45, 45, 45, 1746, 45, 0, 97, 97, 97, 97, 97, 1851, 97, 45, 45, 45, 45, 1856, 45, 45, 45, 45, 1864, 45, 45, 67, 67, 1869, 67, 67, 67, 67, 1874, 67, 0, 97, 97, 45, 67, 2058, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 45, 67, 211, 67, 67, 67, 67, 67, 67, 240, 67, 67, 67, 67, 67, 67, 67, 1444, 67, 67, 67, 67, 67, 67, 67, 67, 67, 509, 67, 67, 67, 67, 67, 67, 67, 67, 67, 268, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 290, 97, 97, 97, 305, 97, 97, 319, 97, 97, 97, 330, 97, 97, 18, 640, 139621, 0, 641, 0, 0, 0, 0, 364, 0, 643, 367, 41606, 97, 97, 348, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 380, 45, 45, 45, 45, 45, 45, 395, 45, 45, 45, 400, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 658, 45, 45, 45, 45, 45, 972, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 427, 45, 45, 45, 45, 45, 745, 67, 67, 67, 67, 67, 67, 67, 67, 756, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 1086, 25403, 1090, 66365, 1094, 0, 0, 97, 843, 97, 97, 97, 97, 97, 97, 97, 97, 854, 97, 97, 97, 97, 97, 97, 1121, 97, 97, 97, 97, 1126, 97, 97, 97, 97, 45, 980, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1400, 45, 67, 67, 67, 1011, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 1304, 0, 0, 0, 1190, 45, 45, 1193, 1194, 45, 45, 45, 45, 45, 1199, 45, 1201, 45, 45, 45, 45, 1911, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1579, 67, 67, 67, 67, 45, 1205, 45, 45, 45, 45, 45, 45, 45, 45, 1211, 45, 45, 45, 45, 45, 984, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1550, 45, 45, 45, 45, 45, 1217, 45, 45, 45, 45, 45, 45, 1225, 45, 45, 45, 45, 1229, 45, 45, 45, 1388, 45, 45, 45, 45, 45, 45, 1396, 45, 45, 45, 45, 45, 444, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1574, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1590, 67, 67, 67, 67, 67, 1254, 67, 67, 67, 67, 67, 1259, 67, 1261, 67, 67, 67, 67, 1265, 67, 67, 67, 67, 67, 67, 1708, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 67, 67, 67, 67, 1285, 67, 67, 67, 67, 1289, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 1087, 25403, 1091, 66365, 1095, 0, 0, 97, 97, 97, 97, 1339, 97, 1341, 97, 97, 97, 97, 1345, 97, 97, 97, 97, 97, 561, 97, 97, 97, 97, 97, 573, 97, 97, 97, 97, 97, 97, 1717, 97, 0, 97, 97, 97, 97, 97, 97, 97, 591, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1329, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1351, 97, 97, 97, 97, 97, 97, 1357, 97, 97, 97, 97, 97, 588, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 568, 97, 97, 97, 97, 97, 97, 97, 1365, 97, 97, 97, 97, 1369, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1356, 97, 97, 97, 97, 97, 97, 45, 45, 1403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1399, 45, 45, 45, 1413, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1669, 45, 1422, 45, 45, 1425, 45, 45, 1428, 45, 1429, 67, 67, 67, 67, 67, 67, 67, 67, 1468, 67, 67, 67, 67, 67, 67, 67, 67, 529, 67, 67, 67, 67, 67, 67, 539, 67, 67, 1475, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 97, 97, 1530, 97, 0, 45, 45, 1534, 45, 45, 45, 45, 45, 45, 45, 45, 1956, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1599, 67, 67, 1601, 67, 67, 67, 67, 67, 67, 67, 67, 67, 803, 67, 67, 67, 67, 67, 67, 1632, 97, 1634, 0, 97, 97, 97, 1640, 97, 97, 97, 1643, 97, 97, 1645, 97, 97, 97, 97, 97, 912, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1660, 1661, 45, 45, 45, 45, 1665, 1666, 45, 45, 45, 45, 45, 1670, 1692, 1693, 67, 67, 67, 67, 67, 1697, 67, 67, 67, 67, 67, 67, 67, 1702, 97, 97, 1714, 1715, 97, 97, 97, 97, 0, 1721, 1722, 97, 97, 97, 97, 97, 97, 1353, 97, 97, 97, 97, 97, 97, 97, 97, 1362, 1726, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 1734, 97, 97, 97, 97, 97, 848, 849, 97, 97, 97, 97, 856, 97, 97, 97, 97, 97, 354, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 45, 45, 1750, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1681, 45, 0, 1846, 97, 97, 97, 97, 97, 97, 45, 45, 1854, 45, 45, 45, 45, 1859, 67, 67, 67, 1879, 67, 67, 97, 97, 1884, 97, 97, 0, 0, 0, 97, 97, 97, 1105, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1344, 97, 97, 97, 1347, 97, 1892, 97, 0, 0, 0, 97, 97, 97, 1900, 97, 97, 45, 45, 45, 45, 45, 997, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1002, 45, 45, 1005, 1006, 45, 67, 67, 67, 67, 67, 1926, 67, 67, 1928, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1737, 97, 0, 97, 97, 97, 97, 0, 0, 0, 97, 97, 1944, 97, 97, 1946, 45, 45, 45, 1544, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 190, 45, 45, 45, 152, 155, 45, 163, 45, 45, 177, 179, 182, 45, 45, 45, 193, 197, 45, 45, 45, 1672, 45, 45, 45, 45, 45, 1677, 45, 1679, 45, 45, 45, 45, 996, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1212, 45, 45, 45, 45, 67, 260, 264, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 97, 295, 299, 302, 97, 310, 97, 97, 324, 326, 329, 97, 97, 97, 0, 97, 97, 1639, 0, 1641, 97, 97, 97, 97, 97, 97, 97, 97, 1511, 97, 97, 97, 97, 97, 97, 97, 97, 1523, 97, 97, 97, 97, 97, 97, 97, 97, 1719, 97, 97, 97, 97, 97, 97, 97, 97, 1720, 97, 97, 97, 97, 97, 97, 97, 312, 97, 97, 97, 97, 97, 97, 97, 97, 1123, 97, 97, 97, 97, 97, 97, 97, 340, 344, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 373, 375, 419, 45, 45, 45, 45, 45, 45, 45, 45, 45, 428, 45, 45, 435, 45, 45, 45, 1751, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1410, 45, 45, 45, 67, 67, 67, 505, 67, 67, 67, 67, 67, 67, 67, 67, 67, 514, 67, 67, 67, 67, 67, 67, 1969, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 45, 67, 0, 97, 45, 67, 0, 97, 2064, 2065, 0, 2066, 45, 521, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 534, 67, 67, 67, 67, 67, 67, 465, 67, 67, 67, 474, 67, 67, 67, 67, 67, 67, 67, 1467, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 1933, 0, 97, 97, 97, 602, 97, 97, 97, 97, 97, 97, 97, 97, 97, 611, 97, 97, 18, 640, 139621, 358, 641, 0, 0, 0, 0, 364, 0, 0, 367, 0, 618, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 631, 97, 97, 97, 97, 97, 881, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 569, 97, 97, 97, 97, 97, 369, 0, 45, 652, 45, 45, 45, 45, 45, 657, 45, 45, 45, 45, 45, 45, 1235, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1432, 67, 67, 67, 67, 67, 67, 67, 766, 67, 67, 67, 67, 67, 67, 67, 67, 773, 67, 67, 67, 0, 1305, 0, 1311, 0, 1317, 97, 97, 97, 97, 97, 97, 97, 1624, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 1724, 97, 97, 97, 777, 67, 67, 782, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 535, 67, 67, 67, 67, 67, 67, 67, 814, 67, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 97, 837, 97, 97, 97, 97, 97, 97, 1496, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 918, 97, 97, 97, 97, 0, 842, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1168, 97, 97, 97, 97, 864, 97, 97, 97, 97, 97, 97, 97, 97, 871, 97, 97, 97, 0, 1637, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1801, 45, 45, 97, 875, 97, 97, 880, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1151, 1152, 97, 97, 97, 67, 67, 67, 1040, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 790, 67, 67, 67, 1180, 0, 649, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 200, 45, 45, 67, 67, 67, 1454, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 806, 67, 67, 67, 0, 0, 0, 1481, 0, 1094, 0, 0, 97, 1483, 97, 97, 97, 97, 97, 97, 304, 97, 97, 318, 97, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 97, 97, 97, 1507, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1332, 97, 97, 97, 1619, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1631, 97, 1633, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1381, 0, 0, 45, 45, 45, 45, 97, 97, 1727, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 626, 97, 97, 97, 97, 97, 97, 636, 45, 45, 1760, 67, 67, 67, 67, 67, 67, 67, 1765, 67, 67, 67, 67, 67, 67, 67, 1299, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1616, 97, 97, 1803, 45, 45, 45, 45, 1807, 45, 45, 45, 45, 45, 1813, 45, 45, 45, 67, 67, 1684, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 822, 67, 67, 37689, 544, 67, 67, 1818, 67, 67, 67, 67, 1822, 67, 67, 67, 67, 67, 1828, 67, 67, 67, 67, 67, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 2012, 2013, 45, 45, 67, 67, 67, 2018, 2019, 67, 67, 97, 67, 97, 97, 97, 1833, 97, 97, 0, 0, 97, 97, 1840, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 1733, 97, 1735, 97, 97, 97, 0, 97, 97, 97, 1849, 97, 97, 97, 45, 45, 45, 45, 45, 1857, 45, 45, 45, 1910, 45, 1912, 45, 45, 1914, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1017, 67, 67, 1020, 67, 45, 1861, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1872, 67, 67, 67, 67, 67, 67, 752, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1446, 67, 67, 67, 67, 67, 1876, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 1890, 97, 97, 97, 97, 97, 1134, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 570, 97, 97, 97, 97, 580, 1935, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1906, 45, 67, 67, 67, 67, 2048, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 931, 45, 45, 45, 45, 45, 45, 1674, 45, 1676, 45, 45, 45, 45, 45, 45, 45, 446, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1871, 67, 67, 67, 67, 0, 97, 97, 45, 67, 0, 97, 2060, 2061, 0, 2063, 45, 67, 0, 97, 45, 45, 156, 45, 45, 45, 45, 45, 45, 45, 45, 45, 192, 45, 45, 45, 45, 1673, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 429, 45, 45, 45, 45, 67, 67, 67, 269, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 349, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 374, 45, 45, 67, 67, 213, 217, 67, 67, 67, 67, 67, 242, 67, 247, 67, 253, 45, 45, 698, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 399, 45, 45, 0, 0, 0, 0, 925, 41606, 0, 929, 0, 0, 45, 45, 45, 45, 45, 45, 1391, 45, 45, 1395, 45, 45, 45, 45, 45, 45, 423, 45, 45, 45, 45, 45, 45, 45, 436, 45, 67, 67, 67, 67, 1041, 67, 1043, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1776, 67, 67, 97, 97, 97, 1099, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 888, 97, 97, 97, 1131, 97, 97, 97, 97, 1135, 97, 1137, 97, 97, 97, 97, 97, 97, 97, 1497, 97, 97, 97, 97, 97, 97, 97, 97, 97, 883, 97, 97, 97, 97, 97, 97, 1310, 0, 0, 0, 1316, 0, 0, 0, 0, 1100, 0, 0, 0, 97, 97, 97, 97, 97, 1107, 97, 97, 97, 97, 97, 97, 97, 97, 1343, 97, 97, 97, 97, 97, 97, 1348, 0, 0, 1317, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1112, 97, 45, 1804, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1868, 67, 1870, 67, 67, 67, 67, 67, 1817, 67, 67, 1819, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 823, 67, 37689, 544, 67, 97, 1832, 97, 97, 1834, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 1732, 97, 97, 97, 97, 97, 97, 97, 850, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1177, 0, 0, 925, 0, 0, 0, 0, 97, 97, 97, 97, 0, 0, 1941, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1991, 1992, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1998, 134, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 45, 941, 45, 45, 944, 45, 45, 45, 45, 45, 45, 952, 45, 45, 207, 67, 67, 67, 67, 67, 226, 67, 67, 67, 67, 67, 67, 67, 67, 67, 820, 67, 67, 67, 67, 37689, 544, 369, 650, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1682, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 835, 97, 97, 97, 97, 97, 97, 97, 1522, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1725, 67, 67, 67, 1695, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1034, 67, 1036, 67, 67, 67, 265, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 97, 296, 97, 97, 97, 97, 314, 97, 97, 97, 97, 332, 334, 97, 97, 97, 97, 97, 1146, 1147, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1626, 97, 97, 97, 97, 97, 97, 345, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 372, 45, 45, 45, 1220, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1213, 45, 45, 45, 45, 404, 406, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 434, 45, 45, 45, 440, 45, 45, 45, 45, 45, 45, 45, 45, 451, 452, 45, 45, 45, 67, 1683, 67, 67, 67, 1686, 67, 67, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 67, 67, 490, 492, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1447, 67, 67, 1450, 67, 67, 67, 67, 67, 526, 67, 67, 67, 67, 67, 67, 67, 67, 537, 538, 67, 67, 67, 67, 67, 506, 67, 67, 508, 67, 67, 511, 67, 67, 67, 67, 0, 1476, 0, 0, 0, 0, 0, 1478, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 1484, 97, 97, 97, 97, 97, 97, 865, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1499, 97, 97, 97, 97, 97, 97, 97, 97, 97, 587, 589, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 629, 97, 97, 97, 97, 97, 97, 97, 97, 97, 623, 97, 97, 97, 97, 97, 97, 97, 97, 634, 635, 97, 97, 97, 97, 97, 1160, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1628, 97, 97, 97, 97, 369, 0, 45, 45, 45, 45, 45, 655, 45, 45, 45, 45, 45, 45, 45, 45, 999, 45, 1001, 45, 45, 45, 45, 45, 45, 45, 45, 715, 45, 45, 45, 720, 45, 45, 45, 45, 45, 45, 45, 45, 728, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 97, 97, 97, 97, 97, 840, 97, 97, 97, 97, 97, 1174, 97, 97, 97, 97, 0, 0, 925, 0, 0, 0, 0, 0, 0, 0, 1100, 97, 97, 97, 97, 97, 97, 97, 97, 627, 97, 97, 97, 97, 97, 97, 97, 938, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 680, 45, 968, 45, 970, 45, 973, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 962, 45, 45, 45, 45, 45, 979, 45, 45, 45, 45, 45, 985, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1224, 45, 45, 45, 45, 45, 45, 45, 45, 688, 45, 45, 45, 45, 45, 45, 45, 1007, 1008, 67, 67, 67, 67, 67, 1014, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1045, 67, 67, 67, 67, 67, 67, 67, 1038, 67, 67, 67, 67, 67, 67, 1044, 67, 1046, 67, 1049, 67, 67, 67, 67, 67, 67, 800, 67, 67, 67, 67, 67, 67, 808, 67, 67, 0, 0, 0, 1102, 97, 97, 97, 97, 97, 1108, 97, 97, 97, 97, 97, 97, 306, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1371, 97, 97, 97, 97, 97, 97, 97, 97, 1132, 97, 97, 97, 97, 97, 97, 1138, 97, 1140, 97, 1143, 97, 97, 97, 97, 97, 1352, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 869, 97, 97, 97, 97, 97, 45, 1191, 45, 45, 45, 45, 45, 1196, 45, 45, 45, 45, 45, 45, 45, 45, 1407, 45, 45, 45, 45, 45, 45, 45, 45, 986, 45, 45, 45, 45, 45, 45, 991, 45, 67, 67, 67, 1256, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1048, 67, 67, 67, 97, 1336, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 615, 97, 1386, 45, 1387, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 455, 45, 457, 45, 45, 1424, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1433, 67, 1434, 67, 67, 67, 67, 67, 767, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1591, 67, 1593, 67, 67, 45, 45, 1805, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1814, 45, 45, 1816, 67, 67, 67, 67, 1820, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1829, 67, 67, 67, 67, 67, 815, 67, 67, 67, 67, 821, 67, 67, 67, 37689, 544, 67, 1831, 97, 97, 97, 97, 1835, 0, 0, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1731, 97, 97, 97, 97, 97, 97, 97, 97, 97, 853, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 97, 1850, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1547, 45, 45, 45, 45, 45, 45, 45, 45, 1664, 45, 45, 45, 45, 45, 45, 45, 45, 961, 45, 45, 45, 45, 965, 45, 967, 1907, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1920, 0, 1936, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 67, 67, 67, 67, 67, 67, 1763, 67, 67, 67, 67, 67, 67, 67, 67, 1056, 67, 67, 67, 67, 67, 67, 67, 67, 1273, 67, 67, 67, 67, 67, 67, 67, 67, 1457, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 28672, 97, 45, 67, 67, 67, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 2054, 97, 97, 291, 97, 97, 97, 97, 97, 97, 320, 97, 97, 97, 97, 97, 97, 307, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 12288, 0, 925, 926, 1179, 0, 45, 377, 45, 45, 45, 381, 45, 45, 392, 45, 45, 396, 45, 45, 45, 45, 971, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1756, 45, 45, 45, 67, 67, 67, 67, 463, 67, 67, 67, 467, 67, 67, 478, 67, 67, 482, 67, 67, 67, 67, 67, 1028, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1469, 67, 67, 1472, 67, 502, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1460, 67, 97, 97, 97, 97, 560, 97, 97, 97, 564, 97, 97, 575, 97, 97, 579, 97, 97, 97, 97, 97, 1368, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 925, 0, 0, 930, 97, 599, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 872, 97, 45, 666, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1758, 0, 362, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 934, 45, 45, 45, 164, 168, 174, 178, 45, 45, 45, 45, 45, 194, 45, 45, 45, 165, 45, 45, 45, 45, 45, 45, 45, 45, 45, 199, 45, 45, 45, 67, 67, 1010, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1060, 67, 67, 67, 67, 67, 67, 1052, 1053, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1063, 97, 1157, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1167, 97, 97, 97, 97, 97, 1379, 97, 97, 97, 0, 0, 0, 45, 1383, 45, 45, 45, 1806, 45, 45, 45, 45, 45, 45, 1812, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1577, 67, 67, 67, 67, 67, 67, 67, 753, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1262, 67, 67, 67, 67, 67, 67, 67, 1282, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1471, 67, 45, 1402, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 417, 45, 67, 1462, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 97, 1517, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1128, 97, 97, 97, 97, 1636, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 851, 97, 97, 97, 97, 97, 97, 97, 67, 67, 1705, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1842, 0, 0, 1779, 97, 97, 97, 1782, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1789, 97, 97, 0, 0, 0, 97, 1847, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1675, 45, 45, 45, 45, 45, 45, 45, 45, 737, 738, 67, 740, 67, 741, 67, 743, 67, 67, 67, 67, 67, 67, 1968, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 45, 67, 0, 97, 45, 67, 2062, 97, 45, 67, 0, 97, 45, 67, 67, 97, 97, 2001, 97, 0, 0, 2004, 97, 97, 0, 97, 97, 97, 97, 1797, 97, 97, 97, 97, 97, 45, 45, 45, 67, 261, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 292, 97, 97, 97, 97, 311, 315, 321, 325, 97, 97, 97, 97, 97, 97, 1623, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1330, 97, 97, 1333, 1334, 97, 341, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 363, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 1221, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 413, 45, 45, 416, 45, 376, 45, 45, 45, 45, 382, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1408, 45, 45, 45, 45, 45, 403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 414, 45, 45, 45, 418, 67, 67, 67, 462, 67, 67, 67, 67, 468, 67, 67, 67, 67, 67, 67, 67, 67, 1602, 67, 1604, 67, 67, 67, 67, 67, 67, 67, 67, 489, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 500, 67, 67, 67, 67, 67, 1067, 67, 67, 67, 67, 67, 1072, 67, 67, 67, 67, 67, 67, 274, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 504, 67, 67, 67, 67, 67, 67, 67, 510, 67, 67, 67, 517, 519, 541, 67, 37139, 37139, 24853, 24853, 0, 70179, 0, 0, 0, 65820, 65820, 369, 287, 554, 97, 97, 97, 559, 97, 97, 97, 97, 565, 97, 97, 97, 97, 97, 97, 97, 1718, 0, 97, 97, 97, 97, 97, 97, 97, 898, 97, 97, 97, 97, 97, 97, 906, 97, 97, 97, 97, 586, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 597, 97, 97, 97, 97, 97, 1520, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 45, 1656, 45, 45, 45, 97, 97, 601, 97, 97, 97, 97, 97, 97, 97, 607, 97, 97, 97, 614, 616, 638, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 661, 45, 45, 45, 407, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1815, 45, 67, 45, 667, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 678, 45, 45, 45, 421, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 976, 977, 45, 45, 45, 682, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 693, 45, 45, 697, 67, 67, 748, 67, 67, 67, 67, 754, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1274, 67, 67, 67, 67, 67, 67, 67, 67, 765, 67, 67, 67, 67, 769, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1589, 67, 67, 67, 67, 67, 67, 67, 67, 780, 67, 67, 784, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1777, 67, 97, 97, 97, 97, 97, 97, 846, 97, 97, 97, 97, 852, 97, 97, 97, 97, 97, 97, 97, 1742, 45, 45, 45, 45, 45, 45, 45, 1747, 97, 97, 97, 863, 97, 97, 97, 97, 867, 97, 97, 97, 97, 97, 97, 97, 308, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 12288, 1178, 925, 0, 1179, 0, 97, 97, 97, 878, 97, 97, 882, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 12288, 0, 925, 0, 1179, 0, 908, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 925, 0, 0, 0, 954, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 963, 45, 45, 966, 45, 45, 157, 45, 45, 171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 948, 45, 45, 45, 45, 45, 1022, 67, 67, 1026, 67, 67, 67, 1030, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1603, 1605, 67, 67, 67, 1608, 67, 67, 67, 1039, 67, 67, 1042, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 471, 67, 67, 67, 67, 67, 0, 1100, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 904, 97, 97, 97, 97, 1116, 97, 97, 1120, 97, 97, 97, 1124, 97, 97, 97, 97, 97, 97, 562, 97, 97, 97, 571, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1133, 97, 97, 1136, 97, 97, 97, 97, 97, 97, 97, 97, 915, 917, 97, 97, 97, 97, 97, 0, 97, 1170, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 925, 0, 0, 0, 0, 0, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1993, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1275, 67, 67, 67, 1278, 67, 0, 0, 0, 45, 45, 1182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1189, 1204, 45, 45, 45, 1207, 45, 45, 1209, 45, 1210, 45, 45, 45, 45, 45, 45, 1546, 45, 45, 45, 45, 45, 45, 45, 45, 45, 689, 45, 45, 45, 45, 45, 45, 1231, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 236, 67, 67, 67, 67, 67, 67, 67, 801, 67, 67, 67, 805, 67, 67, 67, 67, 67, 1242, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1249, 67, 67, 67, 67, 67, 67, 507, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1300, 0, 0, 0, 0, 0, 1267, 67, 67, 1269, 67, 1270, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1280, 97, 1349, 97, 1350, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1360, 97, 97, 97, 0, 1980, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 673, 45, 45, 45, 45, 677, 45, 45, 45, 45, 1401, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 953, 67, 1437, 67, 1440, 67, 67, 67, 67, 1445, 67, 67, 67, 1448, 67, 67, 67, 67, 67, 67, 1029, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1825, 67, 67, 67, 67, 67, 1473, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320, 0, 834, 97, 97, 97, 97, 1490, 97, 1493, 97, 97, 97, 97, 1498, 97, 97, 97, 1501, 97, 97, 97, 0, 97, 1638, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 916, 97, 97, 97, 97, 97, 97, 0, 1528, 97, 97, 97, 0, 45, 45, 45, 1535, 45, 45, 45, 45, 45, 45, 45, 1867, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1932, 0, 0, 1555, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1567, 45, 45, 158, 45, 45, 172, 45, 45, 45, 183, 45, 45, 45, 45, 201, 45, 45, 67, 212, 67, 67, 67, 67, 231, 235, 241, 245, 67, 67, 67, 67, 67, 67, 493, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 472, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1651, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 1539, 45, 45, 45, 67, 1704, 67, 1706, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1841, 97, 0, 1844, 97, 97, 97, 97, 1716, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 590, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 1385, 1748, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 159, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 415, 45, 45, 97, 97, 1780, 97, 97, 97, 0, 0, 1786, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1730, 0, 97, 97, 97, 97, 97, 1736, 97, 1738, 67, 97, 97, 97, 97, 97, 97, 0, 1838, 97, 97, 97, 97, 97, 0, 0, 97, 1729, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1162, 97, 97, 97, 1165, 97, 97, 97, 45, 1950, 45, 45, 45, 45, 45, 45, 45, 45, 1958, 67, 67, 67, 1962, 67, 67, 67, 67, 67, 1246, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 1710, 97, 97, 97, 1999, 67, 97, 97, 97, 97, 0, 2003, 97, 97, 97, 0, 97, 97, 2008, 2009, 45, 67, 67, 67, 67, 0, 0, 97, 97, 97, 97, 45, 2052, 67, 2053, 0, 0, 0, 0, 925, 41606, 0, 0, 930, 0, 45, 45, 45, 45, 45, 45, 1392, 45, 1394, 45, 45, 45, 45, 45, 45, 45, 1545, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1563, 1565, 45, 45, 45, 1568, 0, 97, 2055, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 28672, 97, 45, 45, 160, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 679, 45, 45, 67, 67, 266, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 346, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 362, 0, 364, 0, 367, 41098, 369, 140, 371, 45, 45, 45, 379, 45, 45, 45, 388, 45, 45, 45, 45, 45, 45, 45, 45, 1663, 45, 45, 45, 45, 45, 45, 45, 45, 45, 449, 45, 45, 45, 45, 45, 67, 67, 542, 37139, 37139, 24853, 24853, 0, 70179, 0, 0, 0, 65820, 65820, 369, 287, 97, 97, 97, 97, 97, 1622, 97, 97, 97, 97, 97, 97, 97, 1629, 97, 97, 0, 1794, 1795, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1745, 45, 45, 97, 639, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 45, 731, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 251, 67, 67, 67, 67, 67, 798, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1073, 67, 67, 67, 860, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 873, 0, 0, 1101, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 921, 97, 0, 67, 67, 67, 67, 1245, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1250, 67, 67, 1253, 0, 0, 1312, 0, 0, 0, 1318, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1106, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1149, 97, 97, 97, 97, 97, 1155, 97, 97, 1325, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1141, 97, 97, 67, 67, 1439, 67, 1441, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1264, 67, 67, 67, 97, 97, 1492, 97, 1494, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1331, 97, 97, 97, 97, 67, 67, 67, 2037, 67, 97, 0, 0, 97, 97, 97, 2043, 97, 45, 45, 45, 442, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 232, 67, 67, 67, 67, 67, 67, 67, 67, 1823, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1975, 0, 0, 97, 874, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1142, 97, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 65, 86, 117, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 63, 84, 115, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 61, 82, 113, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 59, 80, 111, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 57, 78, 109, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 55, 76, 107, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 53, 74, 105, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 51, 72, 103, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 49, 70, 101, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 47, 68, 99, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 45, 67, 97, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 213085, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 0, 0, 44, 0, 0, 32863, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 41, 41, 41, 0, 0, 1138688, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 89, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 127, 127, 127, 127, 102432, 67, 262, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 342, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 360, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 717, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 412, 45, 45, 45, 45, 45, 67, 1009, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1292, 67, 67, 1294, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 1615, 97, 97, 97, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 66, 87, 118, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 64, 85, 116, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 62, 83, 114, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 60, 81, 112, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 58, 79, 110, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 56, 77, 108, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 54, 75, 106, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 52, 73, 104, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 50, 71, 102, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 48, 69, 100, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 46, 67, 98, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 233472, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 69724, 53264, 18, 18, 49172, 0, 57366, 262144, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 45, 45, 161, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 710, 45, 45, 28, 139621, 359, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 1389, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 949, 45, 45, 45, 45, 67, 503, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1449, 67, 67, 97, 600, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1154, 97, 0, 0, 0, 0, 925, 41606, 927, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1866, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 772, 67, 67, 67, 67, 67, 45, 45, 969, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 951, 45, 45, 45, 45, 1192, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1202, 45, 45, 0, 0, 0, 1314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1488, 67, 67, 267, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 347, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 361, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 734, 45, 45, 45, 67, 67, 67, 67, 67, 742, 67, 67, 45, 45, 668, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1214, 45, 45, 1130, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1361, 97, 45, 45, 1671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1552, 45, 45, 0, 0, 0, 0, 2220032, 0, 0, 1130496, 0, 0, 0, 0, 2170880, 2171020, 2170880, 2170880, 18, 0, 0, 131072, 0, 0, 0, 90112, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 1485, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 1537, 45, 45, 45, 45, 45, 1390, 45, 1393, 45, 45, 45, 45, 1398, 45, 45, 45, 2170880, 2171167, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2576384, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2721252, 2744320, 2170880, 2170880, 2170880, 2834432, 2840040, 2170880, 2908160, 2170880, 2170880, 2936832, 2170880, 2170880, 2985984, 2170880, 2994176, 2170880, 2170880, 3014656, 2170880, 3059712, 3076096, 3088384, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 0, 2220032, 0, 0, 0, 1142784, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3215360, 2215936, 2215936, 2215936, 2215936, 2215936, 2437120, 2215936, 2215936, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 543, 0, 545, 0, 0, 2183168, 0, 0, 831, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 3031040, 2170880, 3055616, 2170880, 2170880, 2170880, 2170880, 3092480, 2170880, 2170880, 3125248, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 0, 0, 0, 0, 67, 67, 37139, 37139, 24853, 24853, 0, 0, 0, 0, 0, 65820, 65820, 0, 287, 97, 97, 97, 97, 97, 1783, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 1791, 0, 0, 546, 70179, 0, 0, 0, 0, 552, 0, 97, 97, 97, 97, 97, 97, 97, 604, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1150, 97, 97, 97, 97, 97, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 0, 0, 147456, 0, 0, 0, 0, 925, 41606, 0, 928, 0, 0, 45, 45, 45, 45, 45, 45, 998, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1562, 45, 1564, 45, 45, 45, 45, 0, 2158592, 2158592, 0, 0, 0, 0, 2232320, 2232320, 2232320, 0, 2240512, 2240512, 2240512, 2240512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2416640
  4199. ];
  4200. JSONiqTokenizer.EXPECTED =
  4201. [ 291, 300, 304, 341, 315, 309, 305, 295, 319, 323, 327, 329, 296, 333, 337, 339, 342, 346, 350, 294, 356, 360, 312, 367, 352, 371, 363, 375, 379, 383, 387, 391, 395, 726, 399, 405, 518, 684, 405, 405, 405, 405, 808, 405, 405, 405, 512, 405, 405, 405, 431, 405, 405, 406, 405, 405, 404, 405, 405, 405, 405, 405, 405, 405, 908, 631, 410, 415, 405, 414, 419, 608, 405, 429, 602, 405, 435, 443, 405, 441, 641, 478, 405, 447, 451, 450, 456, 643, 461, 460, 762, 679, 465, 469, 741, 473, 477, 482, 486, 492, 932, 931, 523, 498, 504, 720, 405, 510, 596, 405, 516, 941, 580, 522, 929, 527, 590, 589, 897, 939, 534, 538, 547, 551, 555, 559, 563, 567, 571, 969, 575, 708, 690, 689, 579, 584, 634, 405, 594, 731, 405, 600, 882, 405, 606, 895, 786, 452, 612, 405, 615, 620, 876, 624, 628, 638, 647, 651, 655, 659, 663, 667, 676, 683, 688, 695, 694, 791, 405, 699, 437, 405, 706, 714, 405, 712, 825, 870, 405, 718, 724, 769, 768, 823, 730, 735, 745, 751, 422, 755, 759, 425, 766, 902, 810, 587, 775, 888, 887, 405, 773, 992, 405, 779, 962, 405, 785, 781, 986, 790, 795, 797, 506, 500, 499, 801, 805, 814, 820, 829, 833, 837, 841, 845, 849, 853, 857, 861, 616, 865, 869, 868, 488, 405, 874, 816, 405, 880, 738, 405, 886, 892, 543, 405, 901, 906, 913, 912, 918, 494, 541, 922, 926, 936, 945, 949, 953, 957, 530, 966, 973, 960, 702, 701, 405, 979, 981, 405, 985, 747, 405, 990, 998, 914, 405, 996, 1004, 672, 975, 974, 1014, 1002, 1008, 670, 1012, 405, 405, 405, 405, 405, 401, 1018, 1022, 1026, 1106, 1071, 1111, 1111, 1111, 1082, 1145, 1030, 1101, 1034, 1038, 1106, 1106, 1106, 1106, 1046, 1206, 1052, 1106, 1072, 1111, 1111, 1042, 1134, 1065, 1111, 1112, 1056, 1160, 1207, 1062, 1204, 1208, 1069, 1106, 1106, 1106, 1076, 1111, 1207, 1161, 1122, 1205, 1064, 1094, 1106, 1106, 1107, 1111, 1111, 1111, 1078, 1086, 1207, 1092, 1098, 1046, 1058, 1106, 1106, 1110, 1111, 1111, 1116, 1120, 1161, 1126, 1202, 1104, 1106, 1145, 1146, 1129, 1138, 1088, 1151, 1048, 1157, 1153, 1132, 1141, 1165, 1107, 1111, 1172, 1179, 1109, 1183, 1175, 1143, 1147, 1187, 1108, 1191, 1195, 1144, 1199, 1168, 1212, 1216, 1220, 1224, 1228, 1232, 1236, 1557, 1247, 1241, 1241, 1038, 1434, 1241, 1241, 1241, 1241, 1254, 1275, 1617, 1241, 1280, 1287, 1241, 1241, 1241, 1287, 1241, 2114, 1291, 1241, 1243, 1241, 2049, 1824, 2094, 2095, 1520, 1309, 1241, 1241, 1302, 1241, 1321, 1311, 1241, 1241, 1313, 1778, 1325, 1336, 1241, 1241, 1325, 1330, 1353, 1241, 1241, 1695, 1354, 1241, 1241, 1241, 1294, 1686, 1331, 1241, 1696, 1368, 1241, 1338, 1370, 1241, 1392, 1399, 1364, 2017, 1406, 2016, 1405, 1716, 1406, 1407, 1422, 1417, 1421, 1241, 1241, 1241, 1349, 1426, 1241, 1774, 1756, 1241, 1773, 1241, 1241, 1345, 1964, 1812, 1432, 1241, 1241, 1345, 1993, 1459, 1241, 1241, 1241, 1395, 1848, 1767, 1465, 1241, 1241, 1394, 1847, 1242, 1477, 1241, 1241, 1428, 1241, 1445, 1492, 1241, 1241, 1438, 1241, 1499, 1241, 1241, 1241, 1455, 1241, 1818, 1448, 1241, 1250, 1241, 2026, 1623, 1449, 1241, 1612, 1616, 1241, 1614, 1241, 1257, 1241, 1241, 1985, 1292, 1586, 1512, 1241, 1517, 2050, 1526, 1674, 1519, 1524, 1647, 2051, 1532, 1537, 1551, 1544, 1550, 1555, 1561, 1571, 1578, 1584, 1590, 1591, 1653, 1595, 1602, 1606, 1610, 1634, 1628, 1640, 1633, 1645, 1241, 1241, 1241, 1469, 1241, 1970, 1651, 1241, 1270, 1241, 1241, 1819, 1449, 1241, 1293, 1664, 1241, 1241, 1481, 1485, 1574, 1672, 1241, 1241, 1513, 1317, 1487, 1684, 1241, 1241, 1533, 1299, 1694, 1241, 1241, 1295, 1241, 1241, 1241, 1546, 1700, 1241, 1241, 1707, 1241, 1713, 1241, 1849, 1715, 1241, 1720, 1241, 1276, 1267, 1241, 1241, 2107, 1657, 1864, 1241, 1881, 1241, 1326, 1292, 1241, 1685, 1358, 1724, 1338, 1241, 1363, 1362, 1342, 1340, 1361, 1339, 1833, 1372, 1360, 1833, 1833, 1342, 1343, 1835, 1341, 1731, 1738, 1344, 1241, 1745, 1241, 1379, 1241, 1241, 2092, 1241, 1388, 1761, 1754, 1241, 1386, 1241, 1400, 1760, 1241, 1241, 1241, 1598, 1734, 1241, 1241, 1241, 1635, 1645, 1241, 1780, 1766, 1241, 1241, 1332, 1771, 1241, 1241, 1629, 2079, 1241, 1242, 1784, 1241, 1241, 1680, 1639, 2063, 1790, 1241, 1241, 1741, 1241, 1241, 1800, 1241, 1241, 1762, 1473, 1241, 1806, 1241, 1241, 1786, 1240, 1709, 1241, 1241, 1241, 1668, 1811, 1241, 1940, 1241, 1401, 1974, 1241, 1408, 1413, 1382, 1241, 1816, 1241, 1241, 1802, 2086, 1811, 1241, 1817, 1945, 1823, 2095, 2095, 2047, 2094, 2046, 2080, 1241, 1409, 1312, 1376, 2096, 2048, 1241, 1241, 1807, 1241, 1241, 1241, 2035, 1241, 1241, 1828, 1241, 2057, 2061, 1241, 1241, 1843, 1241, 2059, 1241, 1241, 1241, 1690, 1847, 1241, 1241, 1241, 1703, 2102, 1848, 1241, 1241, 1853, 1292, 1848, 1241, 2016, 1857, 1241, 2002, 1868, 1241, 1436, 1241, 1241, 1271, 1305, 1241, 1874, 1241, 1241, 1884, 2037, 1892, 1241, 1890, 1241, 1461, 1241, 1241, 1795, 1241, 1241, 1891, 1241, 1878, 1241, 1888, 1241, 1888, 1905, 1896, 2087, 1912, 1903, 1241, 1911, 1906, 1916, 1905, 2027, 1863, 1925, 2088, 1859, 1861, 1922, 1927, 1931, 1935, 1494, 1241, 1241, 1918, 1907, 1939, 1917, 1944, 1949, 1241, 1241, 1451, 1955, 1241, 1241, 1241, 1796, 1727, 2061, 1241, 1241, 1899, 1241, 1660, 1968, 1241, 1241, 1951, 1678, 1978, 1241, 1241, 1241, 1839, 1241, 1241, 1984, 1982, 1241, 1488, 1241, 1241, 1624, 1450, 1989, 1241, 1241, 1241, 1870, 1995, 1292, 1241, 1241, 1958, 1261, 1241, 1996, 1241, 1241, 1241, 2039, 2008, 1241, 1241, 1750, 2000, 1241, 1256, 2001, 1960, 1241, 1564, 1241, 1504, 1241, 1241, 1442, 1241, 1241, 1564, 1528, 1263, 1241, 1508, 1241, 1241, 1468, 1498, 2006, 1540, 2015, 1539, 2014, 1748, 2013, 1539, 1831, 2014, 2012, 1500, 1567, 2022, 2021, 1241, 1580, 1241, 1241, 2033, 2037, 1791, 2045, 2031, 1241, 1621, 1241, 1641, 2044, 1241, 1241, 1241, 2093, 1241, 1241, 2055, 1241, 1241, 2067, 1241, 1283, 1241, 1241, 1241, 2101, 2071, 1241, 1241, 1241, 2073, 1848, 2040, 1241, 1241, 1241, 2077, 1241, 1241, 2106, 1241, 1241, 2084, 1241, 2111, 1241, 1241, 1381, 1380, 1241, 1241, 1241, 2100, 1241, 2129, 2118, 2122, 2126, 2197, 2133, 3010, 2825, 2145, 2698, 2156, 2226, 2160, 2161, 2165, 2174, 2293, 2194, 2630, 2201, 2203, 2152, 3019, 2226, 2263, 2209, 2213, 2218, 2269, 2292, 2269, 2269, 2184, 2226, 2238, 2148, 2151, 3017, 2245, 2214, 2269, 2269, 2185, 2226, 2292, 2269, 2291, 2269, 2269, 2269, 2292, 2205, 3019, 2226, 2226, 2160, 2160, 2160, 2261, 2160, 2160, 2160, 2262, 2276, 2160, 2160, 2277, 2216, 2283, 2216, 2269, 2269, 2268, 2269, 2267, 2269, 2269, 2269, 2271, 2568, 2292, 2269, 2293, 2269, 2182, 2190, 2269, 2186, 2226, 2226, 2226, 2226, 2227, 2160, 2160, 2160, 2160, 2263, 2160, 2275, 2277, 2282, 2215, 2217, 2269, 2269, 2291, 2269, 2269, 2293, 2291, 2269, 2220, 2269, 2295, 2294, 2269, 2269, 2305, 2233, 2262, 2278, 2218, 2269, 2234, 2226, 2226, 2228, 2160, 2160, 2160, 2289, 2220, 2294, 2294, 2269, 2269, 2304, 2269, 2160, 2160, 2287, 2269, 2269, 2305, 2269, 2269, 2312, 2269, 2269, 2225, 2226, 2160, 2287, 2289, 2219, 2304, 2295, 2314, 2234, 2226, 2314, 2269, 2226, 2226, 2160, 2288, 2219, 2222, 2304, 2296, 2269, 2224, 2160, 2160, 2269, 2302, 2294, 2314, 2224, 2226, 2288, 2220, 2294, 2269, 2290, 2269, 2269, 2293, 2269, 2269, 2269, 2269, 2270, 2221, 2313, 2225, 2227, 2160, 2300, 2269, 2225, 2261, 2309, 2234, 2229, 2223, 2318, 2318, 2318, 2328, 2336, 2340, 2344, 2350, 2637, 2712, 2358, 2362, 2372, 2135, 2378, 2398, 2135, 2135, 2135, 2135, 2136, 2417, 2241, 2135, 2378, 2135, 2135, 2980, 2984, 2135, 3006, 2135, 2135, 2135, 2945, 2931, 2425, 2400, 2135, 2135, 2135, 2954, 2135, 2481, 2433, 2135, 2135, 2988, 2824, 2135, 2135, 2482, 2434, 2135, 2135, 2440, 2445, 2452, 2135, 2135, 2998, 3002, 2961, 2441, 2446, 2453, 2463, 2974, 2135, 2135, 2135, 2140, 2642, 2709, 2459, 2470, 2465, 2135, 2135, 3005, 2135, 2135, 2987, 2823, 2458, 2469, 2464, 2975, 2135, 2135, 2135, 2353, 2488, 2447, 2324, 2974, 2135, 2409, 2459, 2448, 2135, 2961, 2487, 2446, 2476, 2323, 2973, 2135, 2135, 2135, 2354, 2476, 2974, 2135, 2135, 2135, 2957, 2135, 2135, 2960, 2135, 2135, 2135, 2363, 2409, 2459, 2474, 2465, 2487, 2571, 2973, 2135, 2135, 2168, 2973, 2135, 2135, 2135, 2959, 2135, 2135, 2135, 2506, 2135, 2957, 2488, 2170, 2135, 2135, 2135, 2960, 2135, 2818, 2493, 2135, 2135, 3033, 2135, 2135, 2135, 2934, 2819, 2494, 2135, 2135, 2135, 2976, 2780, 2499, 2135, 2135, 2135, 3000, 2968, 2135, 2935, 2135, 2135, 2135, 2364, 2507, 2135, 2135, 2934, 2135, 2135, 2780, 2492, 2507, 2135, 2135, 2506, 2780, 2135, 2135, 2782, 2780, 2135, 2782, 2135, 2783, 2374, 2514, 2135, 2135, 2135, 3007, 2530, 2974, 2135, 2135, 2135, 3008, 2135, 2135, 2134, 2135, 2526, 2531, 2975, 2135, 2135, 3042, 2581, 2575, 2956, 2135, 2135, 2135, 2394, 2135, 2508, 2535, 2840, 2844, 2495, 2135, 2135, 2136, 2684, 2537, 2842, 2846, 2135, 2136, 2561, 2581, 2551, 2536, 2841, 2845, 2975, 3043, 2582, 2843, 2555, 2135, 3040, 3044, 2538, 2844, 2975, 2135, 2135, 2253, 2644, 2672, 2542, 2554, 2135, 2135, 2346, 2873, 2551, 2555, 2135, 2135, 2135, 2381, 2559, 2565, 2538, 2553, 2135, 2560, 2914, 2576, 2590, 2135, 2135, 2135, 2408, 2136, 2596, 2624, 2135, 2135, 2135, 2409, 2135, 2618, 2597, 3008, 2135, 2135, 2380, 2956, 2601, 2135, 2135, 2135, 2410, 2620, 2624, 2135, 2136, 2383, 2135, 2135, 2783, 2623, 2135, 2135, 2393, 2888, 2136, 2621, 3008, 2135, 2618, 2618, 2622, 2135, 2135, 2405, 2414, 2619, 2384, 2624, 2135, 2136, 2950, 2135, 2138, 2135, 2139, 2135, 2604, 2623, 2135, 2140, 2878, 2665, 2957, 2622, 2135, 2135, 2428, 2762, 2606, 2612, 2135, 2135, 2501, 2586, 2604, 3038, 2135, 2604, 3036, 2387, 2958, 2386, 2135, 2141, 2135, 2421, 2387, 2385, 2135, 2385, 2384, 2384, 2135, 2386, 2628, 2384, 2135, 2135, 2501, 2596, 2591, 2135, 2135, 2135, 2400, 2135, 2634, 2135, 2135, 2559, 2580, 2575, 2648, 2135, 2135, 2135, 2429, 2649, 2135, 2135, 2135, 2435, 2654, 2658, 2135, 2135, 2135, 2436, 2649, 2178, 2659, 2135, 2135, 2595, 2601, 2669, 2677, 2135, 2135, 2616, 2957, 2879, 2665, 2691, 2135, 2363, 2367, 2900, 2878, 2664, 2690, 2975, 2877, 2643, 2670, 2974, 2671, 2975, 2135, 2135, 2619, 2608, 2669, 2673, 2135, 2135, 2653, 2177, 2672, 2135, 2135, 2135, 2486, 2168, 2251, 2255, 2695, 2974, 2709, 2135, 2135, 2135, 2487, 2169, 2399, 2716, 2975, 2135, 2363, 2770, 2776, 2640, 2717, 2135, 2135, 2729, 2135, 2135, 2641, 2718, 2135, 2135, 2135, 2505, 2135, 2640, 2257, 2974, 2135, 2727, 2975, 2135, 2365, 2332, 2895, 2957, 2135, 2959, 2135, 2365, 2749, 2754, 2959, 2958, 2958, 2135, 2380, 2793, 2799, 2135, 2735, 2738, 2135, 2381, 2135, 2135, 2940, 2974, 2135, 2744, 2135, 2135, 2739, 2519, 2976, 2745, 2135, 2135, 2135, 2509, 2755, 2135, 2135, 2135, 2510, 2772, 2778, 2135, 2135, 2740, 2520, 2135, 2771, 2777, 2135, 2135, 2759, 2750, 2792, 2798, 2135, 2135, 2781, 2392, 2779, 2135, 2135, 2135, 2521, 2135, 2679, 2248, 2135, 2135, 2681, 2480, 2135, 2135, 2786, 3000, 2135, 2679, 2683, 2135, 2135, 2416, 2135, 2135, 2135, 2525, 2135, 2730, 2135, 2135, 2135, 2560, 2581, 2135, 2805, 2135, 2135, 2804, 2962, 2832, 2974, 2135, 2382, 2135, 2135, 2958, 2135, 2135, 2960, 2135, 2829, 2833, 2975, 2961, 2965, 2969, 2973, 2968, 2972, 2135, 2135, 2135, 2641, 2135, 2515, 2966, 2970, 2851, 2478, 2135, 2135, 2808, 2135, 2809, 2135, 2135, 2135, 2722, 2852, 2479, 2135, 2135, 2815, 2135, 2135, 2766, 2853, 2480, 2135, 2857, 2479, 2135, 2388, 2723, 2135, 2364, 2331, 2894, 2858, 2480, 2135, 2135, 2850, 2478, 2135, 2135, 2135, 2806, 2864, 2135, 2399, 2256, 2974, 2865, 2135, 2135, 2862, 2135, 2135, 2135, 2685, 2807, 2865, 2135, 2135, 2807, 2863, 2135, 2135, 2135, 2686, 2884, 2807, 2135, 2809, 2807, 2135, 2135, 2807, 2806, 2705, 2810, 2808, 2700, 2869, 2702, 2702, 2702, 2704, 2883, 2135, 2135, 2135, 2730, 2884, 2135, 2135, 2135, 2731, 2321, 2546, 2135, 2135, 2876, 2255, 2889, 2322, 2547, 2135, 2401, 2135, 2135, 2135, 2949, 2367, 2893, 2544, 2973, 2906, 2973, 2135, 2135, 2877, 2663, 2368, 2901, 2907, 2974, 2366, 2899, 2905, 2972, 2920, 2974, 2135, 2135, 2911, 2900, 2920, 2363, 2913, 2918, 2465, 2941, 2975, 2135, 2135, 2924, 2928, 2974, 2945, 2931, 2135, 2135, 2135, 2765, 2136, 2955, 2135, 2135, 2939, 2931, 2380, 2135, 2135, 2380, 2135, 2135, 2135, 2780, 2507, 2137, 2135, 2137, 2135, 2139, 2135, 2806, 2810, 2135, 2135, 2135, 2992, 2135, 2135, 2962, 2966, 2970, 2974, 2135, 2135, 2787, 3014, 2135, 2521, 2993, 2135, 2135, 2135, 2803, 2135, 2135, 2135, 2618, 2607, 2997, 3001, 2135, 2135, 2963, 2967, 2971, 2975, 2135, 2135, 2791, 2797, 2135, 3009, 2999, 3003, 2787, 3001, 2135, 2135, 2964, 2968, 2785, 2999, 3003, 2135, 2135, 2135, 2804, 2785, 2999, 3004, 2135, 2135, 2135, 2807, 2135, 2135, 3023, 2135, 2135, 2135, 2811, 2135, 2135, 3027, 2135, 2135, 2135, 2837, 2968, 3028, 2135, 2135, 2135, 2875, 2135, 2784, 3029, 2135, 2408, 2457, 2446, 0, 14, 0, -2120220672, 1610612736, -2074083328, -2002780160, -2111830528, 1073872896, 1342177280, 1075807216, 4096, 16384, 2048, 8192, 0, 8192, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, -2145386496, 8388608, 1073741824, 0, 0x80000000, 0x80000000, 2097152, 2097152, 2097152, 536870912, 0, 0, 134217728, 33554432, 1536, 268435456, 268435456, 268435456, 268435456, 128, 256, 32, 0, 65536, 131072, 524288, 16777216, 268435456, 0x80000000, 1572864, 1835008, 640, 32768, 65536, 262144, 1048576, 2097152, 196608, 196800, 196608, 196608, 0, 131072, 131072, 131072, 196608, 196624, 196608, 196624, 196608, 196608, 128, 4096, 16384, 16384, 2048, 0, 4, 0, 0, 0x80000000, 2097152, 0, 1024, 32, 32, 0, 65536, 1572864, 1048576, 32768, 32768, 32768, 32768, 196608, 196608, 196608, 64, 64, 196608, 196608, 131072, 131072, 131072, 131072, 268435456, 268435456, 64, 196736, 196608, 196608, 196608, 131072, 196608, 196608, 16384, 4, 4, 4, 2, 32, 32, 65536, 1048576, 12582912, 1073741824, 0, 0, 2, 8, 16, 96, 2048, 32768, 0, 0, 131072, 268435456, 268435456, 268435456, 256, 256, 196608, 196672, 196608, 196608, 196608, 196608, 4, 0, 256, 256, 256, 256, 32, 32, 32768, 32, 32, 32, 32, 32768, 268435456, 268435456, 268435456, 196608, 196608, 196608, 196624, 196608, 196608, 196608, 16, 16, 16, 268435456, 196608, 64, 64, 64, 196608, 196608, 196608, 196672, 268435456, 64, 64, 196608, 196608, 16, 196608, 196608, 196608, 268435456, 64, 196608, 131072, 262144, 4194304, 25165824, 33554432, 134217728, 268435456, 268435456, 196608, 262152, 8, 256, 512, 3072, 16384, 200, -1073741816, 8392713, 40, 8392718, 520, 807404072, 40, 520, 100663304, 0, 0, -540651761, -540651761, 257589048, 0, 262144, 0, 0, 3, 8, 256, 0, 4, 6, 4100, 8388612, 0, 0, 0, 3, 4, 8, 256, 512, 1024, 0, 2097152, 0, 0, -537854471, -537854471, 0, 100663296, 0, 0, 1, 2, 0, 0, 0, 16384, 0, 0, 0, 96, 14336, 0, 0, 0, 7, 8, 234881024, 0, 0, 0, 8, 0, 0, 0, 0, 262144, 0, 0, 16, 64, 384, 512, 0, 1, 1, 0, 12582912, 0, 0, 0, 0, 33554432, 67108864, -606084144, -606084144, -606084138, 0, 0, 28, 32, 768, 1966080, -608174080, 0, 0, 0, 14, 35056, 16, 64, 896, 24576, 98304, 98304, 131072, 262144, 524288, 1048576, 4194304, 25165824, 1048576, 62914560, 134217728, -805306368, 0, 384, 512, 16384, 65536, 131072, 262144, 29360128, 33554432, 134217728, 268435456, 1073741824, 0x80000000, 262144, 524288, 1048576, 29360128, 33554432, 524288, 1048576, 16777216, 33554432, 134217728, 268435456, 1073741824, 0, 0, 0, 123856, 1966080, 0, 64, 384, 16384, 65536, 131072, 16384, 65536, 524288, 268435456, 0x80000000, 0, 0, 524288, 0x80000000, 0, 0, 1, 16, 0, 256, 524288, 0, 0, 0, 25, 96, 128, -537854471, 0, 0, 0, 32, 7404800, -545259520, 0, 0, 0, 60, 0, 249, 64768, 1048576, 6291456, 6291456, 25165824, 100663296, 402653184, 1073741824, 96, 128, 1280, 2048, 4096, 57344, 6291456, 57344, 6291456, 8388608, 16777216, 33554432, 201326592, 1342177280, 0x80000000, 0, 57344, 6291456, 8388608, 100663296, 134217728, 0x80000000, 0, 0, 0, 1, 8, 16, 64, 128, 64, 128, 256, 1024, 131072, 131072, 131072, 262144, 524288, 16777216, 57344, 6291456, 8388608, 67108864, 134217728, 64, 256, 1024, 2048, 4096, 57344, 64, 256, 0, 24576, 32768, 6291456, 67108864, 134217728, 0, 1, 64, 256, 24576, 32768, 4194304, 32768, 4194304, 67108864, 0, 0, 64, 256, 0, 0, 24576, 32768, 0, 16384, 4194304, 67108864, 64, 16384, 0, 0, 1, 64, 256, 16384, 4194304, 67108864, 0, 0, 0, 16384, 0, 16384, 16384, 0, -470447874, -470447874, -470447874, 0, 0, 128, 0, 0, 8, 96, 2048, 32768, 262144, 8388608, 35056, 1376256, -471859200, 0, 0, 14, 16, 224, 2048, 32768, 2097152, 4194304, 8388608, -486539264, 0, 96, 128, 2048, 32768, 262144, 2097152, 262144, 2097152, 8388608, 33554432, 536870912, 1073741824, 0x80000000, 0, 1610612736, 0x80000000, 0, 0, 1, 524288, 1048576, 12582912, 0, 0, 0, 151311, 264503296, 2097152, 8388608, 33554432, 1610612736, 0x80000000, 262144, 8388608, 33554432, 536870912, 67108864, 4194304, 0, 4194304, 0, 4194304, 4194304, 0, 0, 524288, 8388608, 536870912, 1073741824, 0x80000000, 1, 4097, 8388609, 96, 2048, 32768, 1073741824, 0x80000000, 0, 96, 2048, 0x80000000, 0, 0, 96, 2048, 0, 0, 1, 12582912, 0, 0, 0, 0, 1641895695, 1641895695, 0, 0, 0, 249, 7404800, 15, 87808, 1835008, 1639972864, 0, 768, 5120, 16384, 65536, 1835008, 1835008, 12582912, 16777216, 1610612736, 0, 3, 4, 8, 768, 4096, 65536, 0, 0, 256, 512, 786432, 8, 256, 512, 4096, 16384, 1835008, 16384, 1835008, 12582912, 1610612736, 0, 0, 0, 256, 0, 0, 0, 4, 8, 16, 32, 1, 2, 8, 256, 16384, 524288, 16384, 524288, 1048576, 12582912, 1610612736, 0, 0, 0, 8388608, 0, 0, 0, 524288, 4194304, 0, 0, 0, 8388608, -548662288, -548662288, -548662288, 0, 0, 256, 16384, 65536, 520093696, -1073741824, 0, 0, 0, 16777216, 0, 16, 32, 960, 4096, 4980736, 520093696, 1073741824, 0, 32, 896, 4096, 57344, 1048576, 6291456, 8388608, 16777216, 100663296, 134217728, 268435456, 0x80000000, 0, 512, 786432, 4194304, 33554432, 134217728, 268435456, 0, 786432, 4194304, 134217728, 268435456, 0, 524288, 4194304, 268435456, 0, 0, 0, 0, 0, 4194304, 4194304, -540651761, 0, 0, 0, 2, 4, 8, 16, 96, 128, 264503296, -805306368, 0, 0, 0, 8, 256, 512, 19456, 131072, 3072, 16384, 131072, 262144, 8388608, 16777216, 512, 1024, 2048, 16384, 131072, 262144, 131072, 262144, 8388608, 33554432, 201326592, 268435456, 0, 3, 4, 256, 1024, 2048, 57344, 16384, 131072, 8388608, 33554432, 134217728, 268435456, 0, 3, 256, 1024, 16384, 131072, 33554432, 134217728, 1073741824, 0x80000000, 0, 0, 256, 524288, 0x80000000, 0, 3, 256, 33554432, 134217728, 1073741824, 0, 1, 2, 33554432, 1, 2, 134217728, 1073741824, 0, 1, 2, 134217728, 0, 0, 0, 64, 0, 0, 0, 16, 32, 896, 4096, 786432, 4194304, 16777216, 33554432, 201326592, 268435456, 1073741824, 0x80000000, 0, 0, 0, 15, 0, 4980736, 4980736, 4980736, 70460, 70460, 3478332, 0, 0, 1008, 4984832, 520093696, 60, 4864, 65536, 0, 0, 0, 12, 16, 32, 256, 512, 4096, 65536, 0, 0, 0, 67108864, 0, 0, 0, 12, 0, 256, 512, 65536, 0, 0, 1024, 512, 131072, 131072, 4, 16, 32, 65536, 0, 4, 16, 32, 0, 0, 0, 4, 16, 0, 0, 16384, 67108864, 0, 0, 1, 24, 96, 128, 256, 1024
  4202. ];
  4203. JSONiqTokenizer.TOKEN =
  4204. [
  4205. "(0)",
  4206. "JSONChar",
  4207. "JSONCharRef",
  4208. "JSONPredefinedCharRef",
  4209. "ModuleDecl",
  4210. "Annotation",
  4211. "OptionDecl",
  4212. "Operator",
  4213. "Variable",
  4214. "Tag",
  4215. "EndTag",
  4216. "PragmaContents",
  4217. "DirCommentContents",
  4218. "DirPIContents",
  4219. "CDataSectionContents",
  4220. "AttrTest",
  4221. "Wildcard",
  4222. "EQName",
  4223. "IntegerLiteral",
  4224. "DecimalLiteral",
  4225. "DoubleLiteral",
  4226. "PredefinedEntityRef",
  4227. "'\"\"'",
  4228. "EscapeApos",
  4229. "AposChar",
  4230. "ElementContentChar",
  4231. "QuotAttrContentChar",
  4232. "AposAttrContentChar",
  4233. "NCName",
  4234. "QName",
  4235. "S",
  4236. "CharRef",
  4237. "CommentContents",
  4238. "DocTag",
  4239. "DocCommentContents",
  4240. "EOF",
  4241. "'!'",
  4242. "'\"'",
  4243. "'#'",
  4244. "'#)'",
  4245. "'$$'",
  4246. "''''",
  4247. "'('",
  4248. "'(#'",
  4249. "'(:'",
  4250. "'(:~'",
  4251. "')'",
  4252. "'*'",
  4253. "'*'",
  4254. "','",
  4255. "'-->'",
  4256. "'.'",
  4257. "'/'",
  4258. "'/>'",
  4259. "':'",
  4260. "':)'",
  4261. "';'",
  4262. "'<!--'",
  4263. "'<![CDATA['",
  4264. "'<?'",
  4265. "'='",
  4266. "'>'",
  4267. "'?'",
  4268. "'?>'",
  4269. "'NaN'",
  4270. "'['",
  4271. "']'",
  4272. "']]>'",
  4273. "'after'",
  4274. "'all'",
  4275. "'allowing'",
  4276. "'ancestor'",
  4277. "'ancestor-or-self'",
  4278. "'and'",
  4279. "'any'",
  4280. "'append'",
  4281. "'array'",
  4282. "'as'",
  4283. "'ascending'",
  4284. "'at'",
  4285. "'attribute'",
  4286. "'base-uri'",
  4287. "'before'",
  4288. "'boundary-space'",
  4289. "'break'",
  4290. "'by'",
  4291. "'case'",
  4292. "'cast'",
  4293. "'castable'",
  4294. "'catch'",
  4295. "'check'",
  4296. "'child'",
  4297. "'collation'",
  4298. "'collection'",
  4299. "'comment'",
  4300. "'constraint'",
  4301. "'construction'",
  4302. "'contains'",
  4303. "'content'",
  4304. "'context'",
  4305. "'continue'",
  4306. "'copy'",
  4307. "'copy-namespaces'",
  4308. "'count'",
  4309. "'decimal-format'",
  4310. "'decimal-separator'",
  4311. "'declare'",
  4312. "'default'",
  4313. "'delete'",
  4314. "'descendant'",
  4315. "'descendant-or-self'",
  4316. "'descending'",
  4317. "'diacritics'",
  4318. "'different'",
  4319. "'digit'",
  4320. "'distance'",
  4321. "'div'",
  4322. "'document'",
  4323. "'document-node'",
  4324. "'element'",
  4325. "'else'",
  4326. "'empty'",
  4327. "'empty-sequence'",
  4328. "'encoding'",
  4329. "'end'",
  4330. "'entire'",
  4331. "'eq'",
  4332. "'every'",
  4333. "'exactly'",
  4334. "'except'",
  4335. "'exit'",
  4336. "'external'",
  4337. "'first'",
  4338. "'following'",
  4339. "'following-sibling'",
  4340. "'for'",
  4341. "'foreach'",
  4342. "'foreign'",
  4343. "'from'",
  4344. "'ft-option'",
  4345. "'ftand'",
  4346. "'ftnot'",
  4347. "'ftor'",
  4348. "'function'",
  4349. "'ge'",
  4350. "'greatest'",
  4351. "'group'",
  4352. "'grouping-separator'",
  4353. "'gt'",
  4354. "'idiv'",
  4355. "'if'",
  4356. "'import'",
  4357. "'in'",
  4358. "'index'",
  4359. "'infinity'",
  4360. "'inherit'",
  4361. "'insensitive'",
  4362. "'insert'",
  4363. "'instance'",
  4364. "'integrity'",
  4365. "'intersect'",
  4366. "'into'",
  4367. "'is'",
  4368. "'item'",
  4369. "'json'",
  4370. "'json-item'",
  4371. "'key'",
  4372. "'language'",
  4373. "'last'",
  4374. "'lax'",
  4375. "'le'",
  4376. "'least'",
  4377. "'let'",
  4378. "'levels'",
  4379. "'loop'",
  4380. "'lowercase'",
  4381. "'lt'",
  4382. "'minus-sign'",
  4383. "'mod'",
  4384. "'modify'",
  4385. "'module'",
  4386. "'most'",
  4387. "'namespace'",
  4388. "'namespace-node'",
  4389. "'ne'",
  4390. "'next'",
  4391. "'no'",
  4392. "'no-inherit'",
  4393. "'no-preserve'",
  4394. "'node'",
  4395. "'nodes'",
  4396. "'not'",
  4397. "'object'",
  4398. "'occurs'",
  4399. "'of'",
  4400. "'on'",
  4401. "'only'",
  4402. "'option'",
  4403. "'or'",
  4404. "'order'",
  4405. "'ordered'",
  4406. "'ordering'",
  4407. "'paragraph'",
  4408. "'paragraphs'",
  4409. "'parent'",
  4410. "'pattern-separator'",
  4411. "'per-mille'",
  4412. "'percent'",
  4413. "'phrase'",
  4414. "'position'",
  4415. "'preceding'",
  4416. "'preceding-sibling'",
  4417. "'preserve'",
  4418. "'previous'",
  4419. "'processing-instruction'",
  4420. "'relationship'",
  4421. "'rename'",
  4422. "'replace'",
  4423. "'return'",
  4424. "'returning'",
  4425. "'revalidation'",
  4426. "'same'",
  4427. "'satisfies'",
  4428. "'schema'",
  4429. "'schema-attribute'",
  4430. "'schema-element'",
  4431. "'score'",
  4432. "'self'",
  4433. "'sensitive'",
  4434. "'sentence'",
  4435. "'sentences'",
  4436. "'skip'",
  4437. "'sliding'",
  4438. "'some'",
  4439. "'stable'",
  4440. "'start'",
  4441. "'stemming'",
  4442. "'stop'",
  4443. "'strict'",
  4444. "'strip'",
  4445. "'structured-item'",
  4446. "'switch'",
  4447. "'text'",
  4448. "'then'",
  4449. "'thesaurus'",
  4450. "'times'",
  4451. "'to'",
  4452. "'treat'",
  4453. "'try'",
  4454. "'tumbling'",
  4455. "'type'",
  4456. "'typeswitch'",
  4457. "'union'",
  4458. "'unique'",
  4459. "'unordered'",
  4460. "'updating'",
  4461. "'uppercase'",
  4462. "'using'",
  4463. "'validate'",
  4464. "'value'",
  4465. "'variable'",
  4466. "'version'",
  4467. "'weight'",
  4468. "'when'",
  4469. "'where'",
  4470. "'while'",
  4471. "'wildcards'",
  4472. "'window'",
  4473. "'with'",
  4474. "'without'",
  4475. "'word'",
  4476. "'words'",
  4477. "'xquery'",
  4478. "'zero-digit'",
  4479. "'{'",
  4480. "'{{'",
  4481. "'|'",
  4482. "'}'",
  4483. "'}}'"
  4484. ];
  4485. },{}],"/node_modules/xqlint/lib/lexers/XQueryTokenizer.js":[function(_dereq_,module,exports){
  4486. var XQueryTokenizer = exports.XQueryTokenizer = function XQueryTokenizer(string, parsingEventHandler)
  4487. {
  4488. init(string, parsingEventHandler);
  4489. var self = this;
  4490. this.ParseException = function(b, e, s, o, x)
  4491. {
  4492. var
  4493. begin = b,
  4494. end = e,
  4495. state = s,
  4496. offending = o,
  4497. expected = x;
  4498. this.getBegin = function() {return begin;};
  4499. this.getEnd = function() {return end;};
  4500. this.getState = function() {return state;};
  4501. this.getExpected = function() {return expected;};
  4502. this.getOffending = function() {return offending;};
  4503. this.getMessage = function()
  4504. {
  4505. return offending < 0 ? "lexical analysis failed" : "syntax error";
  4506. };
  4507. };
  4508. function init(string, parsingEventHandler)
  4509. {
  4510. eventHandler = parsingEventHandler;
  4511. input = string;
  4512. size = string.length;
  4513. reset(0, 0, 0);
  4514. }
  4515. this.getInput = function()
  4516. {
  4517. return input;
  4518. };
  4519. function reset(l, b, e)
  4520. {
  4521. b0 = b; e0 = b;
  4522. l1 = l; b1 = b; e1 = e;
  4523. end = e;
  4524. eventHandler.reset(input);
  4525. }
  4526. this.getOffendingToken = function(e)
  4527. {
  4528. var o = e.getOffending();
  4529. return o >= 0 ? XQueryTokenizer.TOKEN[o] : null;
  4530. };
  4531. this.getExpectedTokenSet = function(e)
  4532. {
  4533. var expected;
  4534. if (e.getExpected() < 0)
  4535. {
  4536. expected = XQueryTokenizer.getTokenSet(- e.getState());
  4537. }
  4538. else
  4539. {
  4540. expected = [XQueryTokenizer.TOKEN[e.getExpected()]];
  4541. }
  4542. return expected;
  4543. };
  4544. this.getErrorMessage = function(e)
  4545. {
  4546. var tokenSet = this.getExpectedTokenSet(e);
  4547. var found = this.getOffendingToken(e);
  4548. var prefix = input.substring(0, e.getBegin());
  4549. var lines = prefix.split("\n");
  4550. var line = lines.length;
  4551. var column = lines[line - 1].length + 1;
  4552. var size = e.getEnd() - e.getBegin();
  4553. return e.getMessage()
  4554. + (found == null ? "" : ", found " + found)
  4555. + "\nwhile expecting "
  4556. + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
  4557. + "\n"
  4558. + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
  4559. + "at line " + line + ", column " + column + ":\n..."
  4560. + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
  4561. + "...";
  4562. };
  4563. this.parse_start = function()
  4564. {
  4565. eventHandler.startNonterminal("start", e0);
  4566. lookahead1W(14); // ModuleDecl | Annotation | OptionDecl | Operator | Variable | Tag | AttrTest |
  4567. switch (l1)
  4568. {
  4569. case 55: // '<![CDATA['
  4570. shift(55); // '<![CDATA['
  4571. break;
  4572. case 54: // '<!--'
  4573. shift(54); // '<!--'
  4574. break;
  4575. case 56: // '<?'
  4576. shift(56); // '<?'
  4577. break;
  4578. case 40: // '(#'
  4579. shift(40); // '(#'
  4580. break;
  4581. case 42: // '(:~'
  4582. shift(42); // '(:~'
  4583. break;
  4584. case 41: // '(:'
  4585. shift(41); // '(:'
  4586. break;
  4587. case 35: // '"'
  4588. shift(35); // '"'
  4589. break;
  4590. case 38: // "'"
  4591. shift(38); // "'"
  4592. break;
  4593. case 274: // '}'
  4594. shift(274); // '}'
  4595. break;
  4596. case 271: // '{'
  4597. shift(271); // '{'
  4598. break;
  4599. case 39: // '('
  4600. shift(39); // '('
  4601. break;
  4602. case 43: // ')'
  4603. shift(43); // ')'
  4604. break;
  4605. case 49: // '/'
  4606. shift(49); // '/'
  4607. break;
  4608. case 62: // '['
  4609. shift(62); // '['
  4610. break;
  4611. case 63: // ']'
  4612. shift(63); // ']'
  4613. break;
  4614. case 46: // ','
  4615. shift(46); // ','
  4616. break;
  4617. case 48: // '.'
  4618. shift(48); // '.'
  4619. break;
  4620. case 53: // ';'
  4621. shift(53); // ';'
  4622. break;
  4623. case 51: // ':'
  4624. shift(51); // ':'
  4625. break;
  4626. case 34: // '!'
  4627. shift(34); // '!'
  4628. break;
  4629. case 273: // '|'
  4630. shift(273); // '|'
  4631. break;
  4632. case 2: // Annotation
  4633. shift(2); // Annotation
  4634. break;
  4635. case 1: // ModuleDecl
  4636. shift(1); // ModuleDecl
  4637. break;
  4638. case 3: // OptionDecl
  4639. shift(3); // OptionDecl
  4640. break;
  4641. case 12: // AttrTest
  4642. shift(12); // AttrTest
  4643. break;
  4644. case 13: // Wildcard
  4645. shift(13); // Wildcard
  4646. break;
  4647. case 15: // IntegerLiteral
  4648. shift(15); // IntegerLiteral
  4649. break;
  4650. case 16: // DecimalLiteral
  4651. shift(16); // DecimalLiteral
  4652. break;
  4653. case 17: // DoubleLiteral
  4654. shift(17); // DoubleLiteral
  4655. break;
  4656. case 5: // Variable
  4657. shift(5); // Variable
  4658. break;
  4659. case 6: // Tag
  4660. shift(6); // Tag
  4661. break;
  4662. case 4: // Operator
  4663. shift(4); // Operator
  4664. break;
  4665. case 33: // EOF
  4666. shift(33); // EOF
  4667. break;
  4668. default:
  4669. parse_EQName();
  4670. }
  4671. eventHandler.endNonterminal("start", e0);
  4672. };
  4673. this.parse_StartTag = function()
  4674. {
  4675. eventHandler.startNonterminal("StartTag", e0);
  4676. lookahead1W(8); // QName | S^WS | EOF | '"' | "'" | '/>' | '=' | '>'
  4677. switch (l1)
  4678. {
  4679. case 58: // '>'
  4680. shift(58); // '>'
  4681. break;
  4682. case 50: // '/>'
  4683. shift(50); // '/>'
  4684. break;
  4685. case 27: // QName
  4686. shift(27); // QName
  4687. break;
  4688. case 57: // '='
  4689. shift(57); // '='
  4690. break;
  4691. case 35: // '"'
  4692. shift(35); // '"'
  4693. break;
  4694. case 38: // "'"
  4695. shift(38); // "'"
  4696. break;
  4697. default:
  4698. shift(33); // EOF
  4699. }
  4700. eventHandler.endNonterminal("StartTag", e0);
  4701. };
  4702. this.parse_TagContent = function()
  4703. {
  4704. eventHandler.startNonterminal("TagContent", e0);
  4705. lookahead1(11); // Tag | EndTag | PredefinedEntityRef | ElementContentChar | CharRef | EOF |
  4706. switch (l1)
  4707. {
  4708. case 23: // ElementContentChar
  4709. shift(23); // ElementContentChar
  4710. break;
  4711. case 6: // Tag
  4712. shift(6); // Tag
  4713. break;
  4714. case 7: // EndTag
  4715. shift(7); // EndTag
  4716. break;
  4717. case 55: // '<![CDATA['
  4718. shift(55); // '<![CDATA['
  4719. break;
  4720. case 54: // '<!--'
  4721. shift(54); // '<!--'
  4722. break;
  4723. case 18: // PredefinedEntityRef
  4724. shift(18); // PredefinedEntityRef
  4725. break;
  4726. case 29: // CharRef
  4727. shift(29); // CharRef
  4728. break;
  4729. case 272: // '{{'
  4730. shift(272); // '{{'
  4731. break;
  4732. case 275: // '}}'
  4733. shift(275); // '}}'
  4734. break;
  4735. case 271: // '{'
  4736. shift(271); // '{'
  4737. break;
  4738. default:
  4739. shift(33); // EOF
  4740. }
  4741. eventHandler.endNonterminal("TagContent", e0);
  4742. };
  4743. this.parse_AposAttr = function()
  4744. {
  4745. eventHandler.startNonterminal("AposAttr", e0);
  4746. lookahead1(10); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | EOF | "'" |
  4747. switch (l1)
  4748. {
  4749. case 20: // EscapeApos
  4750. shift(20); // EscapeApos
  4751. break;
  4752. case 25: // AposAttrContentChar
  4753. shift(25); // AposAttrContentChar
  4754. break;
  4755. case 18: // PredefinedEntityRef
  4756. shift(18); // PredefinedEntityRef
  4757. break;
  4758. case 29: // CharRef
  4759. shift(29); // CharRef
  4760. break;
  4761. case 272: // '{{'
  4762. shift(272); // '{{'
  4763. break;
  4764. case 275: // '}}'
  4765. shift(275); // '}}'
  4766. break;
  4767. case 271: // '{'
  4768. shift(271); // '{'
  4769. break;
  4770. case 38: // "'"
  4771. shift(38); // "'"
  4772. break;
  4773. default:
  4774. shift(33); // EOF
  4775. }
  4776. eventHandler.endNonterminal("AposAttr", e0);
  4777. };
  4778. this.parse_QuotAttr = function()
  4779. {
  4780. eventHandler.startNonterminal("QuotAttr", e0);
  4781. lookahead1(9); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | EOF | '"' |
  4782. switch (l1)
  4783. {
  4784. case 19: // EscapeQuot
  4785. shift(19); // EscapeQuot
  4786. break;
  4787. case 24: // QuotAttrContentChar
  4788. shift(24); // QuotAttrContentChar
  4789. break;
  4790. case 18: // PredefinedEntityRef
  4791. shift(18); // PredefinedEntityRef
  4792. break;
  4793. case 29: // CharRef
  4794. shift(29); // CharRef
  4795. break;
  4796. case 272: // '{{'
  4797. shift(272); // '{{'
  4798. break;
  4799. case 275: // '}}'
  4800. shift(275); // '}}'
  4801. break;
  4802. case 271: // '{'
  4803. shift(271); // '{'
  4804. break;
  4805. case 35: // '"'
  4806. shift(35); // '"'
  4807. break;
  4808. default:
  4809. shift(33); // EOF
  4810. }
  4811. eventHandler.endNonterminal("QuotAttr", e0);
  4812. };
  4813. this.parse_CData = function()
  4814. {
  4815. eventHandler.startNonterminal("CData", e0);
  4816. lookahead1(1); // CDataSectionContents | EOF | ']]>'
  4817. switch (l1)
  4818. {
  4819. case 11: // CDataSectionContents
  4820. shift(11); // CDataSectionContents
  4821. break;
  4822. case 64: // ']]>'
  4823. shift(64); // ']]>'
  4824. break;
  4825. default:
  4826. shift(33); // EOF
  4827. }
  4828. eventHandler.endNonterminal("CData", e0);
  4829. };
  4830. this.parse_XMLComment = function()
  4831. {
  4832. eventHandler.startNonterminal("XMLComment", e0);
  4833. lookahead1(0); // DirCommentContents | EOF | '-->'
  4834. switch (l1)
  4835. {
  4836. case 9: // DirCommentContents
  4837. shift(9); // DirCommentContents
  4838. break;
  4839. case 47: // '-->'
  4840. shift(47); // '-->'
  4841. break;
  4842. default:
  4843. shift(33); // EOF
  4844. }
  4845. eventHandler.endNonterminal("XMLComment", e0);
  4846. };
  4847. this.parse_PI = function()
  4848. {
  4849. eventHandler.startNonterminal("PI", e0);
  4850. lookahead1(3); // DirPIContents | EOF | '?' | '?>'
  4851. switch (l1)
  4852. {
  4853. case 10: // DirPIContents
  4854. shift(10); // DirPIContents
  4855. break;
  4856. case 59: // '?'
  4857. shift(59); // '?'
  4858. break;
  4859. case 60: // '?>'
  4860. shift(60); // '?>'
  4861. break;
  4862. default:
  4863. shift(33); // EOF
  4864. }
  4865. eventHandler.endNonterminal("PI", e0);
  4866. };
  4867. this.parse_Pragma = function()
  4868. {
  4869. eventHandler.startNonterminal("Pragma", e0);
  4870. lookahead1(2); // PragmaContents | EOF | '#' | '#)'
  4871. switch (l1)
  4872. {
  4873. case 8: // PragmaContents
  4874. shift(8); // PragmaContents
  4875. break;
  4876. case 36: // '#'
  4877. shift(36); // '#'
  4878. break;
  4879. case 37: // '#)'
  4880. shift(37); // '#)'
  4881. break;
  4882. default:
  4883. shift(33); // EOF
  4884. }
  4885. eventHandler.endNonterminal("Pragma", e0);
  4886. };
  4887. this.parse_Comment = function()
  4888. {
  4889. eventHandler.startNonterminal("Comment", e0);
  4890. lookahead1(4); // CommentContents | EOF | '(:' | ':)'
  4891. switch (l1)
  4892. {
  4893. case 52: // ':)'
  4894. shift(52); // ':)'
  4895. break;
  4896. case 41: // '(:'
  4897. shift(41); // '(:'
  4898. break;
  4899. case 30: // CommentContents
  4900. shift(30); // CommentContents
  4901. break;
  4902. default:
  4903. shift(33); // EOF
  4904. }
  4905. eventHandler.endNonterminal("Comment", e0);
  4906. };
  4907. this.parse_CommentDoc = function()
  4908. {
  4909. eventHandler.startNonterminal("CommentDoc", e0);
  4910. lookahead1(5); // DocTag | DocCommentContents | EOF | '(:' | ':)'
  4911. switch (l1)
  4912. {
  4913. case 31: // DocTag
  4914. shift(31); // DocTag
  4915. break;
  4916. case 32: // DocCommentContents
  4917. shift(32); // DocCommentContents
  4918. break;
  4919. case 52: // ':)'
  4920. shift(52); // ':)'
  4921. break;
  4922. case 41: // '(:'
  4923. shift(41); // '(:'
  4924. break;
  4925. default:
  4926. shift(33); // EOF
  4927. }
  4928. eventHandler.endNonterminal("CommentDoc", e0);
  4929. };
  4930. this.parse_QuotString = function()
  4931. {
  4932. eventHandler.startNonterminal("QuotString", e0);
  4933. lookahead1(6); // PredefinedEntityRef | EscapeQuot | QuotChar | CharRef | EOF | '"'
  4934. switch (l1)
  4935. {
  4936. case 18: // PredefinedEntityRef
  4937. shift(18); // PredefinedEntityRef
  4938. break;
  4939. case 29: // CharRef
  4940. shift(29); // CharRef
  4941. break;
  4942. case 19: // EscapeQuot
  4943. shift(19); // EscapeQuot
  4944. break;
  4945. case 21: // QuotChar
  4946. shift(21); // QuotChar
  4947. break;
  4948. case 35: // '"'
  4949. shift(35); // '"'
  4950. break;
  4951. default:
  4952. shift(33); // EOF
  4953. }
  4954. eventHandler.endNonterminal("QuotString", e0);
  4955. };
  4956. this.parse_AposString = function()
  4957. {
  4958. eventHandler.startNonterminal("AposString", e0);
  4959. lookahead1(7); // PredefinedEntityRef | EscapeApos | AposChar | CharRef | EOF | "'"
  4960. switch (l1)
  4961. {
  4962. case 18: // PredefinedEntityRef
  4963. shift(18); // PredefinedEntityRef
  4964. break;
  4965. case 29: // CharRef
  4966. shift(29); // CharRef
  4967. break;
  4968. case 20: // EscapeApos
  4969. shift(20); // EscapeApos
  4970. break;
  4971. case 22: // AposChar
  4972. shift(22); // AposChar
  4973. break;
  4974. case 38: // "'"
  4975. shift(38); // "'"
  4976. break;
  4977. default:
  4978. shift(33); // EOF
  4979. }
  4980. eventHandler.endNonterminal("AposString", e0);
  4981. };
  4982. this.parse_Prefix = function()
  4983. {
  4984. eventHandler.startNonterminal("Prefix", e0);
  4985. lookahead1W(13); // NCName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  4986. whitespace();
  4987. parse_NCName();
  4988. eventHandler.endNonterminal("Prefix", e0);
  4989. };
  4990. this.parse__EQName = function()
  4991. {
  4992. eventHandler.startNonterminal("_EQName", e0);
  4993. lookahead1W(12); // EQName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  4994. whitespace();
  4995. parse_EQName();
  4996. eventHandler.endNonterminal("_EQName", e0);
  4997. };
  4998. function parse_EQName()
  4999. {
  5000. eventHandler.startNonterminal("EQName", e0);
  5001. switch (l1)
  5002. {
  5003. case 77: // 'attribute'
  5004. shift(77); // 'attribute'
  5005. break;
  5006. case 91: // 'comment'
  5007. shift(91); // 'comment'
  5008. break;
  5009. case 115: // 'document-node'
  5010. shift(115); // 'document-node'
  5011. break;
  5012. case 116: // 'element'
  5013. shift(116); // 'element'
  5014. break;
  5015. case 119: // 'empty-sequence'
  5016. shift(119); // 'empty-sequence'
  5017. break;
  5018. case 140: // 'function'
  5019. shift(140); // 'function'
  5020. break;
  5021. case 147: // 'if'
  5022. shift(147); // 'if'
  5023. break;
  5024. case 160: // 'item'
  5025. shift(160); // 'item'
  5026. break;
  5027. case 180: // 'namespace-node'
  5028. shift(180); // 'namespace-node'
  5029. break;
  5030. case 186: // 'node'
  5031. shift(186); // 'node'
  5032. break;
  5033. case 211: // 'processing-instruction'
  5034. shift(211); // 'processing-instruction'
  5035. break;
  5036. case 221: // 'schema-attribute'
  5037. shift(221); // 'schema-attribute'
  5038. break;
  5039. case 222: // 'schema-element'
  5040. shift(222); // 'schema-element'
  5041. break;
  5042. case 238: // 'switch'
  5043. shift(238); // 'switch'
  5044. break;
  5045. case 239: // 'text'
  5046. shift(239); // 'text'
  5047. break;
  5048. case 248: // 'typeswitch'
  5049. shift(248); // 'typeswitch'
  5050. break;
  5051. default:
  5052. parse_FunctionName();
  5053. }
  5054. eventHandler.endNonterminal("EQName", e0);
  5055. }
  5056. function parse_FunctionName()
  5057. {
  5058. eventHandler.startNonterminal("FunctionName", e0);
  5059. switch (l1)
  5060. {
  5061. case 14: // EQName^Token
  5062. shift(14); // EQName^Token
  5063. break;
  5064. case 65: // 'after'
  5065. shift(65); // 'after'
  5066. break;
  5067. case 68: // 'ancestor'
  5068. shift(68); // 'ancestor'
  5069. break;
  5070. case 69: // 'ancestor-or-self'
  5071. shift(69); // 'ancestor-or-self'
  5072. break;
  5073. case 70: // 'and'
  5074. shift(70); // 'and'
  5075. break;
  5076. case 74: // 'as'
  5077. shift(74); // 'as'
  5078. break;
  5079. case 75: // 'ascending'
  5080. shift(75); // 'ascending'
  5081. break;
  5082. case 79: // 'before'
  5083. shift(79); // 'before'
  5084. break;
  5085. case 83: // 'case'
  5086. shift(83); // 'case'
  5087. break;
  5088. case 84: // 'cast'
  5089. shift(84); // 'cast'
  5090. break;
  5091. case 85: // 'castable'
  5092. shift(85); // 'castable'
  5093. break;
  5094. case 88: // 'child'
  5095. shift(88); // 'child'
  5096. break;
  5097. case 89: // 'collation'
  5098. shift(89); // 'collation'
  5099. break;
  5100. case 98: // 'copy'
  5101. shift(98); // 'copy'
  5102. break;
  5103. case 100: // 'count'
  5104. shift(100); // 'count'
  5105. break;
  5106. case 103: // 'declare'
  5107. shift(103); // 'declare'
  5108. break;
  5109. case 104: // 'default'
  5110. shift(104); // 'default'
  5111. break;
  5112. case 105: // 'delete'
  5113. shift(105); // 'delete'
  5114. break;
  5115. case 106: // 'descendant'
  5116. shift(106); // 'descendant'
  5117. break;
  5118. case 107: // 'descendant-or-self'
  5119. shift(107); // 'descendant-or-self'
  5120. break;
  5121. case 108: // 'descending'
  5122. shift(108); // 'descending'
  5123. break;
  5124. case 113: // 'div'
  5125. shift(113); // 'div'
  5126. break;
  5127. case 114: // 'document'
  5128. shift(114); // 'document'
  5129. break;
  5130. case 117: // 'else'
  5131. shift(117); // 'else'
  5132. break;
  5133. case 118: // 'empty'
  5134. shift(118); // 'empty'
  5135. break;
  5136. case 121: // 'end'
  5137. shift(121); // 'end'
  5138. break;
  5139. case 123: // 'eq'
  5140. shift(123); // 'eq'
  5141. break;
  5142. case 124: // 'every'
  5143. shift(124); // 'every'
  5144. break;
  5145. case 126: // 'except'
  5146. shift(126); // 'except'
  5147. break;
  5148. case 129: // 'first'
  5149. shift(129); // 'first'
  5150. break;
  5151. case 130: // 'following'
  5152. shift(130); // 'following'
  5153. break;
  5154. case 131: // 'following-sibling'
  5155. shift(131); // 'following-sibling'
  5156. break;
  5157. case 132: // 'for'
  5158. shift(132); // 'for'
  5159. break;
  5160. case 141: // 'ge'
  5161. shift(141); // 'ge'
  5162. break;
  5163. case 143: // 'group'
  5164. shift(143); // 'group'
  5165. break;
  5166. case 145: // 'gt'
  5167. shift(145); // 'gt'
  5168. break;
  5169. case 146: // 'idiv'
  5170. shift(146); // 'idiv'
  5171. break;
  5172. case 148: // 'import'
  5173. shift(148); // 'import'
  5174. break;
  5175. case 154: // 'insert'
  5176. shift(154); // 'insert'
  5177. break;
  5178. case 155: // 'instance'
  5179. shift(155); // 'instance'
  5180. break;
  5181. case 157: // 'intersect'
  5182. shift(157); // 'intersect'
  5183. break;
  5184. case 158: // 'into'
  5185. shift(158); // 'into'
  5186. break;
  5187. case 159: // 'is'
  5188. shift(159); // 'is'
  5189. break;
  5190. case 165: // 'last'
  5191. shift(165); // 'last'
  5192. break;
  5193. case 167: // 'le'
  5194. shift(167); // 'le'
  5195. break;
  5196. case 169: // 'let'
  5197. shift(169); // 'let'
  5198. break;
  5199. case 173: // 'lt'
  5200. shift(173); // 'lt'
  5201. break;
  5202. case 175: // 'mod'
  5203. shift(175); // 'mod'
  5204. break;
  5205. case 176: // 'modify'
  5206. shift(176); // 'modify'
  5207. break;
  5208. case 177: // 'module'
  5209. shift(177); // 'module'
  5210. break;
  5211. case 179: // 'namespace'
  5212. shift(179); // 'namespace'
  5213. break;
  5214. case 181: // 'ne'
  5215. shift(181); // 'ne'
  5216. break;
  5217. case 193: // 'only'
  5218. shift(193); // 'only'
  5219. break;
  5220. case 195: // 'or'
  5221. shift(195); // 'or'
  5222. break;
  5223. case 196: // 'order'
  5224. shift(196); // 'order'
  5225. break;
  5226. case 197: // 'ordered'
  5227. shift(197); // 'ordered'
  5228. break;
  5229. case 201: // 'parent'
  5230. shift(201); // 'parent'
  5231. break;
  5232. case 207: // 'preceding'
  5233. shift(207); // 'preceding'
  5234. break;
  5235. case 208: // 'preceding-sibling'
  5236. shift(208); // 'preceding-sibling'
  5237. break;
  5238. case 213: // 'rename'
  5239. shift(213); // 'rename'
  5240. break;
  5241. case 214: // 'replace'
  5242. shift(214); // 'replace'
  5243. break;
  5244. case 215: // 'return'
  5245. shift(215); // 'return'
  5246. break;
  5247. case 219: // 'satisfies'
  5248. shift(219); // 'satisfies'
  5249. break;
  5250. case 224: // 'self'
  5251. shift(224); // 'self'
  5252. break;
  5253. case 230: // 'some'
  5254. shift(230); // 'some'
  5255. break;
  5256. case 231: // 'stable'
  5257. shift(231); // 'stable'
  5258. break;
  5259. case 232: // 'start'
  5260. shift(232); // 'start'
  5261. break;
  5262. case 243: // 'to'
  5263. shift(243); // 'to'
  5264. break;
  5265. case 244: // 'treat'
  5266. shift(244); // 'treat'
  5267. break;
  5268. case 245: // 'try'
  5269. shift(245); // 'try'
  5270. break;
  5271. case 249: // 'union'
  5272. shift(249); // 'union'
  5273. break;
  5274. case 251: // 'unordered'
  5275. shift(251); // 'unordered'
  5276. break;
  5277. case 255: // 'validate'
  5278. shift(255); // 'validate'
  5279. break;
  5280. case 261: // 'where'
  5281. shift(261); // 'where'
  5282. break;
  5283. case 265: // 'with'
  5284. shift(265); // 'with'
  5285. break;
  5286. case 269: // 'xquery'
  5287. shift(269); // 'xquery'
  5288. break;
  5289. case 67: // 'allowing'
  5290. shift(67); // 'allowing'
  5291. break;
  5292. case 76: // 'at'
  5293. shift(76); // 'at'
  5294. break;
  5295. case 78: // 'base-uri'
  5296. shift(78); // 'base-uri'
  5297. break;
  5298. case 80: // 'boundary-space'
  5299. shift(80); // 'boundary-space'
  5300. break;
  5301. case 81: // 'break'
  5302. shift(81); // 'break'
  5303. break;
  5304. case 86: // 'catch'
  5305. shift(86); // 'catch'
  5306. break;
  5307. case 93: // 'construction'
  5308. shift(93); // 'construction'
  5309. break;
  5310. case 96: // 'context'
  5311. shift(96); // 'context'
  5312. break;
  5313. case 97: // 'continue'
  5314. shift(97); // 'continue'
  5315. break;
  5316. case 99: // 'copy-namespaces'
  5317. shift(99); // 'copy-namespaces'
  5318. break;
  5319. case 101: // 'decimal-format'
  5320. shift(101); // 'decimal-format'
  5321. break;
  5322. case 120: // 'encoding'
  5323. shift(120); // 'encoding'
  5324. break;
  5325. case 127: // 'exit'
  5326. shift(127); // 'exit'
  5327. break;
  5328. case 128: // 'external'
  5329. shift(128); // 'external'
  5330. break;
  5331. case 136: // 'ft-option'
  5332. shift(136); // 'ft-option'
  5333. break;
  5334. case 149: // 'in'
  5335. shift(149); // 'in'
  5336. break;
  5337. case 150: // 'index'
  5338. shift(150); // 'index'
  5339. break;
  5340. case 156: // 'integrity'
  5341. shift(156); // 'integrity'
  5342. break;
  5343. case 166: // 'lax'
  5344. shift(166); // 'lax'
  5345. break;
  5346. case 187: // 'nodes'
  5347. shift(187); // 'nodes'
  5348. break;
  5349. case 194: // 'option'
  5350. shift(194); // 'option'
  5351. break;
  5352. case 198: // 'ordering'
  5353. shift(198); // 'ordering'
  5354. break;
  5355. case 217: // 'revalidation'
  5356. shift(217); // 'revalidation'
  5357. break;
  5358. case 220: // 'schema'
  5359. shift(220); // 'schema'
  5360. break;
  5361. case 223: // 'score'
  5362. shift(223); // 'score'
  5363. break;
  5364. case 229: // 'sliding'
  5365. shift(229); // 'sliding'
  5366. break;
  5367. case 235: // 'strict'
  5368. shift(235); // 'strict'
  5369. break;
  5370. case 246: // 'tumbling'
  5371. shift(246); // 'tumbling'
  5372. break;
  5373. case 247: // 'type'
  5374. shift(247); // 'type'
  5375. break;
  5376. case 252: // 'updating'
  5377. shift(252); // 'updating'
  5378. break;
  5379. case 256: // 'value'
  5380. shift(256); // 'value'
  5381. break;
  5382. case 257: // 'variable'
  5383. shift(257); // 'variable'
  5384. break;
  5385. case 258: // 'version'
  5386. shift(258); // 'version'
  5387. break;
  5388. case 262: // 'while'
  5389. shift(262); // 'while'
  5390. break;
  5391. case 92: // 'constraint'
  5392. shift(92); // 'constraint'
  5393. break;
  5394. case 171: // 'loop'
  5395. shift(171); // 'loop'
  5396. break;
  5397. default:
  5398. shift(216); // 'returning'
  5399. }
  5400. eventHandler.endNonterminal("FunctionName", e0);
  5401. }
  5402. function parse_NCName()
  5403. {
  5404. eventHandler.startNonterminal("NCName", e0);
  5405. switch (l1)
  5406. {
  5407. case 26: // NCName^Token
  5408. shift(26); // NCName^Token
  5409. break;
  5410. case 65: // 'after'
  5411. shift(65); // 'after'
  5412. break;
  5413. case 70: // 'and'
  5414. shift(70); // 'and'
  5415. break;
  5416. case 74: // 'as'
  5417. shift(74); // 'as'
  5418. break;
  5419. case 75: // 'ascending'
  5420. shift(75); // 'ascending'
  5421. break;
  5422. case 79: // 'before'
  5423. shift(79); // 'before'
  5424. break;
  5425. case 83: // 'case'
  5426. shift(83); // 'case'
  5427. break;
  5428. case 84: // 'cast'
  5429. shift(84); // 'cast'
  5430. break;
  5431. case 85: // 'castable'
  5432. shift(85); // 'castable'
  5433. break;
  5434. case 89: // 'collation'
  5435. shift(89); // 'collation'
  5436. break;
  5437. case 100: // 'count'
  5438. shift(100); // 'count'
  5439. break;
  5440. case 104: // 'default'
  5441. shift(104); // 'default'
  5442. break;
  5443. case 108: // 'descending'
  5444. shift(108); // 'descending'
  5445. break;
  5446. case 113: // 'div'
  5447. shift(113); // 'div'
  5448. break;
  5449. case 117: // 'else'
  5450. shift(117); // 'else'
  5451. break;
  5452. case 118: // 'empty'
  5453. shift(118); // 'empty'
  5454. break;
  5455. case 121: // 'end'
  5456. shift(121); // 'end'
  5457. break;
  5458. case 123: // 'eq'
  5459. shift(123); // 'eq'
  5460. break;
  5461. case 126: // 'except'
  5462. shift(126); // 'except'
  5463. break;
  5464. case 132: // 'for'
  5465. shift(132); // 'for'
  5466. break;
  5467. case 141: // 'ge'
  5468. shift(141); // 'ge'
  5469. break;
  5470. case 143: // 'group'
  5471. shift(143); // 'group'
  5472. break;
  5473. case 145: // 'gt'
  5474. shift(145); // 'gt'
  5475. break;
  5476. case 146: // 'idiv'
  5477. shift(146); // 'idiv'
  5478. break;
  5479. case 155: // 'instance'
  5480. shift(155); // 'instance'
  5481. break;
  5482. case 157: // 'intersect'
  5483. shift(157); // 'intersect'
  5484. break;
  5485. case 158: // 'into'
  5486. shift(158); // 'into'
  5487. break;
  5488. case 159: // 'is'
  5489. shift(159); // 'is'
  5490. break;
  5491. case 167: // 'le'
  5492. shift(167); // 'le'
  5493. break;
  5494. case 169: // 'let'
  5495. shift(169); // 'let'
  5496. break;
  5497. case 173: // 'lt'
  5498. shift(173); // 'lt'
  5499. break;
  5500. case 175: // 'mod'
  5501. shift(175); // 'mod'
  5502. break;
  5503. case 176: // 'modify'
  5504. shift(176); // 'modify'
  5505. break;
  5506. case 181: // 'ne'
  5507. shift(181); // 'ne'
  5508. break;
  5509. case 193: // 'only'
  5510. shift(193); // 'only'
  5511. break;
  5512. case 195: // 'or'
  5513. shift(195); // 'or'
  5514. break;
  5515. case 196: // 'order'
  5516. shift(196); // 'order'
  5517. break;
  5518. case 215: // 'return'
  5519. shift(215); // 'return'
  5520. break;
  5521. case 219: // 'satisfies'
  5522. shift(219); // 'satisfies'
  5523. break;
  5524. case 231: // 'stable'
  5525. shift(231); // 'stable'
  5526. break;
  5527. case 232: // 'start'
  5528. shift(232); // 'start'
  5529. break;
  5530. case 243: // 'to'
  5531. shift(243); // 'to'
  5532. break;
  5533. case 244: // 'treat'
  5534. shift(244); // 'treat'
  5535. break;
  5536. case 249: // 'union'
  5537. shift(249); // 'union'
  5538. break;
  5539. case 261: // 'where'
  5540. shift(261); // 'where'
  5541. break;
  5542. case 265: // 'with'
  5543. shift(265); // 'with'
  5544. break;
  5545. case 68: // 'ancestor'
  5546. shift(68); // 'ancestor'
  5547. break;
  5548. case 69: // 'ancestor-or-self'
  5549. shift(69); // 'ancestor-or-self'
  5550. break;
  5551. case 77: // 'attribute'
  5552. shift(77); // 'attribute'
  5553. break;
  5554. case 88: // 'child'
  5555. shift(88); // 'child'
  5556. break;
  5557. case 91: // 'comment'
  5558. shift(91); // 'comment'
  5559. break;
  5560. case 98: // 'copy'
  5561. shift(98); // 'copy'
  5562. break;
  5563. case 103: // 'declare'
  5564. shift(103); // 'declare'
  5565. break;
  5566. case 105: // 'delete'
  5567. shift(105); // 'delete'
  5568. break;
  5569. case 106: // 'descendant'
  5570. shift(106); // 'descendant'
  5571. break;
  5572. case 107: // 'descendant-or-self'
  5573. shift(107); // 'descendant-or-self'
  5574. break;
  5575. case 114: // 'document'
  5576. shift(114); // 'document'
  5577. break;
  5578. case 115: // 'document-node'
  5579. shift(115); // 'document-node'
  5580. break;
  5581. case 116: // 'element'
  5582. shift(116); // 'element'
  5583. break;
  5584. case 119: // 'empty-sequence'
  5585. shift(119); // 'empty-sequence'
  5586. break;
  5587. case 124: // 'every'
  5588. shift(124); // 'every'
  5589. break;
  5590. case 129: // 'first'
  5591. shift(129); // 'first'
  5592. break;
  5593. case 130: // 'following'
  5594. shift(130); // 'following'
  5595. break;
  5596. case 131: // 'following-sibling'
  5597. shift(131); // 'following-sibling'
  5598. break;
  5599. case 140: // 'function'
  5600. shift(140); // 'function'
  5601. break;
  5602. case 147: // 'if'
  5603. shift(147); // 'if'
  5604. break;
  5605. case 148: // 'import'
  5606. shift(148); // 'import'
  5607. break;
  5608. case 154: // 'insert'
  5609. shift(154); // 'insert'
  5610. break;
  5611. case 160: // 'item'
  5612. shift(160); // 'item'
  5613. break;
  5614. case 165: // 'last'
  5615. shift(165); // 'last'
  5616. break;
  5617. case 177: // 'module'
  5618. shift(177); // 'module'
  5619. break;
  5620. case 179: // 'namespace'
  5621. shift(179); // 'namespace'
  5622. break;
  5623. case 180: // 'namespace-node'
  5624. shift(180); // 'namespace-node'
  5625. break;
  5626. case 186: // 'node'
  5627. shift(186); // 'node'
  5628. break;
  5629. case 197: // 'ordered'
  5630. shift(197); // 'ordered'
  5631. break;
  5632. case 201: // 'parent'
  5633. shift(201); // 'parent'
  5634. break;
  5635. case 207: // 'preceding'
  5636. shift(207); // 'preceding'
  5637. break;
  5638. case 208: // 'preceding-sibling'
  5639. shift(208); // 'preceding-sibling'
  5640. break;
  5641. case 211: // 'processing-instruction'
  5642. shift(211); // 'processing-instruction'
  5643. break;
  5644. case 213: // 'rename'
  5645. shift(213); // 'rename'
  5646. break;
  5647. case 214: // 'replace'
  5648. shift(214); // 'replace'
  5649. break;
  5650. case 221: // 'schema-attribute'
  5651. shift(221); // 'schema-attribute'
  5652. break;
  5653. case 222: // 'schema-element'
  5654. shift(222); // 'schema-element'
  5655. break;
  5656. case 224: // 'self'
  5657. shift(224); // 'self'
  5658. break;
  5659. case 230: // 'some'
  5660. shift(230); // 'some'
  5661. break;
  5662. case 238: // 'switch'
  5663. shift(238); // 'switch'
  5664. break;
  5665. case 239: // 'text'
  5666. shift(239); // 'text'
  5667. break;
  5668. case 245: // 'try'
  5669. shift(245); // 'try'
  5670. break;
  5671. case 248: // 'typeswitch'
  5672. shift(248); // 'typeswitch'
  5673. break;
  5674. case 251: // 'unordered'
  5675. shift(251); // 'unordered'
  5676. break;
  5677. case 255: // 'validate'
  5678. shift(255); // 'validate'
  5679. break;
  5680. case 257: // 'variable'
  5681. shift(257); // 'variable'
  5682. break;
  5683. case 269: // 'xquery'
  5684. shift(269); // 'xquery'
  5685. break;
  5686. case 67: // 'allowing'
  5687. shift(67); // 'allowing'
  5688. break;
  5689. case 76: // 'at'
  5690. shift(76); // 'at'
  5691. break;
  5692. case 78: // 'base-uri'
  5693. shift(78); // 'base-uri'
  5694. break;
  5695. case 80: // 'boundary-space'
  5696. shift(80); // 'boundary-space'
  5697. break;
  5698. case 81: // 'break'
  5699. shift(81); // 'break'
  5700. break;
  5701. case 86: // 'catch'
  5702. shift(86); // 'catch'
  5703. break;
  5704. case 93: // 'construction'
  5705. shift(93); // 'construction'
  5706. break;
  5707. case 96: // 'context'
  5708. shift(96); // 'context'
  5709. break;
  5710. case 97: // 'continue'
  5711. shift(97); // 'continue'
  5712. break;
  5713. case 99: // 'copy-namespaces'
  5714. shift(99); // 'copy-namespaces'
  5715. break;
  5716. case 101: // 'decimal-format'
  5717. shift(101); // 'decimal-format'
  5718. break;
  5719. case 120: // 'encoding'
  5720. shift(120); // 'encoding'
  5721. break;
  5722. case 127: // 'exit'
  5723. shift(127); // 'exit'
  5724. break;
  5725. case 128: // 'external'
  5726. shift(128); // 'external'
  5727. break;
  5728. case 136: // 'ft-option'
  5729. shift(136); // 'ft-option'
  5730. break;
  5731. case 149: // 'in'
  5732. shift(149); // 'in'
  5733. break;
  5734. case 150: // 'index'
  5735. shift(150); // 'index'
  5736. break;
  5737. case 156: // 'integrity'
  5738. shift(156); // 'integrity'
  5739. break;
  5740. case 166: // 'lax'
  5741. shift(166); // 'lax'
  5742. break;
  5743. case 187: // 'nodes'
  5744. shift(187); // 'nodes'
  5745. break;
  5746. case 194: // 'option'
  5747. shift(194); // 'option'
  5748. break;
  5749. case 198: // 'ordering'
  5750. shift(198); // 'ordering'
  5751. break;
  5752. case 217: // 'revalidation'
  5753. shift(217); // 'revalidation'
  5754. break;
  5755. case 220: // 'schema'
  5756. shift(220); // 'schema'
  5757. break;
  5758. case 223: // 'score'
  5759. shift(223); // 'score'
  5760. break;
  5761. case 229: // 'sliding'
  5762. shift(229); // 'sliding'
  5763. break;
  5764. case 235: // 'strict'
  5765. shift(235); // 'strict'
  5766. break;
  5767. case 246: // 'tumbling'
  5768. shift(246); // 'tumbling'
  5769. break;
  5770. case 247: // 'type'
  5771. shift(247); // 'type'
  5772. break;
  5773. case 252: // 'updating'
  5774. shift(252); // 'updating'
  5775. break;
  5776. case 256: // 'value'
  5777. shift(256); // 'value'
  5778. break;
  5779. case 258: // 'version'
  5780. shift(258); // 'version'
  5781. break;
  5782. case 262: // 'while'
  5783. shift(262); // 'while'
  5784. break;
  5785. case 92: // 'constraint'
  5786. shift(92); // 'constraint'
  5787. break;
  5788. case 171: // 'loop'
  5789. shift(171); // 'loop'
  5790. break;
  5791. default:
  5792. shift(216); // 'returning'
  5793. }
  5794. eventHandler.endNonterminal("NCName", e0);
  5795. }
  5796. function shift(t)
  5797. {
  5798. if (l1 == t)
  5799. {
  5800. whitespace();
  5801. eventHandler.terminal(XQueryTokenizer.TOKEN[l1], b1, e1 > size ? size : e1);
  5802. b0 = b1; e0 = e1; l1 = 0;
  5803. }
  5804. else
  5805. {
  5806. error(b1, e1, 0, l1, t);
  5807. }
  5808. }
  5809. function whitespace()
  5810. {
  5811. if (e0 != b1)
  5812. {
  5813. b0 = e0;
  5814. e0 = b1;
  5815. eventHandler.whitespace(b0, e0);
  5816. }
  5817. }
  5818. function matchW(set)
  5819. {
  5820. var code;
  5821. for (;;)
  5822. {
  5823. code = match(set);
  5824. if (code != 28) // S^WS
  5825. {
  5826. break;
  5827. }
  5828. }
  5829. return code;
  5830. }
  5831. function lookahead1W(set)
  5832. {
  5833. if (l1 == 0)
  5834. {
  5835. l1 = matchW(set);
  5836. b1 = begin;
  5837. e1 = end;
  5838. }
  5839. }
  5840. function lookahead1(set)
  5841. {
  5842. if (l1 == 0)
  5843. {
  5844. l1 = match(set);
  5845. b1 = begin;
  5846. e1 = end;
  5847. }
  5848. }
  5849. function error(b, e, s, l, t)
  5850. {
  5851. throw new self.ParseException(b, e, s, l, t);
  5852. }
  5853. var lk, b0, e0;
  5854. var l1, b1, e1;
  5855. var eventHandler;
  5856. var input;
  5857. var size;
  5858. var begin;
  5859. var end;
  5860. function match(tokenSetId)
  5861. {
  5862. var nonbmp = false;
  5863. begin = end;
  5864. var current = end;
  5865. var result = XQueryTokenizer.INITIAL[tokenSetId];
  5866. var state = 0;
  5867. for (var code = result & 4095; code != 0; )
  5868. {
  5869. var charclass;
  5870. var c0 = current < size ? input.charCodeAt(current) : 0;
  5871. ++current;
  5872. if (c0 < 0x80)
  5873. {
  5874. charclass = XQueryTokenizer.MAP0[c0];
  5875. }
  5876. else if (c0 < 0xd800)
  5877. {
  5878. var c1 = c0 >> 4;
  5879. charclass = XQueryTokenizer.MAP1[(c0 & 15) + XQueryTokenizer.MAP1[(c1 & 31) + XQueryTokenizer.MAP1[c1 >> 5]]];
  5880. }
  5881. else
  5882. {
  5883. if (c0 < 0xdc00)
  5884. {
  5885. var c1 = current < size ? input.charCodeAt(current) : 0;
  5886. if (c1 >= 0xdc00 && c1 < 0xe000)
  5887. {
  5888. ++current;
  5889. c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
  5890. nonbmp = true;
  5891. }
  5892. }
  5893. var lo = 0, hi = 5;
  5894. for (var m = 3; ; m = (hi + lo) >> 1)
  5895. {
  5896. if (XQueryTokenizer.MAP2[m] > c0) hi = m - 1;
  5897. else if (XQueryTokenizer.MAP2[6 + m] < c0) lo = m + 1;
  5898. else {charclass = XQueryTokenizer.MAP2[12 + m]; break;}
  5899. if (lo > hi) {charclass = 0; break;}
  5900. }
  5901. }
  5902. state = code;
  5903. var i0 = (charclass << 12) + code - 1;
  5904. code = XQueryTokenizer.TRANSITION[(i0 & 15) + XQueryTokenizer.TRANSITION[i0 >> 4]];
  5905. if (code > 4095)
  5906. {
  5907. result = code;
  5908. code &= 4095;
  5909. end = current;
  5910. }
  5911. }
  5912. result >>= 12;
  5913. if (result == 0)
  5914. {
  5915. end = current - 1;
  5916. var c1 = end < size ? input.charCodeAt(end) : 0;
  5917. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  5918. return error(begin, end, state, -1, -1);
  5919. }
  5920. if (nonbmp)
  5921. {
  5922. for (var i = result >> 9; i > 0; --i)
  5923. {
  5924. --end;
  5925. var c1 = end < size ? input.charCodeAt(end) : 0;
  5926. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  5927. }
  5928. }
  5929. else
  5930. {
  5931. end -= result >> 9;
  5932. }
  5933. return (result & 511) - 1;
  5934. }
  5935. }
  5936. XQueryTokenizer.getTokenSet = function(tokenSetId)
  5937. {
  5938. var set = [];
  5939. var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 4095;
  5940. for (var i = 0; i < 276; i += 32)
  5941. {
  5942. var j = i;
  5943. var i0 = (i >> 5) * 2062 + s - 1;
  5944. var i1 = i0 >> 2;
  5945. var i2 = i1 >> 2;
  5946. var f = XQueryTokenizer.EXPECTED[(i0 & 3) + XQueryTokenizer.EXPECTED[(i1 & 3) + XQueryTokenizer.EXPECTED[(i2 & 3) + XQueryTokenizer.EXPECTED[i2 >> 2]]]];
  5947. for ( ; f != 0; f >>>= 1, ++j)
  5948. {
  5949. if ((f & 1) != 0)
  5950. {
  5951. set.push(XQueryTokenizer.TOKEN[j]);
  5952. }
  5953. }
  5954. }
  5955. return set;
  5956. };
  5957. XQueryTokenizer.MAP0 =
  5958. [ 66, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 35, 31, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 31, 61, 62, 63, 64, 35
  5959. ];
  5960. XQueryTokenizer.MAP1 =
  5961. [ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 347, 363, 379, 416, 416, 416, 408, 331, 323, 331, 323, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 433, 433, 433, 433, 433, 433, 433, 316, 331, 331, 331, 331, 331, 331, 331, 331, 394, 416, 416, 417, 415, 416, 416, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 330, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 66, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 35, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 35, 31, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 31, 61, 62, 63, 64, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 31, 31, 35, 35, 35, 35, 35, 35, 35, 65, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65
  5962. ];
  5963. XQueryTokenizer.MAP2 =
  5964. [ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 35, 31, 35, 31, 31, 35
  5965. ];
  5966. XQueryTokenizer.INITIAL =
  5967. [ 1, 2, 36867, 45060, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
  5968. ];
  5969. XQueryTokenizer.TRANSITION =
  5970. [ 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22908, 18836, 17152, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 17365, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 17470, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 18157, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 17848, 17880, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18023, 36545, 18621, 18039, 18056, 18072, 18117, 18143, 18173, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17687, 18805, 18421, 18437, 18101, 17393, 18489, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 18579, 21711, 17152, 19008, 19233, 20367, 19008, 28684, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 17365, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 17470, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 18157, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 17848, 17880, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18023, 36545, 18621, 18039, 18056, 18072, 18117, 18143, 18173, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17687, 18805, 18421, 18437, 18101, 17393, 18489, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 20116, 18836, 18637, 19008, 19233, 21267, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 18763, 18778, 18794, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 18821, 22923, 18906, 19008, 19233, 17431, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18937, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 19054, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 18953, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21843, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21696, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22429, 20131, 18720, 19008, 19233, 20367, 19008, 17173, 23559, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 18087, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 21242, 19111, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 19024, 18836, 18609, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 19081, 22444, 18987, 19008, 19233, 20367, 19008, 19065, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21992, 22007, 18987, 19008, 19233, 20367, 19008, 18690, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22414, 18836, 18987, 19008, 19233, 30651, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 19138, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 19280, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 19172, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21783, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 19218, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21651, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 19249, 19265, 19307, 18888, 27857, 30536, 24401, 31444, 23357, 18888, 19351, 18888, 18890, 27211, 19370, 27211, 27211, 19392, 24401, 31911, 24401, 24401, 25467, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 19440, 24401, 24401, 24401, 24401, 24036, 17994, 24060, 18888, 18888, 18888, 18890, 19468, 27211, 27211, 27211, 27211, 19484, 35367, 19520, 24401, 24401, 24401, 19628, 18888, 29855, 18888, 18888, 23086, 27211, 19538, 27211, 27211, 30756, 24012, 24401, 19560, 24401, 24401, 26750, 18888, 18888, 19327, 27855, 27211, 27211, 19580, 17590, 24017, 24401, 24401, 19600, 25665, 18888, 18888, 28518, 27211, 27212, 24016, 19620, 19868, 28435, 25722, 18889, 19644, 27211, 32888, 35852, 19868, 31018, 19694, 19376, 19717, 22215, 19735, 22098, 19751, 35203, 19776, 19797, 19817, 19840, 25783, 31738, 24135, 19701, 19856, 31015, 23516, 31008, 28311, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21768, 18836, 19307, 18888, 27857, 27904, 24401, 29183, 28015, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 19888, 24401, 24401, 24401, 24401, 22953, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 19440, 24401, 24401, 24401, 24401, 24036, 18881, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22399, 18836, 19918, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21666, 18836, 19307, 18888, 27857, 27525, 24401, 29183, 21467, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 19946, 24401, 24401, 24401, 24401, 32382, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 19998, 24401, 24401, 24401, 24401, 31500, 18467, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 20021, 24401, 24401, 24401, 24401, 24401, 34271, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 32926, 29908, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 20050, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 20101, 19039, 20191, 20412, 20903, 17569, 20309, 20872, 25633, 20623, 20505, 20218, 20242, 17189, 17208, 17281, 20355, 20265, 20306, 20328, 20383, 22490, 20796, 20619, 21354, 20654, 20410, 20956, 21232, 20765, 17421, 20535, 17192, 18127, 22459, 20312, 25531, 22470, 20309, 20428, 18964, 20466, 20491, 21342, 21070, 20521, 20682, 17714, 18326, 17543, 17559, 17585, 22497, 20559, 19504, 20279, 20575, 20290, 20475, 20604, 20639, 20226, 20670, 17661, 21190, 17703, 21176, 17730, 19494, 20698, 20711, 22480, 21046, 21116, 18971, 21130, 20727, 20755, 17675, 17753, 17832, 17590, 25518, 20394, 20781, 20831, 20202, 20847, 21401, 17292, 17934, 17979, 18549, 20863, 20588, 25542, 20888, 20919, 18072, 18117, 20935, 20972, 21032, 21062, 21086, 18239, 21102, 18563, 21146, 21162, 21206, 18351, 20949, 20902, 18340, 21222, 21258, 21283, 18360, 20249, 17405, 21295, 21311, 21327, 20739, 20343, 21370, 21386, 21417, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21977, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 21452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 21504, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 36501, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 28674, 21946, 17617, 36473, 18223, 17237, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 21575, 21534, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 21560, 30628, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21798, 18836, 21612, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21636, 18836, 18987, 19008, 19233, 17902, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21753, 19096, 21903, 19008, 19233, 20367, 19008, 19291, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 17379, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 21931, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 18280, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21962, 18594, 18987, 19008, 19233, 22043, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21681, 21858, 18987, 19008, 19233, 20367, 19008, 21544, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 32319, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 22231, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 31678, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 33588, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 35019, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22248, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22324, 18836, 22059, 18888, 27857, 30501, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 34365, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22354, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 27086, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 19930, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21828, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22309, 22513, 18987, 19008, 19233, 20367, 19008, 19122, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 22544, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22608, 18836, 22988, 23004, 27585, 23020, 23036, 23067, 22087, 18888, 18888, 18888, 23083, 27211, 27211, 27211, 23102, 22121, 24401, 24401, 24401, 23122, 31386, 26154, 19674, 18888, 28119, 28232, 19424, 23705, 27211, 27211, 23142, 23173, 23189, 23212, 24401, 24401, 23246, 34427, 31693, 23262, 18888, 23290, 23308, 27783, 27620, 23327, 35263, 35107, 33383, 23346, 18193, 23393, 32748, 23968, 24401, 23414, 35153, 23463, 18888, 33913, 23442, 23482, 27211, 27211, 23532, 23552, 21431, 23575, 24401, 24401, 23604, 26095, 23635, 23657, 18888, 33482, 23685, 33251, 27211, 22187, 18851, 23721, 35536, 24401, 18887, 23750, 32641, 27211, 23769, 23787, 20080, 33012, 24384, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 23803, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 28224, 31826, 23823, 26917, 34978, 23850, 26493, 25782, 23878, 23914, 23516, 31008, 22105, 19419, 27963, 19659, 29781, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22623, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 28909, 25783, 27211, 27211, 27211, 34048, 23933, 22164, 24401, 24401, 24401, 28409, 23949, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 26583, 18888, 18888, 18888, 35585, 23984, 27211, 27211, 27211, 24005, 22201, 24033, 24401, 24401, 24401, 24052, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 26496, 24076, 24126, 24151, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22638, 18836, 22059, 19678, 27857, 24185, 24401, 24201, 24217, 26592, 18888, 18888, 18890, 24252, 24268, 27211, 27211, 22121, 24287, 24303, 24401, 24401, 30613, 19781, 35432, 36007, 32649, 18888, 25783, 24322, 28966, 23771, 27211, 35072, 22164, 24358, 32106, 26829, 24400, 31500, 31693, 18888, 18888, 18888, 24801, 18890, 27211, 27211, 27211, 27211, 24418, 19484, 24401, 24401, 24401, 24401, 20167, 31181, 18888, 18888, 18888, 27833, 23086, 27211, 27211, 33540, 27211, 30756, 21431, 24401, 24401, 22972, 24401, 26095, 18888, 36131, 18888, 27855, 27211, 24440, 27211, 22187, 22968, 24401, 24459, 24401, 31699, 28454, 18888, 34528, 34570, 35779, 24478, 24402, 24494, 25659, 18888, 36228, 27211, 27211, 24515, 30981, 23734, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 24538, 31017, 27856, 31741, 30059, 23377, 24563, 19837, 25782, 19760, 31015, 23516, 25374, 22105, 19419, 29793, 24579, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22653, 18836, 22059, 25756, 19982, 34097, 23196, 29183, 24614, 24110, 23641, 24673, 26103, 24697, 24443, 24713, 28558, 22121, 24748, 24462, 24764, 23398, 30613, 18888, 18888, 18888, 18888, 24798, 25783, 27211, 27211, 27211, 34232, 35072, 22164, 24401, 24401, 24401, 33302, 31500, 22559, 24106, 24232, 18888, 18888, 34970, 24817, 30411, 27211, 27211, 32484, 19484, 29750, 35127, 24401, 24401, 19872, 31181, 24852, 18888, 18888, 24871, 29221, 27211, 27211, 32072, 27211, 30756, 34441, 24401, 24401, 31571, 24401, 26095, 33141, 27802, 27011, 27855, 25295, 25607, 24888, 22187, 22968, 19195, 34593, 24906, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 33663, 27211, 27211, 24924, 24947, 23588, 31018, 18890, 27211, 31833, 22135, 19447, 23086, 23330, 19828, 30904, 31042, 24972, 19840, 25000, 31738, 30898, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 25016, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22668, 18836, 25041, 25057, 31320, 25073, 25089, 25105, 22087, 34796, 24236, 36138, 34870, 34125, 25121, 23106, 35497, 22248, 36613, 25137, 30671, 27365, 30613, 25153, 26447, 25199, 25233, 22574, 23274, 25249, 25265, 25281, 25318, 25344, 25360, 25400, 25428, 25452, 26731, 25504, 31693, 23669, 25558, 27407, 25575, 28599, 25934, 25599, 27211, 28180, 27304, 25623, 25839, 25649, 24401, 34820, 25681, 25698, 22586, 27775, 30190, 25745, 25778, 25799, 25817, 28995, 33569, 30756, 21518, 33443, 25837, 25855, 25893, 26095, 31254, 26677, 30136, 27855, 25930, 25950, 27211, 22187, 22968, 25966, 25986, 24401, 23428, 27763, 36330, 26959, 26002, 26029, 26045, 26085, 26119, 26170, 26203, 26222, 26239, 30527, 26372, 26274, 28404, 31018, 33757, 27211, 34262, 26316, 36729, 26345, 26366, 35337, 31017, 26388, 26407, 30954, 26350, 33861, 26434, 26463, 26479, 26512, 23516, 33189, 26531, 26547, 27963, 31293, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22683, 18836, 26568, 26181, 26608, 34097, 26643, 29183, 22087, 26669, 18888, 18888, 18890, 26693, 27211, 27211, 27211, 22121, 26720, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 26774, 25783, 27211, 27211, 27211, 26619, 35072, 22164, 24401, 24401, 24401, 21596, 31500, 31693, 18888, 18888, 33978, 18888, 18890, 27211, 27211, 25801, 27211, 27211, 19484, 24401, 24401, 24401, 26792, 24401, 31181, 18888, 18888, 18888, 35464, 23086, 27211, 27211, 27211, 26809, 30756, 21431, 24401, 24401, 24401, 26828, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 31948, 18889, 35707, 27211, 19719, 26845, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 26905, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 24984, 31088, 19419, 26945, 27651, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22698, 18836, 26999, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 23051, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 27033, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 27056, 18888, 18890, 27211, 27211, 30320, 27211, 27211, 27075, 24401, 24401, 29032, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 33986, 27855, 27211, 27211, 27102, 17590, 24017, 24401, 24401, 27123, 27144, 36254, 27162, 27210, 27228, 28500, 18187, 34842, 33426, 27244, 35980, 27277, 27302, 27320, 36048, 34013, 20999, 31882, 21478, 27895, 27356, 30287, 27381, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 26329, 30087, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 27406, 27423, 27445, 35294, 27461, 22087, 18888, 18888, 30140, 18890, 27211, 27211, 27989, 27211, 22121, 24401, 24401, 25682, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 34042, 27211, 27211, 27211, 27211, 29700, 22164, 24401, 24401, 24401, 24401, 27128, 31693, 27477, 18888, 18888, 18888, 18890, 27194, 27211, 27211, 27211, 27211, 19484, 35299, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 27059, 23086, 27211, 27211, 27211, 33366, 30756, 24012, 24401, 24401, 24401, 35044, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 20815, 27211, 30818, 19960, 33969, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22713, 18836, 22059, 27496, 27516, 27541, 35231, 27557, 22087, 29662, 26292, 23292, 27573, 24836, 27601, 27211, 27636, 22121, 35544, 27686, 24401, 27721, 18866, 18888, 27799, 18888, 27818, 22071, 27853, 32260, 27211, 26013, 27873, 27920, 22164, 29419, 24401, 29946, 33413, 26742, 27751, 26881, 18888, 18888, 27261, 36776, 27936, 27211, 27211, 27211, 27988, 28005, 28031, 28052, 24401, 24401, 28069, 28088, 28135, 25488, 28152, 26069, 28167, 27211, 28340, 24657, 28196, 30756, 31523, 24401, 28212, 34176, 36174, 24956, 28248, 28266, 28290, 21488, 33077, 28327, 28356, 17590, 20986, 23126, 28391, 28425, 28102, 28451, 28470, 28490, 28516, 28534, 20034, 33728, 25868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 30241, 28274, 28553, 28574, 19406, 28590, 23086, 23330, 19828, 19452, 28615, 28660, 26147, 25783, 31738, 19837, 25782, 19760, 29613, 35958, 29276, 22105, 19419, 27963, 23157, 28700, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 22528, 18888, 18888, 18888, 18888, 18890, 27333, 27211, 27211, 27211, 27211, 19484, 30853, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22728, 18836, 28747, 28782, 28817, 28841, 28857, 28880, 28896, 24161, 28943, 32011, 36261, 27340, 28961, 29492, 28982, 29011, 24522, 29027, 25436, 29048, 23051, 27500, 29090, 29110, 30713, 18888, 23512, 29130, 25183, 27211, 29155, 28927, 27033, 29173, 23230, 24401, 29199, 35373, 31693, 18888, 18888, 25583, 32629, 29218, 27211, 27211, 31461, 30692, 29237, 27075, 24401, 24401, 24401, 29262, 29302, 19628, 18888, 34329, 18888, 18888, 23086, 27211, 29329, 27211, 27211, 30756, 24012, 35933, 24401, 24401, 24401, 27705, 31612, 18888, 18888, 29346, 29374, 27211, 35650, 17590, 21436, 29393, 24401, 25970, 18887, 33895, 18888, 27211, 32528, 27212, 24016, 32769, 19868, 25659, 18888, 26889, 27211, 27211, 29412, 23889, 24371, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31768, 19840, 25783, 31738, 19837, 29435, 29508, 31102, 29550, 29606, 22105, 30300, 29462, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22743, 18836, 22059, 29629, 29473, 34097, 33285, 29183, 29651, 27254, 18888, 29678, 33329, 32535, 27211, 29694, 29716, 22121, 19202, 24401, 32742, 29741, 18866, 26776, 33921, 28474, 18888, 18888, 25783, 29766, 27211, 29809, 27211, 35072, 22164, 35825, 24401, 29828, 24401, 24036, 36769, 25217, 18888, 18888, 29848, 18890, 27211, 29871, 27211, 26258, 27211, 29894, 24401, 29929, 24401, 36587, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 29725, 29962, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18473, 18888, 18888, 19584, 27211, 27212, 24016, 29982, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19902, 19447, 32052, 19544, 19828, 29998, 30097, 30031, 19840, 25783, 30047, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 30075, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22758, 18836, 30121, 30156, 30206, 30257, 30273, 30336, 22087, 35624, 32837, 25762, 18890, 29878, 34934, 26812, 27211, 22121, 24931, 23223, 29202, 24401, 18866, 34373, 30352, 18888, 18888, 18888, 23447, 24828, 27211, 27211, 27211, 35072, 30370, 35052, 24401, 24401, 24401, 24036, 29523, 18888, 18888, 27146, 18888, 31308, 30386, 27211, 27211, 30405, 30558, 19484, 30427, 24401, 24401, 29938, 35686, 19628, 28766, 30447, 34506, 35614, 23086, 28731, 30482, 30517, 30552, 30756, 24012, 20156, 30574, 30598, 30667, 26283, 33464, 28945, 27670, 30687, 32915, 33504, 25328, 17590, 23963, 20450, 33837, 21016, 32397, 26300, 30708, 30729, 27885, 30748, 21588, 36373, 30779, 26653, 24628, 33220, 32514, 30806, 31835, 25412, 25906, 26515, 18890, 28825, 31833, 26133, 19447, 28304, 31730, 23834, 26057, 30869, 30885, 32181, 30920, 30942, 32797, 25782, 30970, 31015, 23516, 31008, 30997, 31034, 27963, 19659, 29450, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22773, 18836, 31058, 31074, 32463, 31125, 31141, 31197, 22087, 18888, 29534, 35471, 36738, 27211, 24342, 31213, 24424, 22121, 24401, 20175, 31229, 31917, 27736, 31245, 34334, 27175, 18888, 29094, 27286, 27211, 31278, 31336, 27211, 31355, 31371, 24401, 31402, 31418, 24401, 31437, 31693, 18888, 31619, 32841, 18888, 18890, 27211, 27211, 31460, 31477, 27211, 19484, 24401, 24401, 31497, 36581, 24401, 33020, 18888, 18888, 18888, 18888, 30007, 27211, 27211, 27211, 27211, 31516, 32310, 24401, 24401, 24401, 24401, 31539, 18888, 28762, 18888, 24651, 35740, 27211, 27211, 28644, 31565, 35796, 24401, 24401, 19318, 32188, 18888, 24334, 28366, 27212, 29966, 29832, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 31587, 19868, 31635, 32435, 33693, 30105, 31663, 20005, 31715, 31757, 31784, 31812, 30015, 31851, 31878, 25783, 31898, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 31933, 30221, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22788, 18836, 22059, 25729, 30466, 31968, 24306, 31984, 32000, 32807, 35160, 27017, 29590, 34941, 19801, 29377, 33700, 22121, 27040, 30431, 29396, 28864, 29565, 18888, 18888, 18888, 32027, 18888, 25783, 27211, 27211, 23698, 27211, 35072, 22164, 24401, 24401, 30845, 24401, 24036, 32045, 18888, 26929, 18888, 18888, 18890, 27211, 31481, 32068, 27211, 27211, 32088, 24401, 33058, 32122, 24401, 24401, 33736, 18888, 18888, 33162, 18888, 23086, 27211, 27211, 29484, 27211, 28375, 32144, 24401, 24401, 33831, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 36704, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 33107, 22171, 33224, 24271, 32169, 31017, 27856, 31741, 19840, 25783, 31738, 30234, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 32204, 32232, 32252, 32677, 33295, 29074, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 23619, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 32276, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 32299, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 33886, 18889, 36065, 27211, 19719, 35326, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22803, 18836, 32335, 31647, 34666, 32351, 32367, 32417, 22087, 18888, 32433, 19335, 32451, 27211, 32479, 27107, 32500, 22121, 24401, 32551, 20085, 32572, 18866, 22287, 23753, 18888, 18888, 32602, 32665, 27211, 32693, 27211, 26972, 32713, 32729, 24401, 32764, 24401, 25877, 32785, 34768, 18888, 27390, 32823, 24594, 24855, 32857, 24890, 32878, 32904, 27211, 32942, 32977, 24401, 33000, 29313, 24401, 30790, 26206, 27666, 33904, 18888, 23086, 36353, 27211, 33036, 27211, 30756, 24012, 32153, 24401, 33056, 24401, 35861, 18888, 18888, 30354, 27972, 27211, 27211, 33800, 17590, 20145, 24401, 24401, 34638, 20811, 18888, 18888, 33074, 27211, 27212, 36167, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 34616, 24169, 33093, 33123, 33157, 27856, 31741, 23862, 26552, 34302, 19837, 25782, 19760, 31015, 23516, 31008, 33178, 19973, 27963, 23497, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22818, 18836, 33205, 28113, 33240, 34097, 33275, 29183, 22087, 33318, 35438, 18888, 18890, 33345, 26391, 33382, 27211, 22121, 33399, 28072, 33442, 24401, 18866, 22232, 18888, 33459, 18888, 18888, 33480, 33498, 25175, 27211, 27211, 26704, 22164, 24775, 35239, 24401, 24401, 25914, 29580, 18888, 18888, 31109, 25211, 33520, 33539, 27211, 27211, 33556, 36284, 19484, 33585, 24401, 24401, 33604, 32556, 19628, 18888, 18888, 31262, 33658, 23086, 27211, 27211, 33679, 27211, 30756, 24012, 24401, 24401, 33716, 24401, 26854, 27480, 18888, 33752, 27855, 33259, 34701, 27211, 17590, 32102, 24782, 23807, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 33773, 36105, 19868, 25659, 18888, 23368, 27211, 29157, 19719, 23889, 34454, 29286, 18890, 33794, 25302, 33816, 19447, 34079, 33853, 31862, 31017, 27856, 31741, 33877, 28920, 33937, 19837, 30461, 34002, 22276, 36041, 34029, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22833, 18836, 34064, 32616, 34113, 34141, 34157, 34192, 34208, 32216, 36013, 31549, 31952, 34224, 34248, 34287, 29330, 34350, 34389, 34413, 34481, 26793, 18866, 26187, 29635, 22293, 18888, 36654, 25783, 34522, 34544, 34566, 25821, 35072, 22164, 34586, 34609, 34632, 19604, 24036, 36644, 36674, 24681, 18888, 32401, 34654, 31339, 34682, 34698, 27211, 34717, 34753, 28053, 34812, 34836, 24401, 33619, 19628, 34858, 32236, 34906, 24598, 33523, 27612, 34890, 34922, 24732, 29246, 36717, 33634, 34465, 32984, 34168, 26750, 34957, 18888, 18888, 34994, 35010, 27211, 33040, 17590, 29913, 35035, 24401, 36304, 25482, 30171, 35883, 35068, 35088, 26627, 20441, 31173, 35123, 35143, 35176, 24640, 30492, 29358, 19719, 35192, 35219, 25384, 28801, 35255, 35279, 32586, 34496, 23086, 23330, 29061, 31017, 27856, 31741, 19840, 25783, 31738, 24547, 25164, 35315, 31796, 35353, 34316, 22105, 19419, 27963, 24091, 28630, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22848, 18836, 22059, 34782, 34088, 35389, 21008, 35405, 35421, 35454, 18888, 18888, 23466, 35487, 27211, 27211, 27211, 35513, 31154, 24401, 24401, 24401, 35560, 18888, 26863, 36664, 35601, 24872, 25783, 30389, 23536, 26250, 35647, 35666, 22164, 19522, 19564, 30582, 35682, 27697, 35575, 29114, 18888, 18888, 18888, 18890, 27211, 35702, 27211, 27211, 27211, 35723, 24401, 35527, 24401, 24401, 24401, 19628, 30184, 18888, 18888, 18888, 23086, 35739, 27211, 27211, 27211, 29139, 22938, 24401, 24401, 24401, 24401, 23898, 35756, 18888, 18888, 25025, 35778, 27211, 27211, 17590, 20064, 35795, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 23917, 18890, 34550, 31833, 22262, 19447, 23086, 23330, 26418, 31017, 27856, 31741, 19840, 25783, 35812, 19837, 27187, 35841, 33135, 23516, 31008, 22105, 22148, 28712, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22863, 18836, 22059, 35877, 28723, 34097, 31164, 29183, 22087, 26758, 18888, 22592, 18890, 23989, 27211, 29812, 27211, 22121, 33778, 24401, 31421, 24401, 18866, 18888, 18888, 26872, 18888, 18888, 25783, 27211, 30732, 27211, 27211, 35072, 22164, 24401, 24908, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22878, 18836, 22059, 27837, 27857, 35899, 24401, 35915, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31602, 18888, 18888, 18888, 18888, 26223, 27211, 27211, 27211, 27211, 27211, 19484, 35931, 24401, 24401, 24401, 24401, 19628, 18888, 28136, 18888, 18888, 35949, 27211, 32862, 27211, 32697, 30756, 24012, 24401, 32283, 24401, 32128, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22893, 18836, 22059, 35974, 34882, 34097, 33960, 29183, 35996, 18888, 23311, 18888, 36029, 27211, 27211, 36064, 36081, 22121, 24401, 24401, 36104, 33950, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 36121, 18888, 25559, 18888, 18888, 18890, 27211, 27211, 30313, 27211, 27211, 36154, 24401, 24401, 34397, 24401, 24401, 19628, 28250, 18888, 18888, 18888, 23086, 30926, 27211, 27211, 27211, 26983, 24012, 33642, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 19354, 27857, 36190, 24401, 36206, 22087, 18888, 18888, 18888, 18007, 27211, 27211, 27211, 24724, 22121, 24401, 24401, 24401, 30827, 18866, 18888, 36222, 18888, 28795, 18888, 25783, 35100, 27211, 27429, 27211, 35072, 22164, 30836, 24401, 24499, 24401, 24036, 31693, 18888, 36244, 18888, 18888, 18890, 27211, 36088, 27211, 27211, 27211, 19484, 24401, 28036, 24401, 24401, 24401, 19628, 18888, 18888, 35631, 18888, 35762, 27211, 27211, 36277, 27211, 34730, 24012, 24401, 24401, 36300, 24401, 36320, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 25712, 18888, 18888, 36346, 27211, 27212, 19184, 24402, 19868, 25659, 32029, 18889, 27211, 33359, 19719, 23889, 36369, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22384, 18836, 36389, 19008, 19233, 20367, 36434, 17173, 17595, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 36453, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 20362, 21726, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22369, 18836, 18987, 19008, 19233, 20367, 19008, 21737, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21813, 18836, 36489, 19008, 19233, 20367, 19008, 17173, 17737, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17768, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 20543, 22022, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21828, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 36517, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21828, 18836, 19307, 18888, 27857, 30756, 24401, 29183, 28015, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 36567, 24401, 24401, 24401, 24401, 22953, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 36603, 24401, 24401, 24401, 24401, 24036, 18881, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 36629, 36690, 18720, 19008, 19233, 20367, 19008, 17454, 17595, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17223, 17308, 17327, 17346, 18918, 36754, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 20362, 21726, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 0, 94242, 0, 118820, 0, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2482176, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 2207744, 2404352, 2412544, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3104768, 2605056, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2678784, 2207744, 2695168, 2207744, 2703360, 2207744, 2711552, 2752512, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 3170304, 3174400, 2158592, 0, 139, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 2748416, 2756608, 2777088, 2801664, 2158592, 2158592, 2158592, 2863104, 2891776, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3104768, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2785280, 2207744, 2809856, 2207744, 2207744, 2842624, 2207744, 2207744, 2207744, 2899968, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2473984, 2207744, 2207744, 2494464, 2207744, 2207744, 2207744, 2523136, 2158592, 2404352, 2412544, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2564096, 2158592, 2158592, 2605056, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2678784, 2158592, 2695168, 2158592, 2703360, 2158592, 2711552, 2752512, 2158592, 2158592, 2785280, 2158592, 2158592, 2785280, 2158592, 2809856, 2158592, 2158592, 2842624, 2158592, 2158592, 2158592, 2899968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 641, 0, 2158592, 0, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 32768, 0, 2158592, 0, 2158592, 2158592, 2158592, 2383872, 2158592, 2158592, 2158592, 2158592, 3006464, 2383872, 2207744, 2207744, 2207744, 2207744, 2158877, 2158877, 2158877, 2158877, 0, 0, 0, 2158877, 2572573, 2158877, 2158877, 0, 2207744, 2207744, 2596864, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2641920, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 167936, 0, 0, 2162688, 0, 0, 3104768, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2146304, 2146304, 2224128, 2224128, 2232320, 2232320, 2232320, 641, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2531328, 2158592, 2158592, 2158592, 2158592, 2158592, 2617344, 2158592, 2158592, 2158592, 2158592, 2441216, 2445312, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2502656, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2580480, 2158592, 2158592, 2158592, 2158592, 2621440, 2158592, 2580480, 2158592, 2158592, 2158592, 2158592, 2621440, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2699264, 2158592, 2158592, 2158592, 2158592, 2158592, 2748416, 2756608, 2777088, 2801664, 2207744, 2863104, 2891776, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3018752, 2207744, 3043328, 2207744, 2207744, 2207744, 2207744, 3080192, 2207744, 2207744, 3112960, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 172310, 279, 0, 2162688, 0, 0, 2207744, 2207744, 2207744, 3186688, 2207744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2404352, 2412544, 2158592, 2510848, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2584576, 2158592, 2609152, 2158592, 2158592, 2629632, 2158592, 2158592, 2158592, 2686976, 2158592, 2715648, 2158592, 2158592, 3121152, 2158592, 2158592, 2158592, 3149824, 2158592, 2158592, 3170304, 3174400, 2158592, 2367488, 2207744, 2207744, 2207744, 2207744, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2572288, 2158592, 2158592, 0, 2207744, 2207744, 2207744, 2433024, 2207744, 2453504, 2461696, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2510848, 2207744, 2207744, 2207744, 2207744, 2207744, 2531328, 2207744, 2207744, 2207744, 2207744, 2207744, 2617344, 2207744, 2207744, 2207744, 2207744, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2572288, 2158592, 2158592, 1508, 2715648, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2867200, 2207744, 2904064, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2580480, 2207744, 2207744, 2207744, 2207744, 2621440, 2207744, 2207744, 2207744, 3149824, 2207744, 2207744, 3170304, 3174400, 2207744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 2158592, 2158592, 2158592, 2404352, 2412544, 2707456, 2732032, 2207744, 2207744, 2207744, 2822144, 2826240, 2207744, 2895872, 2207744, 2207744, 2924544, 2207744, 2207744, 2973696, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 285, 2158592, 2158592, 3112960, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 2207744, 2207744, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 0, 0, 2535424, 2543616, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 2990080, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2572288, 2981888, 2207744, 2207744, 3002368, 2207744, 3047424, 3063808, 3076096, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3203072, 2708960, 2732032, 2158592, 2158592, 2158592, 2822144, 2827748, 2158592, 2895872, 2158592, 2158592, 2924544, 2158592, 2158592, 2973696, 2158592, 2981888, 2158592, 2158592, 3002368, 2158592, 3047424, 3063808, 3076096, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3203072, 2981888, 2158592, 2158592, 3003876, 2158592, 3047424, 3063808, 3076096, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3203072, 2207744, 2207744, 2207744, 2207744, 2207744, 2424832, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 20480, 0, 0, 0, 0, 0, 2162688, 20480, 0, 2523136, 2527232, 2158592, 2158592, 2576384, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2908160, 2527232, 2207744, 2207744, 2576384, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2908160, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 286, 2158592, 2158592, 0, 0, 2158592, 2158592, 2158592, 2158592, 2633728, 2658304, 0, 0, 2740224, 2744320, 0, 2834432, 2207744, 2207744, 2977792, 2207744, 2207744, 2207744, 2207744, 3039232, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3158016, 0, 0, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 933, 45, 45, 45, 45, 442, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 2494464, 2158592, 2158592, 2158592, 2524757, 2527232, 2158592, 2158592, 2576384, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 1504, 2158592, 2498560, 2158592, 2158592, 2158592, 2158592, 2568192, 2158592, 2592768, 2625536, 2158592, 2158592, 2674688, 2736128, 2158592, 2158592, 0, 2158592, 2912256, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3108864, 2158592, 2158592, 3133440, 3145728, 3153920, 2375680, 2379776, 2207744, 2207744, 2420736, 2207744, 2449408, 2207744, 2207744, 2207744, 2498560, 2207744, 2207744, 2207744, 2207744, 2568192, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 551, 2158592, 2158592, 2158592, 2158592, 2207744, 2506752, 2207744, 2207744, 2207744, 2207744, 2207744, 2158592, 2506752, 0, 2020, 2158592, 2592768, 2625536, 2207744, 2207744, 2674688, 2736128, 2207744, 2207744, 2207744, 2912256, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 542, 0, 544, 2207744, 3108864, 2207744, 2207744, 3133440, 3145728, 3153920, 2375680, 2379776, 2158592, 2158592, 2420736, 2158592, 2449408, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 641, 0, 0, 0, 0, 0, 0, 2367488, 2158592, 2498560, 2158592, 2158592, 1621, 2158592, 2158592, 2568192, 2158592, 2592768, 2625536, 2158592, 2158592, 2674688, 0, 0, 0, 0, 0, 1608, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1107, 97, 97, 1110, 97, 97, 3133440, 3145728, 3153920, 2158592, 2408448, 2416640, 2158592, 2465792, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3014656, 2158592, 2158592, 3051520, 2158592, 2158592, 3100672, 2158592, 2158592, 3121152, 2158592, 2158592, 2158592, 3149824, 2416640, 2207744, 2465792, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2633728, 2658304, 2740224, 2744320, 2834432, 2949120, 2158592, 2985984, 2158592, 2998272, 2158592, 2158592, 2158592, 3129344, 2207744, 2408448, 2949120, 2207744, 2985984, 2207744, 2998272, 2207744, 2207744, 2207744, 3129344, 2158592, 2408448, 2416640, 2158592, 2465792, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 32768, 0, 0, 0, 0, 0, 0, 2367488, 2949120, 2158592, 2985984, 2158592, 2998272, 2158592, 2158592, 2158592, 3129344, 2158592, 2158592, 2478080, 2158592, 2158592, 2158592, 2535424, 2543616, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3117056, 2207744, 2207744, 2478080, 2207744, 2207744, 2207744, 2207744, 2699264, 2207744, 2207744, 2207744, 2207744, 2207744, 2748416, 2756608, 2777088, 2801664, 2207744, 2207744, 2158877, 2158877, 2158877, 2158877, 2158877, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 0, 0, 2535709, 2543901, 2158877, 2158877, 2158877, 0, 0, 0, 2158877, 2158877, 2158877, 2990365, 2158877, 2158877, 2158730, 2158730, 2158730, 2158730, 2158730, 2572426, 2207744, 2535424, 2543616, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3117056, 2158592, 2158592, 2478080, 2207744, 2207744, 2990080, 2207744, 2207744, 2158592, 2158592, 2482176, 2158592, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 0, 2158592, 2908160, 2158592, 2158592, 2158592, 2977792, 2158592, 2158592, 2158592, 2158592, 3039232, 2158592, 2158592, 3010560, 2207744, 2428928, 2207744, 2514944, 2207744, 2588672, 2207744, 2838528, 2207744, 2207744, 2207744, 3010560, 2158592, 2428928, 2158592, 2514944, 0, 0, 2158592, 2588672, 2158592, 0, 2838528, 2158592, 2158592, 2158592, 3010560, 2158592, 2506752, 2158592, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 0, 29315, 922, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1539, 45, 3006464, 2383872, 0, 2020, 2158592, 2158592, 2158592, 2158592, 3006464, 2158592, 2637824, 2953216, 2158592, 2207744, 2637824, 2953216, 2207744, 0, 0, 2158592, 2637824, 2953216, 2158592, 2539520, 2158592, 2539520, 2207744, 0, 0, 2539520, 2158592, 2158592, 2158592, 2158592, 2207744, 2506752, 2207744, 2207744, 2207744, 2207744, 2207744, 2158592, 2506752, 0, 0, 2158592, 2207744, 0, 2158592, 2158592, 2207744, 0, 2158592, 2158592, 2207744, 0, 2158592, 2965504, 2965504, 2965504, 0, 0, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2474269, 2158877, 2158877, 0, 0, 2158877, 2158877, 2158877, 2158877, 2634013, 2658589, 0, 0, 2740509, 2744605, 0, 2834717, 40976, 18, 36884, 45078, 24, 28, 90143, 94242, 118820, 102439, 106538, 98347, 118820, 118820, 118820, 40976, 18, 18, 36884, 0, 0, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 86016, 0, 0, 2211840, 102439, 0, 0, 0, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 3158016, 0, 2375680, 2379776, 2158592, 2158592, 2420736, 2158592, 2449408, 2158592, 2158592, 0, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 135, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2564096, 2158592, 2158592, 2158592, 2158592, 2158592, 2596864, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2641920, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2781184, 2793472, 2494464, 2158592, 2158592, 2158592, 2523136, 2527232, 2158592, 2158592, 2576384, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 0, 27, 27, 0, 2158592, 2498560, 2158592, 2158592, 0, 2158592, 2158592, 2568192, 2158592, 2592768, 2625536, 2158592, 2158592, 2674688, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2473984, 2158592, 2158592, 2494464, 2158592, 2158592, 2158592, 3006464, 2383872, 0, 0, 2158592, 2158592, 2158592, 2158592, 3006464, 2158592, 2637824, 2953216, 2158592, 2207744, 2637824, 2953216, 40976, 18, 36884, 45078, 24, 27, 147488, 94242, 147456, 147488, 106538, 98347, 0, 0, 147456, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 0, 81920, 0, 94242, 0, 0, 0, 2211840, 0, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2428928, 2158592, 2514944, 2158592, 2588672, 2158592, 2838528, 2158592, 2158592, 40976, 18, 151573, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 0, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 1315, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1487, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 0, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 130, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3096576, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2207744, 2158592, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 644, 2207744, 2207744, 2207744, 3186688, 2207744, 0, 1080, 0, 1084, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2531466, 2158730, 2158730, 2158730, 2158730, 2158730, 2617482, 0, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2781184, 2793472, 2158592, 2818048, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 40976, 18, 36884, 45078, 24, 27, 90143, 159779, 159744, 102439, 159779, 98347, 0, 0, 159744, 40976, 18, 18, 36884, 0, 45078, 0, 2224253, 172032, 2224253, 2232448, 2232448, 172032, 2232448, 90143, 0, 0, 2170880, 0, 0, 550, 829, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 124, 124, 127, 127, 127, 40976, 18, 36884, 45078, 25, 29, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 163931, 40976, 18, 18, 36884, 0, 45078, 249856, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 2170880, 0, 0, 827, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 4243810, 4243810, 24, 24, 27, 27, 27, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 57344, 286, 2158592, 2158592, 2158592, 2158592, 2707456, 2732032, 2158592, 2158592, 2158592, 2822144, 2826240, 2158592, 2895872, 2158592, 2158592, 2924544, 2158592, 2158592, 2973696, 2158592, 2207744, 2207744, 2207744, 3186688, 2207744, 0, 0, 0, 0, 0, 0, 53248, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 1613, 97, 97, 97, 97, 97, 97, 1495, 97, 97, 97, 97, 97, 97, 97, 97, 97, 566, 97, 97, 97, 97, 97, 97, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 546, 0, 0, 0, 0, 286, 2158592, 2158592, 2158592, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 17, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 20480, 120, 121, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 2170880, 0, 53248, 550, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 196608, 18, 266240, 24, 24, 27, 27, 27, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 0, 45, 45, 45, 45, 45, 45, 45, 1535, 45, 45, 45, 45, 45, 45, 45, 1416, 45, 45, 45, 45, 45, 45, 45, 45, 424, 45, 45, 45, 45, 45, 45, 45, 45, 45, 405, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 199, 45, 45, 67, 67, 67, 67, 67, 491, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1766, 67, 67, 67, 1767, 67, 24850, 24850, 12564, 12564, 0, 0, 2166784, 546, 0, 53531, 53531, 0, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 743, 57889, 0, 2170880, 0, 0, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1856, 45, 1858, 1859, 67, 67, 67, 1009, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1021, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367773, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2699549, 2158877, 2158877, 2158877, 2158877, 2158877, 2748701, 2756893, 2777373, 2801949, 97, 1115, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 857, 97, 67, 67, 67, 67, 67, 1258, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1826, 67, 97, 97, 97, 97, 97, 97, 1338, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 870, 97, 97, 67, 67, 67, 1463, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1579, 67, 67, 97, 97, 97, 1518, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 904, 905, 97, 97, 97, 97, 1620, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 0, 0, 0, 0, 0, 45, 1679, 67, 67, 67, 1682, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1690, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 669, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 189, 45, 45, 45, 1748, 45, 45, 45, 1749, 1750, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1959, 67, 67, 67, 67, 1768, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1791, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1802, 67, 1817, 67, 67, 67, 67, 67, 67, 1823, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 97, 1848, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 659, 45, 45, 45, 45, 45, 45, 45, 1863, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 495, 67, 67, 67, 67, 67, 1878, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 1973, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1165, 97, 1167, 67, 24850, 24850, 12564, 12564, 0, 0, 2166784, 0, 0, 53531, 53531, 0, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1789, 97, 0, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 136, 2158592, 2158592, 2158592, 2158592, 2158592, 3158016, 229376, 2375680, 2379776, 2158592, 2158592, 2420736, 2158592, 2449408, 2158592, 2158592, 67, 24850, 24850, 12564, 12564, 0, 0, 280, 547, 0, 53531, 53531, 0, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 1788, 97, 97, 0, 97, 2024, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 235, 67, 67, 67, 67, 67, 57889, 547, 547, 0, 0, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1799, 45, 45, 45, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 1092, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1612, 97, 97, 97, 97, 1616, 97, 1297, 1472, 0, 0, 0, 0, 1303, 1474, 0, 0, 0, 0, 1309, 1476, 0, 0, 0, 0, 97, 97, 97, 1481, 97, 97, 97, 97, 97, 97, 1488, 97, 0, 1474, 0, 1476, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 607, 97, 97, 97, 97, 40976, 18, 36884, 45078, 26, 30, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 213080, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 143448, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 0, 0, 0, 0, 97, 97, 97, 97, 1482, 97, 1483, 97, 97, 97, 97, 97, 97, 1326, 97, 97, 1329, 1330, 97, 97, 97, 97, 97, 97, 1159, 1160, 97, 97, 97, 97, 97, 97, 97, 97, 590, 97, 97, 97, 97, 97, 97, 97, 0, 94242, 0, 0, 0, 2211974, 102439, 0, 0, 106538, 98347, 0, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2474122, 2158730, 2158730, 2494602, 2158730, 2158730, 2158730, 2809994, 2158730, 2158730, 2842762, 2158730, 2158730, 2158730, 2900106, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3014794, 2158730, 2158730, 3051658, 2158730, 2158730, 3100810, 2158730, 2158730, 2158730, 2158730, 3096714, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2207744, 2207744, 2207744, 2207744, 2207744, 2572288, 2207744, 2207744, 2207744, 2207744, 541, 541, 543, 543, 0, 0, 2166784, 0, 548, 549, 549, 0, 286, 2158877, 2158877, 2158877, 2863389, 2892061, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3186973, 2158877, 0, 0, 0, 0, 0, 0, 0, 0, 2367626, 2158877, 2404637, 2412829, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2564381, 2158877, 2158877, 2605341, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2679069, 2158877, 2695453, 2158877, 2703645, 2158877, 2711837, 2752797, 2158877, 0, 2158877, 2158877, 2158877, 2384010, 2158730, 2158730, 2158730, 2158730, 3006602, 2383872, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3096576, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 0, 0, 2158877, 2785565, 2158877, 2810141, 2158877, 2158877, 2842909, 2158877, 2158877, 2158877, 2900253, 2158877, 2158877, 2158877, 2158877, 2158877, 2531613, 2158877, 2158877, 2158877, 2158877, 2158877, 2617629, 2158877, 2158877, 2158877, 2158877, 2158730, 2818186, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3105053, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 0, 0, 0, 0, 0, 97, 97, 97, 1611, 97, 97, 97, 97, 97, 97, 97, 1496, 97, 97, 1499, 97, 97, 97, 97, 97, 2441354, 2445450, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2502794, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2433162, 2158730, 2453642, 2461834, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2580618, 2158730, 2158730, 2158730, 2158730, 2621578, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2699402, 2158730, 2158730, 2158730, 2158730, 2678922, 2158730, 2695306, 2158730, 2703498, 2158730, 2711690, 2752650, 2158730, 2158730, 2785418, 2158730, 2158730, 2158730, 3113098, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3186826, 2158730, 2207744, 2207744, 2207744, 2207744, 2781184, 2793472, 2207744, 2818048, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 541, 0, 543, 2158877, 2502941, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2580765, 2158877, 2158877, 2158877, 2158877, 2621725, 2158877, 3019037, 2158877, 3043613, 2158877, 2158877, 2158877, 2158877, 3080477, 2158877, 2158877, 3113245, 2158877, 2158877, 2158877, 2158877, 0, 2158877, 2908445, 2158877, 2158877, 2158877, 2978077, 2158877, 2158877, 2158877, 2158877, 3039517, 2158877, 2158730, 2510986, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2584714, 2158730, 2609290, 2158730, 2158730, 2629770, 2158730, 2158730, 2158730, 2388106, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2605194, 2158730, 2158730, 2158730, 2158730, 2687114, 2158730, 2715786, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2867338, 2158730, 2904202, 2158730, 2158730, 2158730, 2642058, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2781322, 2793610, 2158730, 3121290, 2158730, 2158730, 2158730, 3149962, 2158730, 2158730, 3170442, 3174538, 2158730, 2367488, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2441216, 2445312, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2502656, 2158877, 2433309, 2158877, 2453789, 2461981, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2511133, 2158877, 2158877, 2158877, 2158877, 2584861, 2158877, 2609437, 2158877, 2158877, 2629917, 2158877, 2158877, 2158877, 2687261, 2158877, 2715933, 2158877, 2158730, 2158730, 2973834, 2158730, 2982026, 2158730, 2158730, 3002506, 2158730, 3047562, 3063946, 3076234, 2158730, 2158730, 2158730, 2158730, 2207744, 2506752, 2207744, 2207744, 2207744, 2207744, 2207744, 2158877, 2507037, 0, 0, 2158877, 2158730, 2158730, 2158730, 3203210, 2207744, 2207744, 2207744, 2207744, 2207744, 2424832, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2564096, 2207744, 2207744, 2207744, 2707741, 2732317, 2158877, 2158877, 2158877, 2822429, 2826525, 2158877, 2896157, 2158877, 2158877, 2924829, 2158877, 2158877, 2973981, 2158877, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 642, 0, 2158592, 0, 45, 1529, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1755, 45, 67, 67, 2982173, 2158877, 2158877, 3002653, 2158877, 3047709, 3064093, 3076381, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3203357, 2523274, 2527370, 2158730, 2158730, 2576522, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2908298, 2494749, 2158877, 2158877, 2158877, 2523421, 2527517, 2158877, 2158877, 2576669, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 0, 40976, 0, 18, 18, 4321280, 2224253, 2232448, 4329472, 2232448, 2158730, 2498698, 2158730, 2158730, 2158730, 2158730, 2568330, 2158730, 2592906, 2625674, 2158730, 2158730, 2674826, 2736266, 2158730, 2158730, 2158730, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2158730, 2912394, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3109002, 2158730, 2158730, 3133578, 3145866, 3154058, 2375680, 2207744, 3108864, 2207744, 2207744, 3133440, 3145728, 3153920, 2375965, 2380061, 2158877, 2158877, 2421021, 2158877, 2449693, 2158877, 2158877, 2158877, 3117341, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3104906, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158877, 2498845, 2158877, 2158877, 0, 2158877, 2158877, 2568477, 2158877, 2593053, 2625821, 2158877, 2158877, 2674973, 0, 0, 0, 0, 97, 97, 1480, 97, 97, 97, 97, 97, 1485, 97, 97, 97, 0, 97, 97, 1729, 97, 1731, 97, 97, 97, 97, 97, 97, 97, 311, 97, 97, 97, 97, 97, 97, 97, 97, 1520, 97, 97, 1523, 97, 97, 1526, 97, 2736413, 2158877, 2158877, 0, 2158877, 2912541, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3109149, 2158877, 2158877, 3014941, 2158877, 2158877, 3051805, 2158877, 2158877, 3100957, 2158877, 2158877, 3121437, 2158877, 2158877, 2158877, 3150109, 3133725, 3146013, 3154205, 2158730, 2408586, 2416778, 2158730, 2465930, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3018890, 2158730, 3043466, 2158730, 2158730, 2158730, 2158730, 3080330, 2633866, 2658442, 2740362, 2744458, 2834570, 2949258, 2158730, 2986122, 2158730, 2998410, 2158730, 2158730, 2158730, 3129482, 2207744, 2408448, 2949120, 2207744, 2985984, 2207744, 2998272, 2207744, 2207744, 2207744, 3129344, 2158877, 2408733, 2416925, 2158877, 2466077, 2158877, 2158877, 3170589, 3174685, 2158877, 0, 0, 0, 2158730, 2158730, 2158730, 2158730, 2158730, 2424970, 2158730, 2158730, 2158730, 2158730, 2707594, 2732170, 2158730, 2158730, 2158730, 2822282, 2826378, 2158730, 2896010, 2158730, 2158730, 2924682, 2949405, 2158877, 2986269, 2158877, 2998557, 2158877, 2158877, 2158877, 3129629, 2158730, 2158730, 2478218, 2158730, 2158730, 2158730, 2535562, 2543754, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3117194, 2207744, 2207744, 2478080, 2207744, 2207744, 2207744, 2207744, 3014656, 2207744, 2207744, 3051520, 2207744, 2207744, 3100672, 2207744, 2207744, 3121152, 2207744, 2207744, 2207744, 2207744, 2207744, 2584576, 2207744, 2609152, 2207744, 2207744, 2629632, 2207744, 2207744, 2207744, 2686976, 2207744, 2207744, 2535424, 2543616, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3117056, 2158877, 2158877, 2478365, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158730, 2158730, 2482314, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2207744, 2207744, 2207744, 2387968, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 823, 0, 825, 2158730, 2158730, 2158730, 2990218, 2158730, 2158730, 2207744, 2207744, 2482176, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 135, 0, 2207744, 2207744, 2990080, 2207744, 2207744, 2158877, 2158877, 2482461, 2158877, 2158877, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2158730, 2429066, 2158730, 2515082, 2158730, 2588810, 2158730, 2838666, 2158730, 2158730, 2158730, 3010698, 2207744, 2428928, 2207744, 2514944, 2207744, 2588672, 2207744, 2838528, 2207744, 2207744, 2207744, 3010560, 2158877, 2429213, 2158877, 2515229, 0, 0, 2158877, 2588957, 2158877, 0, 2838813, 2158877, 2158877, 2158877, 3010845, 2158730, 2506890, 2158730, 2158730, 2158730, 2748554, 2756746, 2777226, 2801802, 2158730, 2158730, 2158730, 2863242, 2891914, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2564234, 2158730, 2158730, 2158730, 2158730, 2158730, 2597002, 2158730, 2158730, 2158730, 3006464, 2384157, 0, 0, 2158877, 2158877, 2158877, 2158877, 3006749, 2158730, 2637962, 2953354, 2158730, 2207744, 2637824, 2953216, 2207744, 0, 0, 2158877, 2638109, 2953501, 2158877, 2539658, 2158730, 2539520, 2207744, 0, 0, 2539805, 2158877, 2158730, 2158730, 2158730, 2977930, 2158730, 2158730, 2158730, 2158730, 3039370, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3158154, 2207744, 0, 2158877, 2158730, 2207744, 0, 2158877, 2158730, 2207744, 0, 2158877, 2965642, 2965504, 2965789, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1484, 97, 97, 97, 97, 2158592, 18, 0, 122880, 0, 0, 0, 77824, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 356, 0, 0, 0, 0, 0, 0, 28809, 0, 139, 45, 45, 45, 45, 45, 45, 1751, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1427, 67, 67, 67, 67, 67, 1432, 67, 67, 67, 3104768, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 122880, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 1322, 550, 0, 286, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 24, 4329472, 27, 27, 2207744, 2207744, 2977792, 2207744, 2207744, 2207744, 2207744, 3039232, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3158016, 542, 0, 0, 0, 542, 0, 544, 0, 0, 0, 544, 0, 550, 0, 0, 0, 0, 0, 97, 97, 1610, 97, 97, 97, 97, 97, 97, 97, 97, 898, 97, 97, 97, 97, 97, 97, 97, 0, 94242, 0, 0, 0, 2211840, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 237568, 102439, 106538, 98347, 0, 0, 20480, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 192512, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 94, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 96, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 12378, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 126, 126, 126, 126, 90143, 0, 0, 2170880, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 20480, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 241664, 102439, 106538, 98347, 0, 0, 20568, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 200797, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 20480, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 0, 0, 44, 0, 0, 20575, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 41, 41, 41, 0, 0, 1126400, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 0, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 89, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 131201, 27, 27, 90143, 0, 0, 2170880, 0, 0, 550, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2441216, 2445312, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 94242, 0, 0, 208896, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 0, 0, 0, 0, 0, 0, 0, 2367488, 32768, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2433024, 2158592, 2453504, 2461696, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2510848, 2158592, 2158592, 2158592, 2158592, 40976, 18, 36884, 245783, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 20480, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 221184, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 180224, 40976, 18, 18, 36884, 155648, 45078, 0, 24, 24, 217088, 27, 27, 27, 217088, 90143, 0, 0, 2170880, 0, 0, 828, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2207744, 2207744, 2387968, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 233472, 0, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 45, 45, 718, 45, 45, 45, 45, 45, 45, 45, 45, 45, 727, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 45, 1808, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 97, 97, 0, 0, 97, 67, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 1787, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 2029, 45, 67, 67, 67, 67, 2033, 57889, 0, 0, 54074, 54074, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 1798, 45, 45, 1800, 45, 45, 0, 1472, 0, 0, 0, 0, 0, 1474, 0, 0, 0, 0, 0, 1476, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 1320, 97, 97, 0, 0, 97, 97, 97, 97, 1786, 97, 0, 0, 97, 97, 0, 1790, 1527, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 663, 67, 24850, 24850, 12564, 12564, 0, 57889, 281, 0, 0, 53531, 53531, 367, 286, 97, 97, 0, 0, 97, 97, 97, 1785, 97, 97, 0, 0, 97, 97, 0, 97, 97, 1979, 97, 97, 45, 45, 1983, 45, 1984, 45, 45, 45, 45, 45, 652, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 690, 45, 45, 694, 45, 45, 40976, 19, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 262144, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 46, 67, 98, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 45, 67, 97, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 258048, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 1122423, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 1114152, 1114152, 1114152, 0, 0, 1114112, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 37, 102439, 106538, 98347, 0, 0, 204800, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 57436, 40976, 18, 36884, 45078, 24, 27, 33, 33, 0, 33, 33, 33, 0, 0, 0, 40976, 18, 18, 36884, 0, 45078, 0, 124, 124, 124, 127, 127, 127, 127, 90143, 0, 0, 2170880, 0, 0, 550, 0, 2158877, 2158877, 2158877, 2388253, 2158877, 2158877, 2158877, 2158877, 2158877, 2781469, 2793757, 2158877, 2818333, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2867485, 2158877, 2904349, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3096861, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2441501, 2445597, 2158877, 2158877, 2158877, 2158877, 2158877, 40976, 122, 123, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 936, 2158592, 4243810, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 935, 45, 45, 45, 715, 45, 45, 45, 45, 45, 45, 45, 723, 45, 45, 45, 45, 45, 1182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 430, 45, 45, 45, 45, 45, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 47, 68, 99, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 48, 69, 100, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 49, 70, 101, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 50, 71, 102, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 51, 72, 103, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 52, 73, 104, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 53, 74, 105, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 54, 75, 106, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 55, 76, 107, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 56, 77, 108, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 57, 78, 109, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 58, 79, 110, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 59, 80, 111, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 60, 81, 112, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 61, 82, 113, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 62, 83, 114, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 63, 84, 115, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 64, 85, 116, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 65, 86, 117, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 66, 87, 118, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 118820, 102439, 106538, 98347, 118820, 118820, 118820, 40976, 18, 18, 0, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 1314, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 1321, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 0, 367, 0, 0, 1315, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1360, 97, 97, 131, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 145, 149, 45, 45, 45, 45, 45, 174, 45, 179, 45, 185, 45, 188, 45, 45, 202, 67, 255, 67, 67, 269, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 292, 296, 97, 97, 97, 97, 97, 321, 97, 326, 97, 332, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 646, 335, 97, 97, 349, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 437, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 523, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 511, 67, 67, 67, 97, 97, 97, 620, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1501, 1502, 97, 793, 67, 67, 796, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 808, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 2052, 67, 67, 67, 67, 813, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 830, 97, 97, 97, 97, 97, 97, 97, 97, 97, 315, 97, 97, 97, 97, 97, 97, 841, 97, 97, 97, 97, 97, 97, 97, 97, 97, 854, 97, 97, 97, 97, 97, 97, 589, 97, 97, 97, 97, 97, 97, 97, 97, 97, 867, 97, 97, 97, 97, 97, 97, 97, 891, 97, 97, 894, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 906, 45, 937, 45, 45, 940, 45, 45, 45, 45, 45, 45, 948, 45, 45, 45, 45, 45, 734, 735, 67, 737, 67, 738, 67, 740, 67, 67, 67, 45, 967, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 435, 45, 45, 45, 980, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 415, 45, 45, 67, 67, 1024, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 67, 67, 67, 67, 67, 25398, 1081, 13112, 1085, 54074, 1089, 0, 0, 0, 0, 0, 0, 363, 0, 28809, 0, 139, 45, 45, 45, 45, 45, 45, 1674, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1913, 67, 1914, 67, 67, 67, 1918, 67, 67, 97, 97, 97, 97, 1118, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 630, 97, 97, 97, 97, 97, 1169, 97, 97, 97, 97, 97, 0, 921, 0, 1175, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1534, 45, 45, 45, 45, 45, 1538, 45, 45, 45, 45, 1233, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 742, 67, 45, 45, 1191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 454, 67, 67, 67, 67, 1243, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1251, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 2050, 0, 97, 97, 45, 45, 45, 732, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 67, 67, 67, 1284, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 772, 67, 67, 67, 1293, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 2158592, 2158592, 2158592, 2404352, 2412544, 1323, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1331, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1737, 97, 1364, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1373, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 647, 45, 45, 1387, 45, 45, 1391, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 410, 45, 45, 45, 45, 45, 1400, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1407, 45, 45, 45, 45, 45, 941, 45, 943, 45, 45, 45, 45, 45, 45, 951, 45, 67, 1438, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1447, 67, 67, 67, 67, 67, 67, 782, 67, 67, 67, 67, 67, 67, 67, 67, 67, 756, 67, 67, 67, 67, 67, 67, 97, 1491, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1500, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1736, 97, 45, 45, 1541, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 677, 45, 45, 67, 1581, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 791, 792, 67, 67, 67, 67, 1598, 67, 1600, 67, 67, 67, 67, 67, 67, 67, 67, 1472, 97, 97, 97, 1727, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1513, 97, 97, 67, 67, 97, 1879, 97, 1881, 97, 0, 1884, 0, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 1842, 97, 97, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1928, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1903, 45, 45, 45, 67, 67, 67, 67, 97, 97, 97, 97, 1971, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 1381, 45, 45, 45, 45, 1976, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1747, 809, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 97, 907, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 638, 0, 0, 0, 0, 1478, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1150, 97, 97, 97, 97, 67, 67, 67, 67, 1244, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 477, 67, 67, 67, 67, 67, 67, 1294, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1324, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 1374, 97, 97, 97, 97, 0, 1175, 0, 45, 45, 45, 45, 45, 45, 45, 45, 945, 45, 45, 45, 45, 45, 45, 45, 45, 1908, 45, 45, 1910, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1919, 67, 0, 0, 97, 97, 97, 97, 45, 2048, 67, 2049, 0, 0, 97, 2051, 45, 45, 45, 939, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 397, 45, 45, 45, 1921, 67, 67, 1923, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1947, 45, 1935, 0, 0, 0, 97, 1939, 97, 97, 1941, 97, 45, 45, 45, 45, 45, 45, 382, 389, 45, 45, 45, 45, 45, 45, 45, 45, 1810, 45, 45, 1812, 67, 67, 67, 67, 67, 256, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 336, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 371, 373, 45, 45, 45, 955, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 413, 45, 45, 45, 457, 459, 67, 67, 67, 67, 67, 67, 67, 67, 473, 67, 478, 67, 67, 482, 67, 67, 485, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 1828, 97, 554, 556, 97, 97, 97, 97, 97, 97, 97, 97, 570, 97, 575, 97, 97, 579, 97, 97, 582, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 330, 97, 97, 67, 746, 67, 67, 67, 67, 67, 67, 67, 67, 67, 758, 67, 67, 67, 67, 67, 67, 67, 1575, 67, 67, 67, 67, 67, 67, 67, 67, 493, 67, 67, 67, 67, 67, 67, 67, 97, 97, 844, 97, 97, 97, 97, 97, 97, 97, 97, 97, 856, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1735, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 1642, 97, 1644, 97, 97, 890, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 67, 67, 67, 67, 1065, 1066, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 532, 67, 67, 67, 67, 67, 67, 67, 1451, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 496, 67, 67, 97, 97, 1505, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 593, 97, 97, 0, 1474, 0, 1476, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1617, 97, 97, 1635, 0, 1637, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 885, 97, 97, 97, 97, 67, 67, 1704, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 565, 572, 97, 97, 97, 97, 97, 97, 97, 97, 1832, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1946, 45, 45, 67, 67, 67, 67, 67, 97, 1926, 97, 1927, 97, 0, 0, 0, 97, 97, 1934, 2043, 0, 0, 97, 97, 97, 2047, 45, 45, 67, 67, 0, 1832, 97, 97, 45, 45, 45, 981, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1227, 45, 45, 45, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 372, 45, 45, 45, 45, 1661, 1662, 45, 45, 45, 45, 45, 1666, 45, 45, 45, 45, 45, 1673, 45, 1675, 45, 45, 45, 45, 45, 45, 45, 67, 1426, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1275, 67, 67, 67, 67, 67, 45, 418, 45, 45, 420, 45, 45, 423, 45, 45, 45, 45, 45, 45, 45, 45, 959, 45, 45, 962, 45, 45, 45, 45, 458, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 483, 67, 67, 67, 67, 504, 67, 67, 506, 67, 67, 509, 67, 67, 67, 67, 67, 67, 67, 528, 67, 67, 67, 67, 67, 67, 67, 67, 1287, 67, 67, 67, 67, 67, 67, 67, 555, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 580, 97, 97, 97, 97, 601, 97, 97, 603, 97, 97, 606, 97, 97, 97, 97, 97, 97, 848, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1498, 97, 97, 97, 97, 97, 97, 45, 45, 714, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 989, 990, 45, 67, 67, 67, 67, 67, 1011, 67, 67, 67, 67, 1015, 67, 67, 67, 67, 67, 67, 67, 753, 67, 67, 67, 67, 67, 67, 67, 67, 467, 67, 67, 67, 67, 67, 67, 67, 45, 45, 1179, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1003, 1004, 67, 1217, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 728, 67, 1461, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1034, 67, 97, 1516, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 871, 97, 67, 67, 67, 1705, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 567, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1715, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 1380, 45, 45, 45, 45, 45, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 1887, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 2006, 45, 45, 1907, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1920, 67, 97, 0, 2035, 97, 97, 97, 97, 97, 45, 45, 45, 45, 67, 67, 67, 1428, 67, 67, 67, 67, 67, 67, 1435, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 146, 45, 152, 45, 45, 165, 45, 175, 45, 180, 45, 45, 187, 190, 195, 45, 203, 254, 257, 262, 67, 270, 67, 67, 0, 24850, 12564, 0, 0, 0, 281, 28809, 53531, 97, 97, 97, 293, 97, 299, 97, 97, 312, 97, 322, 97, 327, 97, 97, 334, 337, 342, 97, 350, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 67, 484, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 499, 97, 581, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 596, 648, 45, 650, 45, 651, 45, 653, 45, 45, 45, 657, 45, 45, 45, 45, 45, 45, 1954, 67, 67, 67, 1958, 67, 67, 67, 67, 67, 67, 67, 768, 67, 67, 67, 67, 67, 67, 67, 67, 769, 67, 67, 67, 67, 67, 67, 67, 680, 45, 45, 45, 45, 45, 45, 45, 45, 688, 689, 691, 45, 45, 45, 45, 45, 983, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 947, 45, 45, 45, 45, 952, 45, 45, 698, 699, 45, 45, 702, 703, 45, 45, 45, 45, 45, 45, 45, 711, 744, 67, 67, 67, 67, 67, 67, 67, 67, 67, 757, 67, 67, 67, 67, 761, 67, 67, 67, 67, 765, 67, 767, 67, 67, 67, 67, 67, 67, 67, 67, 775, 776, 778, 67, 67, 67, 67, 67, 67, 785, 786, 67, 67, 789, 790, 67, 67, 67, 67, 67, 67, 1442, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1775, 97, 97, 97, 67, 67, 67, 67, 67, 798, 67, 67, 67, 802, 67, 67, 67, 67, 67, 67, 67, 67, 1465, 67, 67, 1468, 67, 67, 1471, 67, 67, 810, 67, 67, 67, 67, 67, 67, 67, 67, 67, 821, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 0, 833, 97, 835, 97, 836, 97, 838, 97, 97, 0, 0, 97, 97, 97, 2002, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1740, 45, 45, 45, 1744, 45, 45, 45, 97, 842, 97, 97, 97, 97, 97, 97, 97, 97, 97, 855, 97, 97, 97, 97, 0, 1717, 1718, 97, 97, 97, 97, 97, 1722, 97, 0, 0, 859, 97, 97, 97, 97, 863, 97, 865, 97, 97, 97, 97, 97, 97, 97, 97, 604, 97, 97, 97, 97, 97, 97, 97, 873, 874, 876, 97, 97, 97, 97, 97, 97, 883, 884, 97, 97, 887, 888, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 225280, 0, 365, 0, 367, 0, 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1199, 45, 45, 45, 45, 45, 97, 97, 908, 97, 97, 97, 97, 97, 97, 97, 97, 97, 919, 638, 0, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2425117, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2597149, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2642205, 2158877, 2158877, 2158877, 2158877, 2158877, 3158301, 0, 2375818, 2379914, 2158730, 2158730, 2420874, 2158730, 2449546, 2158730, 2158730, 953, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 965, 978, 45, 45, 45, 45, 45, 45, 985, 45, 45, 45, 45, 45, 45, 45, 45, 971, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1027, 67, 1029, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1455, 67, 67, 67, 67, 67, 67, 67, 1077, 1078, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 139, 2158730, 2158730, 2158730, 2404490, 2412682, 1113, 97, 97, 97, 97, 97, 97, 1121, 97, 1123, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1540, 1155, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 615, 1168, 97, 97, 1171, 1172, 97, 97, 0, 921, 0, 1175, 0, 0, 0, 0, 45, 45, 45, 45, 45, 1533, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1663, 45, 45, 45, 45, 45, 45, 45, 45, 45, 183, 45, 45, 45, 45, 201, 45, 45, 45, 1219, 45, 45, 45, 45, 45, 45, 45, 1226, 45, 45, 45, 45, 45, 168, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 427, 45, 45, 45, 45, 45, 45, 45, 1231, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1242, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1046, 67, 67, 1254, 67, 1256, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 806, 807, 67, 67, 97, 1336, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1111, 97, 97, 97, 97, 97, 1351, 97, 97, 97, 1354, 97, 97, 97, 1359, 97, 97, 97, 0, 97, 97, 97, 97, 1640, 97, 97, 97, 97, 97, 97, 97, 897, 97, 97, 97, 902, 97, 97, 97, 97, 97, 97, 97, 97, 1366, 97, 97, 97, 97, 97, 97, 97, 1371, 97, 97, 97, 0, 97, 97, 97, 1730, 97, 97, 97, 97, 97, 97, 97, 97, 915, 97, 97, 97, 97, 0, 360, 0, 67, 67, 67, 1440, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1017, 67, 1019, 67, 67, 67, 67, 67, 1453, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1459, 97, 97, 97, 1493, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1525, 97, 97, 97, 97, 97, 97, 1507, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1514, 67, 67, 67, 67, 1584, 67, 67, 67, 67, 67, 1590, 67, 67, 67, 67, 67, 67, 67, 783, 67, 67, 67, 788, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1599, 1601, 67, 67, 67, 1604, 67, 1606, 1607, 67, 1472, 0, 1474, 0, 1476, 0, 97, 97, 97, 97, 97, 97, 1614, 97, 97, 97, 97, 45, 45, 1850, 45, 45, 45, 45, 1855, 45, 45, 45, 45, 45, 1222, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1229, 97, 1618, 97, 97, 97, 97, 97, 97, 97, 1625, 97, 97, 97, 97, 97, 0, 1175, 0, 45, 45, 45, 45, 45, 45, 45, 45, 447, 45, 45, 45, 45, 45, 67, 67, 1633, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1643, 1645, 97, 97, 0, 0, 97, 97, 1784, 97, 97, 97, 0, 0, 97, 97, 0, 97, 1894, 1895, 97, 1897, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 656, 45, 45, 45, 45, 45, 45, 97, 1648, 97, 1650, 1651, 97, 0, 45, 45, 45, 1654, 45, 45, 45, 45, 45, 169, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 658, 45, 45, 45, 45, 664, 45, 45, 1659, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1187, 45, 45, 1669, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1005, 67, 67, 1681, 67, 67, 67, 67, 67, 67, 67, 1686, 67, 67, 67, 67, 67, 67, 67, 784, 67, 67, 67, 67, 67, 67, 67, 67, 1055, 67, 67, 67, 67, 1060, 67, 67, 97, 97, 1713, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 1378, 45, 45, 45, 45, 45, 45, 45, 408, 45, 45, 45, 45, 45, 45, 45, 45, 1547, 45, 1549, 45, 45, 45, 45, 45, 97, 97, 1780, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 2027, 2028, 45, 45, 67, 67, 2031, 2032, 67, 45, 45, 1804, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1917, 67, 67, 67, 67, 67, 67, 67, 1819, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1708, 97, 97, 97, 97, 97, 45, 45, 1862, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 497, 67, 67, 67, 1877, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 1839, 0, 0, 97, 97, 97, 97, 1936, 0, 0, 97, 97, 97, 97, 97, 97, 1943, 1944, 1945, 45, 45, 45, 45, 670, 45, 45, 45, 45, 674, 45, 45, 45, 45, 678, 45, 1948, 45, 1950, 45, 45, 45, 45, 1955, 1956, 1957, 67, 67, 67, 1960, 67, 1962, 67, 67, 67, 67, 1967, 1968, 1969, 97, 0, 0, 0, 97, 97, 1974, 97, 0, 1936, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1906, 0, 1977, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1746, 45, 45, 45, 45, 2011, 67, 67, 2013, 67, 67, 67, 2017, 97, 97, 0, 0, 2021, 97, 8192, 97, 97, 2025, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1916, 67, 67, 67, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 140, 45, 45, 45, 1180, 45, 45, 45, 45, 1184, 45, 45, 45, 45, 45, 45, 45, 387, 45, 392, 45, 45, 396, 45, 45, 399, 45, 45, 67, 207, 67, 67, 67, 67, 67, 67, 236, 67, 67, 67, 67, 67, 67, 67, 800, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1603, 67, 67, 67, 67, 67, 0, 97, 97, 287, 97, 97, 97, 97, 97, 97, 316, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 1656, 1657, 45, 376, 45, 45, 45, 45, 45, 388, 45, 45, 45, 45, 45, 45, 45, 45, 1406, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 462, 67, 67, 67, 67, 67, 474, 67, 67, 67, 67, 67, 67, 67, 817, 67, 67, 67, 67, 25398, 542, 13112, 544, 97, 97, 97, 97, 559, 97, 97, 97, 97, 97, 571, 97, 97, 97, 97, 97, 97, 896, 97, 97, 97, 900, 97, 97, 97, 97, 97, 97, 912, 914, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 391, 45, 45, 45, 45, 45, 45, 45, 45, 713, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 662, 45, 1140, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 636, 67, 67, 1283, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 513, 67, 67, 1363, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 889, 97, 97, 97, 1714, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 926, 45, 45, 45, 45, 45, 45, 45, 45, 672, 45, 45, 45, 45, 45, 45, 45, 45, 686, 45, 45, 45, 45, 45, 45, 45, 45, 944, 45, 45, 45, 45, 45, 45, 45, 45, 1676, 45, 45, 45, 45, 45, 45, 67, 97, 97, 97, 1833, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1902, 45, 45, 45, 45, 45, 957, 45, 45, 45, 45, 961, 45, 963, 45, 45, 45, 67, 97, 2034, 0, 97, 97, 97, 97, 97, 2040, 45, 45, 45, 2042, 67, 67, 67, 67, 67, 67, 1574, 67, 67, 67, 67, 67, 1578, 67, 67, 67, 67, 67, 67, 799, 67, 67, 67, 804, 67, 67, 67, 67, 67, 67, 67, 1298, 0, 0, 0, 1304, 0, 0, 0, 1310, 132, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 45, 45, 1414, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 428, 45, 45, 45, 45, 45, 57889, 0, 0, 54074, 54074, 550, 831, 97, 97, 97, 97, 97, 97, 97, 97, 97, 568, 97, 97, 97, 97, 578, 97, 45, 45, 968, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1228, 45, 45, 67, 67, 67, 67, 67, 25398, 1082, 13112, 1086, 54074, 1090, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 139, 2158592, 2158592, 2158592, 2404352, 2412544, 67, 67, 67, 67, 1464, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 510, 67, 67, 67, 67, 97, 97, 97, 97, 1519, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 918, 97, 0, 0, 0, 0, 1528, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 976, 45, 1554, 45, 45, 45, 45, 45, 45, 45, 45, 1562, 45, 45, 1565, 45, 45, 45, 45, 683, 45, 45, 45, 687, 45, 45, 692, 45, 45, 45, 45, 45, 1953, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1014, 67, 67, 67, 67, 67, 67, 1568, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 67, 67, 67, 67, 67, 1585, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1594, 97, 97, 1649, 97, 97, 97, 0, 45, 45, 1653, 45, 45, 45, 45, 45, 45, 383, 45, 45, 45, 45, 45, 45, 45, 45, 45, 986, 45, 45, 45, 45, 45, 45, 45, 45, 1670, 45, 1672, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 736, 67, 67, 67, 67, 67, 741, 67, 67, 67, 1680, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1074, 67, 67, 67, 1692, 67, 67, 67, 67, 67, 67, 67, 1697, 67, 1699, 67, 67, 67, 67, 67, 67, 1012, 67, 67, 67, 67, 67, 67, 67, 67, 67, 468, 475, 67, 67, 67, 67, 67, 67, 1769, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 624, 97, 97, 97, 97, 97, 97, 634, 97, 97, 1792, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 958, 45, 45, 45, 45, 45, 45, 964, 45, 150, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 977, 204, 45, 67, 67, 67, 217, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 787, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 271, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 97, 351, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 45, 938, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1398, 45, 45, 45, 153, 45, 161, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 660, 661, 45, 45, 205, 45, 67, 67, 67, 67, 220, 67, 228, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 280, 94, 0, 0, 67, 67, 67, 67, 67, 272, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 97, 352, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 439, 45, 45, 45, 45, 45, 445, 45, 45, 45, 452, 45, 45, 67, 67, 212, 216, 67, 67, 67, 67, 67, 241, 67, 246, 67, 252, 67, 67, 486, 67, 67, 67, 67, 67, 67, 67, 494, 67, 67, 67, 67, 67, 67, 67, 1245, 67, 67, 67, 67, 67, 67, 67, 67, 1013, 67, 67, 1016, 67, 67, 67, 67, 67, 521, 67, 67, 525, 67, 67, 67, 67, 67, 531, 67, 67, 67, 538, 67, 0, 0, 2046, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 1192, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1418, 45, 45, 1421, 97, 97, 583, 97, 97, 97, 97, 97, 97, 97, 591, 97, 97, 97, 97, 97, 97, 913, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 1384, 97, 618, 97, 97, 622, 97, 97, 97, 97, 97, 628, 97, 97, 97, 635, 97, 18, 131427, 0, 0, 0, 639, 0, 132, 362, 0, 0, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 932, 45, 45, 45, 45, 45, 1544, 45, 45, 45, 45, 45, 1550, 45, 45, 45, 45, 45, 1194, 45, 1196, 45, 45, 45, 45, 45, 45, 45, 45, 999, 45, 45, 45, 45, 45, 67, 67, 45, 45, 667, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1408, 45, 45, 45, 696, 45, 45, 45, 701, 45, 45, 45, 45, 45, 45, 45, 45, 710, 45, 45, 45, 1220, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 194, 45, 45, 45, 729, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 797, 67, 67, 67, 67, 67, 67, 805, 67, 67, 67, 67, 67, 67, 67, 1587, 67, 1589, 67, 67, 67, 67, 67, 67, 67, 67, 1763, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 2162968, 0, 0, 67, 67, 67, 67, 67, 814, 816, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 67, 67, 1008, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1020, 67, 0, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 67, 67, 67, 67, 1429, 67, 1430, 67, 67, 67, 67, 67, 1062, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 518, 1076, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 0, 28809, 0, 139, 45, 45, 45, 45, 45, 97, 97, 97, 97, 1102, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1124, 97, 1126, 97, 97, 1114, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1112, 97, 97, 1156, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 594, 97, 97, 97, 97, 1170, 97, 97, 97, 97, 0, 921, 0, 0, 0, 0, 0, 0, 45, 45, 45, 45, 1532, 45, 45, 45, 45, 1536, 45, 45, 45, 45, 45, 172, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 706, 45, 45, 709, 45, 45, 1177, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1202, 45, 1204, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1215, 45, 45, 45, 1232, 45, 45, 45, 45, 45, 45, 45, 67, 1237, 67, 67, 67, 67, 67, 67, 1053, 1054, 67, 67, 67, 67, 67, 67, 1061, 67, 67, 1282, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1289, 67, 67, 67, 1292, 97, 97, 97, 97, 1339, 97, 97, 97, 97, 97, 97, 1344, 97, 97, 97, 97, 45, 1849, 45, 1851, 45, 45, 45, 45, 45, 45, 45, 45, 721, 45, 45, 45, 45, 45, 726, 45, 1385, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1188, 45, 45, 1401, 1402, 45, 45, 45, 45, 1405, 45, 45, 45, 45, 45, 45, 45, 45, 1752, 45, 45, 45, 45, 45, 67, 67, 1410, 45, 45, 45, 1413, 45, 1415, 45, 45, 45, 45, 45, 45, 1419, 45, 45, 45, 45, 1806, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 97, 97, 2019, 0, 97, 67, 67, 67, 1452, 67, 67, 67, 67, 67, 67, 67, 67, 1457, 67, 67, 67, 67, 67, 67, 1259, 67, 67, 67, 67, 67, 67, 1264, 67, 67, 1460, 67, 1462, 67, 67, 67, 67, 67, 67, 1466, 67, 67, 67, 67, 67, 67, 67, 67, 1588, 67, 67, 67, 67, 67, 67, 67, 0, 1300, 0, 0, 0, 1306, 0, 0, 0, 97, 97, 97, 1506, 97, 97, 97, 97, 97, 97, 97, 97, 1512, 97, 97, 97, 0, 1728, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 901, 97, 97, 97, 97, 1515, 97, 1517, 97, 97, 97, 97, 97, 97, 1521, 97, 97, 97, 97, 97, 97, 0, 45, 1652, 45, 45, 45, 1655, 45, 45, 45, 45, 45, 1542, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1552, 1553, 45, 45, 45, 1556, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 693, 45, 45, 45, 67, 67, 67, 67, 1572, 67, 67, 67, 67, 1576, 67, 67, 67, 67, 67, 67, 67, 67, 1602, 67, 67, 1605, 67, 67, 67, 0, 67, 1582, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1580, 67, 67, 1596, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 542, 0, 544, 67, 67, 67, 67, 1759, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 533, 67, 67, 67, 67, 67, 67, 67, 1770, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 1777, 97, 97, 97, 1793, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 998, 45, 45, 1001, 1002, 45, 45, 67, 67, 45, 1861, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1871, 67, 1873, 1874, 67, 0, 97, 45, 67, 0, 97, 45, 67, 16384, 97, 45, 67, 97, 0, 0, 0, 1473, 0, 1082, 0, 0, 0, 1475, 0, 1086, 0, 0, 0, 1477, 1876, 67, 97, 97, 97, 97, 97, 1883, 0, 1885, 97, 97, 97, 1889, 0, 0, 0, 286, 0, 0, 0, 286, 0, 2367488, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 24, 126, 126, 126, 2053, 0, 2055, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 97, 97, 2039, 97, 45, 45, 45, 45, 67, 67, 67, 67, 67, 226, 67, 67, 67, 67, 67, 67, 67, 67, 1246, 67, 67, 1249, 1250, 67, 67, 67, 132, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 141, 45, 45, 45, 1403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1186, 45, 45, 1189, 45, 45, 155, 45, 45, 45, 45, 45, 45, 45, 45, 45, 191, 45, 45, 45, 45, 700, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1753, 45, 45, 45, 67, 67, 45, 45, 67, 208, 67, 67, 67, 222, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1764, 67, 67, 67, 67, 67, 67, 67, 258, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 288, 97, 97, 97, 302, 97, 97, 97, 97, 97, 97, 97, 97, 97, 627, 97, 97, 97, 97, 97, 97, 338, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 370, 45, 45, 45, 45, 716, 45, 45, 45, 45, 45, 722, 45, 45, 45, 45, 45, 45, 1912, 67, 67, 67, 67, 67, 67, 67, 67, 67, 819, 67, 67, 25398, 542, 13112, 544, 45, 403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1409, 45, 67, 67, 67, 67, 489, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 771, 67, 67, 67, 67, 520, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 534, 67, 67, 67, 67, 67, 67, 1271, 67, 67, 67, 1274, 67, 67, 67, 1279, 67, 67, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 97, 553, 97, 97, 97, 97, 586, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1138, 97, 97, 97, 97, 617, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 631, 97, 97, 97, 0, 1834, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 353, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 45, 668, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 724, 45, 45, 45, 45, 45, 682, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 949, 45, 45, 45, 67, 67, 747, 748, 67, 67, 67, 67, 755, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 1302, 0, 0, 0, 1308, 0, 67, 794, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1701, 67, 97, 97, 97, 845, 846, 97, 97, 97, 97, 853, 97, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 97, 97, 892, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 610, 97, 97, 45, 992, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1239, 67, 67, 67, 1063, 67, 67, 67, 67, 67, 1068, 67, 67, 67, 67, 67, 67, 67, 0, 0, 1301, 0, 0, 0, 1307, 0, 0, 97, 1141, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1152, 97, 97, 0, 0, 97, 97, 2001, 0, 97, 2003, 97, 97, 97, 45, 45, 45, 1739, 45, 45, 45, 1742, 45, 45, 45, 45, 45, 97, 97, 97, 97, 1157, 97, 97, 97, 97, 97, 1162, 97, 97, 97, 97, 97, 97, 1145, 97, 97, 97, 97, 97, 1151, 97, 97, 97, 1253, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 539, 45, 1423, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1431, 67, 67, 67, 67, 67, 67, 67, 1695, 67, 67, 67, 67, 67, 1700, 67, 1702, 67, 67, 1439, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 514, 67, 67, 97, 97, 1492, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 611, 97, 97, 1703, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 852, 97, 97, 97, 97, 97, 97, 45, 1949, 45, 1951, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1961, 67, 0, 97, 45, 67, 0, 97, 2060, 2061, 0, 2062, 45, 67, 97, 0, 0, 2036, 97, 97, 97, 97, 45, 45, 45, 45, 67, 67, 67, 67, 67, 223, 67, 67, 237, 67, 67, 67, 67, 67, 67, 67, 1272, 67, 67, 67, 67, 67, 67, 67, 67, 507, 67, 67, 67, 67, 67, 67, 67, 1963, 67, 67, 67, 97, 97, 97, 97, 0, 1972, 0, 97, 97, 97, 1975, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 931, 45, 45, 45, 45, 45, 407, 45, 45, 45, 45, 45, 45, 45, 45, 45, 417, 45, 45, 1989, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1996, 97, 18, 131427, 0, 0, 360, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 930, 45, 45, 45, 45, 45, 45, 444, 45, 45, 45, 45, 45, 45, 45, 67, 67, 97, 97, 1998, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1985, 45, 1986, 45, 45, 45, 156, 45, 45, 170, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 675, 45, 45, 45, 45, 679, 131427, 0, 358, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 381, 45, 45, 45, 45, 45, 45, 45, 45, 45, 400, 45, 45, 419, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 436, 67, 67, 67, 67, 67, 505, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 820, 67, 25398, 542, 13112, 544, 67, 67, 522, 67, 67, 67, 67, 67, 529, 67, 67, 67, 67, 67, 67, 67, 0, 1299, 0, 0, 0, 1305, 0, 0, 0, 97, 97, 619, 97, 97, 97, 97, 97, 626, 97, 97, 97, 97, 97, 97, 97, 1105, 97, 97, 97, 97, 1109, 97, 97, 97, 67, 67, 67, 67, 749, 67, 67, 67, 67, 67, 67, 67, 67, 67, 760, 67, 0, 97, 45, 67, 2058, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 2041, 67, 67, 67, 67, 67, 780, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 516, 67, 67, 97, 97, 97, 878, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1629, 97, 0, 45, 979, 45, 45, 45, 45, 984, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1198, 45, 45, 45, 45, 45, 45, 67, 1023, 67, 67, 67, 67, 1028, 67, 67, 67, 67, 67, 67, 67, 67, 67, 470, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 1094, 0, 0, 0, 1092, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1486, 97, 1489, 97, 97, 97, 1117, 97, 97, 97, 97, 1122, 97, 97, 97, 97, 97, 97, 97, 1146, 97, 97, 97, 97, 97, 97, 97, 97, 881, 97, 97, 97, 886, 97, 97, 97, 1311, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1615, 97, 97, 97, 97, 97, 1619, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1631, 97, 97, 1847, 97, 45, 45, 45, 45, 1852, 45, 45, 45, 45, 45, 45, 45, 1235, 45, 45, 45, 67, 67, 67, 67, 67, 1868, 67, 67, 67, 1872, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1882, 0, 0, 0, 97, 97, 97, 97, 0, 1891, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 1929, 0, 0, 97, 97, 97, 97, 97, 97, 45, 1900, 45, 1901, 45, 45, 45, 1905, 45, 67, 2054, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 2037, 2038, 97, 97, 45, 45, 45, 45, 67, 67, 67, 67, 1867, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1774, 97, 97, 97, 97, 97, 97, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 142, 45, 45, 45, 1412, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 432, 45, 45, 45, 45, 45, 157, 45, 45, 171, 45, 45, 45, 182, 45, 45, 45, 45, 200, 45, 45, 45, 1543, 45, 45, 45, 45, 45, 45, 45, 45, 1551, 45, 45, 45, 45, 1181, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1211, 45, 45, 45, 1214, 45, 45, 45, 67, 209, 67, 67, 67, 224, 67, 67, 238, 67, 67, 67, 249, 67, 0, 97, 2056, 2057, 0, 2059, 45, 67, 0, 97, 45, 67, 97, 0, 0, 1937, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1741, 45, 45, 45, 45, 45, 45, 67, 67, 67, 267, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 289, 97, 97, 97, 304, 97, 97, 318, 97, 97, 97, 329, 97, 97, 0, 0, 97, 1783, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 2026, 45, 45, 45, 45, 67, 2030, 67, 67, 67, 67, 67, 67, 1041, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1044, 67, 67, 67, 67, 67, 67, 97, 97, 347, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 666, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1420, 45, 57889, 0, 0, 54074, 54074, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 840, 67, 1007, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 759, 67, 67, 67, 67, 67, 67, 67, 1052, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1031, 67, 67, 67, 67, 67, 97, 97, 97, 1101, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 592, 97, 97, 97, 1190, 45, 45, 45, 45, 45, 1195, 45, 1197, 45, 45, 45, 45, 1201, 45, 45, 45, 45, 1952, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 250, 67, 67, 67, 1255, 67, 1257, 67, 67, 67, 67, 1261, 67, 67, 67, 67, 67, 67, 67, 67, 1685, 67, 67, 67, 67, 67, 67, 67, 0, 24851, 12565, 0, 0, 0, 0, 28809, 53532, 67, 67, 1267, 67, 67, 67, 67, 67, 67, 1273, 67, 67, 67, 67, 67, 67, 67, 67, 1696, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 2162688, 0, 0, 1281, 67, 67, 67, 67, 1285, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1070, 67, 67, 67, 67, 67, 1335, 97, 1337, 97, 97, 97, 97, 1341, 97, 97, 97, 97, 97, 97, 97, 97, 882, 97, 97, 97, 97, 97, 97, 97, 1347, 97, 97, 97, 97, 97, 97, 1353, 97, 97, 97, 97, 97, 97, 1361, 97, 18, 131427, 0, 638, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 544, 0, 550, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2473984, 2158592, 2158592, 2158592, 2990080, 2158592, 2158592, 2207744, 2207744, 2482176, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 0, 53530, 97, 97, 97, 1365, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 608, 97, 97, 97, 45, 45, 1424, 45, 1425, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1058, 67, 67, 67, 67, 45, 1555, 45, 45, 1557, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 707, 45, 45, 45, 45, 67, 67, 1570, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 773, 67, 67, 1595, 67, 67, 1597, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 2158592, 2158592, 2158592, 2404352, 2412544, 97, 97, 97, 1636, 97, 97, 97, 1639, 97, 97, 1641, 97, 97, 97, 97, 97, 97, 1173, 0, 921, 0, 0, 0, 0, 0, 0, 45, 67, 67, 67, 1693, 67, 67, 67, 67, 67, 67, 67, 1698, 67, 67, 67, 67, 67, 67, 67, 1773, 67, 97, 97, 97, 97, 97, 97, 97, 625, 97, 97, 97, 97, 97, 97, 97, 97, 850, 97, 97, 97, 97, 97, 97, 97, 97, 880, 97, 97, 97, 97, 97, 97, 97, 97, 1106, 97, 97, 97, 97, 97, 97, 97, 1860, 45, 45, 67, 67, 1865, 67, 67, 67, 67, 1870, 67, 67, 67, 67, 1875, 67, 67, 97, 97, 1880, 97, 97, 0, 0, 0, 97, 97, 1888, 97, 0, 0, 0, 1938, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1854, 45, 45, 45, 45, 45, 45, 45, 1909, 45, 45, 1911, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1248, 67, 67, 67, 67, 67, 67, 1922, 67, 67, 1924, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 1898, 45, 45, 45, 45, 45, 45, 1904, 45, 45, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 16384, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 1724, 2008, 2009, 45, 45, 67, 67, 67, 2014, 2015, 67, 67, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 2022, 0, 2023, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1869, 67, 67, 67, 67, 67, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 147, 151, 154, 45, 162, 45, 45, 176, 178, 181, 45, 45, 45, 192, 196, 45, 45, 45, 45, 2012, 67, 67, 67, 67, 67, 67, 2018, 97, 0, 0, 97, 1978, 97, 97, 97, 1982, 45, 45, 45, 45, 45, 45, 45, 45, 45, 972, 973, 45, 45, 45, 45, 45, 67, 259, 263, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 294, 298, 301, 97, 309, 97, 97, 323, 325, 328, 97, 97, 97, 97, 97, 560, 97, 97, 97, 569, 97, 97, 97, 97, 97, 97, 306, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1624, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 1175, 0, 0, 0, 0, 45, 339, 343, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 67, 67, 503, 67, 67, 67, 67, 67, 67, 67, 67, 67, 512, 67, 67, 519, 97, 97, 600, 97, 97, 97, 97, 97, 97, 97, 97, 97, 609, 97, 97, 616, 45, 649, 45, 45, 45, 45, 45, 654, 45, 45, 45, 45, 45, 45, 45, 45, 1393, 45, 45, 45, 45, 45, 45, 45, 45, 1209, 45, 45, 45, 45, 45, 45, 45, 67, 763, 67, 67, 67, 67, 67, 67, 67, 67, 770, 67, 67, 67, 774, 67, 0, 2045, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 994, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 213, 67, 219, 67, 67, 232, 67, 242, 67, 247, 67, 67, 67, 779, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1018, 67, 67, 67, 67, 811, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 0, 97, 834, 97, 97, 97, 97, 97, 839, 97, 18, 131427, 0, 638, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 645, 97, 97, 861, 97, 97, 97, 97, 97, 97, 97, 97, 868, 97, 97, 97, 872, 97, 97, 877, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 613, 97, 97, 97, 97, 97, 909, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 18, 18, 24, 24, 27, 27, 27, 1036, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1047, 67, 67, 67, 1050, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1033, 67, 67, 67, 97, 97, 1130, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 638, 0, 0, 67, 67, 67, 1295, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1317, 97, 97, 97, 97, 97, 97, 1375, 97, 97, 97, 0, 0, 0, 45, 1379, 45, 45, 45, 45, 45, 45, 422, 45, 45, 45, 429, 431, 45, 45, 45, 45, 0, 1090, 0, 0, 97, 1479, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1357, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1716, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1723, 0, 921, 29315, 0, 0, 0, 0, 45, 929, 45, 45, 45, 45, 45, 45, 45, 1392, 45, 45, 45, 45, 45, 45, 45, 45, 45, 960, 45, 45, 45, 45, 45, 45, 97, 97, 97, 1738, 45, 45, 45, 45, 45, 45, 45, 1743, 45, 45, 45, 45, 166, 45, 45, 45, 45, 184, 186, 45, 45, 197, 45, 45, 97, 1779, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 18, 131427, 0, 638, 0, 0, 0, 0, 362, 0, 640, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1537, 45, 45, 45, 45, 45, 1803, 45, 45, 45, 45, 45, 1809, 45, 45, 45, 67, 67, 67, 1814, 67, 67, 67, 67, 67, 67, 1821, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 0, 67, 67, 67, 1818, 67, 67, 67, 67, 67, 1824, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 1890, 0, 1829, 97, 97, 0, 0, 97, 97, 1836, 97, 97, 0, 0, 0, 97, 97, 97, 97, 1981, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1987, 1845, 97, 97, 97, 45, 45, 45, 45, 45, 1853, 45, 45, 45, 1857, 45, 45, 45, 67, 1864, 67, 1866, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 1710, 1711, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 1886, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1838, 0, 0, 0, 97, 1843, 97, 0, 1893, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1745, 45, 45, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 1931, 97, 97, 97, 97, 97, 588, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 629, 97, 97, 97, 97, 97, 67, 2044, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 1660, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 453, 45, 455, 67, 67, 67, 67, 268, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 348, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 359, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 421, 45, 45, 45, 45, 45, 45, 45, 434, 45, 45, 695, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1667, 45, 0, 921, 29315, 0, 925, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1811, 45, 67, 67, 67, 67, 67, 67, 1037, 67, 1039, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1277, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 1095, 0, 0, 0, 1096, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 869, 97, 97, 97, 97, 97, 97, 1131, 97, 1133, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1370, 97, 97, 97, 97, 97, 1312, 0, 0, 0, 0, 1096, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1327, 97, 97, 97, 97, 97, 1332, 97, 97, 97, 1830, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 1896, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1548, 45, 45, 45, 45, 45, 45, 133, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 45, 380, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 401, 45, 45, 158, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1200, 45, 45, 45, 45, 206, 67, 67, 67, 67, 67, 225, 67, 67, 67, 67, 67, 67, 67, 67, 754, 67, 67, 67, 67, 67, 67, 67, 57889, 0, 0, 54074, 54074, 550, 832, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1342, 97, 97, 97, 97, 97, 97, 67, 67, 67, 67, 67, 25398, 1083, 13112, 1087, 54074, 1091, 0, 0, 0, 0, 0, 0, 1316, 0, 831, 97, 97, 97, 97, 97, 97, 97, 1174, 921, 0, 1175, 0, 0, 0, 0, 45, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 148, 67, 67, 264, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 295, 97, 97, 97, 97, 313, 97, 97, 97, 97, 331, 333, 97, 18, 131427, 356, 638, 0, 0, 0, 0, 362, 0, 0, 365, 0, 367, 0, 45, 45, 1530, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 988, 45, 45, 45, 97, 344, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 402, 404, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1756, 67, 438, 45, 45, 45, 45, 45, 45, 45, 45, 449, 450, 45, 45, 45, 67, 67, 214, 218, 221, 67, 229, 67, 67, 243, 245, 248, 67, 67, 67, 67, 67, 488, 490, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1071, 67, 1073, 67, 67, 67, 67, 67, 524, 67, 67, 67, 67, 67, 67, 67, 67, 535, 536, 67, 67, 67, 67, 67, 67, 1683, 1684, 67, 67, 67, 67, 1688, 1689, 67, 67, 67, 67, 67, 67, 1586, 67, 67, 67, 67, 67, 67, 67, 67, 67, 469, 67, 67, 67, 67, 67, 67, 97, 97, 97, 585, 587, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1163, 97, 97, 97, 97, 97, 97, 97, 621, 97, 97, 97, 97, 97, 97, 97, 97, 632, 633, 97, 97, 0, 0, 1782, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 712, 45, 45, 45, 717, 45, 45, 45, 45, 45, 45, 45, 45, 725, 45, 45, 45, 163, 167, 173, 177, 45, 45, 45, 45, 45, 193, 45, 45, 45, 45, 982, 45, 45, 45, 45, 45, 45, 987, 45, 45, 45, 45, 45, 1558, 45, 1560, 45, 45, 45, 45, 45, 45, 45, 45, 704, 705, 45, 45, 45, 45, 45, 45, 45, 45, 731, 45, 45, 45, 67, 67, 67, 67, 67, 739, 67, 67, 67, 67, 67, 67, 273, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 67, 67, 67, 764, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1290, 67, 67, 67, 67, 67, 67, 812, 67, 67, 67, 67, 818, 67, 67, 67, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 0, 97, 97, 97, 97, 97, 837, 97, 97, 97, 97, 97, 602, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1137, 97, 97, 97, 97, 97, 97, 97, 97, 97, 862, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1627, 97, 97, 97, 0, 97, 97, 97, 97, 910, 97, 97, 97, 97, 916, 97, 97, 97, 0, 0, 0, 97, 97, 1940, 97, 97, 1942, 45, 45, 45, 45, 45, 45, 385, 45, 45, 45, 45, 395, 45, 45, 45, 45, 966, 45, 969, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 975, 45, 45, 45, 406, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 974, 45, 45, 45, 67, 67, 67, 67, 1010, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1262, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1040, 67, 1042, 67, 1045, 67, 67, 67, 67, 67, 67, 67, 97, 1706, 97, 97, 97, 1709, 97, 97, 97, 67, 67, 67, 67, 1051, 67, 67, 67, 67, 67, 1057, 67, 67, 67, 67, 67, 67, 67, 1443, 67, 67, 1446, 67, 67, 67, 67, 67, 67, 67, 1297, 0, 0, 0, 1303, 0, 0, 0, 1309, 67, 67, 67, 67, 1079, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2207744, 2207744, 2207744, 2207744, 2572288, 2207744, 2207744, 2207744, 1098, 97, 97, 97, 97, 97, 1104, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1356, 97, 97, 97, 97, 97, 97, 1128, 97, 97, 97, 97, 97, 97, 1134, 97, 1136, 97, 1139, 97, 97, 97, 97, 97, 97, 1622, 97, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 0, 0, 1176, 0, 646, 45, 67, 67, 67, 1268, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1469, 67, 67, 67, 97, 1348, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1127, 97, 67, 1569, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1448, 1449, 67, 1816, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1825, 67, 67, 1827, 97, 97, 0, 1781, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 1831, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 1980, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1395, 45, 45, 45, 45, 45, 97, 1846, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1212, 45, 45, 45, 45, 45, 45, 2010, 45, 67, 67, 67, 67, 67, 2016, 67, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 2007, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 143, 45, 45, 45, 1671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1813, 67, 67, 1815, 45, 45, 67, 210, 67, 67, 67, 67, 67, 67, 239, 67, 67, 67, 67, 67, 67, 67, 1454, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1445, 67, 67, 67, 67, 67, 67, 97, 97, 290, 97, 97, 97, 97, 97, 97, 319, 97, 97, 97, 97, 97, 97, 303, 97, 97, 317, 97, 97, 97, 97, 97, 97, 305, 97, 97, 97, 97, 97, 97, 97, 97, 97, 899, 97, 97, 97, 97, 97, 97, 375, 45, 45, 45, 379, 45, 45, 390, 45, 45, 394, 45, 45, 45, 45, 45, 443, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 461, 67, 67, 67, 465, 67, 67, 476, 67, 67, 480, 67, 67, 67, 67, 67, 67, 1694, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1288, 67, 67, 67, 67, 67, 67, 500, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1075, 97, 97, 97, 558, 97, 97, 97, 562, 97, 97, 573, 97, 97, 577, 97, 97, 97, 97, 97, 895, 97, 97, 97, 97, 97, 97, 903, 97, 97, 97, 0, 97, 97, 1638, 97, 97, 97, 97, 97, 97, 97, 97, 1646, 597, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1334, 45, 681, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1396, 45, 45, 1399, 45, 45, 730, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1434, 67, 67, 67, 67, 67, 67, 750, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1456, 67, 67, 67, 67, 67, 45, 45, 993, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1238, 67, 67, 1006, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1280, 1048, 1049, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1059, 67, 67, 67, 67, 67, 67, 1286, 67, 67, 67, 67, 67, 67, 67, 1291, 67, 97, 97, 1100, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 638, 0, 920, 97, 97, 1142, 1143, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1153, 97, 97, 97, 97, 97, 1158, 97, 97, 97, 1161, 97, 97, 97, 97, 1166, 97, 97, 97, 97, 97, 1325, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1328, 97, 97, 97, 97, 97, 97, 97, 45, 1218, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1678, 45, 45, 45, 67, 67, 67, 67, 67, 1269, 67, 67, 67, 67, 67, 67, 67, 67, 1278, 67, 67, 67, 67, 67, 67, 1761, 67, 67, 67, 67, 67, 67, 67, 67, 67, 530, 67, 67, 67, 67, 67, 67, 97, 97, 1349, 97, 97, 97, 97, 97, 97, 97, 97, 1358, 97, 97, 97, 97, 97, 97, 1623, 97, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 0, 926, 0, 0, 0, 45, 45, 1411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1754, 45, 45, 67, 67, 1301, 0, 1307, 0, 1313, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 21054, 97, 97, 97, 97, 67, 1757, 67, 67, 67, 1760, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1467, 67, 67, 67, 67, 67, 1778, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 97, 97, 1352, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1511, 97, 97, 97, 97, 97, 67, 67, 67, 67, 67, 1820, 67, 1822, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 1933, 97, 1892, 97, 97, 97, 97, 97, 97, 1899, 45, 45, 45, 45, 45, 45, 45, 45, 1664, 45, 45, 45, 45, 45, 45, 45, 45, 1546, 45, 45, 45, 45, 45, 45, 45, 45, 1208, 45, 45, 45, 45, 45, 45, 45, 45, 1224, 45, 45, 45, 45, 45, 45, 45, 45, 673, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1925, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 623, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 307, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1796, 97, 45, 45, 45, 45, 45, 45, 45, 970, 45, 45, 45, 45, 45, 45, 45, 45, 1417, 45, 45, 45, 45, 45, 45, 45, 67, 1964, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1721, 97, 97, 0, 0, 1997, 97, 0, 0, 2000, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 733, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 803, 67, 67, 67, 67, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 144, 45, 45, 45, 1805, 45, 1807, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 231, 67, 67, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 45, 45, 67, 211, 67, 67, 67, 67, 230, 234, 240, 244, 67, 67, 67, 67, 67, 67, 464, 67, 67, 67, 67, 67, 67, 479, 67, 67, 67, 260, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 291, 97, 97, 97, 97, 310, 314, 320, 324, 97, 97, 97, 97, 97, 97, 1367, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1355, 97, 97, 97, 97, 97, 97, 1362, 340, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 360, 0, 362, 0, 365, 28809, 367, 139, 369, 45, 45, 45, 374, 67, 67, 460, 67, 67, 67, 67, 466, 67, 67, 67, 67, 67, 67, 67, 67, 801, 67, 67, 67, 67, 67, 67, 67, 67, 67, 487, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 498, 67, 67, 67, 67, 67, 67, 1772, 67, 67, 97, 97, 97, 97, 97, 97, 97, 0, 921, 922, 1175, 0, 0, 0, 0, 45, 67, 502, 67, 67, 67, 67, 67, 67, 67, 508, 67, 67, 67, 515, 517, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 1932, 97, 97, 0, 1999, 97, 97, 97, 0, 97, 97, 2004, 2005, 97, 45, 45, 45, 45, 1193, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 676, 45, 45, 45, 45, 67, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 552, 97, 97, 97, 97, 97, 1377, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 655, 45, 45, 45, 45, 45, 45, 45, 97, 97, 557, 97, 97, 97, 97, 563, 97, 97, 97, 97, 97, 97, 97, 97, 1135, 97, 97, 97, 97, 97, 97, 97, 97, 97, 584, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 595, 97, 97, 97, 97, 97, 911, 97, 97, 97, 97, 97, 97, 97, 638, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 1319, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1733, 97, 97, 97, 97, 97, 97, 1340, 97, 97, 97, 1343, 97, 97, 1345, 97, 1346, 97, 599, 97, 97, 97, 97, 97, 97, 97, 605, 97, 97, 97, 612, 614, 97, 97, 97, 97, 97, 1794, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 1207, 45, 45, 45, 45, 45, 45, 1213, 45, 45, 745, 67, 67, 67, 67, 751, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1577, 67, 67, 67, 67, 67, 762, 67, 67, 67, 67, 766, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1765, 67, 67, 67, 67, 67, 777, 67, 67, 781, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1592, 1593, 67, 67, 97, 843, 97, 97, 97, 97, 849, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1510, 97, 97, 97, 97, 97, 97, 97, 860, 97, 97, 97, 97, 864, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1797, 45, 45, 45, 45, 1801, 45, 97, 875, 97, 97, 879, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1522, 97, 97, 97, 97, 97, 991, 45, 45, 45, 45, 996, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 215, 67, 67, 67, 67, 233, 67, 67, 67, 67, 251, 253, 1022, 67, 67, 67, 1026, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1035, 67, 67, 1038, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1458, 67, 67, 67, 67, 67, 1064, 67, 67, 67, 1067, 67, 67, 67, 67, 1072, 67, 67, 67, 67, 67, 67, 1296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367488, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 1096, 0, 921, 29315, 0, 0, 0, 0, 928, 45, 45, 45, 45, 45, 934, 45, 45, 45, 164, 45, 45, 45, 45, 45, 45, 45, 45, 45, 198, 45, 45, 45, 378, 45, 45, 45, 45, 45, 45, 393, 45, 45, 45, 398, 45, 97, 97, 1116, 97, 97, 97, 1120, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1147, 1148, 97, 97, 97, 97, 97, 97, 97, 1129, 97, 97, 1132, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1626, 97, 97, 97, 97, 0, 45, 1178, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1185, 45, 45, 45, 45, 441, 45, 45, 45, 45, 45, 45, 451, 45, 45, 67, 67, 67, 67, 67, 227, 67, 67, 67, 67, 67, 67, 67, 67, 1260, 67, 67, 67, 1263, 67, 67, 1265, 1203, 45, 45, 1205, 45, 1206, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1216, 67, 1266, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1276, 67, 67, 67, 67, 67, 67, 492, 67, 67, 67, 67, 67, 67, 67, 67, 67, 471, 67, 67, 67, 67, 481, 67, 45, 1386, 45, 1389, 45, 45, 45, 45, 1394, 45, 45, 45, 1397, 45, 45, 45, 45, 995, 45, 997, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1915, 67, 67, 67, 67, 67, 1422, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1433, 67, 1436, 67, 67, 67, 67, 1441, 67, 67, 67, 1444, 67, 67, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 281, 28809, 53531, 97, 97, 97, 97, 1494, 97, 97, 97, 1497, 97, 97, 97, 97, 97, 97, 97, 1368, 97, 97, 97, 97, 97, 97, 97, 97, 851, 97, 97, 97, 97, 97, 97, 97, 67, 67, 67, 1571, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 67, 67, 1583, 67, 67, 67, 67, 67, 67, 67, 67, 1591, 67, 67, 67, 67, 67, 67, 752, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1056, 67, 67, 67, 67, 67, 67, 97, 1634, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1125, 97, 97, 97, 1647, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1183, 45, 45, 45, 45, 45, 45, 45, 45, 45, 409, 45, 45, 45, 45, 45, 45, 1658, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1668, 1712, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 1835, 97, 97, 97, 97, 0, 0, 0, 97, 97, 1844, 97, 97, 1726, 0, 97, 97, 97, 97, 97, 1732, 97, 1734, 97, 97, 97, 97, 97, 300, 97, 308, 97, 97, 97, 97, 97, 97, 97, 97, 866, 97, 97, 97, 97, 97, 97, 97, 67, 67, 67, 1758, 67, 67, 67, 1762, 67, 67, 67, 67, 67, 67, 67, 67, 1043, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1771, 67, 67, 67, 97, 97, 97, 97, 97, 1776, 97, 97, 97, 97, 297, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1108, 97, 97, 97, 97, 67, 67, 67, 1966, 97, 97, 97, 1970, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 1720, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1837, 97, 0, 1840, 1841, 97, 97, 97, 1988, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1994, 1995, 67, 97, 97, 97, 97, 97, 1103, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 917, 97, 97, 0, 0, 0, 67, 67, 265, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 345, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 0, 361, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 411, 45, 45, 414, 45, 45, 45, 45, 377, 45, 45, 45, 386, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1223, 45, 45, 45, 45, 45, 45, 45, 45, 45, 426, 45, 45, 433, 45, 45, 45, 67, 67, 67, 67, 67, 463, 67, 67, 67, 472, 67, 67, 67, 67, 67, 67, 67, 527, 67, 67, 67, 67, 67, 67, 537, 67, 540, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 97, 97, 97, 97, 97, 1119, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1509, 97, 97, 97, 97, 97, 97, 97, 97, 564, 97, 97, 97, 97, 97, 97, 97, 637, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 927, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1234, 45, 45, 45, 45, 67, 67, 67, 67, 1240, 45, 697, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 708, 45, 45, 45, 45, 1221, 45, 45, 45, 45, 1225, 45, 45, 45, 45, 45, 45, 384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1210, 45, 45, 45, 45, 45, 45, 67, 67, 795, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1470, 67, 67, 67, 67, 67, 67, 67, 815, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 97, 97, 97, 893, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1164, 97, 97, 97, 67, 67, 67, 1025, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1687, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 1097, 1241, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1450, 45, 45, 1388, 45, 1390, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1236, 67, 67, 67, 67, 67, 1437, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1472, 1490, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1503, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 1930, 0, 97, 97, 97, 97, 97, 847, 97, 97, 97, 97, 97, 97, 97, 97, 97, 858, 67, 67, 1965, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 1719, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 1382, 45, 1383, 45, 45, 45, 159, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1563, 45, 45, 45, 45, 45, 67, 261, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 341, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 97, 1099, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1333, 97, 1230, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1992, 67, 1993, 67, 67, 67, 97, 97, 45, 45, 160, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1665, 45, 45, 45, 45, 45, 131427, 357, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 684, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 412, 45, 45, 45, 416, 45, 45, 45, 440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1990, 67, 1991, 67, 67, 67, 67, 67, 67, 67, 97, 97, 1707, 97, 97, 97, 97, 97, 97, 501, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1691, 67, 67, 67, 67, 67, 526, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1030, 67, 1032, 67, 67, 67, 67, 598, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1632, 0, 921, 29315, 923, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1404, 45, 45, 45, 45, 45, 45, 45, 45, 45, 425, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 1093, 0, 0, 0, 0, 0, 97, 1609, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1369, 97, 97, 97, 1372, 97, 97, 67, 67, 266, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 346, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 665, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1677, 45, 45, 45, 45, 67, 45, 45, 954, 45, 956, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1545, 45, 45, 45, 45, 45, 45, 45, 45, 45, 448, 45, 45, 45, 45, 67, 456, 67, 67, 67, 67, 67, 1270, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1069, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1350, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1524, 97, 97, 97, 97, 97, 97, 97, 1376, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 1559, 1561, 45, 45, 45, 1564, 45, 1566, 1567, 45, 67, 67, 67, 67, 67, 1573, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1247, 67, 67, 67, 67, 67, 1252, 97, 1725, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1628, 97, 1630, 0, 0, 94242, 0, 0, 0, 2211840, 0, 1118208, 0, 0, 0, 0, 2158592, 2158731, 2158592, 2158592, 2158592, 3117056, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3018752, 2158592, 3043328, 2158592, 2158592, 2158592, 2158592, 3080192, 2158592, 2158592, 3112960, 2158592, 2158592, 2158592, 2158592, 2158592, 2158878, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2605056, 2158592, 2158592, 2207744, 0, 542, 0, 544, 0, 0, 2166784, 0, 0, 0, 550, 0, 0, 2158592, 2158592, 2686976, 2158592, 2715648, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2867200, 2158592, 2904064, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 94242, 0, 0, 0, 2211840, 0, 0, 1130496, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 0, 139, 0, 0, 0, 139, 0, 2367488, 2207744, 0, 0, 0, 0, 176128, 0, 2166784, 0, 0, 0, 0, 0, 286, 2158592, 2158592, 3170304, 3174400, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 1508, 2158592, 2908160, 2158592, 2158592, 2158592, 2977792, 2158592, 2158592, 2158592, 2158592, 3039232, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3158016, 67, 24850, 24850, 12564, 12564, 0, 0, 0, 0, 0, 53531, 53531, 0, 286, 97, 97, 97, 97, 97, 1144, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1149, 97, 97, 97, 97, 1154, 57889, 0, 0, 0, 0, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 561, 97, 97, 97, 97, 97, 97, 576, 97, 97, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 0, 0, 139264, 0, 921, 29315, 0, 0, 926, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 719, 720, 45, 45, 45, 45, 45, 45, 45, 45, 685, 45, 45, 45, 45, 45, 45, 45, 45, 45, 942, 45, 45, 946, 45, 45, 45, 950, 45, 45, 0, 2146304, 2146304, 0, 0, 0, 0, 2224128, 2224128, 2224128, 2232320, 2232320, 2232320, 2232320, 0, 0, 1301, 0, 0, 0, 0, 0, 1307, 0, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 0, 97, 97, 1318, 97, 97, 97, 97, 97, 97, 1795, 97, 97, 45, 45, 45, 45, 45, 45, 45, 446, 45, 45, 45, 45, 45, 45, 67, 67, 2158592, 2146304, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 921, 29315, 0, 924, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1000, 45, 45, 45, 45, 67, 67
  5971. ];
  5972. XQueryTokenizer.EXPECTED =
  5973. [ 290, 300, 304, 353, 296, 309, 305, 319, 315, 324, 328, 352, 354, 334, 338, 330, 320, 345, 349, 293, 358, 362, 341, 366, 312, 370, 374, 378, 382, 386, 390, 394, 398, 737, 402, 634, 439, 604, 634, 634, 634, 634, 408, 634, 634, 634, 404, 634, 634, 634, 457, 634, 634, 963, 634, 634, 413, 634, 634, 634, 634, 634, 634, 634, 663, 418, 422, 903, 902, 426, 431, 548, 634, 437, 521, 919, 443, 615, 409, 449, 455, 624, 731, 751, 634, 461, 465, 672, 470, 469, 474, 481, 485, 477, 489, 493, 629, 542, 497, 505, 603, 602, 991, 648, 510, 804, 634, 515, 958, 526, 525, 530, 768, 634, 546, 552, 711, 710, 593, 558, 562, 618, 566, 570, 574, 578, 582, 586, 590, 608, 612, 660, 822, 821, 634, 622, 596, 444, 628, 533, 724, 633, 640, 653, 647, 652, 536, 1008, 451, 450, 445, 657, 670, 676, 685, 689, 693, 697, 701, 704, 707, 715, 719, 798, 815, 634, 723, 762, 996, 634, 728, 969, 730, 735, 908, 634, 741, 679, 889, 511, 747, 634, 750, 755, 499, 666, 499, 501, 759, 772, 776, 780, 634, 787, 784, 797, 802, 809, 808, 427, 814, 1006, 517, 634, 519, 853, 634, 813, 850, 793, 634, 819, 826, 833, 832, 837, 843, 847, 857, 861, 863, 867, 871, 875, 879, 883, 643, 887, 539, 980, 979, 634, 893, 944, 634, 900, 896, 634, 907, 933, 506, 912, 917, 828, 433, 636, 635, 554, 961, 923, 930, 927, 937, 941, 634, 634, 634, 974, 948, 952, 985, 913, 968, 967, 743, 634, 973, 839, 634, 978, 599, 634, 984, 989, 765, 444, 995, 1000, 634, 1003, 790, 955, 1012, 681, 634, 634, 634, 634, 634, 414, 1016, 1020, 1024, 1085, 1027, 1090, 1090, 1046, 1080, 1137, 1108, 1215, 1049, 1032, 1039, 1085, 1085, 1085, 1085, 1058, 1062, 1068, 1085, 1086, 1090, 1090, 1091, 1072, 1064, 1107, 1090, 1090, 1090, 1118, 1123, 1138, 1078, 1074, 1084, 1085, 1085, 1085, 1087, 1090, 1062, 1052, 1060, 1114, 1062, 1104, 1085, 1085, 1090, 1090, 1028, 1122, 1063, 1128, 1139, 1127, 1158, 1085, 1085, 1151, 1090, 1090, 1090, 1095, 1090, 1132, 1073, 1136, 1143, 1061, 1150, 1085, 1155, 1098, 1101, 1146, 1162, 1169, 1101, 1185, 1151, 1090, 1110, 1173, 1054, 1087, 1109, 1177, 1165, 1089, 1204, 1184, 1107, 1189, 1193, 1088, 1197, 1180, 1201, 1208, 1042, 1212, 1219, 1223, 1227, 1231, 1235, 1245, 1777, 1527, 1686, 1686, 1238, 1686, 1254, 1686, 1686, 1686, 1294, 1669, 1686, 1686, 1686, 1322, 1625, 1534, 1268, 1624, 1275, 1281, 1443, 1292, 1300, 1686, 1686, 1686, 1350, 1826, 1306, 1686, 1686, 1240, 2032, 1317, 1321, 1686, 1686, 1253, 1686, 1326, 1686, 1686, 1686, 1418, 1709, 1446, 1686, 1686, 1686, 1492, 1686, 1295, 1447, 1686, 1686, 1258, 1686, 1736, 1686, 1686, 1520, 1355, 1686, 1288, 1348, 1361, 1686, 1359, 1686, 1364, 1498, 1368, 1302, 1362, 1381, 1389, 1395, 1486, 1686, 1371, 1377, 1370, 1686, 1375, 1382, 1384, 1402, 1408, 1385, 1383, 1619, 1413, 1423, 1428, 1433, 1686, 1686, 1270, 1686, 1338, 1686, 1440, 1686, 1686, 1686, 1499, 1465, 1686, 1686, 1686, 1639, 1473, 1884, 1686, 1686, 1293, 1864, 1686, 1686, 1296, 1321, 1483, 1686, 1686, 1686, 1646, 1686, 1748, 1496, 1686, 1418, 1675, 1686, 1418, 1702, 1686, 1418, 1981, 1686, 1429, 1409, 1427, 1504, 1692, 1686, 1686, 1313, 1448, 1651, 1508, 1686, 1686, 1340, 1686, 1903, 1686, 1686, 1435, 1513, 1686, 1283, 1287, 1519, 1686, 1524, 1363, 1568, 1938, 1539, 1566, 1579, 1479, 1533, 1538, 1553, 1544, 1552, 1557, 1563, 1574, 1557, 1583, 1589, 1590, 1759, 1594, 1603, 1607, 1611, 1686, 1436, 1514, 1686, 1434, 1656, 1686, 1434, 1680, 1686, 1453, 1686, 1686, 1686, 1559, 1617, 1686, 1770, 1418, 1623, 1769, 1629, 1686, 1515, 1335, 1686, 1285, 1686, 1671, 1921, 1650, 1686, 1686, 1344, 1308, 1666, 1686, 1686, 1686, 1659, 1685, 1686, 1686, 1686, 1686, 1241, 1686, 1686, 1844, 1691, 1686, 1630, 1977, 1970, 1362, 1686, 1686, 1686, 1693, 1698, 1686, 1686, 1686, 1697, 1686, 1764, 1715, 1686, 1634, 1638, 1686, 1599, 1585, 1686, 1271, 1686, 1269, 1686, 1721, 1686, 1686, 1354, 1686, 1801, 1686, 1799, 1686, 1640, 1686, 1686, 1461, 1686, 1686, 1732, 1686, 1944, 1686, 1740, 1686, 1746, 1415, 1396, 1686, 1598, 1547, 1417, 1597, 1416, 1577, 1546, 1397, 1577, 1547, 1548, 1570, 1398, 1753, 1686, 1652, 1509, 1686, 1686, 1686, 1757, 1686, 1419, 1686, 1763, 1418, 1768, 1781, 1686, 1686, 1686, 1705, 1686, 2048, 1792, 1686, 1686, 1686, 1735, 1686, 1797, 1686, 1686, 1404, 1686, 1639, 1815, 1686, 1686, 1418, 2017, 1820, 1686, 1686, 1803, 1686, 1686, 1686, 1736, 1489, 1686, 1686, 1825, 1338, 1260, 1263, 1686, 1686, 1785, 1686, 1686, 1728, 1686, 1686, 1749, 1497, 1830, 1830, 1262, 1248, 1261, 1329, 1260, 1264, 1329, 1248, 1249, 1259, 1540, 1849, 1842, 1686, 1686, 1835, 1686, 1686, 1816, 1686, 1686, 1831, 1882, 1848, 1686, 1686, 1686, 1774, 2071, 1854, 1686, 1686, 1469, 1884, 1686, 1821, 1859, 1686, 1686, 1350, 1883, 1686, 1686, 1686, 1781, 1391, 1875, 1686, 1686, 1613, 1644, 1686, 1686, 1889, 1686, 1686, 1662, 1884, 1686, 1885, 1890, 1686, 1686, 1686, 1894, 1686, 1686, 1678, 1686, 1907, 1686, 1686, 1529, 1914, 1686, 1838, 1686, 1686, 1881, 1686, 1686, 1872, 1876, 1836, 1919, 1686, 1837, 1692, 1910, 1686, 1925, 1928, 1742, 1686, 1811, 1811, 1930, 1810, 1929, 1935, 1928, 1900, 1942, 1867, 1868, 1931, 1035, 1788, 1948, 1952, 1956, 1960, 1964, 1686, 1976, 1686, 1686, 1686, 2065, 1686, 1992, 2037, 1686, 1686, 1998, 2009, 1972, 2002, 1686, 1686, 1686, 2077, 1300, 2023, 1686, 1686, 1686, 1807, 2031, 1686, 1686, 1686, 1860, 1500, 2032, 1686, 1686, 1686, 2083, 1686, 2036, 1686, 1277, 1276, 2042, 1877, 1686, 1686, 2041, 1686, 1686, 2027, 2037, 2012, 1686, 2012, 1855, 1850, 1686, 2046, 1686, 1686, 2054, 1996, 1686, 1897, 1309, 2059, 2052, 1686, 2058, 1686, 1686, 2081, 1686, 1717, 1477, 1686, 1331, 1686, 1686, 1687, 1686, 1860, 1681, 1686, 1686, 1686, 1966, 1724, 1686, 1686, 1686, 1984, 2015, 1686, 1686, 1686, 1988, 1686, 2063, 1686, 1686, 1686, 2005, 1686, 1727, 1686, 1686, 1711, 1457, 2069, 1686, 1686, 1686, 2019, 2075, 1686, 1686, 1915, 1686, 1686, 1793, 1874, 1686, 1686, 1491, 1362, 1449, 1686, 1686, 1460, 2098, 2087, 2091, 2095, 2184, 2102, 2113, 2780, 2117, 2134, 2142, 2281, 2146, 2146, 2146, 2304, 2296, 2181, 2639, 2591, 2872, 2592, 2873, 2313, 2195, 2200, 2281, 2146, 2273, 2226, 2204, 2152, 2219, 2276, 2167, 2177, 2276, 2235, 2276, 2276, 2230, 2281, 2276, 2296, 2276, 2293, 2276, 2276, 2276, 2276, 2234, 2276, 2311, 2314, 2210, 2199, 2217, 2222, 2276, 2276, 2276, 2240, 2276, 2294, 2276, 2276, 2173, 2276, 2198, 2281, 2281, 2281, 2281, 2282, 2146, 2146, 2146, 2146, 2205, 2146, 2204, 2248, 2276, 2235, 2276, 2297, 2276, 2276, 2276, 2277, 2256, 2281, 2283, 2146, 2146, 2146, 2275, 2276, 2295, 2276, 2276, 2293, 2146, 2304, 2264, 2269, 2221, 2276, 2276, 2276, 2293, 2295, 2276, 2276, 2276, 2295, 2263, 2205, 2268, 2220, 2172, 2276, 2276, 2276, 2296, 2276, 2276, 2296, 2294, 2276, 2276, 2278, 2281, 2281, 2280, 2281, 2281, 2281, 2283, 2206, 2223, 2276, 2276, 2279, 2281, 2281, 2146, 2273, 2276, 2276, 2281, 2281, 2281, 2276, 2292, 2276, 2298, 2225, 2276, 2298, 2169, 2224, 2292, 2298, 2171, 2229, 2281, 2281, 2171, 2236, 2281, 2281, 2281, 2146, 2275, 2225, 2292, 2299, 2276, 2229, 2281, 2146, 2276, 2290, 2297, 2283, 2146, 2146, 2274, 2224, 2227, 2298, 2225, 2297, 2276, 2230, 2170, 2230, 2282, 2146, 2147, 2151, 2156, 2288, 2276, 2230, 2303, 2308, 2236, 2284, 2228, 2318, 2318, 2318, 2326, 2335, 2339, 2343, 2349, 2416, 2693, 2357, 2592, 2109, 2592, 2592, 2162, 2943, 2823, 2646, 2592, 2361, 2592, 2122, 2592, 2592, 2122, 2470, 2592, 2592, 2592, 2109, 2107, 2592, 2592, 2592, 2123, 2592, 2592, 2592, 2125, 2592, 2413, 2592, 2592, 2592, 2127, 2592, 2592, 2414, 2592, 2592, 2592, 2130, 2952, 2592, 2594, 2592, 2592, 2212, 2609, 2252, 2592, 2592, 2592, 2446, 2434, 2592, 2592, 2592, 2212, 2446, 2450, 2456, 2431, 2435, 2592, 2592, 2243, 2478, 2448, 2439, 2946, 2592, 2592, 2592, 2368, 2809, 2813, 2450, 2441, 2212, 2812, 2449, 2440, 2947, 2592, 2592, 2592, 2345, 2451, 2457, 2948, 2592, 2124, 2592, 2592, 2650, 2823, 2449, 2455, 2946, 2592, 2128, 2592, 2592, 2649, 2952, 2592, 2810, 2448, 2461, 2991, 2467, 2592, 2592, 2329, 2817, 2474, 2990, 2466, 2592, 2592, 2373, 2447, 2992, 2469, 2592, 2592, 2592, 2373, 2447, 2477, 2468, 2592, 2592, 2353, 2469, 2592, 2495, 2592, 2592, 2415, 2483, 2592, 2415, 2496, 2592, 2592, 2352, 2592, 2592, 2352, 2352, 2469, 2592, 2592, 2363, 2331, 2494, 2592, 2592, 2592, 2375, 2592, 2375, 2415, 2504, 2592, 2592, 2367, 2372, 2503, 2592, 2592, 2592, 2389, 2418, 2415, 2592, 2592, 2373, 2592, 2592, 2592, 2593, 2732, 2417, 2415, 2592, 2417, 2520, 2592, 2592, 2592, 2390, 2521, 2521, 2592, 2592, 2592, 2401, 2599, 2585, 2526, 2531, 2120, 2592, 2212, 2426, 2450, 2463, 2948, 2592, 2592, 2592, 2213, 2389, 2527, 2532, 2121, 2542, 2551, 2105, 2592, 2213, 2592, 2592, 2592, 2558, 2538, 2544, 2553, 2557, 2537, 2543, 2552, 2421, 2572, 2576, 2546, 2543, 2547, 2592, 2592, 2373, 2615, 2575, 2545, 2105, 2592, 2244, 2479, 2592, 2129, 2592, 2592, 2628, 2690, 2469, 2562, 2566, 2592, 2592, 2592, 2415, 2928, 2934, 2401, 2570, 2574, 2564, 2572, 2585, 2590, 2592, 2592, 2585, 2965, 2592, 2592, 2592, 2445, 2251, 2592, 2592, 2592, 2474, 2592, 2609, 2892, 2592, 2362, 2592, 2592, 2138, 2851, 2159, 2592, 2592, 2592, 2509, 2888, 2892, 2592, 2592, 2592, 2490, 2418, 2891, 2592, 2592, 2376, 2592, 2592, 2374, 2592, 2889, 2388, 2592, 2373, 2373, 2890, 2592, 2592, 2387, 2592, 2887, 2505, 2892, 2592, 2373, 2610, 2388, 2592, 2592, 2376, 2373, 2592, 2887, 2891, 2592, 2374, 2592, 2592, 2608, 2159, 2614, 2620, 2592, 2592, 2394, 2594, 2887, 2399, 2592, 2887, 2397, 2508, 2374, 2507, 2592, 2375, 2592, 2592, 2592, 2595, 2508, 2506, 2592, 2506, 2505, 2505, 2592, 2507, 2637, 2505, 2592, 2592, 2401, 2661, 2592, 2643, 2592, 2592, 2417, 2592, 2655, 2592, 2592, 2592, 2510, 2414, 2656, 2592, 2592, 2592, 2516, 2592, 2593, 2660, 2665, 2880, 2592, 2592, 2592, 2522, 2767, 2666, 2881, 2592, 2592, 2420, 2571, 2696, 2592, 2592, 2592, 2580, 2572, 2686, 2632, 2698, 2592, 2383, 2514, 2592, 2163, 2932, 2465, 2685, 2631, 2697, 2592, 2388, 2592, 2592, 2212, 2604, 2671, 2632, 2678, 2592, 2401, 2405, 2409, 2592, 2592, 2592, 2679, 2592, 2592, 2592, 2592, 2108, 2677, 2591, 2592, 2592, 2592, 2419, 2592, 2683, 2187, 2191, 2469, 2671, 2189, 2467, 2592, 2401, 2629, 2633, 2702, 2468, 2592, 2592, 2421, 2536, 2703, 2469, 2592, 2592, 2422, 2573, 2593, 2672, 2467, 2592, 2402, 2406, 2592, 2402, 2979, 2592, 2592, 2626, 2673, 2467, 2592, 2446, 2259, 2947, 2592, 2377, 2709, 2592, 2592, 2522, 2862, 2713, 2468, 2592, 2592, 2581, 2572, 2562, 2374, 2374, 2592, 2376, 2721, 2724, 2592, 2592, 2624, 2373, 2731, 2592, 2592, 2592, 2626, 2732, 2592, 2592, 2592, 2755, 2656, 2726, 2736, 2741, 2592, 2486, 2593, 2381, 2592, 2727, 2737, 2742, 2715, 2747, 2753, 2592, 2498, 2469, 2873, 2743, 2592, 2592, 2592, 2791, 2759, 2763, 2592, 2592, 2627, 2704, 2592, 2592, 2522, 2789, 2593, 2761, 2753, 2592, 2498, 2863, 2592, 2592, 2767, 2592, 2592, 2592, 2792, 2789, 2592, 2592, 2592, 2803, 2126, 2592, 2592, 2592, 2811, 2122, 2592, 2592, 2592, 2834, 2777, 2592, 2592, 2592, 2848, 2936, 2591, 2489, 2797, 2592, 2592, 2670, 2631, 2490, 2798, 2592, 2592, 2592, 2963, 2807, 2592, 2592, 2592, 2965, 2838, 2592, 2592, 2592, 2975, 2330, 2818, 2829, 2592, 2498, 2939, 2592, 2498, 2592, 2791, 2331, 2819, 2830, 2592, 2592, 2592, 2982, 2834, 2817, 2828, 2106, 2592, 2592, 2592, 2405, 2405, 2817, 2828, 2592, 2592, 2415, 2849, 2842, 2592, 2522, 2773, 2592, 2522, 2868, 2592, 2580, 2600, 2586, 2137, 2850, 2843, 2592, 2592, 2855, 2937, 2844, 2592, 2592, 2592, 2987, 2936, 2591, 2592, 2592, 2684, 2630, 2592, 2856, 2938, 2592, 2592, 2860, 2939, 2592, 2592, 2872, 2592, 2861, 2591, 2592, 2592, 2887, 2616, 2592, 2867, 2592, 2592, 2708, 2592, 2498, 2469, 2498, 2497, 2785, 2773, 2499, 2783, 2770, 2877, 2877, 2877, 2772, 2592, 2592, 2345, 2885, 2592, 2592, 2592, 2715, 2762, 2515, 2896, 2592, 2592, 2715, 2917, 2516, 2897, 2592, 2592, 2592, 2901, 2906, 2911, 2592, 2592, 2956, 2960, 2715, 2902, 2907, 2912, 2593, 2916, 2920, 2820, 2922, 2822, 2592, 2592, 2715, 2927, 2921, 2821, 2106, 2592, 2592, 2974, 2408, 2321, 2821, 2106, 2592, 2592, 2983, 2592, 2593, 2404, 2408, 2592, 2592, 2717, 2749, 2716, 2928, 2322, 2822, 2593, 2926, 2919, 2820, 2934, 2823, 2592, 2592, 2592, 2651, 2824, 2592, 2592, 2592, 2130, 2952, 2592, 2592, 2592, 2592, 2964, 2592, 2592, 2716, 2748, 2592, 2969, 2592, 2592, 2716, 2918, 2368, 2970, 2592, 2592, 2592, 2403, 2407, 2592, 2592, 2787, 2211, 2404, 2409, 2592, 2592, 2802, 2837, 2987, 2592, 2592, 2592, 2809, 2427, 2592, 2793, 2592, 2592, 2809, 2447, 1073741824, 0x80000000, 539754496, 542375936, 402653184, 554434560, 571736064, 545521856, 268451840, 335544320, 268693630, 512, 2048, 256, 1024, 0, 1024, 0, 1073741824, 0x80000000, 0, 0, 0, 8388608, 0, 0, 1073741824, 1073741824, 0, 0x80000000, 537133056, 4194304, 1048576, 268435456, -1073741824, 0, 0, 0, 1048576, 0, 0, 0, 1572864, 0, 0, 0, 4194304, 0, 134217728, 16777216, 0, 0, 32, 64, 98304, 0, 33554432, 8388608, 192, 67108864, 67108864, 67108864, 67108864, 16, 32, 4, 0, 8192, 196608, 196608, 229376, 80, 4096, 524288, 8388608, 0, 0, 32, 128, 256, 24576, 24600, 24576, 24576, 2, 24576, 24576, 24576, 24584, 24592, 24576, 24578, 24576, 24578, 24576, 24576, 16, 512, 2048, 2048, 256, 4096, 32768, 1048576, 4194304, 67108864, 134217728, 268435456, 262144, 134217728, 0, 128, 128, 64, 16384, 16384, 16384, 67108864, 32, 32, 4, 4, 4096, 262144, 134217728, 0, 0, 0, 2, 0, 8192, 131072, 131072, 4096, 4096, 4096, 4096, 24576, 24576, 24576, 8, 8, 24576, 24576, 16384, 16384, 16384, 24576, 24584, 24576, 24576, 24576, 16384, 24576, 536870912, 262144, 0, 0, 32, 2048, 8192, 4, 4096, 4096, 4096, 786432, 8388608, 16777216, 0, 128, 16384, 16384, 16384, 32768, 65536, 2097152, 32, 32, 32, 32, 4, 4, 4, 4, 4, 4096, 67108864, 67108864, 67108864, 24576, 24576, 24576, 24576, 0, 16384, 16384, 16384, 16384, 67108864, 67108864, 8, 67108864, 24576, 8, 8, 8, 24576, 24576, 24576, 24578, 24576, 24576, 24576, 2, 2, 2, 16384, 67108864, 67108864, 67108864, 32, 67108864, 8, 8, 24576, 2048, 0x80000000, 536870912, 262144, 262144, 262144, 67108864, 8, 24576, 16384, 32768, 1048576, 4194304, 25165824, 67108864, 24576, 32770, 2, 4, 112, 512, 98304, 524288, 50, 402653186, 1049090, 1049091, 10, 66, 100925514, 10, 66, 12582914, 0, 0, -1678194207, -1678194207, -1041543218, 0, 32768, 0, 0, 32, 65536, 268435456, 1, 1, 513, 1048577, 0, 12582912, 0, 0, 0, 4, 1792, 0, 0, 0, 7, 29360128, 0, 0, 0, 8, 0, 0, 0, 12, 1, 1, 0, 0, -604102721, -604102721, 4194304, 8388608, 0, 0, 0, 31, 925600, 997981306, 997981306, 997981306, 0, 0, 2048, 8388608, 0, 0, 1, 2, 4, 32, 64, 512, 8192, 0, 0, 0, 245760, 997720064, 0, 0, 0, 32, 0, 0, 0, 3, 12, 16, 32, 8, 112, 3072, 12288, 16384, 32768, 65536, 131072, 7864320, 16777216, 973078528, 0, 0, 65536, 131072, 3670016, 4194304, 16777216, 33554432, 2, 8, 48, 2048, 8192, 16384, 32768, 65536, 131072, 524288, 131072, 524288, 3145728, 4194304, 16777216, 33554432, 65536, 131072, 2097152, 4194304, 16777216, 33554432, 134217728, 268435456, 536870912, 0, 0, 0, 1024, 0, 8, 48, 2048, 8192, 65536, 33554432, 268435456, 536870912, 65536, 268435456, 536870912, 0, 0, 32768, 0, 0, 126, 623104, 65011712, 0, 32, 65536, 536870912, 0, 0, 65536, 524288, 0, 32, 65536, 0, 0, 0, 2048, 0, 0, 0, 15482, 245760, -604102721, 0, 0, 0, 18913, 33062912, 925600, -605028352, 0, 0, 0, 65536, 31, 8096, 131072, 786432, 3145728, 3145728, 12582912, 50331648, 134217728, 268435456, 160, 256, 512, 7168, 131072, 786432, 131072, 786432, 1048576, 2097152, 12582912, 16777216, 268435456, 1073741824, 0x80000000, 12582912, 16777216, 33554432, 268435456, 1073741824, 0x80000000, 3, 12, 16, 160, 256, 7168, 786432, 1048576, 12582912, 16777216, 268435456, 1073741824, 0, 8, 16, 32, 128, 256, 512, 7168, 786432, 1048576, 2097152, 0, 1, 2, 8, 16, 7168, 786432, 1048576, 8388608, 16777216, 16777216, 1073741824, 0, 0, 0, 0, 1, 0, 0, 8, 32, 128, 256, 7168, 8, 32, 0, 3072, 0, 8, 32, 3072, 4096, 524288, 8, 32, 0, 0, 3072, 4096, 0, 2048, 524288, 8388608, 8, 2048, 0, 0, 1, 12, 256, 4096, 32768, 262144, 1048576, 4194304, 67108864, 0, 2048, 0, 2048, 2048, 1073741824, -58805985, -58805985, -58805985, 0, 0, 262144, 0, 0, 32, 4194304, 16777216, 134217728, 4382, 172032, -58982400, 0, 0, 2, 28, 256, 4096, 8192, 8192, 32768, 131072, 262144, 524288, 1, 2, 12, 256, 4096, 0, 0, 4194304, 67108864, 134217728, 805306368, 1073741824, 0, 0, 1, 2, 12, 16, 256, 4096, 1048576, 67108864, 134217728, 268435456, 0, 512, 1048576, 4194304, 201326592, 1879048192, 0, 0, 12, 256, 4096, 134217728, 268435456, 536870912, 12, 256, 268435456, 536870912, 0, 12, 256, 0, 0, 1, 32, 64, 512, 0, 0, 205236961, 205236961, 0, 0, 0, 1, 96, 640, 1, 10976, 229376, 204996608, 0, 640, 2048, 8192, 229376, 1572864, 1572864, 2097152, 201326592, 0, 0, 0, 64, 512, 2048, 229376, 1572864, 201326592, 1572864, 201326592, 0, 0, 1, 4382, 0, 1, 32, 2048, 65536, 131072, 1572864, 201326592, 131072, 1572864, 134217728, 0, 0, 524288, 524288, 0, 0, 0, -68582786, -68582786, -68582786, 0, 0, 2097152, 524288, 0, 524288, 0, 0, 65536, 131072, 1572864, 0, 0, 2, 4, 0, 0, 65011712, -134217728, 0, 0, 0, 0, 2, 4, 120, 512, -268435456, 0, 0, 0, 2, 8, 48, 64, 2048, 8192, 98304, 524288, 2097152, 4194304, 25165824, 33554432, 134217728, 268435456, 0x80000000, 0, 0, 25165824, 33554432, 134217728, 1879048192, 0x80000000, 0, 0, 4, 112, 512, 622592, 65011712, 134217728, -268435456, 16777216, 33554432, 134217728, 1610612736, 0, 0, 0, 64, 98304, 524288, 4194304, 16777216, 33554432, 0, 98304, 524288, 16777216, 33554432, 0, 65536, 524288, 33554432, 536870912, 1073741824, 0, 65536, 524288, 536870912, 1073741824, 0, 0, 65536, 524288, 536870912, 0, 524288, 0, 524288, 524288, 1048576, 2086666240, 0x80000000, 0, -1678194207, 0, 0, 0, 8, 32, 2048, 524288, 8388608, 0, 0, 33062912, 436207616, 0x80000000, 0, 0, 32, 64, 2432, 16384, 32768, 32768, 524288, 3145728, 4194304, 25165824, 25165824, 167772160, 268435456, 0x80000000, 0, 32, 64, 384, 2048, 16384, 32768, 1048576, 2097152, 4194304, 25165824, 32, 64, 128, 256, 2048, 16384, 2048, 16384, 1048576, 4194304, 16777216, 33554432, 134217728, 536870912, 1073741824, 0, 0, 2048, 16384, 4194304, 16777216, 33554432, 134217728, 805306368, 0, 0, 16777216, 134217728, 268435456, 0x80000000, 0, 622592, 622592, 622592, 8807, 8807, 434791, 0, 0, 16777216, 0, 0, 0, 7, 608, 8192, 0, 0, 0, 3, 4, 96, 512, 32, 64, 8192, 0, 0, 16777216, 134217728, 0, 0, 2, 4, 8192, 16384, 65536, 2097152, 33554432, 268435456
  5974. ];
  5975. XQueryTokenizer.TOKEN =
  5976. [
  5977. "(0)",
  5978. "ModuleDecl",
  5979. "Annotation",
  5980. "OptionDecl",
  5981. "Operator",
  5982. "Variable",
  5983. "Tag",
  5984. "EndTag",
  5985. "PragmaContents",
  5986. "DirCommentContents",
  5987. "DirPIContents",
  5988. "CDataSectionContents",
  5989. "AttrTest",
  5990. "Wildcard",
  5991. "EQName",
  5992. "IntegerLiteral",
  5993. "DecimalLiteral",
  5994. "DoubleLiteral",
  5995. "PredefinedEntityRef",
  5996. "'\"\"'",
  5997. "EscapeApos",
  5998. "QuotChar",
  5999. "AposChar",
  6000. "ElementContentChar",
  6001. "QuotAttrContentChar",
  6002. "AposAttrContentChar",
  6003. "NCName",
  6004. "QName",
  6005. "S",
  6006. "CharRef",
  6007. "CommentContents",
  6008. "DocTag",
  6009. "DocCommentContents",
  6010. "EOF",
  6011. "'!'",
  6012. "'\"'",
  6013. "'#'",
  6014. "'#)'",
  6015. "''''",
  6016. "'('",
  6017. "'(#'",
  6018. "'(:'",
  6019. "'(:~'",
  6020. "')'",
  6021. "'*'",
  6022. "'*'",
  6023. "','",
  6024. "'-->'",
  6025. "'.'",
  6026. "'/'",
  6027. "'/>'",
  6028. "':'",
  6029. "':)'",
  6030. "';'",
  6031. "'<!--'",
  6032. "'<![CDATA['",
  6033. "'<?'",
  6034. "'='",
  6035. "'>'",
  6036. "'?'",
  6037. "'?>'",
  6038. "'NaN'",
  6039. "'['",
  6040. "']'",
  6041. "']]>'",
  6042. "'after'",
  6043. "'all'",
  6044. "'allowing'",
  6045. "'ancestor'",
  6046. "'ancestor-or-self'",
  6047. "'and'",
  6048. "'any'",
  6049. "'append'",
  6050. "'array'",
  6051. "'as'",
  6052. "'ascending'",
  6053. "'at'",
  6054. "'attribute'",
  6055. "'base-uri'",
  6056. "'before'",
  6057. "'boundary-space'",
  6058. "'break'",
  6059. "'by'",
  6060. "'case'",
  6061. "'cast'",
  6062. "'castable'",
  6063. "'catch'",
  6064. "'check'",
  6065. "'child'",
  6066. "'collation'",
  6067. "'collection'",
  6068. "'comment'",
  6069. "'constraint'",
  6070. "'construction'",
  6071. "'contains'",
  6072. "'content'",
  6073. "'context'",
  6074. "'continue'",
  6075. "'copy'",
  6076. "'copy-namespaces'",
  6077. "'count'",
  6078. "'decimal-format'",
  6079. "'decimal-separator'",
  6080. "'declare'",
  6081. "'default'",
  6082. "'delete'",
  6083. "'descendant'",
  6084. "'descendant-or-self'",
  6085. "'descending'",
  6086. "'diacritics'",
  6087. "'different'",
  6088. "'digit'",
  6089. "'distance'",
  6090. "'div'",
  6091. "'document'",
  6092. "'document-node'",
  6093. "'element'",
  6094. "'else'",
  6095. "'empty'",
  6096. "'empty-sequence'",
  6097. "'encoding'",
  6098. "'end'",
  6099. "'entire'",
  6100. "'eq'",
  6101. "'every'",
  6102. "'exactly'",
  6103. "'except'",
  6104. "'exit'",
  6105. "'external'",
  6106. "'first'",
  6107. "'following'",
  6108. "'following-sibling'",
  6109. "'for'",
  6110. "'foreach'",
  6111. "'foreign'",
  6112. "'from'",
  6113. "'ft-option'",
  6114. "'ftand'",
  6115. "'ftnot'",
  6116. "'ftor'",
  6117. "'function'",
  6118. "'ge'",
  6119. "'greatest'",
  6120. "'group'",
  6121. "'grouping-separator'",
  6122. "'gt'",
  6123. "'idiv'",
  6124. "'if'",
  6125. "'import'",
  6126. "'in'",
  6127. "'index'",
  6128. "'infinity'",
  6129. "'inherit'",
  6130. "'insensitive'",
  6131. "'insert'",
  6132. "'instance'",
  6133. "'integrity'",
  6134. "'intersect'",
  6135. "'into'",
  6136. "'is'",
  6137. "'item'",
  6138. "'json'",
  6139. "'json-item'",
  6140. "'key'",
  6141. "'language'",
  6142. "'last'",
  6143. "'lax'",
  6144. "'le'",
  6145. "'least'",
  6146. "'let'",
  6147. "'levels'",
  6148. "'loop'",
  6149. "'lowercase'",
  6150. "'lt'",
  6151. "'minus-sign'",
  6152. "'mod'",
  6153. "'modify'",
  6154. "'module'",
  6155. "'most'",
  6156. "'namespace'",
  6157. "'namespace-node'",
  6158. "'ne'",
  6159. "'next'",
  6160. "'no'",
  6161. "'no-inherit'",
  6162. "'no-preserve'",
  6163. "'node'",
  6164. "'nodes'",
  6165. "'not'",
  6166. "'object'",
  6167. "'occurs'",
  6168. "'of'",
  6169. "'on'",
  6170. "'only'",
  6171. "'option'",
  6172. "'or'",
  6173. "'order'",
  6174. "'ordered'",
  6175. "'ordering'",
  6176. "'paragraph'",
  6177. "'paragraphs'",
  6178. "'parent'",
  6179. "'pattern-separator'",
  6180. "'per-mille'",
  6181. "'percent'",
  6182. "'phrase'",
  6183. "'position'",
  6184. "'preceding'",
  6185. "'preceding-sibling'",
  6186. "'preserve'",
  6187. "'previous'",
  6188. "'processing-instruction'",
  6189. "'relationship'",
  6190. "'rename'",
  6191. "'replace'",
  6192. "'return'",
  6193. "'returning'",
  6194. "'revalidation'",
  6195. "'same'",
  6196. "'satisfies'",
  6197. "'schema'",
  6198. "'schema-attribute'",
  6199. "'schema-element'",
  6200. "'score'",
  6201. "'self'",
  6202. "'sensitive'",
  6203. "'sentence'",
  6204. "'sentences'",
  6205. "'skip'",
  6206. "'sliding'",
  6207. "'some'",
  6208. "'stable'",
  6209. "'start'",
  6210. "'stemming'",
  6211. "'stop'",
  6212. "'strict'",
  6213. "'strip'",
  6214. "'structured-item'",
  6215. "'switch'",
  6216. "'text'",
  6217. "'then'",
  6218. "'thesaurus'",
  6219. "'times'",
  6220. "'to'",
  6221. "'treat'",
  6222. "'try'",
  6223. "'tumbling'",
  6224. "'type'",
  6225. "'typeswitch'",
  6226. "'union'",
  6227. "'unique'",
  6228. "'unordered'",
  6229. "'updating'",
  6230. "'uppercase'",
  6231. "'using'",
  6232. "'validate'",
  6233. "'value'",
  6234. "'variable'",
  6235. "'version'",
  6236. "'weight'",
  6237. "'when'",
  6238. "'where'",
  6239. "'while'",
  6240. "'wildcards'",
  6241. "'window'",
  6242. "'with'",
  6243. "'without'",
  6244. "'word'",
  6245. "'words'",
  6246. "'xquery'",
  6247. "'zero-digit'",
  6248. "'{'",
  6249. "'{{'",
  6250. "'|'",
  6251. "'}'",
  6252. "'}}'"
  6253. ];
  6254. },{}],"/node_modules/xqlint/lib/lexers/jsoniq_lexer.js":[function(_dereq_,module,exports){
  6255. 'use strict';
  6256. var JSONiqTokenizer = _dereq_('./JSONiqTokenizer').JSONiqTokenizer;
  6257. var Lexer = _dereq_('./lexer').Lexer;
  6258. var keys = 'NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit'.split('|');
  6259. var keywords = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'keyword' }; });
  6260. var ncnames = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'text', next: function(stack){ stack.pop(); } }; });
  6261. var cdata = 'constant.language';
  6262. var number = 'constant';
  6263. var xmlcomment = 'comment';
  6264. var pi = 'xml-pe';
  6265. var pragma = 'constant.buildin';
  6266. var n = function(name){
  6267. return '\'' + name + '\'';
  6268. };
  6269. var Rules = {
  6270. start: [
  6271. { name: n('(#'), token: pragma, next: function(stack){ stack.push('Pragma'); } },
  6272. { name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
  6273. { name: n('(:~'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
  6274. { name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
  6275. { name: n('<?'), token: pi, next: function(stack) { stack.push('PI'); } },
  6276. { name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposString'); } },
  6277. { name: n('"'), token: 'string', next: function(stack){ stack.push('QuotString'); } },
  6278. { name: 'Annotation', token: 'support.function' },
  6279. { name: 'ModuleDecl', token: 'keyword', next: function(stack){ stack.push('Prefix'); } },
  6280. { name: 'OptionDecl', token: 'keyword', next: function(stack){ stack.push('_EQName'); } },
  6281. { name: 'AttrTest', token: 'support.type' },
  6282. { name: 'Variable', token: 'variable' },
  6283. { name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
  6284. { name: 'IntegerLiteral', token: number },
  6285. { name: 'DecimalLiteral', token: number },
  6286. { name: 'DoubleLiteral', token: number },
  6287. { name: 'Operator', token: 'keyword.operator' },
  6288. { name: 'EQName', token: function(val) { return keys.indexOf(val) !== -1 ? 'keyword' : 'support.function'; } },
  6289. { name: n('('), token: 'lparen' },
  6290. { name: n(')'), token: 'rparen' },
  6291. { name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
  6292. { name: n('}'), token: 'text', next: function(stack){ if(stack.length > 1) { stack.pop(); } } },
  6293. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } } //, next: function(stack){ if(stack.length > 1) { stack.pop(); } } }
  6294. ].concat(keywords),
  6295. _EQName: [
  6296. { name: 'EQName', token: 'text', next: function(stack) { stack.pop(); } }
  6297. ].concat(ncnames),
  6298. Prefix: [
  6299. { name: 'NCName', token: 'text', next: function(stack) { stack.pop(); } }
  6300. ].concat(ncnames),
  6301. StartTag: [
  6302. { name: n('>'), token: 'meta.tag', next: function(stack){ stack.push('TagContent'); } },
  6303. { name: 'QName', token: 'entity.other.attribute-name' },
  6304. { name: n('='), token: 'text' },
  6305. { name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposAttr'); } },
  6306. { name: n('"'), token: 'string', next: function(stack){ stack.push('QuotAttr'); } },
  6307. { name: n('/>'), token: 'meta.tag.r', next: function(stack){ stack.pop(); } }
  6308. ],
  6309. TagContent: [
  6310. { name: 'ElementContentChar', token: 'text' },
  6311. { name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
  6312. { name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
  6313. { name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
  6314. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6315. { name: 'CharRef', token: 'constant.language.escape' },
  6316. { name: n('{{'), token: 'text' },
  6317. { name: n('}}'), token: 'text' },
  6318. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } },
  6319. { name: 'EndTag', token: 'meta.tag', next: function(stack){ stack.pop(); stack.pop(); } }
  6320. ],
  6321. AposAttr: [
  6322. { name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
  6323. { name: 'EscapeApos', token: 'constant.language.escape' },
  6324. { name: 'AposAttrContentChar', token: 'string' },
  6325. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6326. { name: 'CharRef', token: 'constant.language.escape' },
  6327. { name: n('{{'), token: 'string' },
  6328. { name: n('}}'), token: 'string' },
  6329. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
  6330. ],
  6331. QuotAttr: [
  6332. { name: n('\"'), token: 'string', next: function(stack){ stack.pop(); } },
  6333. { name: 'EscapeQuot', token: 'constant.language.escape' },
  6334. { name: 'QuotAttrContentChar', token: 'string' },
  6335. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6336. { name: 'CharRef', token: 'constant.language.escape' },
  6337. { name: n('{{'), token: 'string' },
  6338. { name: n('}}'), token: 'string' },
  6339. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
  6340. ],
  6341. Pragma: [
  6342. { name: 'PragmaContents', token: pragma },
  6343. { name: n('#'), token: pragma },
  6344. { name: n('#)'), token: pragma, next: function(stack){ stack.pop(); } }
  6345. ],
  6346. Comment: [
  6347. { name: 'CommentContents', token: 'comment' },
  6348. { name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
  6349. { name: n(':)'), token: 'comment', next: function(stack){ stack.pop(); } }
  6350. ],
  6351. CommentDoc: [
  6352. { name: 'DocCommentContents', token: 'comment.doc' },
  6353. { name: 'DocTag', token: 'comment.doc.tag' },
  6354. { name: n('(:'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
  6355. { name: n(':)'), token: 'comment.doc', next: function(stack){ stack.pop(); } }
  6356. ],
  6357. XMLComment: [
  6358. { name: 'DirCommentContents', token: xmlcomment },
  6359. { name: n('-->'), token: xmlcomment, next: function(stack){ stack.pop(); } }
  6360. ],
  6361. CData: [
  6362. { name: 'CDataSectionContents', token: cdata },
  6363. { name: n(']]>'), token: cdata, next: function(stack){ stack.pop(); } }
  6364. ],
  6365. PI: [
  6366. { name: 'DirPIContents', token: pi },
  6367. { name: n('?'), token: pi },
  6368. { name: n('?>'), token: pi, next: function(stack){ stack.pop(); } }
  6369. ],
  6370. AposString: [
  6371. { name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
  6372. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6373. { name: 'CharRef', token: 'constant.language.escape' },
  6374. { name: 'EscapeApos', token: 'constant.language.escape' },
  6375. { name: 'AposChar', token: 'string' }
  6376. ],
  6377. QuotString: [
  6378. { name: n('"'), token: 'string', next: function(stack){ stack.pop(); } },
  6379. { name: 'JSONPredefinedCharRef', token: 'constant.language.escape' },
  6380. { name: 'JSONCharRef', token: 'constant.language.escape' },
  6381. { name: 'JSONChar', token: 'string' }
  6382. ]
  6383. };
  6384. exports.JSONiqLexer = function(){ return new Lexer(JSONiqTokenizer, Rules); };
  6385. },{"./JSONiqTokenizer":"/node_modules/xqlint/lib/lexers/JSONiqTokenizer.js","./lexer":"/node_modules/xqlint/lib/lexers/lexer.js"}],"/node_modules/xqlint/lib/lexers/lexer.js":[function(_dereq_,module,exports){
  6386. 'use strict';
  6387. var TokenHandler = function(code) {
  6388. var input = code;
  6389. this.tokens = [];
  6390. this.reset = function() {
  6391. input = input;
  6392. this.tokens = [];
  6393. };
  6394. this.startNonterminal = function() {};
  6395. this.endNonterminal = function() {};
  6396. this.terminal = function(name, begin, end) {
  6397. this.tokens.push({
  6398. name: name,
  6399. value: input.substring(begin, end)
  6400. });
  6401. };
  6402. this.whitespace = function(begin, end) {
  6403. this.tokens.push({
  6404. name: 'WS',
  6405. value: input.substring(begin, end)
  6406. });
  6407. };
  6408. };
  6409. exports.Lexer = function(Tokenizer, Rules) {
  6410. this.tokens = [];
  6411. this.getLineTokens = function(line, state) {
  6412. state = (state === 'start' || !state) ? '["start"]' : state;
  6413. var stack = JSON.parse(state);
  6414. var h = new TokenHandler(line);
  6415. var tokenizer = new Tokenizer(line, h);
  6416. var tokens = [];
  6417. while(true) {
  6418. var currentState = stack[stack.length - 1];
  6419. try {
  6420. h.tokens = [];
  6421. tokenizer['parse_' + currentState]();
  6422. var info = null;
  6423. if(h.tokens.length > 1 && h.tokens[0].name === 'WS') {
  6424. tokens.push({
  6425. type: 'text',
  6426. value: h.tokens[0].value
  6427. });
  6428. h.tokens.splice(0, 1);
  6429. }
  6430. var token = h.tokens[0];
  6431. var rules = Rules[currentState];
  6432. for(var k = 0; k < rules.length; k++) {
  6433. var rule = Rules[currentState][k];
  6434. if((typeof(rule.name) === 'function' && rule.name(token)) || rule.name === token.name) {
  6435. info = rule;
  6436. break;
  6437. }
  6438. }
  6439. if(token.name === 'EOF') { break; }
  6440. if(token.value === '') { throw 'Encountered empty string lexical rule.'; }
  6441. tokens.push({
  6442. type: info === null ? 'text' : (typeof(info.token) === 'function' ? info.token(token.value) : info.token),
  6443. value: token.value
  6444. });
  6445. if(info && info.next) {
  6446. info.next(stack);
  6447. }
  6448. } catch(e) {
  6449. if(e instanceof tokenizer.ParseException) {
  6450. var index = 0;
  6451. for(var i=0; i < tokens.length; i++) {
  6452. index += tokens[i].value.length;
  6453. }
  6454. tokens.push({ type: 'text', value: line.substring(index) });
  6455. return {
  6456. tokens: tokens,
  6457. state: JSON.stringify(['start'])
  6458. };
  6459. } else {
  6460. throw e;
  6461. }
  6462. }
  6463. }
  6464. return {
  6465. tokens: tokens,
  6466. state: JSON.stringify(stack)
  6467. };
  6468. };
  6469. };
  6470. },{}],"/node_modules/xqlint/lib/lexers/xquery_lexer.js":[function(_dereq_,module,exports){
  6471. 'use strict';
  6472. var XQueryTokenizer = _dereq_('./XQueryTokenizer').XQueryTokenizer;
  6473. var Lexer = _dereq_('./lexer').Lexer;
  6474. var keys = 'after|ancestor|ancestor-or-self|and|as|ascending|attribute|before|case|cast|castable|child|collation|comment|copy|count|declare|default|delete|descendant|descendant-or-self|descending|div|document|document-node|element|else|empty|empty-sequence|end|eq|every|except|first|following|following-sibling|for|function|ge|group|gt|idiv|if|import|insert|instance|intersect|into|is|item|last|le|let|lt|mod|modify|module|namespace|namespace-node|ne|node|only|or|order|ordered|parent|preceding|preceding-sibling|processing-instruction|rename|replace|return|satisfies|schema-attribute|schema-element|self|some|stable|start|switch|text|to|treat|try|typeswitch|union|unordered|validate|where|with|xquery|contains|paragraphs|sentences|times|words|by|collectionreturn|variable|version|option|when|encoding|toswitch|catch|tumbling|sliding|window|at|using|stemming|collection|schema|while|on|nodes|index|external|then|in|updating|value|of|containsbreak|loop|continue|exit|returning|append|json|position|strict'.split('|');
  6475. var keywords = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'keyword' }; });
  6476. var ncnames = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'text', next: function(stack){ stack.pop(); } }; });
  6477. var cdata = 'constant.language';
  6478. var number = 'constant';
  6479. var xmlcomment = 'comment';
  6480. var pi = 'xml-pe';
  6481. var pragma = 'constant.buildin';
  6482. var n = function(name){
  6483. return '\'' + name + '\'';
  6484. };
  6485. var Rules = {
  6486. start: [
  6487. { name: n('(#'), token: pragma, next: function(stack){ stack.push('Pragma'); } },
  6488. { name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
  6489. { name: n('(:~'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
  6490. { name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
  6491. { name: n('<?'), token: pi, next: function(stack) { stack.push('PI'); } },
  6492. { name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposString'); } },
  6493. { name: n('"'), token: 'string', next: function(stack){ stack.push('QuotString'); } },
  6494. { name: 'Annotation', token: 'support.function' },
  6495. { name: 'ModuleDecl', token: 'keyword', next: function(stack){ stack.push('Prefix'); } },
  6496. { name: 'OptionDecl', token: 'keyword', next: function(stack){ stack.push('_EQName'); } },
  6497. { name: 'AttrTest', token: 'support.type' },
  6498. { name: 'Variable', token: 'variable' },
  6499. { name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
  6500. { name: 'IntegerLiteral', token: number },
  6501. { name: 'DecimalLiteral', token: number },
  6502. { name: 'DoubleLiteral', token: number },
  6503. { name: 'Operator', token: 'keyword.operator' },
  6504. { name: 'EQName', token: function(val) { return keys.indexOf(val) !== -1 ? 'keyword' : 'support.function'; } },
  6505. { name: n('('), token: 'lparen' },
  6506. { name: n(')'), token: 'rparen' },
  6507. { name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
  6508. { name: n('}'), token: 'text', next: function(stack){ if(stack.length > 1) { stack.pop(); } } },
  6509. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } } //, next: function(stack){ if(stack.length > 1) { stack.pop(); } } }
  6510. ].concat(keywords),
  6511. _EQName: [
  6512. { name: 'EQName', token: 'text', next: function(stack) { stack.pop(); } }
  6513. ].concat(ncnames),
  6514. Prefix: [
  6515. { name: 'NCName', token: 'text', next: function(stack) { stack.pop(); } }
  6516. ].concat(ncnames),
  6517. StartTag: [
  6518. { name: n('>'), token: 'meta.tag', next: function(stack){ stack.push('TagContent'); } },
  6519. { name: 'QName', token: 'entity.other.attribute-name' },
  6520. { name: n('='), token: 'text' },
  6521. { name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposAttr'); } },
  6522. { name: n('"'), token: 'string', next: function(stack){ stack.push('QuotAttr'); } },
  6523. { name: n('/>'), token: 'meta.tag.r', next: function(stack){ stack.pop(); } }
  6524. ],
  6525. TagContent: [
  6526. { name: 'ElementContentChar', token: 'text' },
  6527. { name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
  6528. { name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
  6529. { name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
  6530. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6531. { name: 'CharRef', token: 'constant.language.escape' },
  6532. { name: n('{{'), token: 'text' },
  6533. { name: n('}}'), token: 'text' },
  6534. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } },
  6535. { name: 'EndTag', token: 'meta.tag', next: function(stack){ stack.pop(); stack.pop(); } }
  6536. ],
  6537. AposAttr: [
  6538. { name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
  6539. { name: 'EscapeApos', token: 'constant.language.escape' },
  6540. { name: 'AposAttrContentChar', token: 'string' },
  6541. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6542. { name: 'CharRef', token: 'constant.language.escape' },
  6543. { name: n('{{'), token: 'string' },
  6544. { name: n('}}'), token: 'string' },
  6545. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
  6546. ],
  6547. QuotAttr: [
  6548. { name: n('\"'), token: 'string', next: function(stack){ stack.pop(); } },
  6549. { name: 'EscapeQuot', token: 'constant.language.escape' },
  6550. { name: 'QuotAttrContentChar', token: 'string' },
  6551. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6552. { name: 'CharRef', token: 'constant.language.escape' },
  6553. { name: n('{{'), token: 'string' },
  6554. { name: n('}}'), token: 'string' },
  6555. { name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
  6556. ],
  6557. Pragma: [
  6558. { name: 'PragmaContents', token: pragma },
  6559. { name: n('#'), token: pragma },
  6560. { name: n('#)'), token: pragma, next: function(stack){ stack.pop(); } }
  6561. ],
  6562. Comment: [
  6563. { name: 'CommentContents', token: 'comment' },
  6564. { name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
  6565. { name: n(':)'), token: 'comment', next: function(stack){ stack.pop(); } }
  6566. ],
  6567. CommentDoc: [
  6568. { name: 'DocCommentContents', token: 'comment.doc' },
  6569. { name: 'DocTag', token: 'comment.doc.tag' },
  6570. { name: n('(:'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
  6571. { name: n(':)'), token: 'comment.doc', next: function(stack){ stack.pop(); } }
  6572. ],
  6573. XMLComment: [
  6574. { name: 'DirCommentContents', token: xmlcomment },
  6575. { name: n('-->'), token: xmlcomment, next: function(stack){ stack.pop(); } }
  6576. ],
  6577. CData: [
  6578. { name: 'CDataSectionContents', token: cdata },
  6579. { name: n(']]>'), token: cdata, next: function(stack){ stack.pop(); } }
  6580. ],
  6581. PI: [
  6582. { name: 'DirPIContents', token: pi },
  6583. { name: n('?'), token: pi },
  6584. { name: n('?>'), token: pi, next: function(stack){ stack.pop(); } }
  6585. ],
  6586. AposString: [
  6587. { name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
  6588. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6589. { name: 'CharRef', token: 'constant.language.escape' },
  6590. { name: 'EscapeApos', token: 'constant.language.escape' },
  6591. { name: 'AposChar', token: 'string' }
  6592. ],
  6593. QuotString: [
  6594. { name: n('"'), token: 'string', next: function(stack){ stack.pop(); } },
  6595. { name: 'PredefinedEntityRef', token: 'constant.language.escape' },
  6596. { name: 'CharRef', token: 'constant.language.escape' },
  6597. { name: 'EscapeQuot', token: 'constant.language.escape' },
  6598. { name: 'QuotChar', token: 'string' }
  6599. ]
  6600. };
  6601. exports.XQueryLexer = function(){ return new Lexer(XQueryTokenizer, Rules); };
  6602. },{"./XQueryTokenizer":"/node_modules/xqlint/lib/lexers/XQueryTokenizer.js","./lexer":"/node_modules/xqlint/lib/lexers/lexer.js"}],"/node_modules/xqlint/lib/parsers/JSONParseTreeHandler.js":[function(_dereq_,module,exports){
  6603. exports.JSONParseTreeHandler = function (code) {
  6604. 'use strict';
  6605. var toBeIndex = ['VarDecl', 'FunctionDecl'];
  6606. var list = [
  6607. 'OrExpr', 'AndExpr', 'ComparisonExpr', 'StringConcatExpr', 'RangeExpr',
  6608. 'AdditiveExpr', 'MultiplicativeExpr',
  6609. 'UnionExpr', 'IntersectExceptExpr', 'InstanceofExpr', 'TreatExpr', 'CastableExpr', 'CastExpr', 'UnaryExpr', 'ValueExpr',
  6610. 'FTContainsExpr', 'SimpleMapExpr', 'PathExpr', 'RelativePathExpr', 'PostfixExpr', 'StepExpr'
  6611. ];
  6612. var ast = null;
  6613. var ptr = null;
  6614. var remains = code;
  6615. var cursor = 0;
  6616. var lineCursor = 0;
  6617. var line = 0;
  6618. function createNode(name) {
  6619. return {
  6620. name: name,
  6621. children: [],
  6622. getParent: null,
  6623. pos: {
  6624. sl: 0,
  6625. sc: 0,
  6626. el: 0,
  6627. ec: 0
  6628. }
  6629. };
  6630. }
  6631. function pushNode(name) { //begin
  6632. var node = createNode(name);
  6633. if (ast === null) {
  6634. ast = node;
  6635. ast.index = [];
  6636. ptr = node;
  6637. } else {
  6638. node.getParent = ptr;
  6639. ptr.children.push(node);
  6640. ptr = ptr.children[ptr.children.length - 1];
  6641. }
  6642. }
  6643. function popNode() {
  6644. if (ptr.children.length > 0) {
  6645. var s = ptr.children[0];
  6646. var e = null;
  6647. for (var i = ptr.children.length - 1; i >= 0; i--) {
  6648. e = ptr.children[i];
  6649. if (e.pos.el !== 0 || e.pos.ec !== 0) {
  6650. break;
  6651. }
  6652. }
  6653. ptr.pos.sl = s.pos.sl;
  6654. ptr.pos.sc = s.pos.sc;
  6655. ptr.pos.el = e.pos.el;
  6656. ptr.pos.ec = e.pos.ec;
  6657. }
  6658. if (ptr.name === 'FunctionName') {
  6659. ptr.name = 'EQName';
  6660. }
  6661. if (ptr.name === 'EQName' && ptr.value === undefined) {
  6662. ptr.value = ptr.children[0].value;
  6663. ptr.children.pop();
  6664. }
  6665. if(toBeIndex.indexOf(ptr.name) !== -1) {
  6666. ast.index.push(ptr);
  6667. }
  6668. if (ptr.getParent !== null) {
  6669. ptr = ptr.getParent;
  6670. } else {
  6671. }
  6672. if (ptr.children.length > 0) {
  6673. var lastChild = ptr.children[ptr.children.length - 1];
  6674. if (lastChild.children.length === 1 && list.indexOf(lastChild.name) !== -1) {
  6675. ptr.children[ptr.children.length - 1] = lastChild.children[0];
  6676. }
  6677. }
  6678. }
  6679. this.closeParseTree = function () {
  6680. while (ptr.getParent !== null) {
  6681. popNode();
  6682. }
  6683. popNode();
  6684. };
  6685. this.peek = function () {
  6686. return ptr;
  6687. };
  6688. this.getParseTree = function () {
  6689. return ast;
  6690. };
  6691. this.reset = function () {}; //input
  6692. this.startNonterminal = function (name, begin) {
  6693. pushNode(name, begin);
  6694. };
  6695. this.endNonterminal = function () {//name, end
  6696. popNode();
  6697. };
  6698. this.terminal = function (name, begin, end) {
  6699. name = (name.substring(0, 1) === '\'' && name.substring(name.length - 1) === '\'') ? 'TOKEN' : name;
  6700. pushNode(name, begin);
  6701. setValue(ptr, begin, end);
  6702. popNode();
  6703. };
  6704. this.whitespace = function (begin, end) {
  6705. var name = 'WS';
  6706. pushNode(name, begin);
  6707. setValue(ptr, begin, end);
  6708. popNode();
  6709. };
  6710. function setValue(node, begin, end) {
  6711. var e = end - cursor;
  6712. ptr.value = remains.substring(0, e);
  6713. remains = remains.substring(e);
  6714. cursor = end;
  6715. var sl = line;
  6716. var sc = lineCursor;
  6717. var el = sl + ptr.value.split('\n').length - 1;
  6718. var lastIdx = ptr.value.lastIndexOf('\n');
  6719. var ec = lastIdx === -1 ? sc + ptr.value.length : ptr.value.substring(lastIdx + 1).length;
  6720. line = el;
  6721. lineCursor = ec;
  6722. ptr.pos.sl = sl;
  6723. ptr.pos.sc = sc;
  6724. ptr.pos.el = el;
  6725. ptr.pos.ec = ec;
  6726. }
  6727. };
  6728. },{}],"/node_modules/xqlint/lib/parsers/JSONiqParser.js":[function(_dereq_,module,exports){
  6729. var JSONiqParser = exports.JSONiqParser = function JSONiqParser(string, parsingEventHandler)
  6730. {
  6731. init(string, parsingEventHandler);
  6732. var self = this;
  6733. this.ParseException = function(b, e, s, o, x)
  6734. {
  6735. var
  6736. begin = b,
  6737. end = e,
  6738. state = s,
  6739. offending = o,
  6740. expected = x;
  6741. this.getBegin = function() {return begin;};
  6742. this.getEnd = function() {return end;};
  6743. this.getState = function() {return state;};
  6744. this.getExpected = function() {return expected;};
  6745. this.getOffending = function() {return offending;};
  6746. this.getMessage = function()
  6747. {
  6748. return offending < 0 ? "lexical analysis failed" : "syntax error";
  6749. };
  6750. };
  6751. function init(string, parsingEventHandler)
  6752. {
  6753. eventHandler = parsingEventHandler;
  6754. input = string;
  6755. size = string.length;
  6756. reset(0, 0, 0);
  6757. }
  6758. this.getInput = function()
  6759. {
  6760. return input;
  6761. };
  6762. function reset(l, b, e)
  6763. {
  6764. b0 = b; e0 = b;
  6765. l1 = l; b1 = b; e1 = e;
  6766. l2 = 0;
  6767. end = e;
  6768. ex = -1;
  6769. memo = {};
  6770. eventHandler.reset(input);
  6771. }
  6772. this.getOffendingToken = function(e)
  6773. {
  6774. var o = e.getOffending();
  6775. return o >= 0 ? JSONiqParser.TOKEN[o] : null;
  6776. };
  6777. this.getExpectedTokenSet = function(e)
  6778. {
  6779. var expected;
  6780. if (e.getExpected() < 0)
  6781. {
  6782. expected = JSONiqParser.getTokenSet(- e.getState());
  6783. }
  6784. else
  6785. {
  6786. expected = [JSONiqParser.TOKEN[e.getExpected()]];
  6787. }
  6788. return expected;
  6789. };
  6790. this.getErrorMessage = function(e)
  6791. {
  6792. var tokenSet = this.getExpectedTokenSet(e);
  6793. var found = this.getOffendingToken(e);
  6794. var prefix = input.substring(0, e.getBegin());
  6795. var lines = prefix.split("\n");
  6796. var line = lines.length;
  6797. var column = lines[line - 1].length + 1;
  6798. var size = e.getEnd() - e.getBegin();
  6799. return e.getMessage()
  6800. + (found == null ? "" : ", found " + found)
  6801. + "\nwhile expecting "
  6802. + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
  6803. + "\n"
  6804. + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
  6805. + "at line " + line + ", column " + column + ":\n..."
  6806. + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
  6807. + "...";
  6808. };
  6809. this.parse_XQuery = function()
  6810. {
  6811. eventHandler.startNonterminal("XQuery", e0);
  6812. lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6813. whitespace();
  6814. parse_Module();
  6815. shift(25); // EOF
  6816. eventHandler.endNonterminal("XQuery", e0);
  6817. };
  6818. function parse_Module()
  6819. {
  6820. eventHandler.startNonterminal("Module", e0);
  6821. switch (l1)
  6822. {
  6823. case 170: // 'jsoniq'
  6824. lookahead2W(168); // S^WS | '#' | '(' | '(:' | 'encoding' | 'version'
  6825. break;
  6826. default:
  6827. lk = l1;
  6828. }
  6829. if (lk == 64682 // 'jsoniq' 'encoding'
  6830. || lk == 137898) // 'jsoniq' 'version'
  6831. {
  6832. parse_VersionDecl();
  6833. }
  6834. lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6835. switch (l1)
  6836. {
  6837. case 185: // 'module'
  6838. lookahead2W(146); // S^WS | '#' | '(' | '(:' | 'namespace'
  6839. break;
  6840. default:
  6841. lk = l1;
  6842. }
  6843. switch (lk)
  6844. {
  6845. case 95929: // 'module' 'namespace'
  6846. whitespace();
  6847. parse_LibraryModule();
  6848. break;
  6849. default:
  6850. whitespace();
  6851. parse_MainModule();
  6852. }
  6853. eventHandler.endNonterminal("Module", e0);
  6854. }
  6855. function parse_VersionDecl()
  6856. {
  6857. eventHandler.startNonterminal("VersionDecl", e0);
  6858. shift(170); // 'jsoniq'
  6859. lookahead1W(120); // S^WS | '(:' | 'encoding' | 'version'
  6860. switch (l1)
  6861. {
  6862. case 126: // 'encoding'
  6863. shift(126); // 'encoding'
  6864. lookahead1W(17); // StringLiteral | S^WS | '(:'
  6865. shift(11); // StringLiteral
  6866. break;
  6867. default:
  6868. shift(269); // 'version'
  6869. lookahead1W(17); // StringLiteral | S^WS | '(:'
  6870. shift(11); // StringLiteral
  6871. lookahead1W(113); // S^WS | '(:' | ';' | 'encoding'
  6872. if (l1 == 126) // 'encoding'
  6873. {
  6874. shift(126); // 'encoding'
  6875. lookahead1W(17); // StringLiteral | S^WS | '(:'
  6876. shift(11); // StringLiteral
  6877. }
  6878. }
  6879. lookahead1W(29); // S^WS | '(:' | ';'
  6880. whitespace();
  6881. parse_Separator();
  6882. eventHandler.endNonterminal("VersionDecl", e0);
  6883. }
  6884. function parse_LibraryModule()
  6885. {
  6886. eventHandler.startNonterminal("LibraryModule", e0);
  6887. parse_ModuleDecl();
  6888. lookahead1W(142); // S^WS | EOF | '(:' | 'declare' | 'import'
  6889. whitespace();
  6890. parse_Prolog();
  6891. eventHandler.endNonterminal("LibraryModule", e0);
  6892. }
  6893. function parse_ModuleDecl()
  6894. {
  6895. eventHandler.startNonterminal("ModuleDecl", e0);
  6896. shift(185); // 'module'
  6897. lookahead1W(64); // S^WS | '(:' | 'namespace'
  6898. shift(187); // 'namespace'
  6899. lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  6900. whitespace();
  6901. parse_NCName();
  6902. lookahead1W(30); // S^WS | '(:' | '='
  6903. shift(61); // '='
  6904. lookahead1W(15); // URILiteral | S^WS | '(:'
  6905. shift(7); // URILiteral
  6906. lookahead1W(29); // S^WS | '(:' | ';'
  6907. whitespace();
  6908. parse_Separator();
  6909. eventHandler.endNonterminal("ModuleDecl", e0);
  6910. }
  6911. function parse_Prolog()
  6912. {
  6913. eventHandler.startNonterminal("Prolog", e0);
  6914. for (;;)
  6915. {
  6916. lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  6917. switch (l1)
  6918. {
  6919. case 109: // 'declare'
  6920. lookahead2W(206); // S^WS | '#' | '%' | '(' | '(:' | 'base-uri' | 'boundary-space' | 'collection' |
  6921. break;
  6922. case 155: // 'import'
  6923. lookahead2W(169); // S^WS | '#' | '(' | '(:' | 'module' | 'schema'
  6924. break;
  6925. default:
  6926. lk = l1;
  6927. }
  6928. if (lk != 43117 // 'declare' 'base-uri'
  6929. && lk != 44141 // 'declare' 'boundary-space'
  6930. && lk != 50797 // 'declare' 'construction'
  6931. && lk != 53869 // 'declare' 'copy-namespaces'
  6932. && lk != 54893 // 'declare' 'decimal-format'
  6933. && lk != 56429 // 'declare' 'default'
  6934. && lk != 73325 // 'declare' 'ft-option'
  6935. && lk != 94875 // 'import' 'module'
  6936. && lk != 95853 // 'declare' 'namespace'
  6937. && lk != 106093 // 'declare' 'ordering'
  6938. && lk != 115821 // 'declare' 'revalidation'
  6939. && lk != 117403) // 'import' 'schema'
  6940. {
  6941. break;
  6942. }
  6943. switch (l1)
  6944. {
  6945. case 109: // 'declare'
  6946. lookahead2W(200); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  6947. break;
  6948. default:
  6949. lk = l1;
  6950. }
  6951. if (lk == 56429) // 'declare' 'default'
  6952. {
  6953. lk = memoized(0, e0);
  6954. if (lk == 0)
  6955. {
  6956. var b0A = b0; var e0A = e0; var l1A = l1;
  6957. var b1A = b1; var e1A = e1; var l2A = l2;
  6958. var b2A = b2; var e2A = e2;
  6959. try
  6960. {
  6961. try_DefaultNamespaceDecl();
  6962. lk = -1;
  6963. }
  6964. catch (p1A)
  6965. {
  6966. lk = -2;
  6967. }
  6968. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  6969. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  6970. b2 = b2A; e2 = e2A; end = e2A; }}
  6971. memoize(0, e0, lk);
  6972. }
  6973. }
  6974. switch (lk)
  6975. {
  6976. case -1:
  6977. whitespace();
  6978. parse_DefaultNamespaceDecl();
  6979. break;
  6980. case 95853: // 'declare' 'namespace'
  6981. whitespace();
  6982. parse_NamespaceDecl();
  6983. break;
  6984. case 155: // 'import'
  6985. whitespace();
  6986. parse_Import();
  6987. break;
  6988. case 73325: // 'declare' 'ft-option'
  6989. whitespace();
  6990. parse_FTOptionDecl();
  6991. break;
  6992. default:
  6993. whitespace();
  6994. parse_Setter();
  6995. }
  6996. lookahead1W(29); // S^WS | '(:' | ';'
  6997. whitespace();
  6998. parse_Separator();
  6999. }
  7000. for (;;)
  7001. {
  7002. lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7003. switch (l1)
  7004. {
  7005. case 109: // 'declare'
  7006. lookahead2W(201); // S^WS | '#' | '%' | '(' | '(:' | 'collection' | 'context' | 'function' | 'index' |
  7007. break;
  7008. default:
  7009. lk = l1;
  7010. }
  7011. if (lk != 17005 // 'declare' '%'
  7012. && lk != 49261 // 'declare' 'collection'
  7013. && lk != 52333 // 'declare' 'context'
  7014. && lk != 75373 // 'declare' 'function'
  7015. && lk != 80493 // 'declare' 'index'
  7016. && lk != 83565 // 'declare' 'integrity'
  7017. && lk != 104045 // 'declare' 'option'
  7018. && lk != 134765 // 'declare' 'updating'
  7019. && lk != 137325) // 'declare' 'variable'
  7020. {
  7021. break;
  7022. }
  7023. switch (l1)
  7024. {
  7025. case 109: // 'declare'
  7026. lookahead2W(197); // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
  7027. break;
  7028. default:
  7029. lk = l1;
  7030. }
  7031. switch (lk)
  7032. {
  7033. case 52333: // 'declare' 'context'
  7034. whitespace();
  7035. parse_ContextItemDecl();
  7036. break;
  7037. case 104045: // 'declare' 'option'
  7038. whitespace();
  7039. parse_OptionDecl();
  7040. break;
  7041. default:
  7042. whitespace();
  7043. parse_AnnotatedDecl();
  7044. }
  7045. lookahead1W(29); // S^WS | '(:' | ';'
  7046. whitespace();
  7047. parse_Separator();
  7048. }
  7049. eventHandler.endNonterminal("Prolog", e0);
  7050. }
  7051. function parse_Separator()
  7052. {
  7053. eventHandler.startNonterminal("Separator", e0);
  7054. shift(54); // ';'
  7055. eventHandler.endNonterminal("Separator", e0);
  7056. }
  7057. function parse_Setter()
  7058. {
  7059. eventHandler.startNonterminal("Setter", e0);
  7060. switch (l1)
  7061. {
  7062. case 109: // 'declare'
  7063. lookahead2W(194); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  7064. break;
  7065. default:
  7066. lk = l1;
  7067. }
  7068. if (lk == 56429) // 'declare' 'default'
  7069. {
  7070. lk = memoized(1, e0);
  7071. if (lk == 0)
  7072. {
  7073. var b0A = b0; var e0A = e0; var l1A = l1;
  7074. var b1A = b1; var e1A = e1; var l2A = l2;
  7075. var b2A = b2; var e2A = e2;
  7076. try
  7077. {
  7078. try_DefaultCollationDecl();
  7079. lk = -2;
  7080. }
  7081. catch (p2A)
  7082. {
  7083. try
  7084. {
  7085. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  7086. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  7087. b2 = b2A; e2 = e2A; end = e2A; }}
  7088. try_EmptyOrderDecl();
  7089. lk = -6;
  7090. }
  7091. catch (p6A)
  7092. {
  7093. lk = -9;
  7094. }
  7095. }
  7096. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  7097. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  7098. b2 = b2A; e2 = e2A; end = e2A; }}
  7099. memoize(1, e0, lk);
  7100. }
  7101. }
  7102. switch (lk)
  7103. {
  7104. case 44141: // 'declare' 'boundary-space'
  7105. parse_BoundarySpaceDecl();
  7106. break;
  7107. case -2:
  7108. parse_DefaultCollationDecl();
  7109. break;
  7110. case 43117: // 'declare' 'base-uri'
  7111. parse_BaseURIDecl();
  7112. break;
  7113. case 50797: // 'declare' 'construction'
  7114. parse_ConstructionDecl();
  7115. break;
  7116. case 106093: // 'declare' 'ordering'
  7117. parse_OrderingModeDecl();
  7118. break;
  7119. case -6:
  7120. parse_EmptyOrderDecl();
  7121. break;
  7122. case 115821: // 'declare' 'revalidation'
  7123. parse_RevalidationDecl();
  7124. break;
  7125. case 53869: // 'declare' 'copy-namespaces'
  7126. parse_CopyNamespacesDecl();
  7127. break;
  7128. default:
  7129. parse_DecimalFormatDecl();
  7130. }
  7131. eventHandler.endNonterminal("Setter", e0);
  7132. }
  7133. function parse_BoundarySpaceDecl()
  7134. {
  7135. eventHandler.startNonterminal("BoundarySpaceDecl", e0);
  7136. shift(109); // 'declare'
  7137. lookahead1W(36); // S^WS | '(:' | 'boundary-space'
  7138. shift(86); // 'boundary-space'
  7139. lookahead1W(137); // S^WS | '(:' | 'preserve' | 'strip'
  7140. switch (l1)
  7141. {
  7142. case 218: // 'preserve'
  7143. shift(218); // 'preserve'
  7144. break;
  7145. default:
  7146. shift(246); // 'strip'
  7147. }
  7148. eventHandler.endNonterminal("BoundarySpaceDecl", e0);
  7149. }
  7150. function parse_DefaultCollationDecl()
  7151. {
  7152. eventHandler.startNonterminal("DefaultCollationDecl", e0);
  7153. shift(109); // 'declare'
  7154. lookahead1W(49); // S^WS | '(:' | 'default'
  7155. shift(110); // 'default'
  7156. lookahead1W(41); // S^WS | '(:' | 'collation'
  7157. shift(95); // 'collation'
  7158. lookahead1W(15); // URILiteral | S^WS | '(:'
  7159. shift(7); // URILiteral
  7160. eventHandler.endNonterminal("DefaultCollationDecl", e0);
  7161. }
  7162. function try_DefaultCollationDecl()
  7163. {
  7164. shiftT(109); // 'declare'
  7165. lookahead1W(49); // S^WS | '(:' | 'default'
  7166. shiftT(110); // 'default'
  7167. lookahead1W(41); // S^WS | '(:' | 'collation'
  7168. shiftT(95); // 'collation'
  7169. lookahead1W(15); // URILiteral | S^WS | '(:'
  7170. shiftT(7); // URILiteral
  7171. }
  7172. function parse_BaseURIDecl()
  7173. {
  7174. eventHandler.startNonterminal("BaseURIDecl", e0);
  7175. shift(109); // 'declare'
  7176. lookahead1W(35); // S^WS | '(:' | 'base-uri'
  7177. shift(84); // 'base-uri'
  7178. lookahead1W(15); // URILiteral | S^WS | '(:'
  7179. shift(7); // URILiteral
  7180. eventHandler.endNonterminal("BaseURIDecl", e0);
  7181. }
  7182. function parse_ConstructionDecl()
  7183. {
  7184. eventHandler.startNonterminal("ConstructionDecl", e0);
  7185. shift(109); // 'declare'
  7186. lookahead1W(44); // S^WS | '(:' | 'construction'
  7187. shift(99); // 'construction'
  7188. lookahead1W(137); // S^WS | '(:' | 'preserve' | 'strip'
  7189. switch (l1)
  7190. {
  7191. case 246: // 'strip'
  7192. shift(246); // 'strip'
  7193. break;
  7194. default:
  7195. shift(218); // 'preserve'
  7196. }
  7197. eventHandler.endNonterminal("ConstructionDecl", e0);
  7198. }
  7199. function parse_OrderingModeDecl()
  7200. {
  7201. eventHandler.startNonterminal("OrderingModeDecl", e0);
  7202. shift(109); // 'declare'
  7203. lookahead1W(71); // S^WS | '(:' | 'ordering'
  7204. shift(207); // 'ordering'
  7205. lookahead1W(135); // S^WS | '(:' | 'ordered' | 'unordered'
  7206. switch (l1)
  7207. {
  7208. case 206: // 'ordered'
  7209. shift(206); // 'ordered'
  7210. break;
  7211. default:
  7212. shift(262); // 'unordered'
  7213. }
  7214. eventHandler.endNonterminal("OrderingModeDecl", e0);
  7215. }
  7216. function parse_EmptyOrderDecl()
  7217. {
  7218. eventHandler.startNonterminal("EmptyOrderDecl", e0);
  7219. shift(109); // 'declare'
  7220. lookahead1W(49); // S^WS | '(:' | 'default'
  7221. shift(110); // 'default'
  7222. lookahead1W(70); // S^WS | '(:' | 'order'
  7223. shift(205); // 'order'
  7224. lookahead1W(52); // S^WS | '(:' | 'empty'
  7225. shift(124); // 'empty'
  7226. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  7227. switch (l1)
  7228. {
  7229. case 149: // 'greatest'
  7230. shift(149); // 'greatest'
  7231. break;
  7232. default:
  7233. shift(176); // 'least'
  7234. }
  7235. eventHandler.endNonterminal("EmptyOrderDecl", e0);
  7236. }
  7237. function try_EmptyOrderDecl()
  7238. {
  7239. shiftT(109); // 'declare'
  7240. lookahead1W(49); // S^WS | '(:' | 'default'
  7241. shiftT(110); // 'default'
  7242. lookahead1W(70); // S^WS | '(:' | 'order'
  7243. shiftT(205); // 'order'
  7244. lookahead1W(52); // S^WS | '(:' | 'empty'
  7245. shiftT(124); // 'empty'
  7246. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  7247. switch (l1)
  7248. {
  7249. case 149: // 'greatest'
  7250. shiftT(149); // 'greatest'
  7251. break;
  7252. default:
  7253. shiftT(176); // 'least'
  7254. }
  7255. }
  7256. function parse_CopyNamespacesDecl()
  7257. {
  7258. eventHandler.startNonterminal("CopyNamespacesDecl", e0);
  7259. shift(109); // 'declare'
  7260. lookahead1W(47); // S^WS | '(:' | 'copy-namespaces'
  7261. shift(105); // 'copy-namespaces'
  7262. lookahead1W(132); // S^WS | '(:' | 'no-preserve' | 'preserve'
  7263. whitespace();
  7264. parse_PreserveMode();
  7265. lookahead1W(25); // S^WS | '(:' | ','
  7266. shift(42); // ','
  7267. lookahead1W(127); // S^WS | '(:' | 'inherit' | 'no-inherit'
  7268. whitespace();
  7269. parse_InheritMode();
  7270. eventHandler.endNonterminal("CopyNamespacesDecl", e0);
  7271. }
  7272. function parse_PreserveMode()
  7273. {
  7274. eventHandler.startNonterminal("PreserveMode", e0);
  7275. switch (l1)
  7276. {
  7277. case 218: // 'preserve'
  7278. shift(218); // 'preserve'
  7279. break;
  7280. default:
  7281. shift(193); // 'no-preserve'
  7282. }
  7283. eventHandler.endNonterminal("PreserveMode", e0);
  7284. }
  7285. function parse_InheritMode()
  7286. {
  7287. eventHandler.startNonterminal("InheritMode", e0);
  7288. switch (l1)
  7289. {
  7290. case 159: // 'inherit'
  7291. shift(159); // 'inherit'
  7292. break;
  7293. default:
  7294. shift(192); // 'no-inherit'
  7295. }
  7296. eventHandler.endNonterminal("InheritMode", e0);
  7297. }
  7298. function parse_DecimalFormatDecl()
  7299. {
  7300. eventHandler.startNonterminal("DecimalFormatDecl", e0);
  7301. shift(109); // 'declare'
  7302. lookahead1W(118); // S^WS | '(:' | 'decimal-format' | 'default'
  7303. switch (l1)
  7304. {
  7305. case 107: // 'decimal-format'
  7306. shift(107); // 'decimal-format'
  7307. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7308. whitespace();
  7309. parse_EQName();
  7310. break;
  7311. default:
  7312. shift(110); // 'default'
  7313. lookahead1W(48); // S^WS | '(:' | 'decimal-format'
  7314. shift(107); // 'decimal-format'
  7315. }
  7316. for (;;)
  7317. {
  7318. lookahead1W(203); // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
  7319. if (l1 == 54) // ';'
  7320. {
  7321. break;
  7322. }
  7323. whitespace();
  7324. parse_DFPropertyName();
  7325. lookahead1W(30); // S^WS | '(:' | '='
  7326. shift(61); // '='
  7327. lookahead1W(17); // StringLiteral | S^WS | '(:'
  7328. shift(11); // StringLiteral
  7329. }
  7330. eventHandler.endNonterminal("DecimalFormatDecl", e0);
  7331. }
  7332. function parse_DFPropertyName()
  7333. {
  7334. eventHandler.startNonterminal("DFPropertyName", e0);
  7335. switch (l1)
  7336. {
  7337. case 108: // 'decimal-separator'
  7338. shift(108); // 'decimal-separator'
  7339. break;
  7340. case 151: // 'grouping-separator'
  7341. shift(151); // 'grouping-separator'
  7342. break;
  7343. case 158: // 'infinity'
  7344. shift(158); // 'infinity'
  7345. break;
  7346. case 182: // 'minus-sign'
  7347. shift(182); // 'minus-sign'
  7348. break;
  7349. case 68: // 'NaN'
  7350. shift(68); // 'NaN'
  7351. break;
  7352. case 213: // 'percent'
  7353. shift(213); // 'percent'
  7354. break;
  7355. case 212: // 'per-mille'
  7356. shift(212); // 'per-mille'
  7357. break;
  7358. case 280: // 'zero-digit'
  7359. shift(280); // 'zero-digit'
  7360. break;
  7361. case 117: // 'digit'
  7362. shift(117); // 'digit'
  7363. break;
  7364. default:
  7365. shift(211); // 'pattern-separator'
  7366. }
  7367. eventHandler.endNonterminal("DFPropertyName", e0);
  7368. }
  7369. function parse_Import()
  7370. {
  7371. eventHandler.startNonterminal("Import", e0);
  7372. switch (l1)
  7373. {
  7374. case 155: // 'import'
  7375. lookahead2W(130); // S^WS | '(:' | 'module' | 'schema'
  7376. break;
  7377. default:
  7378. lk = l1;
  7379. }
  7380. switch (lk)
  7381. {
  7382. case 117403: // 'import' 'schema'
  7383. parse_SchemaImport();
  7384. break;
  7385. default:
  7386. parse_ModuleImport();
  7387. }
  7388. eventHandler.endNonterminal("Import", e0);
  7389. }
  7390. function parse_SchemaImport()
  7391. {
  7392. eventHandler.startNonterminal("SchemaImport", e0);
  7393. shift(155); // 'import'
  7394. lookahead1W(76); // S^WS | '(:' | 'schema'
  7395. shift(229); // 'schema'
  7396. lookahead1W(141); // URILiteral | S^WS | '(:' | 'default' | 'namespace'
  7397. if (l1 != 7) // URILiteral
  7398. {
  7399. whitespace();
  7400. parse_SchemaPrefix();
  7401. }
  7402. lookahead1W(15); // URILiteral | S^WS | '(:'
  7403. shift(7); // URILiteral
  7404. lookahead1W(112); // S^WS | '(:' | ';' | 'at'
  7405. if (l1 == 82) // 'at'
  7406. {
  7407. shift(82); // 'at'
  7408. lookahead1W(15); // URILiteral | S^WS | '(:'
  7409. shift(7); // URILiteral
  7410. for (;;)
  7411. {
  7412. lookahead1W(107); // S^WS | '(:' | ',' | ';'
  7413. if (l1 != 42) // ','
  7414. {
  7415. break;
  7416. }
  7417. shift(42); // ','
  7418. lookahead1W(15); // URILiteral | S^WS | '(:'
  7419. shift(7); // URILiteral
  7420. }
  7421. }
  7422. eventHandler.endNonterminal("SchemaImport", e0);
  7423. }
  7424. function parse_SchemaPrefix()
  7425. {
  7426. eventHandler.startNonterminal("SchemaPrefix", e0);
  7427. switch (l1)
  7428. {
  7429. case 187: // 'namespace'
  7430. shift(187); // 'namespace'
  7431. lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7432. whitespace();
  7433. parse_NCName();
  7434. lookahead1W(30); // S^WS | '(:' | '='
  7435. shift(61); // '='
  7436. break;
  7437. default:
  7438. shift(110); // 'default'
  7439. lookahead1W(50); // S^WS | '(:' | 'element'
  7440. shift(122); // 'element'
  7441. lookahead1W(64); // S^WS | '(:' | 'namespace'
  7442. shift(187); // 'namespace'
  7443. }
  7444. eventHandler.endNonterminal("SchemaPrefix", e0);
  7445. }
  7446. function parse_ModuleImport()
  7447. {
  7448. eventHandler.startNonterminal("ModuleImport", e0);
  7449. shift(155); // 'import'
  7450. lookahead1W(63); // S^WS | '(:' | 'module'
  7451. shift(185); // 'module'
  7452. lookahead1W(93); // URILiteral | S^WS | '(:' | 'namespace'
  7453. if (l1 == 187) // 'namespace'
  7454. {
  7455. shift(187); // 'namespace'
  7456. lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7457. whitespace();
  7458. parse_NCName();
  7459. lookahead1W(30); // S^WS | '(:' | '='
  7460. shift(61); // '='
  7461. }
  7462. lookahead1W(15); // URILiteral | S^WS | '(:'
  7463. shift(7); // URILiteral
  7464. lookahead1W(112); // S^WS | '(:' | ';' | 'at'
  7465. if (l1 == 82) // 'at'
  7466. {
  7467. shift(82); // 'at'
  7468. lookahead1W(15); // URILiteral | S^WS | '(:'
  7469. shift(7); // URILiteral
  7470. for (;;)
  7471. {
  7472. lookahead1W(107); // S^WS | '(:' | ',' | ';'
  7473. if (l1 != 42) // ','
  7474. {
  7475. break;
  7476. }
  7477. shift(42); // ','
  7478. lookahead1W(15); // URILiteral | S^WS | '(:'
  7479. shift(7); // URILiteral
  7480. }
  7481. }
  7482. eventHandler.endNonterminal("ModuleImport", e0);
  7483. }
  7484. function parse_NamespaceDecl()
  7485. {
  7486. eventHandler.startNonterminal("NamespaceDecl", e0);
  7487. shift(109); // 'declare'
  7488. lookahead1W(64); // S^WS | '(:' | 'namespace'
  7489. shift(187); // 'namespace'
  7490. lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7491. whitespace();
  7492. parse_NCName();
  7493. lookahead1W(30); // S^WS | '(:' | '='
  7494. shift(61); // '='
  7495. lookahead1W(15); // URILiteral | S^WS | '(:'
  7496. shift(7); // URILiteral
  7497. eventHandler.endNonterminal("NamespaceDecl", e0);
  7498. }
  7499. function parse_DefaultNamespaceDecl()
  7500. {
  7501. eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
  7502. shift(109); // 'declare'
  7503. lookahead1W(49); // S^WS | '(:' | 'default'
  7504. shift(110); // 'default'
  7505. lookahead1W(119); // S^WS | '(:' | 'element' | 'function'
  7506. switch (l1)
  7507. {
  7508. case 122: // 'element'
  7509. shift(122); // 'element'
  7510. break;
  7511. default:
  7512. shift(147); // 'function'
  7513. }
  7514. lookahead1W(64); // S^WS | '(:' | 'namespace'
  7515. shift(187); // 'namespace'
  7516. lookahead1W(15); // URILiteral | S^WS | '(:'
  7517. shift(7); // URILiteral
  7518. eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
  7519. }
  7520. function try_DefaultNamespaceDecl()
  7521. {
  7522. shiftT(109); // 'declare'
  7523. lookahead1W(49); // S^WS | '(:' | 'default'
  7524. shiftT(110); // 'default'
  7525. lookahead1W(119); // S^WS | '(:' | 'element' | 'function'
  7526. switch (l1)
  7527. {
  7528. case 122: // 'element'
  7529. shiftT(122); // 'element'
  7530. break;
  7531. default:
  7532. shiftT(147); // 'function'
  7533. }
  7534. lookahead1W(64); // S^WS | '(:' | 'namespace'
  7535. shiftT(187); // 'namespace'
  7536. lookahead1W(15); // URILiteral | S^WS | '(:'
  7537. shiftT(7); // URILiteral
  7538. }
  7539. function parse_FTOptionDecl()
  7540. {
  7541. eventHandler.startNonterminal("FTOptionDecl", e0);
  7542. shift(109); // 'declare'
  7543. lookahead1W(55); // S^WS | '(:' | 'ft-option'
  7544. shift(143); // 'ft-option'
  7545. lookahead1W(84); // S^WS | '(:' | 'using'
  7546. whitespace();
  7547. parse_FTMatchOptions();
  7548. eventHandler.endNonterminal("FTOptionDecl", e0);
  7549. }
  7550. function parse_AnnotatedDecl()
  7551. {
  7552. eventHandler.startNonterminal("AnnotatedDecl", e0);
  7553. shift(109); // 'declare'
  7554. for (;;)
  7555. {
  7556. lookahead1W(192); // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  7557. if (l1 != 33 // '%'
  7558. && l1 != 263) // 'updating'
  7559. {
  7560. break;
  7561. }
  7562. switch (l1)
  7563. {
  7564. case 263: // 'updating'
  7565. whitespace();
  7566. parse_CompatibilityAnnotation();
  7567. break;
  7568. default:
  7569. whitespace();
  7570. parse_Annotation();
  7571. }
  7572. }
  7573. switch (l1)
  7574. {
  7575. case 268: // 'variable'
  7576. whitespace();
  7577. parse_VarDecl();
  7578. break;
  7579. case 147: // 'function'
  7580. whitespace();
  7581. parse_FunctionDecl();
  7582. break;
  7583. case 96: // 'collection'
  7584. whitespace();
  7585. parse_CollectionDecl();
  7586. break;
  7587. case 157: // 'index'
  7588. whitespace();
  7589. parse_IndexDecl();
  7590. break;
  7591. default:
  7592. whitespace();
  7593. parse_ICDecl();
  7594. }
  7595. eventHandler.endNonterminal("AnnotatedDecl", e0);
  7596. }
  7597. function parse_CompatibilityAnnotation()
  7598. {
  7599. eventHandler.startNonterminal("CompatibilityAnnotation", e0);
  7600. shift(263); // 'updating'
  7601. eventHandler.endNonterminal("CompatibilityAnnotation", e0);
  7602. }
  7603. function parse_Annotation()
  7604. {
  7605. eventHandler.startNonterminal("Annotation", e0);
  7606. shift(33); // '%'
  7607. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7608. whitespace();
  7609. parse_EQName();
  7610. lookahead1W(193); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  7611. if (l1 == 35) // '('
  7612. {
  7613. shift(35); // '('
  7614. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  7615. whitespace();
  7616. parse_Literal();
  7617. for (;;)
  7618. {
  7619. lookahead1W(105); // S^WS | '(:' | ')' | ','
  7620. if (l1 != 42) // ','
  7621. {
  7622. break;
  7623. }
  7624. shift(42); // ','
  7625. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  7626. whitespace();
  7627. parse_Literal();
  7628. }
  7629. shift(38); // ')'
  7630. }
  7631. eventHandler.endNonterminal("Annotation", e0);
  7632. }
  7633. function try_Annotation()
  7634. {
  7635. shiftT(33); // '%'
  7636. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7637. try_EQName();
  7638. lookahead1W(193); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  7639. if (l1 == 35) // '('
  7640. {
  7641. shiftT(35); // '('
  7642. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  7643. try_Literal();
  7644. for (;;)
  7645. {
  7646. lookahead1W(105); // S^WS | '(:' | ')' | ','
  7647. if (l1 != 42) // ','
  7648. {
  7649. break;
  7650. }
  7651. shiftT(42); // ','
  7652. lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
  7653. try_Literal();
  7654. }
  7655. shiftT(38); // ')'
  7656. }
  7657. }
  7658. function parse_VarDecl()
  7659. {
  7660. eventHandler.startNonterminal("VarDecl", e0);
  7661. shift(268); // 'variable'
  7662. lookahead1W(21); // S^WS | '$' | '(:'
  7663. shift(31); // '$'
  7664. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7665. whitespace();
  7666. parse_VarName();
  7667. lookahead1W(157); // S^WS | '(:' | ':=' | 'as' | 'external'
  7668. if (l1 == 80) // 'as'
  7669. {
  7670. whitespace();
  7671. parse_TypeDeclaration();
  7672. }
  7673. lookahead1W(110); // S^WS | '(:' | ':=' | 'external'
  7674. switch (l1)
  7675. {
  7676. case 53: // ':='
  7677. shift(53); // ':='
  7678. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7679. whitespace();
  7680. parse_VarValue();
  7681. break;
  7682. default:
  7683. shift(134); // 'external'
  7684. lookahead1W(108); // S^WS | '(:' | ':=' | ';'
  7685. if (l1 == 53) // ':='
  7686. {
  7687. shift(53); // ':='
  7688. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7689. whitespace();
  7690. parse_VarDefaultValue();
  7691. }
  7692. }
  7693. eventHandler.endNonterminal("VarDecl", e0);
  7694. }
  7695. function parse_VarValue()
  7696. {
  7697. eventHandler.startNonterminal("VarValue", e0);
  7698. parse_ExprSingle();
  7699. eventHandler.endNonterminal("VarValue", e0);
  7700. }
  7701. function parse_VarDefaultValue()
  7702. {
  7703. eventHandler.startNonterminal("VarDefaultValue", e0);
  7704. parse_ExprSingle();
  7705. eventHandler.endNonterminal("VarDefaultValue", e0);
  7706. }
  7707. function parse_ContextItemDecl()
  7708. {
  7709. eventHandler.startNonterminal("ContextItemDecl", e0);
  7710. shift(109); // 'declare'
  7711. lookahead1W(46); // S^WS | '(:' | 'context'
  7712. shift(102); // 'context'
  7713. lookahead1W(58); // S^WS | '(:' | 'item'
  7714. shift(167); // 'item'
  7715. lookahead1W(157); // S^WS | '(:' | ':=' | 'as' | 'external'
  7716. if (l1 == 80) // 'as'
  7717. {
  7718. shift(80); // 'as'
  7719. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  7720. whitespace();
  7721. parse_ItemType();
  7722. }
  7723. lookahead1W(110); // S^WS | '(:' | ':=' | 'external'
  7724. switch (l1)
  7725. {
  7726. case 53: // ':='
  7727. shift(53); // ':='
  7728. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7729. whitespace();
  7730. parse_VarValue();
  7731. break;
  7732. default:
  7733. shift(134); // 'external'
  7734. lookahead1W(108); // S^WS | '(:' | ':=' | ';'
  7735. if (l1 == 53) // ':='
  7736. {
  7737. shift(53); // ':='
  7738. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7739. whitespace();
  7740. parse_VarDefaultValue();
  7741. }
  7742. }
  7743. eventHandler.endNonterminal("ContextItemDecl", e0);
  7744. }
  7745. function parse_ParamList()
  7746. {
  7747. eventHandler.startNonterminal("ParamList", e0);
  7748. parse_Param();
  7749. for (;;)
  7750. {
  7751. lookahead1W(105); // S^WS | '(:' | ')' | ','
  7752. if (l1 != 42) // ','
  7753. {
  7754. break;
  7755. }
  7756. shift(42); // ','
  7757. lookahead1W(21); // S^WS | '$' | '(:'
  7758. whitespace();
  7759. parse_Param();
  7760. }
  7761. eventHandler.endNonterminal("ParamList", e0);
  7762. }
  7763. function try_ParamList()
  7764. {
  7765. try_Param();
  7766. for (;;)
  7767. {
  7768. lookahead1W(105); // S^WS | '(:' | ')' | ','
  7769. if (l1 != 42) // ','
  7770. {
  7771. break;
  7772. }
  7773. shiftT(42); // ','
  7774. lookahead1W(21); // S^WS | '$' | '(:'
  7775. try_Param();
  7776. }
  7777. }
  7778. function parse_Param()
  7779. {
  7780. eventHandler.startNonterminal("Param", e0);
  7781. shift(31); // '$'
  7782. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7783. whitespace();
  7784. parse_EQName();
  7785. lookahead1W(153); // S^WS | '(:' | ')' | ',' | 'as'
  7786. if (l1 == 80) // 'as'
  7787. {
  7788. whitespace();
  7789. parse_TypeDeclaration();
  7790. }
  7791. eventHandler.endNonterminal("Param", e0);
  7792. }
  7793. function try_Param()
  7794. {
  7795. shiftT(31); // '$'
  7796. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7797. try_EQName();
  7798. lookahead1W(153); // S^WS | '(:' | ')' | ',' | 'as'
  7799. if (l1 == 80) // 'as'
  7800. {
  7801. try_TypeDeclaration();
  7802. }
  7803. }
  7804. function parse_FunctionBody()
  7805. {
  7806. eventHandler.startNonterminal("FunctionBody", e0);
  7807. parse_EnclosedExpr();
  7808. eventHandler.endNonterminal("FunctionBody", e0);
  7809. }
  7810. function try_FunctionBody()
  7811. {
  7812. try_EnclosedExpr();
  7813. }
  7814. function parse_EnclosedExpr()
  7815. {
  7816. eventHandler.startNonterminal("EnclosedExpr", e0);
  7817. shift(281); // '{'
  7818. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7819. whitespace();
  7820. parse_Expr();
  7821. shift(287); // '}'
  7822. eventHandler.endNonterminal("EnclosedExpr", e0);
  7823. }
  7824. function try_EnclosedExpr()
  7825. {
  7826. shiftT(281); // '{'
  7827. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7828. try_Expr();
  7829. shiftT(287); // '}'
  7830. }
  7831. function parse_OptionDecl()
  7832. {
  7833. eventHandler.startNonterminal("OptionDecl", e0);
  7834. shift(109); // 'declare'
  7835. lookahead1W(69); // S^WS | '(:' | 'option'
  7836. shift(203); // 'option'
  7837. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  7838. whitespace();
  7839. parse_EQName();
  7840. lookahead1W(17); // StringLiteral | S^WS | '(:'
  7841. shift(11); // StringLiteral
  7842. eventHandler.endNonterminal("OptionDecl", e0);
  7843. }
  7844. function parse_Expr()
  7845. {
  7846. eventHandler.startNonterminal("Expr", e0);
  7847. parse_ExprSingle();
  7848. for (;;)
  7849. {
  7850. if (l1 != 42) // ','
  7851. {
  7852. break;
  7853. }
  7854. shift(42); // ','
  7855. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7856. whitespace();
  7857. parse_ExprSingle();
  7858. }
  7859. eventHandler.endNonterminal("Expr", e0);
  7860. }
  7861. function try_Expr()
  7862. {
  7863. try_ExprSingle();
  7864. for (;;)
  7865. {
  7866. if (l1 != 42) // ','
  7867. {
  7868. break;
  7869. }
  7870. shiftT(42); // ','
  7871. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  7872. try_ExprSingle();
  7873. }
  7874. }
  7875. function parse_FLWORExpr()
  7876. {
  7877. eventHandler.startNonterminal("FLWORExpr", e0);
  7878. parse_InitialClause();
  7879. for (;;)
  7880. {
  7881. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  7882. if (l1 == 224) // 'return'
  7883. {
  7884. break;
  7885. }
  7886. whitespace();
  7887. parse_IntermediateClause();
  7888. }
  7889. whitespace();
  7890. parse_ReturnClause();
  7891. eventHandler.endNonterminal("FLWORExpr", e0);
  7892. }
  7893. function try_FLWORExpr()
  7894. {
  7895. try_InitialClause();
  7896. for (;;)
  7897. {
  7898. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  7899. if (l1 == 224) // 'return'
  7900. {
  7901. break;
  7902. }
  7903. try_IntermediateClause();
  7904. }
  7905. try_ReturnClause();
  7906. }
  7907. function parse_InitialClause()
  7908. {
  7909. eventHandler.startNonterminal("InitialClause", e0);
  7910. switch (l1)
  7911. {
  7912. case 139: // 'for'
  7913. lookahead2W(151); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  7914. break;
  7915. default:
  7916. lk = l1;
  7917. }
  7918. switch (lk)
  7919. {
  7920. case 16011: // 'for' '$'
  7921. parse_ForClause();
  7922. break;
  7923. case 177: // 'let'
  7924. parse_LetClause();
  7925. break;
  7926. default:
  7927. parse_WindowClause();
  7928. }
  7929. eventHandler.endNonterminal("InitialClause", e0);
  7930. }
  7931. function try_InitialClause()
  7932. {
  7933. switch (l1)
  7934. {
  7935. case 139: // 'for'
  7936. lookahead2W(151); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  7937. break;
  7938. default:
  7939. lk = l1;
  7940. }
  7941. switch (lk)
  7942. {
  7943. case 16011: // 'for' '$'
  7944. try_ForClause();
  7945. break;
  7946. case 177: // 'let'
  7947. try_LetClause();
  7948. break;
  7949. default:
  7950. try_WindowClause();
  7951. }
  7952. }
  7953. function parse_IntermediateClause()
  7954. {
  7955. eventHandler.startNonterminal("IntermediateClause", e0);
  7956. switch (l1)
  7957. {
  7958. case 139: // 'for'
  7959. case 177: // 'let'
  7960. parse_InitialClause();
  7961. break;
  7962. case 272: // 'where'
  7963. parse_WhereClause();
  7964. break;
  7965. case 150: // 'group'
  7966. parse_GroupByClause();
  7967. break;
  7968. case 106: // 'count'
  7969. parse_CountClause();
  7970. break;
  7971. default:
  7972. parse_OrderByClause();
  7973. }
  7974. eventHandler.endNonterminal("IntermediateClause", e0);
  7975. }
  7976. function try_IntermediateClause()
  7977. {
  7978. switch (l1)
  7979. {
  7980. case 139: // 'for'
  7981. case 177: // 'let'
  7982. try_InitialClause();
  7983. break;
  7984. case 272: // 'where'
  7985. try_WhereClause();
  7986. break;
  7987. case 150: // 'group'
  7988. try_GroupByClause();
  7989. break;
  7990. case 106: // 'count'
  7991. try_CountClause();
  7992. break;
  7993. default:
  7994. try_OrderByClause();
  7995. }
  7996. }
  7997. function parse_ForClause()
  7998. {
  7999. eventHandler.startNonterminal("ForClause", e0);
  8000. shift(139); // 'for'
  8001. lookahead1W(21); // S^WS | '$' | '(:'
  8002. whitespace();
  8003. parse_ForBinding();
  8004. for (;;)
  8005. {
  8006. if (l1 != 42) // ','
  8007. {
  8008. break;
  8009. }
  8010. shift(42); // ','
  8011. lookahead1W(21); // S^WS | '$' | '(:'
  8012. whitespace();
  8013. parse_ForBinding();
  8014. }
  8015. eventHandler.endNonterminal("ForClause", e0);
  8016. }
  8017. function try_ForClause()
  8018. {
  8019. shiftT(139); // 'for'
  8020. lookahead1W(21); // S^WS | '$' | '(:'
  8021. try_ForBinding();
  8022. for (;;)
  8023. {
  8024. if (l1 != 42) // ','
  8025. {
  8026. break;
  8027. }
  8028. shiftT(42); // ','
  8029. lookahead1W(21); // S^WS | '$' | '(:'
  8030. try_ForBinding();
  8031. }
  8032. }
  8033. function parse_ForBinding()
  8034. {
  8035. eventHandler.startNonterminal("ForBinding", e0);
  8036. shift(31); // '$'
  8037. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8038. whitespace();
  8039. parse_VarName();
  8040. lookahead1W(182); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  8041. if (l1 == 80) // 'as'
  8042. {
  8043. whitespace();
  8044. parse_TypeDeclaration();
  8045. }
  8046. lookahead1W(173); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  8047. if (l1 == 73) // 'allowing'
  8048. {
  8049. whitespace();
  8050. parse_AllowingEmpty();
  8051. }
  8052. lookahead1W(160); // S^WS | '(:' | 'at' | 'in' | 'score'
  8053. if (l1 == 82) // 'at'
  8054. {
  8055. whitespace();
  8056. parse_PositionalVar();
  8057. }
  8058. lookahead1W(126); // S^WS | '(:' | 'in' | 'score'
  8059. if (l1 == 232) // 'score'
  8060. {
  8061. whitespace();
  8062. parse_FTScoreVar();
  8063. }
  8064. lookahead1W(56); // S^WS | '(:' | 'in'
  8065. shift(156); // 'in'
  8066. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8067. whitespace();
  8068. parse_ExprSingle();
  8069. eventHandler.endNonterminal("ForBinding", e0);
  8070. }
  8071. function try_ForBinding()
  8072. {
  8073. shiftT(31); // '$'
  8074. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8075. try_VarName();
  8076. lookahead1W(182); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  8077. if (l1 == 80) // 'as'
  8078. {
  8079. try_TypeDeclaration();
  8080. }
  8081. lookahead1W(173); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  8082. if (l1 == 73) // 'allowing'
  8083. {
  8084. try_AllowingEmpty();
  8085. }
  8086. lookahead1W(160); // S^WS | '(:' | 'at' | 'in' | 'score'
  8087. if (l1 == 82) // 'at'
  8088. {
  8089. try_PositionalVar();
  8090. }
  8091. lookahead1W(126); // S^WS | '(:' | 'in' | 'score'
  8092. if (l1 == 232) // 'score'
  8093. {
  8094. try_FTScoreVar();
  8095. }
  8096. lookahead1W(56); // S^WS | '(:' | 'in'
  8097. shiftT(156); // 'in'
  8098. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8099. try_ExprSingle();
  8100. }
  8101. function parse_AllowingEmpty()
  8102. {
  8103. eventHandler.startNonterminal("AllowingEmpty", e0);
  8104. shift(73); // 'allowing'
  8105. lookahead1W(52); // S^WS | '(:' | 'empty'
  8106. shift(124); // 'empty'
  8107. eventHandler.endNonterminal("AllowingEmpty", e0);
  8108. }
  8109. function try_AllowingEmpty()
  8110. {
  8111. shiftT(73); // 'allowing'
  8112. lookahead1W(52); // S^WS | '(:' | 'empty'
  8113. shiftT(124); // 'empty'
  8114. }
  8115. function parse_PositionalVar()
  8116. {
  8117. eventHandler.startNonterminal("PositionalVar", e0);
  8118. shift(82); // 'at'
  8119. lookahead1W(21); // S^WS | '$' | '(:'
  8120. shift(31); // '$'
  8121. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8122. whitespace();
  8123. parse_VarName();
  8124. eventHandler.endNonterminal("PositionalVar", e0);
  8125. }
  8126. function try_PositionalVar()
  8127. {
  8128. shiftT(82); // 'at'
  8129. lookahead1W(21); // S^WS | '$' | '(:'
  8130. shiftT(31); // '$'
  8131. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8132. try_VarName();
  8133. }
  8134. function parse_FTScoreVar()
  8135. {
  8136. eventHandler.startNonterminal("FTScoreVar", e0);
  8137. shift(232); // 'score'
  8138. lookahead1W(21); // S^WS | '$' | '(:'
  8139. shift(31); // '$'
  8140. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8141. whitespace();
  8142. parse_VarName();
  8143. eventHandler.endNonterminal("FTScoreVar", e0);
  8144. }
  8145. function try_FTScoreVar()
  8146. {
  8147. shiftT(232); // 'score'
  8148. lookahead1W(21); // S^WS | '$' | '(:'
  8149. shiftT(31); // '$'
  8150. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8151. try_VarName();
  8152. }
  8153. function parse_LetClause()
  8154. {
  8155. eventHandler.startNonterminal("LetClause", e0);
  8156. shift(177); // 'let'
  8157. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  8158. whitespace();
  8159. parse_LetBinding();
  8160. for (;;)
  8161. {
  8162. if (l1 != 42) // ','
  8163. {
  8164. break;
  8165. }
  8166. shift(42); // ','
  8167. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  8168. whitespace();
  8169. parse_LetBinding();
  8170. }
  8171. eventHandler.endNonterminal("LetClause", e0);
  8172. }
  8173. function try_LetClause()
  8174. {
  8175. shiftT(177); // 'let'
  8176. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  8177. try_LetBinding();
  8178. for (;;)
  8179. {
  8180. if (l1 != 42) // ','
  8181. {
  8182. break;
  8183. }
  8184. shiftT(42); // ','
  8185. lookahead1W(100); // S^WS | '$' | '(:' | 'score'
  8186. try_LetBinding();
  8187. }
  8188. }
  8189. function parse_LetBinding()
  8190. {
  8191. eventHandler.startNonterminal("LetBinding", e0);
  8192. switch (l1)
  8193. {
  8194. case 31: // '$'
  8195. shift(31); // '$'
  8196. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8197. whitespace();
  8198. parse_VarName();
  8199. lookahead1W(109); // S^WS | '(:' | ':=' | 'as'
  8200. if (l1 == 80) // 'as'
  8201. {
  8202. whitespace();
  8203. parse_TypeDeclaration();
  8204. }
  8205. break;
  8206. default:
  8207. parse_FTScoreVar();
  8208. }
  8209. lookahead1W(28); // S^WS | '(:' | ':='
  8210. shift(53); // ':='
  8211. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8212. whitespace();
  8213. parse_ExprSingle();
  8214. eventHandler.endNonterminal("LetBinding", e0);
  8215. }
  8216. function try_LetBinding()
  8217. {
  8218. switch (l1)
  8219. {
  8220. case 31: // '$'
  8221. shiftT(31); // '$'
  8222. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8223. try_VarName();
  8224. lookahead1W(109); // S^WS | '(:' | ':=' | 'as'
  8225. if (l1 == 80) // 'as'
  8226. {
  8227. try_TypeDeclaration();
  8228. }
  8229. break;
  8230. default:
  8231. try_FTScoreVar();
  8232. }
  8233. lookahead1W(28); // S^WS | '(:' | ':='
  8234. shiftT(53); // ':='
  8235. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8236. try_ExprSingle();
  8237. }
  8238. function parse_WindowClause()
  8239. {
  8240. eventHandler.startNonterminal("WindowClause", e0);
  8241. shift(139); // 'for'
  8242. lookahead1W(139); // S^WS | '(:' | 'sliding' | 'tumbling'
  8243. switch (l1)
  8244. {
  8245. case 257: // 'tumbling'
  8246. whitespace();
  8247. parse_TumblingWindowClause();
  8248. break;
  8249. default:
  8250. whitespace();
  8251. parse_SlidingWindowClause();
  8252. }
  8253. eventHandler.endNonterminal("WindowClause", e0);
  8254. }
  8255. function try_WindowClause()
  8256. {
  8257. shiftT(139); // 'for'
  8258. lookahead1W(139); // S^WS | '(:' | 'sliding' | 'tumbling'
  8259. switch (l1)
  8260. {
  8261. case 257: // 'tumbling'
  8262. try_TumblingWindowClause();
  8263. break;
  8264. default:
  8265. try_SlidingWindowClause();
  8266. }
  8267. }
  8268. function parse_TumblingWindowClause()
  8269. {
  8270. eventHandler.startNonterminal("TumblingWindowClause", e0);
  8271. shift(257); // 'tumbling'
  8272. lookahead1W(88); // S^WS | '(:' | 'window'
  8273. shift(275); // 'window'
  8274. lookahead1W(21); // S^WS | '$' | '(:'
  8275. shift(31); // '$'
  8276. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8277. whitespace();
  8278. parse_VarName();
  8279. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  8280. if (l1 == 80) // 'as'
  8281. {
  8282. whitespace();
  8283. parse_TypeDeclaration();
  8284. }
  8285. lookahead1W(56); // S^WS | '(:' | 'in'
  8286. shift(156); // 'in'
  8287. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8288. whitespace();
  8289. parse_ExprSingle();
  8290. whitespace();
  8291. parse_WindowStartCondition();
  8292. if (l1 == 127 // 'end'
  8293. || l1 == 202) // 'only'
  8294. {
  8295. whitespace();
  8296. parse_WindowEndCondition();
  8297. }
  8298. eventHandler.endNonterminal("TumblingWindowClause", e0);
  8299. }
  8300. function try_TumblingWindowClause()
  8301. {
  8302. shiftT(257); // 'tumbling'
  8303. lookahead1W(88); // S^WS | '(:' | 'window'
  8304. shiftT(275); // 'window'
  8305. lookahead1W(21); // S^WS | '$' | '(:'
  8306. shiftT(31); // '$'
  8307. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8308. try_VarName();
  8309. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  8310. if (l1 == 80) // 'as'
  8311. {
  8312. try_TypeDeclaration();
  8313. }
  8314. lookahead1W(56); // S^WS | '(:' | 'in'
  8315. shiftT(156); // 'in'
  8316. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8317. try_ExprSingle();
  8318. try_WindowStartCondition();
  8319. if (l1 == 127 // 'end'
  8320. || l1 == 202) // 'only'
  8321. {
  8322. try_WindowEndCondition();
  8323. }
  8324. }
  8325. function parse_SlidingWindowClause()
  8326. {
  8327. eventHandler.startNonterminal("SlidingWindowClause", e0);
  8328. shift(239); // 'sliding'
  8329. lookahead1W(88); // S^WS | '(:' | 'window'
  8330. shift(275); // 'window'
  8331. lookahead1W(21); // S^WS | '$' | '(:'
  8332. shift(31); // '$'
  8333. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8334. whitespace();
  8335. parse_VarName();
  8336. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  8337. if (l1 == 80) // 'as'
  8338. {
  8339. whitespace();
  8340. parse_TypeDeclaration();
  8341. }
  8342. lookahead1W(56); // S^WS | '(:' | 'in'
  8343. shift(156); // 'in'
  8344. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8345. whitespace();
  8346. parse_ExprSingle();
  8347. whitespace();
  8348. parse_WindowStartCondition();
  8349. whitespace();
  8350. parse_WindowEndCondition();
  8351. eventHandler.endNonterminal("SlidingWindowClause", e0);
  8352. }
  8353. function try_SlidingWindowClause()
  8354. {
  8355. shiftT(239); // 'sliding'
  8356. lookahead1W(88); // S^WS | '(:' | 'window'
  8357. shiftT(275); // 'window'
  8358. lookahead1W(21); // S^WS | '$' | '(:'
  8359. shiftT(31); // '$'
  8360. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8361. try_VarName();
  8362. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  8363. if (l1 == 80) // 'as'
  8364. {
  8365. try_TypeDeclaration();
  8366. }
  8367. lookahead1W(56); // S^WS | '(:' | 'in'
  8368. shiftT(156); // 'in'
  8369. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8370. try_ExprSingle();
  8371. try_WindowStartCondition();
  8372. try_WindowEndCondition();
  8373. }
  8374. function parse_WindowStartCondition()
  8375. {
  8376. eventHandler.startNonterminal("WindowStartCondition", e0);
  8377. shift(242); // 'start'
  8378. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  8379. whitespace();
  8380. parse_WindowVars();
  8381. lookahead1W(86); // S^WS | '(:' | 'when'
  8382. shift(271); // 'when'
  8383. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8384. whitespace();
  8385. parse_ExprSingle();
  8386. eventHandler.endNonterminal("WindowStartCondition", e0);
  8387. }
  8388. function try_WindowStartCondition()
  8389. {
  8390. shiftT(242); // 'start'
  8391. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  8392. try_WindowVars();
  8393. lookahead1W(86); // S^WS | '(:' | 'when'
  8394. shiftT(271); // 'when'
  8395. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8396. try_ExprSingle();
  8397. }
  8398. function parse_WindowEndCondition()
  8399. {
  8400. eventHandler.startNonterminal("WindowEndCondition", e0);
  8401. if (l1 == 202) // 'only'
  8402. {
  8403. shift(202); // 'only'
  8404. }
  8405. lookahead1W(53); // S^WS | '(:' | 'end'
  8406. shift(127); // 'end'
  8407. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  8408. whitespace();
  8409. parse_WindowVars();
  8410. lookahead1W(86); // S^WS | '(:' | 'when'
  8411. shift(271); // 'when'
  8412. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8413. whitespace();
  8414. parse_ExprSingle();
  8415. eventHandler.endNonterminal("WindowEndCondition", e0);
  8416. }
  8417. function try_WindowEndCondition()
  8418. {
  8419. if (l1 == 202) // 'only'
  8420. {
  8421. shiftT(202); // 'only'
  8422. }
  8423. lookahead1W(53); // S^WS | '(:' | 'end'
  8424. shiftT(127); // 'end'
  8425. lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  8426. try_WindowVars();
  8427. lookahead1W(86); // S^WS | '(:' | 'when'
  8428. shiftT(271); // 'when'
  8429. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8430. try_ExprSingle();
  8431. }
  8432. function parse_WindowVars()
  8433. {
  8434. eventHandler.startNonterminal("WindowVars", e0);
  8435. if (l1 == 31) // '$'
  8436. {
  8437. shift(31); // '$'
  8438. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8439. whitespace();
  8440. parse_CurrentItem();
  8441. }
  8442. lookahead1W(174); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  8443. if (l1 == 82) // 'at'
  8444. {
  8445. whitespace();
  8446. parse_PositionalVar();
  8447. }
  8448. lookahead1W(163); // S^WS | '(:' | 'next' | 'previous' | 'when'
  8449. if (l1 == 219) // 'previous'
  8450. {
  8451. shift(219); // 'previous'
  8452. lookahead1W(21); // S^WS | '$' | '(:'
  8453. shift(31); // '$'
  8454. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8455. whitespace();
  8456. parse_PreviousItem();
  8457. }
  8458. lookahead1W(131); // S^WS | '(:' | 'next' | 'when'
  8459. if (l1 == 190) // 'next'
  8460. {
  8461. shift(190); // 'next'
  8462. lookahead1W(21); // S^WS | '$' | '(:'
  8463. shift(31); // '$'
  8464. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8465. whitespace();
  8466. parse_NextItem();
  8467. }
  8468. eventHandler.endNonterminal("WindowVars", e0);
  8469. }
  8470. function try_WindowVars()
  8471. {
  8472. if (l1 == 31) // '$'
  8473. {
  8474. shiftT(31); // '$'
  8475. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8476. try_CurrentItem();
  8477. }
  8478. lookahead1W(174); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  8479. if (l1 == 82) // 'at'
  8480. {
  8481. try_PositionalVar();
  8482. }
  8483. lookahead1W(163); // S^WS | '(:' | 'next' | 'previous' | 'when'
  8484. if (l1 == 219) // 'previous'
  8485. {
  8486. shiftT(219); // 'previous'
  8487. lookahead1W(21); // S^WS | '$' | '(:'
  8488. shiftT(31); // '$'
  8489. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8490. try_PreviousItem();
  8491. }
  8492. lookahead1W(131); // S^WS | '(:' | 'next' | 'when'
  8493. if (l1 == 190) // 'next'
  8494. {
  8495. shiftT(190); // 'next'
  8496. lookahead1W(21); // S^WS | '$' | '(:'
  8497. shiftT(31); // '$'
  8498. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8499. try_NextItem();
  8500. }
  8501. }
  8502. function parse_CurrentItem()
  8503. {
  8504. eventHandler.startNonterminal("CurrentItem", e0);
  8505. parse_EQName();
  8506. eventHandler.endNonterminal("CurrentItem", e0);
  8507. }
  8508. function try_CurrentItem()
  8509. {
  8510. try_EQName();
  8511. }
  8512. function parse_PreviousItem()
  8513. {
  8514. eventHandler.startNonterminal("PreviousItem", e0);
  8515. parse_EQName();
  8516. eventHandler.endNonterminal("PreviousItem", e0);
  8517. }
  8518. function try_PreviousItem()
  8519. {
  8520. try_EQName();
  8521. }
  8522. function parse_NextItem()
  8523. {
  8524. eventHandler.startNonterminal("NextItem", e0);
  8525. parse_EQName();
  8526. eventHandler.endNonterminal("NextItem", e0);
  8527. }
  8528. function try_NextItem()
  8529. {
  8530. try_EQName();
  8531. }
  8532. function parse_CountClause()
  8533. {
  8534. eventHandler.startNonterminal("CountClause", e0);
  8535. shift(106); // 'count'
  8536. lookahead1W(21); // S^WS | '$' | '(:'
  8537. shift(31); // '$'
  8538. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8539. whitespace();
  8540. parse_VarName();
  8541. eventHandler.endNonterminal("CountClause", e0);
  8542. }
  8543. function try_CountClause()
  8544. {
  8545. shiftT(106); // 'count'
  8546. lookahead1W(21); // S^WS | '$' | '(:'
  8547. shiftT(31); // '$'
  8548. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8549. try_VarName();
  8550. }
  8551. function parse_WhereClause()
  8552. {
  8553. eventHandler.startNonterminal("WhereClause", e0);
  8554. shift(272); // 'where'
  8555. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8556. whitespace();
  8557. parse_ExprSingle();
  8558. eventHandler.endNonterminal("WhereClause", e0);
  8559. }
  8560. function try_WhereClause()
  8561. {
  8562. shiftT(272); // 'where'
  8563. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8564. try_ExprSingle();
  8565. }
  8566. function parse_GroupByClause()
  8567. {
  8568. eventHandler.startNonterminal("GroupByClause", e0);
  8569. shift(150); // 'group'
  8570. lookahead1W(37); // S^WS | '(:' | 'by'
  8571. shift(88); // 'by'
  8572. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8573. whitespace();
  8574. parse_GroupingSpecList();
  8575. eventHandler.endNonterminal("GroupByClause", e0);
  8576. }
  8577. function try_GroupByClause()
  8578. {
  8579. shiftT(150); // 'group'
  8580. lookahead1W(37); // S^WS | '(:' | 'by'
  8581. shiftT(88); // 'by'
  8582. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8583. try_GroupingSpecList();
  8584. }
  8585. function parse_GroupingSpecList()
  8586. {
  8587. eventHandler.startNonterminal("GroupingSpecList", e0);
  8588. parse_GroupingSpec();
  8589. for (;;)
  8590. {
  8591. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  8592. if (l1 != 42) // ','
  8593. {
  8594. break;
  8595. }
  8596. shift(42); // ','
  8597. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8598. whitespace();
  8599. parse_GroupingSpec();
  8600. }
  8601. eventHandler.endNonterminal("GroupingSpecList", e0);
  8602. }
  8603. function try_GroupingSpecList()
  8604. {
  8605. try_GroupingSpec();
  8606. for (;;)
  8607. {
  8608. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  8609. if (l1 != 42) // ','
  8610. {
  8611. break;
  8612. }
  8613. shiftT(42); // ','
  8614. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8615. try_GroupingSpec();
  8616. }
  8617. }
  8618. function parse_GroupingSpec()
  8619. {
  8620. eventHandler.startNonterminal("GroupingSpec", e0);
  8621. switch (l1)
  8622. {
  8623. case 31: // '$'
  8624. lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8625. break;
  8626. default:
  8627. lk = l1;
  8628. }
  8629. if (lk == 3103 // '$' EQName^Token
  8630. || lk == 36383 // '$' 'after'
  8631. || lk == 37407 // '$' 'allowing'
  8632. || lk == 37919 // '$' 'ancestor'
  8633. || lk == 38431 // '$' 'ancestor-or-self'
  8634. || lk == 38943 // '$' 'and'
  8635. || lk == 39967 // '$' 'append'
  8636. || lk == 40479 // '$' 'array'
  8637. || lk == 40991 // '$' 'as'
  8638. || lk == 41503 // '$' 'ascending'
  8639. || lk == 42015 // '$' 'at'
  8640. || lk == 42527 // '$' 'attribute'
  8641. || lk == 43039 // '$' 'base-uri'
  8642. || lk == 43551 // '$' 'before'
  8643. || lk == 44063 // '$' 'boundary-space'
  8644. || lk == 44575 // '$' 'break'
  8645. || lk == 45599 // '$' 'case'
  8646. || lk == 46111 // '$' 'cast'
  8647. || lk == 46623 // '$' 'castable'
  8648. || lk == 47135 // '$' 'catch'
  8649. || lk == 48159 // '$' 'child'
  8650. || lk == 48671 // '$' 'collation'
  8651. || lk == 49695 // '$' 'comment'
  8652. || lk == 50207 // '$' 'constraint'
  8653. || lk == 50719 // '$' 'construction'
  8654. || lk == 52255 // '$' 'context'
  8655. || lk == 52767 // '$' 'continue'
  8656. || lk == 53279 // '$' 'copy'
  8657. || lk == 53791 // '$' 'copy-namespaces'
  8658. || lk == 54303 // '$' 'count'
  8659. || lk == 54815 // '$' 'decimal-format'
  8660. || lk == 55839 // '$' 'declare'
  8661. || lk == 56351 // '$' 'default'
  8662. || lk == 56863 // '$' 'delete'
  8663. || lk == 57375 // '$' 'descendant'
  8664. || lk == 57887 // '$' 'descendant-or-self'
  8665. || lk == 58399 // '$' 'descending'
  8666. || lk == 60959 // '$' 'div'
  8667. || lk == 61471 // '$' 'document'
  8668. || lk == 61983 // '$' 'document-node'
  8669. || lk == 62495 // '$' 'element'
  8670. || lk == 63007 // '$' 'else'
  8671. || lk == 63519 // '$' 'empty'
  8672. || lk == 64031 // '$' 'empty-sequence'
  8673. || lk == 64543 // '$' 'encoding'
  8674. || lk == 65055 // '$' 'end'
  8675. || lk == 66079 // '$' 'eq'
  8676. || lk == 66591 // '$' 'every'
  8677. || lk == 67615 // '$' 'except'
  8678. || lk == 68127 // '$' 'exit'
  8679. || lk == 68639 // '$' 'external'
  8680. || lk == 69151 // '$' 'false'
  8681. || lk == 69663 // '$' 'first'
  8682. || lk == 70175 // '$' 'following'
  8683. || lk == 70687 // '$' 'following-sibling'
  8684. || lk == 71199 // '$' 'for'
  8685. || lk == 72735 // '$' 'from'
  8686. || lk == 73247 // '$' 'ft-option'
  8687. || lk == 75295 // '$' 'function'
  8688. || lk == 75807 // '$' 'ge'
  8689. || lk == 76831 // '$' 'group'
  8690. || lk == 77855 // '$' 'gt'
  8691. || lk == 78367 // '$' 'idiv'
  8692. || lk == 78879 // '$' 'if'
  8693. || lk == 79391 // '$' 'import'
  8694. || lk == 79903 // '$' 'in'
  8695. || lk == 80415 // '$' 'index'
  8696. || lk == 82463 // '$' 'insert'
  8697. || lk == 82975 // '$' 'instance'
  8698. || lk == 83487 // '$' 'integrity'
  8699. || lk == 83999 // '$' 'intersect'
  8700. || lk == 84511 // '$' 'into'
  8701. || lk == 85023 // '$' 'is'
  8702. || lk == 85535 // '$' 'item'
  8703. || lk == 86047 // '$' 'json'
  8704. || lk == 86559 // '$' 'json-item'
  8705. || lk == 87071 // '$' 'jsoniq'
  8706. || lk == 88607 // '$' 'last'
  8707. || lk == 89119 // '$' 'lax'
  8708. || lk == 89631 // '$' 'le'
  8709. || lk == 90655 // '$' 'let'
  8710. || lk == 91679 // '$' 'loop'
  8711. || lk == 92703 // '$' 'lt'
  8712. || lk == 93727 // '$' 'mod'
  8713. || lk == 94239 // '$' 'modify'
  8714. || lk == 94751 // '$' 'module'
  8715. || lk == 95775 // '$' 'namespace'
  8716. || lk == 96287 // '$' 'namespace-node'
  8717. || lk == 96799 // '$' 'ne'
  8718. || lk == 99359 // '$' 'node'
  8719. || lk == 99871 // '$' 'nodes'
  8720. || lk == 100895 // '$' 'null'
  8721. || lk == 101407 // '$' 'object'
  8722. || lk == 103455 // '$' 'only'
  8723. || lk == 103967 // '$' 'option'
  8724. || lk == 104479 // '$' 'or'
  8725. || lk == 104991 // '$' 'order'
  8726. || lk == 105503 // '$' 'ordered'
  8727. || lk == 106015 // '$' 'ordering'
  8728. || lk == 107551 // '$' 'parent'
  8729. || lk == 110623 // '$' 'preceding'
  8730. || lk == 111135 // '$' 'preceding-sibling'
  8731. || lk == 112671 // '$' 'processing-instruction'
  8732. || lk == 113695 // '$' 'rename'
  8733. || lk == 114207 // '$' 'replace'
  8734. || lk == 114719 // '$' 'return'
  8735. || lk == 115231 // '$' 'returning'
  8736. || lk == 115743 // '$' 'revalidation'
  8737. || lk == 116767 // '$' 'satisfies'
  8738. || lk == 117279 // '$' 'schema'
  8739. || lk == 117791 // '$' 'schema-attribute'
  8740. || lk == 118303 // '$' 'schema-element'
  8741. || lk == 118815 // '$' 'score'
  8742. || lk == 119327 // '$' 'select'
  8743. || lk == 119839 // '$' 'self'
  8744. || lk == 122399 // '$' 'sliding'
  8745. || lk == 122911 // '$' 'some'
  8746. || lk == 123423 // '$' 'stable'
  8747. || lk == 123935 // '$' 'start'
  8748. || lk == 125471 // '$' 'strict'
  8749. || lk == 126495 // '$' 'structured-item'
  8750. || lk == 127007 // '$' 'switch'
  8751. || lk == 127519 // '$' 'text'
  8752. || lk == 129567 // '$' 'to'
  8753. || lk == 130079 // '$' 'treat'
  8754. || lk == 130591 // '$' 'true'
  8755. || lk == 131103 // '$' 'try'
  8756. || lk == 131615 // '$' 'tumbling'
  8757. || lk == 132127 // '$' 'type'
  8758. || lk == 132639 // '$' 'typeswitch'
  8759. || lk == 133151 // '$' 'union'
  8760. || lk == 134175 // '$' 'unordered'
  8761. || lk == 134687 // '$' 'updating'
  8762. || lk == 136223 // '$' 'validate'
  8763. || lk == 136735 // '$' 'value'
  8764. || lk == 137247 // '$' 'variable'
  8765. || lk == 137759 // '$' 'version'
  8766. || lk == 139295 // '$' 'where'
  8767. || lk == 139807 // '$' 'while'
  8768. || lk == 141343) // '$' 'with'
  8769. {
  8770. lk = memoized(2, e0);
  8771. if (lk == 0)
  8772. {
  8773. var b0A = b0; var e0A = e0; var l1A = l1;
  8774. var b1A = b1; var e1A = e1; var l2A = l2;
  8775. var b2A = b2; var e2A = e2;
  8776. try
  8777. {
  8778. try_GroupingVariable();
  8779. lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  8780. if (l1 == 53 // ':='
  8781. || l1 == 80) // 'as'
  8782. {
  8783. if (l1 == 80) // 'as'
  8784. {
  8785. try_TypeDeclaration();
  8786. }
  8787. lookahead1W(28); // S^WS | '(:' | ':='
  8788. shiftT(53); // ':='
  8789. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8790. try_ExprSingle();
  8791. }
  8792. if (l1 == 95) // 'collation'
  8793. {
  8794. shiftT(95); // 'collation'
  8795. lookahead1W(15); // URILiteral | S^WS | '(:'
  8796. shiftT(7); // URILiteral
  8797. }
  8798. lk = -1;
  8799. }
  8800. catch (p1A)
  8801. {
  8802. lk = -2;
  8803. }
  8804. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  8805. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  8806. b2 = b2A; e2 = e2A; end = e2A; }}
  8807. memoize(2, e0, lk);
  8808. }
  8809. }
  8810. switch (lk)
  8811. {
  8812. case -1:
  8813. parse_GroupingVariable();
  8814. lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  8815. if (l1 == 53 // ':='
  8816. || l1 == 80) // 'as'
  8817. {
  8818. if (l1 == 80) // 'as'
  8819. {
  8820. whitespace();
  8821. parse_TypeDeclaration();
  8822. }
  8823. lookahead1W(28); // S^WS | '(:' | ':='
  8824. shift(53); // ':='
  8825. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  8826. whitespace();
  8827. parse_ExprSingle();
  8828. }
  8829. if (l1 == 95) // 'collation'
  8830. {
  8831. shift(95); // 'collation'
  8832. lookahead1W(15); // URILiteral | S^WS | '(:'
  8833. shift(7); // URILiteral
  8834. }
  8835. break;
  8836. default:
  8837. parse_ExprSingle();
  8838. }
  8839. eventHandler.endNonterminal("GroupingSpec", e0);
  8840. }
  8841. function try_GroupingSpec()
  8842. {
  8843. switch (l1)
  8844. {
  8845. case 31: // '$'
  8846. lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  8847. break;
  8848. default:
  8849. lk = l1;
  8850. }
  8851. if (lk == 3103 // '$' EQName^Token
  8852. || lk == 36383 // '$' 'after'
  8853. || lk == 37407 // '$' 'allowing'
  8854. || lk == 37919 // '$' 'ancestor'
  8855. || lk == 38431 // '$' 'ancestor-or-self'
  8856. || lk == 38943 // '$' 'and'
  8857. || lk == 39967 // '$' 'append'
  8858. || lk == 40479 // '$' 'array'
  8859. || lk == 40991 // '$' 'as'
  8860. || lk == 41503 // '$' 'ascending'
  8861. || lk == 42015 // '$' 'at'
  8862. || lk == 42527 // '$' 'attribute'
  8863. || lk == 43039 // '$' 'base-uri'
  8864. || lk == 43551 // '$' 'before'
  8865. || lk == 44063 // '$' 'boundary-space'
  8866. || lk == 44575 // '$' 'break'
  8867. || lk == 45599 // '$' 'case'
  8868. || lk == 46111 // '$' 'cast'
  8869. || lk == 46623 // '$' 'castable'
  8870. || lk == 47135 // '$' 'catch'
  8871. || lk == 48159 // '$' 'child'
  8872. || lk == 48671 // '$' 'collation'
  8873. || lk == 49695 // '$' 'comment'
  8874. || lk == 50207 // '$' 'constraint'
  8875. || lk == 50719 // '$' 'construction'
  8876. || lk == 52255 // '$' 'context'
  8877. || lk == 52767 // '$' 'continue'
  8878. || lk == 53279 // '$' 'copy'
  8879. || lk == 53791 // '$' 'copy-namespaces'
  8880. || lk == 54303 // '$' 'count'
  8881. || lk == 54815 // '$' 'decimal-format'
  8882. || lk == 55839 // '$' 'declare'
  8883. || lk == 56351 // '$' 'default'
  8884. || lk == 56863 // '$' 'delete'
  8885. || lk == 57375 // '$' 'descendant'
  8886. || lk == 57887 // '$' 'descendant-or-self'
  8887. || lk == 58399 // '$' 'descending'
  8888. || lk == 60959 // '$' 'div'
  8889. || lk == 61471 // '$' 'document'
  8890. || lk == 61983 // '$' 'document-node'
  8891. || lk == 62495 // '$' 'element'
  8892. || lk == 63007 // '$' 'else'
  8893. || lk == 63519 // '$' 'empty'
  8894. || lk == 64031 // '$' 'empty-sequence'
  8895. || lk == 64543 // '$' 'encoding'
  8896. || lk == 65055 // '$' 'end'
  8897. || lk == 66079 // '$' 'eq'
  8898. || lk == 66591 // '$' 'every'
  8899. || lk == 67615 // '$' 'except'
  8900. || lk == 68127 // '$' 'exit'
  8901. || lk == 68639 // '$' 'external'
  8902. || lk == 69151 // '$' 'false'
  8903. || lk == 69663 // '$' 'first'
  8904. || lk == 70175 // '$' 'following'
  8905. || lk == 70687 // '$' 'following-sibling'
  8906. || lk == 71199 // '$' 'for'
  8907. || lk == 72735 // '$' 'from'
  8908. || lk == 73247 // '$' 'ft-option'
  8909. || lk == 75295 // '$' 'function'
  8910. || lk == 75807 // '$' 'ge'
  8911. || lk == 76831 // '$' 'group'
  8912. || lk == 77855 // '$' 'gt'
  8913. || lk == 78367 // '$' 'idiv'
  8914. || lk == 78879 // '$' 'if'
  8915. || lk == 79391 // '$' 'import'
  8916. || lk == 79903 // '$' 'in'
  8917. || lk == 80415 // '$' 'index'
  8918. || lk == 82463 // '$' 'insert'
  8919. || lk == 82975 // '$' 'instance'
  8920. || lk == 83487 // '$' 'integrity'
  8921. || lk == 83999 // '$' 'intersect'
  8922. || lk == 84511 // '$' 'into'
  8923. || lk == 85023 // '$' 'is'
  8924. || lk == 85535 // '$' 'item'
  8925. || lk == 86047 // '$' 'json'
  8926. || lk == 86559 // '$' 'json-item'
  8927. || lk == 87071 // '$' 'jsoniq'
  8928. || lk == 88607 // '$' 'last'
  8929. || lk == 89119 // '$' 'lax'
  8930. || lk == 89631 // '$' 'le'
  8931. || lk == 90655 // '$' 'let'
  8932. || lk == 91679 // '$' 'loop'
  8933. || lk == 92703 // '$' 'lt'
  8934. || lk == 93727 // '$' 'mod'
  8935. || lk == 94239 // '$' 'modify'
  8936. || lk == 94751 // '$' 'module'
  8937. || lk == 95775 // '$' 'namespace'
  8938. || lk == 96287 // '$' 'namespace-node'
  8939. || lk == 96799 // '$' 'ne'
  8940. || lk == 99359 // '$' 'node'
  8941. || lk == 99871 // '$' 'nodes'
  8942. || lk == 100895 // '$' 'null'
  8943. || lk == 101407 // '$' 'object'
  8944. || lk == 103455 // '$' 'only'
  8945. || lk == 103967 // '$' 'option'
  8946. || lk == 104479 // '$' 'or'
  8947. || lk == 104991 // '$' 'order'
  8948. || lk == 105503 // '$' 'ordered'
  8949. || lk == 106015 // '$' 'ordering'
  8950. || lk == 107551 // '$' 'parent'
  8951. || lk == 110623 // '$' 'preceding'
  8952. || lk == 111135 // '$' 'preceding-sibling'
  8953. || lk == 112671 // '$' 'processing-instruction'
  8954. || lk == 113695 // '$' 'rename'
  8955. || lk == 114207 // '$' 'replace'
  8956. || lk == 114719 // '$' 'return'
  8957. || lk == 115231 // '$' 'returning'
  8958. || lk == 115743 // '$' 'revalidation'
  8959. || lk == 116767 // '$' 'satisfies'
  8960. || lk == 117279 // '$' 'schema'
  8961. || lk == 117791 // '$' 'schema-attribute'
  8962. || lk == 118303 // '$' 'schema-element'
  8963. || lk == 118815 // '$' 'score'
  8964. || lk == 119327 // '$' 'select'
  8965. || lk == 119839 // '$' 'self'
  8966. || lk == 122399 // '$' 'sliding'
  8967. || lk == 122911 // '$' 'some'
  8968. || lk == 123423 // '$' 'stable'
  8969. || lk == 123935 // '$' 'start'
  8970. || lk == 125471 // '$' 'strict'
  8971. || lk == 126495 // '$' 'structured-item'
  8972. || lk == 127007 // '$' 'switch'
  8973. || lk == 127519 // '$' 'text'
  8974. || lk == 129567 // '$' 'to'
  8975. || lk == 130079 // '$' 'treat'
  8976. || lk == 130591 // '$' 'true'
  8977. || lk == 131103 // '$' 'try'
  8978. || lk == 131615 // '$' 'tumbling'
  8979. || lk == 132127 // '$' 'type'
  8980. || lk == 132639 // '$' 'typeswitch'
  8981. || lk == 133151 // '$' 'union'
  8982. || lk == 134175 // '$' 'unordered'
  8983. || lk == 134687 // '$' 'updating'
  8984. || lk == 136223 // '$' 'validate'
  8985. || lk == 136735 // '$' 'value'
  8986. || lk == 137247 // '$' 'variable'
  8987. || lk == 137759 // '$' 'version'
  8988. || lk == 139295 // '$' 'where'
  8989. || lk == 139807 // '$' 'while'
  8990. || lk == 141343) // '$' 'with'
  8991. {
  8992. lk = memoized(2, e0);
  8993. if (lk == 0)
  8994. {
  8995. var b0A = b0; var e0A = e0; var l1A = l1;
  8996. var b1A = b1; var e1A = e1; var l2A = l2;
  8997. var b2A = b2; var e2A = e2;
  8998. try
  8999. {
  9000. try_GroupingVariable();
  9001. lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  9002. if (l1 == 53 // ':='
  9003. || l1 == 80) // 'as'
  9004. {
  9005. if (l1 == 80) // 'as'
  9006. {
  9007. try_TypeDeclaration();
  9008. }
  9009. lookahead1W(28); // S^WS | '(:' | ':='
  9010. shiftT(53); // ':='
  9011. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9012. try_ExprSingle();
  9013. }
  9014. if (l1 == 95) // 'collation'
  9015. {
  9016. shiftT(95); // 'collation'
  9017. lookahead1W(15); // URILiteral | S^WS | '(:'
  9018. shiftT(7); // URILiteral
  9019. }
  9020. memoize(2, e0A, -1);
  9021. lk = -3;
  9022. }
  9023. catch (p1A)
  9024. {
  9025. lk = -2;
  9026. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  9027. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  9028. b2 = b2A; e2 = e2A; end = e2A; }}
  9029. memoize(2, e0A, -2);
  9030. }
  9031. }
  9032. }
  9033. switch (lk)
  9034. {
  9035. case -1:
  9036. try_GroupingVariable();
  9037. lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  9038. if (l1 == 53 // ':='
  9039. || l1 == 80) // 'as'
  9040. {
  9041. if (l1 == 80) // 'as'
  9042. {
  9043. try_TypeDeclaration();
  9044. }
  9045. lookahead1W(28); // S^WS | '(:' | ':='
  9046. shiftT(53); // ':='
  9047. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9048. try_ExprSingle();
  9049. }
  9050. if (l1 == 95) // 'collation'
  9051. {
  9052. shiftT(95); // 'collation'
  9053. lookahead1W(15); // URILiteral | S^WS | '(:'
  9054. shiftT(7); // URILiteral
  9055. }
  9056. break;
  9057. case -3:
  9058. break;
  9059. default:
  9060. try_ExprSingle();
  9061. }
  9062. }
  9063. function parse_GroupingVariable()
  9064. {
  9065. eventHandler.startNonterminal("GroupingVariable", e0);
  9066. shift(31); // '$'
  9067. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9068. whitespace();
  9069. parse_VarName();
  9070. eventHandler.endNonterminal("GroupingVariable", e0);
  9071. }
  9072. function try_GroupingVariable()
  9073. {
  9074. shiftT(31); // '$'
  9075. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9076. try_VarName();
  9077. }
  9078. function parse_OrderByClause()
  9079. {
  9080. eventHandler.startNonterminal("OrderByClause", e0);
  9081. switch (l1)
  9082. {
  9083. case 205: // 'order'
  9084. shift(205); // 'order'
  9085. lookahead1W(37); // S^WS | '(:' | 'by'
  9086. shift(88); // 'by'
  9087. break;
  9088. default:
  9089. shift(241); // 'stable'
  9090. lookahead1W(70); // S^WS | '(:' | 'order'
  9091. shift(205); // 'order'
  9092. lookahead1W(37); // S^WS | '(:' | 'by'
  9093. shift(88); // 'by'
  9094. }
  9095. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9096. whitespace();
  9097. parse_OrderSpecList();
  9098. eventHandler.endNonterminal("OrderByClause", e0);
  9099. }
  9100. function try_OrderByClause()
  9101. {
  9102. switch (l1)
  9103. {
  9104. case 205: // 'order'
  9105. shiftT(205); // 'order'
  9106. lookahead1W(37); // S^WS | '(:' | 'by'
  9107. shiftT(88); // 'by'
  9108. break;
  9109. default:
  9110. shiftT(241); // 'stable'
  9111. lookahead1W(70); // S^WS | '(:' | 'order'
  9112. shiftT(205); // 'order'
  9113. lookahead1W(37); // S^WS | '(:' | 'by'
  9114. shiftT(88); // 'by'
  9115. }
  9116. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9117. try_OrderSpecList();
  9118. }
  9119. function parse_OrderSpecList()
  9120. {
  9121. eventHandler.startNonterminal("OrderSpecList", e0);
  9122. parse_OrderSpec();
  9123. for (;;)
  9124. {
  9125. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  9126. if (l1 != 42) // ','
  9127. {
  9128. break;
  9129. }
  9130. shift(42); // ','
  9131. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9132. whitespace();
  9133. parse_OrderSpec();
  9134. }
  9135. eventHandler.endNonterminal("OrderSpecList", e0);
  9136. }
  9137. function try_OrderSpecList()
  9138. {
  9139. try_OrderSpec();
  9140. for (;;)
  9141. {
  9142. lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  9143. if (l1 != 42) // ','
  9144. {
  9145. break;
  9146. }
  9147. shiftT(42); // ','
  9148. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9149. try_OrderSpec();
  9150. }
  9151. }
  9152. function parse_OrderSpec()
  9153. {
  9154. eventHandler.startNonterminal("OrderSpec", e0);
  9155. parse_ExprSingle();
  9156. whitespace();
  9157. parse_OrderModifier();
  9158. eventHandler.endNonterminal("OrderSpec", e0);
  9159. }
  9160. function try_OrderSpec()
  9161. {
  9162. try_ExprSingle();
  9163. try_OrderModifier();
  9164. }
  9165. function parse_OrderModifier()
  9166. {
  9167. eventHandler.startNonterminal("OrderModifier", e0);
  9168. if (l1 == 81 // 'ascending'
  9169. || l1 == 114) // 'descending'
  9170. {
  9171. switch (l1)
  9172. {
  9173. case 81: // 'ascending'
  9174. shift(81); // 'ascending'
  9175. break;
  9176. default:
  9177. shift(114); // 'descending'
  9178. }
  9179. }
  9180. lookahead1W(202); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  9181. if (l1 == 124) // 'empty'
  9182. {
  9183. shift(124); // 'empty'
  9184. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  9185. switch (l1)
  9186. {
  9187. case 149: // 'greatest'
  9188. shift(149); // 'greatest'
  9189. break;
  9190. default:
  9191. shift(176); // 'least'
  9192. }
  9193. }
  9194. lookahead1W(199); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  9195. if (l1 == 95) // 'collation'
  9196. {
  9197. shift(95); // 'collation'
  9198. lookahead1W(15); // URILiteral | S^WS | '(:'
  9199. shift(7); // URILiteral
  9200. }
  9201. eventHandler.endNonterminal("OrderModifier", e0);
  9202. }
  9203. function try_OrderModifier()
  9204. {
  9205. if (l1 == 81 // 'ascending'
  9206. || l1 == 114) // 'descending'
  9207. {
  9208. switch (l1)
  9209. {
  9210. case 81: // 'ascending'
  9211. shiftT(81); // 'ascending'
  9212. break;
  9213. default:
  9214. shiftT(114); // 'descending'
  9215. }
  9216. }
  9217. lookahead1W(202); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  9218. if (l1 == 124) // 'empty'
  9219. {
  9220. shiftT(124); // 'empty'
  9221. lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
  9222. switch (l1)
  9223. {
  9224. case 149: // 'greatest'
  9225. shiftT(149); // 'greatest'
  9226. break;
  9227. default:
  9228. shiftT(176); // 'least'
  9229. }
  9230. }
  9231. lookahead1W(199); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  9232. if (l1 == 95) // 'collation'
  9233. {
  9234. shiftT(95); // 'collation'
  9235. lookahead1W(15); // URILiteral | S^WS | '(:'
  9236. shiftT(7); // URILiteral
  9237. }
  9238. }
  9239. function parse_ReturnClause()
  9240. {
  9241. eventHandler.startNonterminal("ReturnClause", e0);
  9242. shift(224); // 'return'
  9243. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9244. whitespace();
  9245. parse_ExprSingle();
  9246. eventHandler.endNonterminal("ReturnClause", e0);
  9247. }
  9248. function try_ReturnClause()
  9249. {
  9250. shiftT(224); // 'return'
  9251. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9252. try_ExprSingle();
  9253. }
  9254. function parse_QuantifiedExpr()
  9255. {
  9256. eventHandler.startNonterminal("QuantifiedExpr", e0);
  9257. switch (l1)
  9258. {
  9259. case 240: // 'some'
  9260. shift(240); // 'some'
  9261. break;
  9262. default:
  9263. shift(130); // 'every'
  9264. }
  9265. lookahead1W(21); // S^WS | '$' | '(:'
  9266. whitespace();
  9267. parse_QuantifiedVarDecl();
  9268. for (;;)
  9269. {
  9270. if (l1 != 42) // ','
  9271. {
  9272. break;
  9273. }
  9274. shift(42); // ','
  9275. lookahead1W(21); // S^WS | '$' | '(:'
  9276. whitespace();
  9277. parse_QuantifiedVarDecl();
  9278. }
  9279. shift(228); // 'satisfies'
  9280. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9281. whitespace();
  9282. parse_ExprSingle();
  9283. eventHandler.endNonterminal("QuantifiedExpr", e0);
  9284. }
  9285. function try_QuantifiedExpr()
  9286. {
  9287. switch (l1)
  9288. {
  9289. case 240: // 'some'
  9290. shiftT(240); // 'some'
  9291. break;
  9292. default:
  9293. shiftT(130); // 'every'
  9294. }
  9295. lookahead1W(21); // S^WS | '$' | '(:'
  9296. try_QuantifiedVarDecl();
  9297. for (;;)
  9298. {
  9299. if (l1 != 42) // ','
  9300. {
  9301. break;
  9302. }
  9303. shiftT(42); // ','
  9304. lookahead1W(21); // S^WS | '$' | '(:'
  9305. try_QuantifiedVarDecl();
  9306. }
  9307. shiftT(228); // 'satisfies'
  9308. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9309. try_ExprSingle();
  9310. }
  9311. function parse_QuantifiedVarDecl()
  9312. {
  9313. eventHandler.startNonterminal("QuantifiedVarDecl", e0);
  9314. shift(31); // '$'
  9315. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9316. whitespace();
  9317. parse_VarName();
  9318. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  9319. if (l1 == 80) // 'as'
  9320. {
  9321. whitespace();
  9322. parse_TypeDeclaration();
  9323. }
  9324. lookahead1W(56); // S^WS | '(:' | 'in'
  9325. shift(156); // 'in'
  9326. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9327. whitespace();
  9328. parse_ExprSingle();
  9329. eventHandler.endNonterminal("QuantifiedVarDecl", e0);
  9330. }
  9331. function try_QuantifiedVarDecl()
  9332. {
  9333. shiftT(31); // '$'
  9334. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9335. try_VarName();
  9336. lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
  9337. if (l1 == 80) // 'as'
  9338. {
  9339. try_TypeDeclaration();
  9340. }
  9341. lookahead1W(56); // S^WS | '(:' | 'in'
  9342. shiftT(156); // 'in'
  9343. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9344. try_ExprSingle();
  9345. }
  9346. function parse_SwitchExpr()
  9347. {
  9348. eventHandler.startNonterminal("SwitchExpr", e0);
  9349. shift(248); // 'switch'
  9350. lookahead1W(22); // S^WS | '(' | '(:'
  9351. shift(35); // '('
  9352. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9353. whitespace();
  9354. parse_Expr();
  9355. shift(38); // ')'
  9356. for (;;)
  9357. {
  9358. lookahead1W(38); // S^WS | '(:' | 'case'
  9359. whitespace();
  9360. parse_SwitchCaseClause();
  9361. if (l1 != 89) // 'case'
  9362. {
  9363. break;
  9364. }
  9365. }
  9366. shift(110); // 'default'
  9367. lookahead1W(73); // S^WS | '(:' | 'return'
  9368. shift(224); // 'return'
  9369. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9370. whitespace();
  9371. parse_ExprSingle();
  9372. eventHandler.endNonterminal("SwitchExpr", e0);
  9373. }
  9374. function try_SwitchExpr()
  9375. {
  9376. shiftT(248); // 'switch'
  9377. lookahead1W(22); // S^WS | '(' | '(:'
  9378. shiftT(35); // '('
  9379. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9380. try_Expr();
  9381. shiftT(38); // ')'
  9382. for (;;)
  9383. {
  9384. lookahead1W(38); // S^WS | '(:' | 'case'
  9385. try_SwitchCaseClause();
  9386. if (l1 != 89) // 'case'
  9387. {
  9388. break;
  9389. }
  9390. }
  9391. shiftT(110); // 'default'
  9392. lookahead1W(73); // S^WS | '(:' | 'return'
  9393. shiftT(224); // 'return'
  9394. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9395. try_ExprSingle();
  9396. }
  9397. function parse_SwitchCaseClause()
  9398. {
  9399. eventHandler.startNonterminal("SwitchCaseClause", e0);
  9400. for (;;)
  9401. {
  9402. shift(89); // 'case'
  9403. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9404. whitespace();
  9405. parse_SwitchCaseOperand();
  9406. if (l1 != 89) // 'case'
  9407. {
  9408. break;
  9409. }
  9410. }
  9411. shift(224); // 'return'
  9412. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9413. whitespace();
  9414. parse_ExprSingle();
  9415. eventHandler.endNonterminal("SwitchCaseClause", e0);
  9416. }
  9417. function try_SwitchCaseClause()
  9418. {
  9419. for (;;)
  9420. {
  9421. shiftT(89); // 'case'
  9422. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9423. try_SwitchCaseOperand();
  9424. if (l1 != 89) // 'case'
  9425. {
  9426. break;
  9427. }
  9428. }
  9429. shiftT(224); // 'return'
  9430. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9431. try_ExprSingle();
  9432. }
  9433. function parse_SwitchCaseOperand()
  9434. {
  9435. eventHandler.startNonterminal("SwitchCaseOperand", e0);
  9436. parse_ExprSingle();
  9437. eventHandler.endNonterminal("SwitchCaseOperand", e0);
  9438. }
  9439. function try_SwitchCaseOperand()
  9440. {
  9441. try_ExprSingle();
  9442. }
  9443. function parse_TypeswitchExpr()
  9444. {
  9445. eventHandler.startNonterminal("TypeswitchExpr", e0);
  9446. shift(259); // 'typeswitch'
  9447. lookahead1W(22); // S^WS | '(' | '(:'
  9448. shift(35); // '('
  9449. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9450. whitespace();
  9451. parse_Expr();
  9452. shift(38); // ')'
  9453. for (;;)
  9454. {
  9455. lookahead1W(38); // S^WS | '(:' | 'case'
  9456. whitespace();
  9457. parse_CaseClause();
  9458. if (l1 != 89) // 'case'
  9459. {
  9460. break;
  9461. }
  9462. }
  9463. shift(110); // 'default'
  9464. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  9465. if (l1 == 31) // '$'
  9466. {
  9467. shift(31); // '$'
  9468. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9469. whitespace();
  9470. parse_VarName();
  9471. }
  9472. lookahead1W(73); // S^WS | '(:' | 'return'
  9473. shift(224); // 'return'
  9474. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9475. whitespace();
  9476. parse_ExprSingle();
  9477. eventHandler.endNonterminal("TypeswitchExpr", e0);
  9478. }
  9479. function try_TypeswitchExpr()
  9480. {
  9481. shiftT(259); // 'typeswitch'
  9482. lookahead1W(22); // S^WS | '(' | '(:'
  9483. shiftT(35); // '('
  9484. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9485. try_Expr();
  9486. shiftT(38); // ')'
  9487. for (;;)
  9488. {
  9489. lookahead1W(38); // S^WS | '(:' | 'case'
  9490. try_CaseClause();
  9491. if (l1 != 89) // 'case'
  9492. {
  9493. break;
  9494. }
  9495. }
  9496. shiftT(110); // 'default'
  9497. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  9498. if (l1 == 31) // '$'
  9499. {
  9500. shiftT(31); // '$'
  9501. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9502. try_VarName();
  9503. }
  9504. lookahead1W(73); // S^WS | '(:' | 'return'
  9505. shiftT(224); // 'return'
  9506. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9507. try_ExprSingle();
  9508. }
  9509. function parse_CaseClause()
  9510. {
  9511. eventHandler.startNonterminal("CaseClause", e0);
  9512. shift(89); // 'case'
  9513. lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  9514. if (l1 == 31) // '$'
  9515. {
  9516. shift(31); // '$'
  9517. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9518. whitespace();
  9519. parse_VarName();
  9520. lookahead1W(33); // S^WS | '(:' | 'as'
  9521. shift(80); // 'as'
  9522. }
  9523. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  9524. whitespace();
  9525. parse_SequenceTypeUnion();
  9526. shift(224); // 'return'
  9527. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9528. whitespace();
  9529. parse_ExprSingle();
  9530. eventHandler.endNonterminal("CaseClause", e0);
  9531. }
  9532. function try_CaseClause()
  9533. {
  9534. shiftT(89); // 'case'
  9535. lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  9536. if (l1 == 31) // '$'
  9537. {
  9538. shiftT(31); // '$'
  9539. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9540. try_VarName();
  9541. lookahead1W(33); // S^WS | '(:' | 'as'
  9542. shiftT(80); // 'as'
  9543. }
  9544. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  9545. try_SequenceTypeUnion();
  9546. shiftT(224); // 'return'
  9547. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9548. try_ExprSingle();
  9549. }
  9550. function parse_SequenceTypeUnion()
  9551. {
  9552. eventHandler.startNonterminal("SequenceTypeUnion", e0);
  9553. parse_SequenceType();
  9554. for (;;)
  9555. {
  9556. lookahead1W(138); // S^WS | '(:' | 'return' | '|'
  9557. if (l1 != 284) // '|'
  9558. {
  9559. break;
  9560. }
  9561. shift(284); // '|'
  9562. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  9563. whitespace();
  9564. parse_SequenceType();
  9565. }
  9566. eventHandler.endNonterminal("SequenceTypeUnion", e0);
  9567. }
  9568. function try_SequenceTypeUnion()
  9569. {
  9570. try_SequenceType();
  9571. for (;;)
  9572. {
  9573. lookahead1W(138); // S^WS | '(:' | 'return' | '|'
  9574. if (l1 != 284) // '|'
  9575. {
  9576. break;
  9577. }
  9578. shiftT(284); // '|'
  9579. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  9580. try_SequenceType();
  9581. }
  9582. }
  9583. function parse_IfExpr()
  9584. {
  9585. eventHandler.startNonterminal("IfExpr", e0);
  9586. shift(154); // 'if'
  9587. lookahead1W(22); // S^WS | '(' | '(:'
  9588. shift(35); // '('
  9589. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9590. whitespace();
  9591. parse_Expr();
  9592. shift(38); // ')'
  9593. lookahead1W(80); // S^WS | '(:' | 'then'
  9594. shift(250); // 'then'
  9595. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9596. whitespace();
  9597. parse_ExprSingle();
  9598. shift(123); // 'else'
  9599. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9600. whitespace();
  9601. parse_ExprSingle();
  9602. eventHandler.endNonterminal("IfExpr", e0);
  9603. }
  9604. function try_IfExpr()
  9605. {
  9606. shiftT(154); // 'if'
  9607. lookahead1W(22); // S^WS | '(' | '(:'
  9608. shiftT(35); // '('
  9609. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9610. try_Expr();
  9611. shiftT(38); // ')'
  9612. lookahead1W(80); // S^WS | '(:' | 'then'
  9613. shiftT(250); // 'then'
  9614. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9615. try_ExprSingle();
  9616. shiftT(123); // 'else'
  9617. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9618. try_ExprSingle();
  9619. }
  9620. function parse_TryCatchExpr()
  9621. {
  9622. eventHandler.startNonterminal("TryCatchExpr", e0);
  9623. parse_TryClause();
  9624. for (;;)
  9625. {
  9626. lookahead1W(39); // S^WS | '(:' | 'catch'
  9627. whitespace();
  9628. parse_CatchClause();
  9629. lookahead1W(207); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  9630. if (l1 != 92) // 'catch'
  9631. {
  9632. break;
  9633. }
  9634. }
  9635. eventHandler.endNonterminal("TryCatchExpr", e0);
  9636. }
  9637. function try_TryCatchExpr()
  9638. {
  9639. try_TryClause();
  9640. for (;;)
  9641. {
  9642. lookahead1W(39); // S^WS | '(:' | 'catch'
  9643. try_CatchClause();
  9644. lookahead1W(207); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  9645. if (l1 != 92) // 'catch'
  9646. {
  9647. break;
  9648. }
  9649. }
  9650. }
  9651. function parse_TryClause()
  9652. {
  9653. eventHandler.startNonterminal("TryClause", e0);
  9654. shift(256); // 'try'
  9655. lookahead1W(90); // S^WS | '(:' | '{'
  9656. shift(281); // '{'
  9657. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9658. whitespace();
  9659. parse_TryTargetExpr();
  9660. shift(287); // '}'
  9661. eventHandler.endNonterminal("TryClause", e0);
  9662. }
  9663. function try_TryClause()
  9664. {
  9665. shiftT(256); // 'try'
  9666. lookahead1W(90); // S^WS | '(:' | '{'
  9667. shiftT(281); // '{'
  9668. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9669. try_TryTargetExpr();
  9670. shiftT(287); // '}'
  9671. }
  9672. function parse_TryTargetExpr()
  9673. {
  9674. eventHandler.startNonterminal("TryTargetExpr", e0);
  9675. parse_Expr();
  9676. eventHandler.endNonterminal("TryTargetExpr", e0);
  9677. }
  9678. function try_TryTargetExpr()
  9679. {
  9680. try_Expr();
  9681. }
  9682. function parse_CatchClause()
  9683. {
  9684. eventHandler.startNonterminal("CatchClause", e0);
  9685. shift(92); // 'catch'
  9686. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9687. whitespace();
  9688. parse_CatchErrorList();
  9689. shift(281); // '{'
  9690. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9691. whitespace();
  9692. parse_Expr();
  9693. shift(287); // '}'
  9694. eventHandler.endNonterminal("CatchClause", e0);
  9695. }
  9696. function try_CatchClause()
  9697. {
  9698. shiftT(92); // 'catch'
  9699. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9700. try_CatchErrorList();
  9701. shiftT(281); // '{'
  9702. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9703. try_Expr();
  9704. shiftT(287); // '}'
  9705. }
  9706. function parse_CatchErrorList()
  9707. {
  9708. eventHandler.startNonterminal("CatchErrorList", e0);
  9709. parse_NameTest();
  9710. for (;;)
  9711. {
  9712. lookahead1W(140); // S^WS | '(:' | '{' | '|'
  9713. if (l1 != 284) // '|'
  9714. {
  9715. break;
  9716. }
  9717. shift(284); // '|'
  9718. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9719. whitespace();
  9720. parse_NameTest();
  9721. }
  9722. eventHandler.endNonterminal("CatchErrorList", e0);
  9723. }
  9724. function try_CatchErrorList()
  9725. {
  9726. try_NameTest();
  9727. for (;;)
  9728. {
  9729. lookahead1W(140); // S^WS | '(:' | '{' | '|'
  9730. if (l1 != 284) // '|'
  9731. {
  9732. break;
  9733. }
  9734. shiftT(284); // '|'
  9735. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  9736. try_NameTest();
  9737. }
  9738. }
  9739. function parse_OrExpr()
  9740. {
  9741. eventHandler.startNonterminal("OrExpr", e0);
  9742. parse_AndExpr();
  9743. for (;;)
  9744. {
  9745. if (l1 != 204) // 'or'
  9746. {
  9747. break;
  9748. }
  9749. shift(204); // 'or'
  9750. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9751. whitespace();
  9752. parse_AndExpr();
  9753. }
  9754. eventHandler.endNonterminal("OrExpr", e0);
  9755. }
  9756. function try_OrExpr()
  9757. {
  9758. try_AndExpr();
  9759. for (;;)
  9760. {
  9761. if (l1 != 204) // 'or'
  9762. {
  9763. break;
  9764. }
  9765. shiftT(204); // 'or'
  9766. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9767. try_AndExpr();
  9768. }
  9769. }
  9770. function parse_AndExpr()
  9771. {
  9772. eventHandler.startNonterminal("AndExpr", e0);
  9773. parse_NotExpr();
  9774. for (;;)
  9775. {
  9776. if (l1 != 76) // 'and'
  9777. {
  9778. break;
  9779. }
  9780. shift(76); // 'and'
  9781. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9782. whitespace();
  9783. parse_NotExpr();
  9784. }
  9785. eventHandler.endNonterminal("AndExpr", e0);
  9786. }
  9787. function try_AndExpr()
  9788. {
  9789. try_NotExpr();
  9790. for (;;)
  9791. {
  9792. if (l1 != 76) // 'and'
  9793. {
  9794. break;
  9795. }
  9796. shiftT(76); // 'and'
  9797. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9798. try_NotExpr();
  9799. }
  9800. }
  9801. function parse_NotExpr()
  9802. {
  9803. eventHandler.startNonterminal("NotExpr", e0);
  9804. if (l1 == 196) // 'not'
  9805. {
  9806. shift(196); // 'not'
  9807. }
  9808. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9809. whitespace();
  9810. parse_ComparisonExpr();
  9811. eventHandler.endNonterminal("NotExpr", e0);
  9812. }
  9813. function try_NotExpr()
  9814. {
  9815. if (l1 == 196) // 'not'
  9816. {
  9817. shiftT(196); // 'not'
  9818. }
  9819. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9820. try_ComparisonExpr();
  9821. }
  9822. function parse_ComparisonExpr()
  9823. {
  9824. eventHandler.startNonterminal("ComparisonExpr", e0);
  9825. parse_FTContainsExpr();
  9826. if (l1 == 27 // '!='
  9827. || l1 == 55 // '<'
  9828. || l1 == 58 // '<<'
  9829. || l1 == 59 // '<='
  9830. || l1 == 61 // '='
  9831. || l1 == 62 // '>'
  9832. || l1 == 63 // '>='
  9833. || l1 == 64 // '>>'
  9834. || l1 == 129 // 'eq'
  9835. || l1 == 148 // 'ge'
  9836. || l1 == 152 // 'gt'
  9837. || l1 == 166 // 'is'
  9838. || l1 == 175 // 'le'
  9839. || l1 == 181 // 'lt'
  9840. || l1 == 189) // 'ne'
  9841. {
  9842. switch (l1)
  9843. {
  9844. case 129: // 'eq'
  9845. case 148: // 'ge'
  9846. case 152: // 'gt'
  9847. case 175: // 'le'
  9848. case 181: // 'lt'
  9849. case 189: // 'ne'
  9850. whitespace();
  9851. parse_ValueComp();
  9852. break;
  9853. case 58: // '<<'
  9854. case 64: // '>>'
  9855. case 166: // 'is'
  9856. whitespace();
  9857. parse_NodeComp();
  9858. break;
  9859. default:
  9860. whitespace();
  9861. parse_GeneralComp();
  9862. }
  9863. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9864. whitespace();
  9865. parse_FTContainsExpr();
  9866. }
  9867. eventHandler.endNonterminal("ComparisonExpr", e0);
  9868. }
  9869. function try_ComparisonExpr()
  9870. {
  9871. try_FTContainsExpr();
  9872. if (l1 == 27 // '!='
  9873. || l1 == 55 // '<'
  9874. || l1 == 58 // '<<'
  9875. || l1 == 59 // '<='
  9876. || l1 == 61 // '='
  9877. || l1 == 62 // '>'
  9878. || l1 == 63 // '>='
  9879. || l1 == 64 // '>>'
  9880. || l1 == 129 // 'eq'
  9881. || l1 == 148 // 'ge'
  9882. || l1 == 152 // 'gt'
  9883. || l1 == 166 // 'is'
  9884. || l1 == 175 // 'le'
  9885. || l1 == 181 // 'lt'
  9886. || l1 == 189) // 'ne'
  9887. {
  9888. switch (l1)
  9889. {
  9890. case 129: // 'eq'
  9891. case 148: // 'ge'
  9892. case 152: // 'gt'
  9893. case 175: // 'le'
  9894. case 181: // 'lt'
  9895. case 189: // 'ne'
  9896. try_ValueComp();
  9897. break;
  9898. case 58: // '<<'
  9899. case 64: // '>>'
  9900. case 166: // 'is'
  9901. try_NodeComp();
  9902. break;
  9903. default:
  9904. try_GeneralComp();
  9905. }
  9906. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9907. try_FTContainsExpr();
  9908. }
  9909. }
  9910. function parse_FTContainsExpr()
  9911. {
  9912. eventHandler.startNonterminal("FTContainsExpr", e0);
  9913. parse_StringConcatExpr();
  9914. if (l1 == 100) // 'contains'
  9915. {
  9916. shift(100); // 'contains'
  9917. lookahead1W(79); // S^WS | '(:' | 'text'
  9918. shift(249); // 'text'
  9919. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  9920. whitespace();
  9921. parse_FTSelection();
  9922. if (l1 == 277) // 'without'
  9923. {
  9924. whitespace();
  9925. parse_FTIgnoreOption();
  9926. }
  9927. }
  9928. eventHandler.endNonterminal("FTContainsExpr", e0);
  9929. }
  9930. function try_FTContainsExpr()
  9931. {
  9932. try_StringConcatExpr();
  9933. if (l1 == 100) // 'contains'
  9934. {
  9935. shiftT(100); // 'contains'
  9936. lookahead1W(79); // S^WS | '(:' | 'text'
  9937. shiftT(249); // 'text'
  9938. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  9939. try_FTSelection();
  9940. if (l1 == 277) // 'without'
  9941. {
  9942. try_FTIgnoreOption();
  9943. }
  9944. }
  9945. }
  9946. function parse_StringConcatExpr()
  9947. {
  9948. eventHandler.startNonterminal("StringConcatExpr", e0);
  9949. parse_RangeExpr();
  9950. for (;;)
  9951. {
  9952. if (l1 != 285) // '||'
  9953. {
  9954. break;
  9955. }
  9956. shift(285); // '||'
  9957. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9958. whitespace();
  9959. parse_RangeExpr();
  9960. }
  9961. eventHandler.endNonterminal("StringConcatExpr", e0);
  9962. }
  9963. function try_StringConcatExpr()
  9964. {
  9965. try_RangeExpr();
  9966. for (;;)
  9967. {
  9968. if (l1 != 285) // '||'
  9969. {
  9970. break;
  9971. }
  9972. shiftT(285); // '||'
  9973. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9974. try_RangeExpr();
  9975. }
  9976. }
  9977. function parse_RangeExpr()
  9978. {
  9979. eventHandler.startNonterminal("RangeExpr", e0);
  9980. parse_AdditiveExpr();
  9981. if (l1 == 253) // 'to'
  9982. {
  9983. shift(253); // 'to'
  9984. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9985. whitespace();
  9986. parse_AdditiveExpr();
  9987. }
  9988. eventHandler.endNonterminal("RangeExpr", e0);
  9989. }
  9990. function try_RangeExpr()
  9991. {
  9992. try_AdditiveExpr();
  9993. if (l1 == 253) // 'to'
  9994. {
  9995. shiftT(253); // 'to'
  9996. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  9997. try_AdditiveExpr();
  9998. }
  9999. }
  10000. function parse_AdditiveExpr()
  10001. {
  10002. eventHandler.startNonterminal("AdditiveExpr", e0);
  10003. parse_MultiplicativeExpr();
  10004. for (;;)
  10005. {
  10006. if (l1 != 41 // '+'
  10007. && l1 != 43) // '-'
  10008. {
  10009. break;
  10010. }
  10011. switch (l1)
  10012. {
  10013. case 41: // '+'
  10014. shift(41); // '+'
  10015. break;
  10016. default:
  10017. shift(43); // '-'
  10018. }
  10019. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10020. whitespace();
  10021. parse_MultiplicativeExpr();
  10022. }
  10023. eventHandler.endNonterminal("AdditiveExpr", e0);
  10024. }
  10025. function try_AdditiveExpr()
  10026. {
  10027. try_MultiplicativeExpr();
  10028. for (;;)
  10029. {
  10030. if (l1 != 41 // '+'
  10031. && l1 != 43) // '-'
  10032. {
  10033. break;
  10034. }
  10035. switch (l1)
  10036. {
  10037. case 41: // '+'
  10038. shiftT(41); // '+'
  10039. break;
  10040. default:
  10041. shiftT(43); // '-'
  10042. }
  10043. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10044. try_MultiplicativeExpr();
  10045. }
  10046. }
  10047. function parse_MultiplicativeExpr()
  10048. {
  10049. eventHandler.startNonterminal("MultiplicativeExpr", e0);
  10050. parse_UnionExpr();
  10051. for (;;)
  10052. {
  10053. if (l1 != 39 // '*'
  10054. && l1 != 119 // 'div'
  10055. && l1 != 153 // 'idiv'
  10056. && l1 != 183) // 'mod'
  10057. {
  10058. break;
  10059. }
  10060. switch (l1)
  10061. {
  10062. case 39: // '*'
  10063. shift(39); // '*'
  10064. break;
  10065. case 119: // 'div'
  10066. shift(119); // 'div'
  10067. break;
  10068. case 153: // 'idiv'
  10069. shift(153); // 'idiv'
  10070. break;
  10071. default:
  10072. shift(183); // 'mod'
  10073. }
  10074. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10075. whitespace();
  10076. parse_UnionExpr();
  10077. }
  10078. eventHandler.endNonterminal("MultiplicativeExpr", e0);
  10079. }
  10080. function try_MultiplicativeExpr()
  10081. {
  10082. try_UnionExpr();
  10083. for (;;)
  10084. {
  10085. if (l1 != 39 // '*'
  10086. && l1 != 119 // 'div'
  10087. && l1 != 153 // 'idiv'
  10088. && l1 != 183) // 'mod'
  10089. {
  10090. break;
  10091. }
  10092. switch (l1)
  10093. {
  10094. case 39: // '*'
  10095. shiftT(39); // '*'
  10096. break;
  10097. case 119: // 'div'
  10098. shiftT(119); // 'div'
  10099. break;
  10100. case 153: // 'idiv'
  10101. shiftT(153); // 'idiv'
  10102. break;
  10103. default:
  10104. shiftT(183); // 'mod'
  10105. }
  10106. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10107. try_UnionExpr();
  10108. }
  10109. }
  10110. function parse_UnionExpr()
  10111. {
  10112. eventHandler.startNonterminal("UnionExpr", e0);
  10113. parse_IntersectExceptExpr();
  10114. for (;;)
  10115. {
  10116. if (l1 != 260 // 'union'
  10117. && l1 != 284) // '|'
  10118. {
  10119. break;
  10120. }
  10121. switch (l1)
  10122. {
  10123. case 260: // 'union'
  10124. shift(260); // 'union'
  10125. break;
  10126. default:
  10127. shift(284); // '|'
  10128. }
  10129. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10130. whitespace();
  10131. parse_IntersectExceptExpr();
  10132. }
  10133. eventHandler.endNonterminal("UnionExpr", e0);
  10134. }
  10135. function try_UnionExpr()
  10136. {
  10137. try_IntersectExceptExpr();
  10138. for (;;)
  10139. {
  10140. if (l1 != 260 // 'union'
  10141. && l1 != 284) // '|'
  10142. {
  10143. break;
  10144. }
  10145. switch (l1)
  10146. {
  10147. case 260: // 'union'
  10148. shiftT(260); // 'union'
  10149. break;
  10150. default:
  10151. shiftT(284); // '|'
  10152. }
  10153. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10154. try_IntersectExceptExpr();
  10155. }
  10156. }
  10157. function parse_IntersectExceptExpr()
  10158. {
  10159. eventHandler.startNonterminal("IntersectExceptExpr", e0);
  10160. parse_InstanceofExpr();
  10161. for (;;)
  10162. {
  10163. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10164. if (l1 != 132 // 'except'
  10165. && l1 != 164) // 'intersect'
  10166. {
  10167. break;
  10168. }
  10169. switch (l1)
  10170. {
  10171. case 164: // 'intersect'
  10172. shift(164); // 'intersect'
  10173. break;
  10174. default:
  10175. shift(132); // 'except'
  10176. }
  10177. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10178. whitespace();
  10179. parse_InstanceofExpr();
  10180. }
  10181. eventHandler.endNonterminal("IntersectExceptExpr", e0);
  10182. }
  10183. function try_IntersectExceptExpr()
  10184. {
  10185. try_InstanceofExpr();
  10186. for (;;)
  10187. {
  10188. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10189. if (l1 != 132 // 'except'
  10190. && l1 != 164) // 'intersect'
  10191. {
  10192. break;
  10193. }
  10194. switch (l1)
  10195. {
  10196. case 164: // 'intersect'
  10197. shiftT(164); // 'intersect'
  10198. break;
  10199. default:
  10200. shiftT(132); // 'except'
  10201. }
  10202. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10203. try_InstanceofExpr();
  10204. }
  10205. }
  10206. function parse_InstanceofExpr()
  10207. {
  10208. eventHandler.startNonterminal("InstanceofExpr", e0);
  10209. parse_TreatExpr();
  10210. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10211. if (l1 == 162) // 'instance'
  10212. {
  10213. shift(162); // 'instance'
  10214. lookahead1W(67); // S^WS | '(:' | 'of'
  10215. shift(200); // 'of'
  10216. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  10217. whitespace();
  10218. parse_SequenceType();
  10219. }
  10220. eventHandler.endNonterminal("InstanceofExpr", e0);
  10221. }
  10222. function try_InstanceofExpr()
  10223. {
  10224. try_TreatExpr();
  10225. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10226. if (l1 == 162) // 'instance'
  10227. {
  10228. shiftT(162); // 'instance'
  10229. lookahead1W(67); // S^WS | '(:' | 'of'
  10230. shiftT(200); // 'of'
  10231. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  10232. try_SequenceType();
  10233. }
  10234. }
  10235. function parse_TreatExpr()
  10236. {
  10237. eventHandler.startNonterminal("TreatExpr", e0);
  10238. parse_CastableExpr();
  10239. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10240. if (l1 == 254) // 'treat'
  10241. {
  10242. shift(254); // 'treat'
  10243. lookahead1W(33); // S^WS | '(:' | 'as'
  10244. shift(80); // 'as'
  10245. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  10246. whitespace();
  10247. parse_SequenceType();
  10248. }
  10249. eventHandler.endNonterminal("TreatExpr", e0);
  10250. }
  10251. function try_TreatExpr()
  10252. {
  10253. try_CastableExpr();
  10254. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10255. if (l1 == 254) // 'treat'
  10256. {
  10257. shiftT(254); // 'treat'
  10258. lookahead1W(33); // S^WS | '(:' | 'as'
  10259. shiftT(80); // 'as'
  10260. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  10261. try_SequenceType();
  10262. }
  10263. }
  10264. function parse_CastableExpr()
  10265. {
  10266. eventHandler.startNonterminal("CastableExpr", e0);
  10267. parse_CastExpr();
  10268. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10269. if (l1 == 91) // 'castable'
  10270. {
  10271. shift(91); // 'castable'
  10272. lookahead1W(33); // S^WS | '(:' | 'as'
  10273. shift(80); // 'as'
  10274. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10275. whitespace();
  10276. parse_SingleType();
  10277. }
  10278. eventHandler.endNonterminal("CastableExpr", e0);
  10279. }
  10280. function try_CastableExpr()
  10281. {
  10282. try_CastExpr();
  10283. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10284. if (l1 == 91) // 'castable'
  10285. {
  10286. shiftT(91); // 'castable'
  10287. lookahead1W(33); // S^WS | '(:' | 'as'
  10288. shiftT(80); // 'as'
  10289. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10290. try_SingleType();
  10291. }
  10292. }
  10293. function parse_CastExpr()
  10294. {
  10295. eventHandler.startNonterminal("CastExpr", e0);
  10296. parse_UnaryExpr();
  10297. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10298. if (l1 == 90) // 'cast'
  10299. {
  10300. shift(90); // 'cast'
  10301. lookahead1W(33); // S^WS | '(:' | 'as'
  10302. shift(80); // 'as'
  10303. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10304. whitespace();
  10305. parse_SingleType();
  10306. }
  10307. eventHandler.endNonterminal("CastExpr", e0);
  10308. }
  10309. function try_CastExpr()
  10310. {
  10311. try_UnaryExpr();
  10312. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  10313. if (l1 == 90) // 'cast'
  10314. {
  10315. shiftT(90); // 'cast'
  10316. lookahead1W(33); // S^WS | '(:' | 'as'
  10317. shiftT(80); // 'as'
  10318. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10319. try_SingleType();
  10320. }
  10321. }
  10322. function parse_UnaryExpr()
  10323. {
  10324. eventHandler.startNonterminal("UnaryExpr", e0);
  10325. for (;;)
  10326. {
  10327. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10328. if (l1 != 41 // '+'
  10329. && l1 != 43) // '-'
  10330. {
  10331. break;
  10332. }
  10333. switch (l1)
  10334. {
  10335. case 43: // '-'
  10336. shift(43); // '-'
  10337. break;
  10338. default:
  10339. shift(41); // '+'
  10340. }
  10341. }
  10342. whitespace();
  10343. parse_ValueExpr();
  10344. eventHandler.endNonterminal("UnaryExpr", e0);
  10345. }
  10346. function try_UnaryExpr()
  10347. {
  10348. for (;;)
  10349. {
  10350. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10351. if (l1 != 41 // '+'
  10352. && l1 != 43) // '-'
  10353. {
  10354. break;
  10355. }
  10356. switch (l1)
  10357. {
  10358. case 43: // '-'
  10359. shiftT(43); // '-'
  10360. break;
  10361. default:
  10362. shiftT(41); // '+'
  10363. }
  10364. }
  10365. try_ValueExpr();
  10366. }
  10367. function parse_ValueExpr()
  10368. {
  10369. eventHandler.startNonterminal("ValueExpr", e0);
  10370. switch (l1)
  10371. {
  10372. case 266: // 'validate'
  10373. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  10374. break;
  10375. default:
  10376. lk = l1;
  10377. }
  10378. switch (lk)
  10379. {
  10380. case 89354: // 'validate' 'lax'
  10381. case 125706: // 'validate' 'strict'
  10382. case 132362: // 'validate' 'type'
  10383. case 144138: // 'validate' '{'
  10384. parse_ValidateExpr();
  10385. break;
  10386. case 36: // '(#'
  10387. parse_ExtensionExpr();
  10388. break;
  10389. default:
  10390. parse_SimpleMapExpr();
  10391. }
  10392. eventHandler.endNonterminal("ValueExpr", e0);
  10393. }
  10394. function try_ValueExpr()
  10395. {
  10396. switch (l1)
  10397. {
  10398. case 266: // 'validate'
  10399. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  10400. break;
  10401. default:
  10402. lk = l1;
  10403. }
  10404. switch (lk)
  10405. {
  10406. case 89354: // 'validate' 'lax'
  10407. case 125706: // 'validate' 'strict'
  10408. case 132362: // 'validate' 'type'
  10409. case 144138: // 'validate' '{'
  10410. try_ValidateExpr();
  10411. break;
  10412. case 36: // '(#'
  10413. try_ExtensionExpr();
  10414. break;
  10415. default:
  10416. try_SimpleMapExpr();
  10417. }
  10418. }
  10419. function parse_SimpleMapExpr()
  10420. {
  10421. eventHandler.startNonterminal("SimpleMapExpr", e0);
  10422. parse_PathExpr();
  10423. for (;;)
  10424. {
  10425. if (l1 != 26) // '!'
  10426. {
  10427. break;
  10428. }
  10429. shift(26); // '!'
  10430. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10431. whitespace();
  10432. parse_PathExpr();
  10433. }
  10434. eventHandler.endNonterminal("SimpleMapExpr", e0);
  10435. }
  10436. function try_SimpleMapExpr()
  10437. {
  10438. try_PathExpr();
  10439. for (;;)
  10440. {
  10441. if (l1 != 26) // '!'
  10442. {
  10443. break;
  10444. }
  10445. shiftT(26); // '!'
  10446. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10447. try_PathExpr();
  10448. }
  10449. }
  10450. function parse_GeneralComp()
  10451. {
  10452. eventHandler.startNonterminal("GeneralComp", e0);
  10453. switch (l1)
  10454. {
  10455. case 61: // '='
  10456. shift(61); // '='
  10457. break;
  10458. case 27: // '!='
  10459. shift(27); // '!='
  10460. break;
  10461. case 55: // '<'
  10462. shift(55); // '<'
  10463. break;
  10464. case 59: // '<='
  10465. shift(59); // '<='
  10466. break;
  10467. case 62: // '>'
  10468. shift(62); // '>'
  10469. break;
  10470. default:
  10471. shift(63); // '>='
  10472. }
  10473. eventHandler.endNonterminal("GeneralComp", e0);
  10474. }
  10475. function try_GeneralComp()
  10476. {
  10477. switch (l1)
  10478. {
  10479. case 61: // '='
  10480. shiftT(61); // '='
  10481. break;
  10482. case 27: // '!='
  10483. shiftT(27); // '!='
  10484. break;
  10485. case 55: // '<'
  10486. shiftT(55); // '<'
  10487. break;
  10488. case 59: // '<='
  10489. shiftT(59); // '<='
  10490. break;
  10491. case 62: // '>'
  10492. shiftT(62); // '>'
  10493. break;
  10494. default:
  10495. shiftT(63); // '>='
  10496. }
  10497. }
  10498. function parse_ValueComp()
  10499. {
  10500. eventHandler.startNonterminal("ValueComp", e0);
  10501. switch (l1)
  10502. {
  10503. case 129: // 'eq'
  10504. shift(129); // 'eq'
  10505. break;
  10506. case 189: // 'ne'
  10507. shift(189); // 'ne'
  10508. break;
  10509. case 181: // 'lt'
  10510. shift(181); // 'lt'
  10511. break;
  10512. case 175: // 'le'
  10513. shift(175); // 'le'
  10514. break;
  10515. case 152: // 'gt'
  10516. shift(152); // 'gt'
  10517. break;
  10518. default:
  10519. shift(148); // 'ge'
  10520. }
  10521. eventHandler.endNonterminal("ValueComp", e0);
  10522. }
  10523. function try_ValueComp()
  10524. {
  10525. switch (l1)
  10526. {
  10527. case 129: // 'eq'
  10528. shiftT(129); // 'eq'
  10529. break;
  10530. case 189: // 'ne'
  10531. shiftT(189); // 'ne'
  10532. break;
  10533. case 181: // 'lt'
  10534. shiftT(181); // 'lt'
  10535. break;
  10536. case 175: // 'le'
  10537. shiftT(175); // 'le'
  10538. break;
  10539. case 152: // 'gt'
  10540. shiftT(152); // 'gt'
  10541. break;
  10542. default:
  10543. shiftT(148); // 'ge'
  10544. }
  10545. }
  10546. function parse_NodeComp()
  10547. {
  10548. eventHandler.startNonterminal("NodeComp", e0);
  10549. switch (l1)
  10550. {
  10551. case 166: // 'is'
  10552. shift(166); // 'is'
  10553. break;
  10554. case 58: // '<<'
  10555. shift(58); // '<<'
  10556. break;
  10557. default:
  10558. shift(64); // '>>'
  10559. }
  10560. eventHandler.endNonterminal("NodeComp", e0);
  10561. }
  10562. function try_NodeComp()
  10563. {
  10564. switch (l1)
  10565. {
  10566. case 166: // 'is'
  10567. shiftT(166); // 'is'
  10568. break;
  10569. case 58: // '<<'
  10570. shiftT(58); // '<<'
  10571. break;
  10572. default:
  10573. shiftT(64); // '>>'
  10574. }
  10575. }
  10576. function parse_ValidateExpr()
  10577. {
  10578. eventHandler.startNonterminal("ValidateExpr", e0);
  10579. shift(266); // 'validate'
  10580. lookahead1W(175); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  10581. if (l1 != 281) // '{'
  10582. {
  10583. switch (l1)
  10584. {
  10585. case 258: // 'type'
  10586. shift(258); // 'type'
  10587. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10588. whitespace();
  10589. parse_TypeName();
  10590. break;
  10591. default:
  10592. whitespace();
  10593. parse_ValidationMode();
  10594. }
  10595. }
  10596. lookahead1W(90); // S^WS | '(:' | '{'
  10597. shift(281); // '{'
  10598. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10599. whitespace();
  10600. parse_Expr();
  10601. shift(287); // '}'
  10602. eventHandler.endNonterminal("ValidateExpr", e0);
  10603. }
  10604. function try_ValidateExpr()
  10605. {
  10606. shiftT(266); // 'validate'
  10607. lookahead1W(175); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  10608. if (l1 != 281) // '{'
  10609. {
  10610. switch (l1)
  10611. {
  10612. case 258: // 'type'
  10613. shiftT(258); // 'type'
  10614. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  10615. try_TypeName();
  10616. break;
  10617. default:
  10618. try_ValidationMode();
  10619. }
  10620. }
  10621. lookahead1W(90); // S^WS | '(:' | '{'
  10622. shiftT(281); // '{'
  10623. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10624. try_Expr();
  10625. shiftT(287); // '}'
  10626. }
  10627. function parse_ValidationMode()
  10628. {
  10629. eventHandler.startNonterminal("ValidationMode", e0);
  10630. switch (l1)
  10631. {
  10632. case 174: // 'lax'
  10633. shift(174); // 'lax'
  10634. break;
  10635. default:
  10636. shift(245); // 'strict'
  10637. }
  10638. eventHandler.endNonterminal("ValidationMode", e0);
  10639. }
  10640. function try_ValidationMode()
  10641. {
  10642. switch (l1)
  10643. {
  10644. case 174: // 'lax'
  10645. shiftT(174); // 'lax'
  10646. break;
  10647. default:
  10648. shiftT(245); // 'strict'
  10649. }
  10650. }
  10651. function parse_ExtensionExpr()
  10652. {
  10653. eventHandler.startNonterminal("ExtensionExpr", e0);
  10654. for (;;)
  10655. {
  10656. whitespace();
  10657. parse_Pragma();
  10658. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  10659. if (l1 != 36) // '(#'
  10660. {
  10661. break;
  10662. }
  10663. }
  10664. shift(281); // '{'
  10665. lookahead1W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10666. if (l1 != 287) // '}'
  10667. {
  10668. whitespace();
  10669. parse_Expr();
  10670. }
  10671. shift(287); // '}'
  10672. eventHandler.endNonterminal("ExtensionExpr", e0);
  10673. }
  10674. function try_ExtensionExpr()
  10675. {
  10676. for (;;)
  10677. {
  10678. try_Pragma();
  10679. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  10680. if (l1 != 36) // '(#'
  10681. {
  10682. break;
  10683. }
  10684. }
  10685. shiftT(281); // '{'
  10686. lookahead1W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10687. if (l1 != 287) // '}'
  10688. {
  10689. try_Expr();
  10690. }
  10691. shiftT(287); // '}'
  10692. }
  10693. function parse_Pragma()
  10694. {
  10695. eventHandler.startNonterminal("Pragma", e0);
  10696. shift(36); // '(#'
  10697. lookahead1(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  10698. if (l1 == 21) // S
  10699. {
  10700. shift(21); // S
  10701. }
  10702. parse_EQName();
  10703. lookahead1(10); // S | '#)'
  10704. if (l1 == 21) // S
  10705. {
  10706. shift(21); // S
  10707. lookahead1(0); // PragmaContents
  10708. shift(1); // PragmaContents
  10709. }
  10710. lookahead1(5); // '#)'
  10711. shift(30); // '#)'
  10712. eventHandler.endNonterminal("Pragma", e0);
  10713. }
  10714. function try_Pragma()
  10715. {
  10716. shiftT(36); // '(#'
  10717. lookahead1(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  10718. if (l1 == 21) // S
  10719. {
  10720. shiftT(21); // S
  10721. }
  10722. try_EQName();
  10723. lookahead1(10); // S | '#)'
  10724. if (l1 == 21) // S
  10725. {
  10726. shiftT(21); // S
  10727. lookahead1(0); // PragmaContents
  10728. shiftT(1); // PragmaContents
  10729. }
  10730. lookahead1(5); // '#)'
  10731. shiftT(30); // '#)'
  10732. }
  10733. function parse_PathExpr()
  10734. {
  10735. eventHandler.startNonterminal("PathExpr", e0);
  10736. switch (l1)
  10737. {
  10738. case 47: // '/'
  10739. shift(47); // '/'
  10740. lookahead1W(288); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10741. switch (l1)
  10742. {
  10743. case 25: // EOF
  10744. case 26: // '!'
  10745. case 27: // '!='
  10746. case 38: // ')'
  10747. case 39: // '*'
  10748. case 41: // '+'
  10749. case 42: // ','
  10750. case 43: // '-'
  10751. case 50: // ':'
  10752. case 54: // ';'
  10753. case 58: // '<<'
  10754. case 59: // '<='
  10755. case 61: // '='
  10756. case 62: // '>'
  10757. case 63: // '>='
  10758. case 64: // '>>'
  10759. case 70: // ']'
  10760. case 88: // 'by'
  10761. case 100: // 'contains'
  10762. case 209: // 'paragraphs'
  10763. case 237: // 'sentences'
  10764. case 252: // 'times'
  10765. case 279: // 'words'
  10766. case 284: // '|'
  10767. case 285: // '||'
  10768. case 286: // '|}'
  10769. case 287: // '}'
  10770. break;
  10771. default:
  10772. whitespace();
  10773. parse_RelativePathExpr();
  10774. }
  10775. break;
  10776. case 48: // '//'
  10777. shift(48); // '//'
  10778. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10779. whitespace();
  10780. parse_RelativePathExpr();
  10781. break;
  10782. default:
  10783. parse_RelativePathExpr();
  10784. }
  10785. eventHandler.endNonterminal("PathExpr", e0);
  10786. }
  10787. function try_PathExpr()
  10788. {
  10789. switch (l1)
  10790. {
  10791. case 47: // '/'
  10792. shiftT(47); // '/'
  10793. lookahead1W(288); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10794. switch (l1)
  10795. {
  10796. case 25: // EOF
  10797. case 26: // '!'
  10798. case 27: // '!='
  10799. case 38: // ')'
  10800. case 39: // '*'
  10801. case 41: // '+'
  10802. case 42: // ','
  10803. case 43: // '-'
  10804. case 50: // ':'
  10805. case 54: // ';'
  10806. case 58: // '<<'
  10807. case 59: // '<='
  10808. case 61: // '='
  10809. case 62: // '>'
  10810. case 63: // '>='
  10811. case 64: // '>>'
  10812. case 70: // ']'
  10813. case 88: // 'by'
  10814. case 100: // 'contains'
  10815. case 209: // 'paragraphs'
  10816. case 237: // 'sentences'
  10817. case 252: // 'times'
  10818. case 279: // 'words'
  10819. case 284: // '|'
  10820. case 285: // '||'
  10821. case 286: // '|}'
  10822. case 287: // '}'
  10823. break;
  10824. default:
  10825. try_RelativePathExpr();
  10826. }
  10827. break;
  10828. case 48: // '//'
  10829. shiftT(48); // '//'
  10830. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  10831. try_RelativePathExpr();
  10832. break;
  10833. default:
  10834. try_RelativePathExpr();
  10835. }
  10836. }
  10837. function parse_RelativePathExpr()
  10838. {
  10839. eventHandler.startNonterminal("RelativePathExpr", e0);
  10840. parse_PostfixExpr();
  10841. for (;;)
  10842. {
  10843. switch (l1)
  10844. {
  10845. case 26: // '!'
  10846. lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  10847. break;
  10848. default:
  10849. lk = l1;
  10850. }
  10851. if (lk != 25 // EOF
  10852. && lk != 27 // '!='
  10853. && lk != 38 // ')'
  10854. && lk != 39 // '*'
  10855. && lk != 41 // '+'
  10856. && lk != 42 // ','
  10857. && lk != 43 // '-'
  10858. && lk != 47 // '/'
  10859. && lk != 48 // '//'
  10860. && lk != 50 // ':'
  10861. && lk != 54 // ';'
  10862. && lk != 55 // '<'
  10863. && lk != 58 // '<<'
  10864. && lk != 59 // '<='
  10865. && lk != 61 // '='
  10866. && lk != 62 // '>'
  10867. && lk != 63 // '>='
  10868. && lk != 64 // '>>'
  10869. && lk != 70 // ']'
  10870. && lk != 71 // 'after'
  10871. && lk != 76 // 'and'
  10872. && lk != 80 // 'as'
  10873. && lk != 81 // 'ascending'
  10874. && lk != 82 // 'at'
  10875. && lk != 85 // 'before'
  10876. && lk != 88 // 'by'
  10877. && lk != 89 // 'case'
  10878. && lk != 90 // 'cast'
  10879. && lk != 91 // 'castable'
  10880. && lk != 95 // 'collation'
  10881. && lk != 100 // 'contains'
  10882. && lk != 106 // 'count'
  10883. && lk != 110 // 'default'
  10884. && lk != 114 // 'descending'
  10885. && lk != 119 // 'div'
  10886. && lk != 123 // 'else'
  10887. && lk != 124 // 'empty'
  10888. && lk != 127 // 'end'
  10889. && lk != 129 // 'eq'
  10890. && lk != 132 // 'except'
  10891. && lk != 139 // 'for'
  10892. && lk != 148 // 'ge'
  10893. && lk != 150 // 'group'
  10894. && lk != 152 // 'gt'
  10895. && lk != 153 // 'idiv'
  10896. && lk != 162 // 'instance'
  10897. && lk != 164 // 'intersect'
  10898. && lk != 165 // 'into'
  10899. && lk != 166 // 'is'
  10900. && lk != 175 // 'le'
  10901. && lk != 177 // 'let'
  10902. && lk != 181 // 'lt'
  10903. && lk != 183 // 'mod'
  10904. && lk != 184 // 'modify'
  10905. && lk != 189 // 'ne'
  10906. && lk != 202 // 'only'
  10907. && lk != 204 // 'or'
  10908. && lk != 205 // 'order'
  10909. && lk != 209 // 'paragraphs'
  10910. && lk != 224 // 'return'
  10911. && lk != 228 // 'satisfies'
  10912. && lk != 237 // 'sentences'
  10913. && lk != 241 // 'stable'
  10914. && lk != 242 // 'start'
  10915. && lk != 252 // 'times'
  10916. && lk != 253 // 'to'
  10917. && lk != 254 // 'treat'
  10918. && lk != 260 // 'union'
  10919. && lk != 272 // 'where'
  10920. && lk != 276 // 'with'
  10921. && lk != 279 // 'words'
  10922. && lk != 284 // '|'
  10923. && lk != 285 // '||'
  10924. && lk != 286 // '|}'
  10925. && lk != 287 // '}'
  10926. && lk != 2586 // '!' Wildcard
  10927. && lk != 23578 // '!' '..'
  10928. && lk != 24090 // '!' '/'
  10929. && lk != 24602 // '!' '//'
  10930. && lk != 34330) // '!' '@'
  10931. {
  10932. lk = memoized(3, e0);
  10933. if (lk == 0)
  10934. {
  10935. var b0A = b0; var e0A = e0; var l1A = l1;
  10936. var b1A = b1; var e1A = e1; var l2A = l2;
  10937. var b2A = b2; var e2A = e2;
  10938. try
  10939. {
  10940. switch (l1)
  10941. {
  10942. case 47: // '/'
  10943. shiftT(47); // '/'
  10944. break;
  10945. case 48: // '//'
  10946. shiftT(48); // '//'
  10947. break;
  10948. default:
  10949. shiftT(26); // '!'
  10950. }
  10951. lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  10952. try_StepExpr();
  10953. lk = -1;
  10954. }
  10955. catch (p1A)
  10956. {
  10957. lk = -2;
  10958. }
  10959. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  10960. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  10961. b2 = b2A; e2 = e2A; end = e2A; }}
  10962. memoize(3, e0, lk);
  10963. }
  10964. }
  10965. if (lk != -1
  10966. && lk != 47 // '/'
  10967. && lk != 48 // '//'
  10968. && lk != 2586 // '!' Wildcard
  10969. && lk != 23578 // '!' '..'
  10970. && lk != 34330) // '!' '@'
  10971. {
  10972. break;
  10973. }
  10974. switch (l1)
  10975. {
  10976. case 47: // '/'
  10977. shift(47); // '/'
  10978. break;
  10979. case 48: // '//'
  10980. shift(48); // '//'
  10981. break;
  10982. default:
  10983. shift(26); // '!'
  10984. }
  10985. lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  10986. whitespace();
  10987. parse_StepExpr();
  10988. }
  10989. eventHandler.endNonterminal("RelativePathExpr", e0);
  10990. }
  10991. function try_RelativePathExpr()
  10992. {
  10993. try_PostfixExpr();
  10994. for (;;)
  10995. {
  10996. switch (l1)
  10997. {
  10998. case 26: // '!'
  10999. lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  11000. break;
  11001. default:
  11002. lk = l1;
  11003. }
  11004. if (lk != 25 // EOF
  11005. && lk != 27 // '!='
  11006. && lk != 38 // ')'
  11007. && lk != 39 // '*'
  11008. && lk != 41 // '+'
  11009. && lk != 42 // ','
  11010. && lk != 43 // '-'
  11011. && lk != 47 // '/'
  11012. && lk != 48 // '//'
  11013. && lk != 50 // ':'
  11014. && lk != 54 // ';'
  11015. && lk != 55 // '<'
  11016. && lk != 58 // '<<'
  11017. && lk != 59 // '<='
  11018. && lk != 61 // '='
  11019. && lk != 62 // '>'
  11020. && lk != 63 // '>='
  11021. && lk != 64 // '>>'
  11022. && lk != 70 // ']'
  11023. && lk != 71 // 'after'
  11024. && lk != 76 // 'and'
  11025. && lk != 80 // 'as'
  11026. && lk != 81 // 'ascending'
  11027. && lk != 82 // 'at'
  11028. && lk != 85 // 'before'
  11029. && lk != 88 // 'by'
  11030. && lk != 89 // 'case'
  11031. && lk != 90 // 'cast'
  11032. && lk != 91 // 'castable'
  11033. && lk != 95 // 'collation'
  11034. && lk != 100 // 'contains'
  11035. && lk != 106 // 'count'
  11036. && lk != 110 // 'default'
  11037. && lk != 114 // 'descending'
  11038. && lk != 119 // 'div'
  11039. && lk != 123 // 'else'
  11040. && lk != 124 // 'empty'
  11041. && lk != 127 // 'end'
  11042. && lk != 129 // 'eq'
  11043. && lk != 132 // 'except'
  11044. && lk != 139 // 'for'
  11045. && lk != 148 // 'ge'
  11046. && lk != 150 // 'group'
  11047. && lk != 152 // 'gt'
  11048. && lk != 153 // 'idiv'
  11049. && lk != 162 // 'instance'
  11050. && lk != 164 // 'intersect'
  11051. && lk != 165 // 'into'
  11052. && lk != 166 // 'is'
  11053. && lk != 175 // 'le'
  11054. && lk != 177 // 'let'
  11055. && lk != 181 // 'lt'
  11056. && lk != 183 // 'mod'
  11057. && lk != 184 // 'modify'
  11058. && lk != 189 // 'ne'
  11059. && lk != 202 // 'only'
  11060. && lk != 204 // 'or'
  11061. && lk != 205 // 'order'
  11062. && lk != 209 // 'paragraphs'
  11063. && lk != 224 // 'return'
  11064. && lk != 228 // 'satisfies'
  11065. && lk != 237 // 'sentences'
  11066. && lk != 241 // 'stable'
  11067. && lk != 242 // 'start'
  11068. && lk != 252 // 'times'
  11069. && lk != 253 // 'to'
  11070. && lk != 254 // 'treat'
  11071. && lk != 260 // 'union'
  11072. && lk != 272 // 'where'
  11073. && lk != 276 // 'with'
  11074. && lk != 279 // 'words'
  11075. && lk != 284 // '|'
  11076. && lk != 285 // '||'
  11077. && lk != 286 // '|}'
  11078. && lk != 287 // '}'
  11079. && lk != 2586 // '!' Wildcard
  11080. && lk != 23578 // '!' '..'
  11081. && lk != 24090 // '!' '/'
  11082. && lk != 24602 // '!' '//'
  11083. && lk != 34330) // '!' '@'
  11084. {
  11085. lk = memoized(3, e0);
  11086. if (lk == 0)
  11087. {
  11088. var b0A = b0; var e0A = e0; var l1A = l1;
  11089. var b1A = b1; var e1A = e1; var l2A = l2;
  11090. var b2A = b2; var e2A = e2;
  11091. try
  11092. {
  11093. switch (l1)
  11094. {
  11095. case 47: // '/'
  11096. shiftT(47); // '/'
  11097. break;
  11098. case 48: // '//'
  11099. shiftT(48); // '//'
  11100. break;
  11101. default:
  11102. shiftT(26); // '!'
  11103. }
  11104. lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  11105. try_StepExpr();
  11106. memoize(3, e0A, -1);
  11107. continue;
  11108. }
  11109. catch (p1A)
  11110. {
  11111. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  11112. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  11113. b2 = b2A; e2 = e2A; end = e2A; }}
  11114. memoize(3, e0A, -2);
  11115. break;
  11116. }
  11117. }
  11118. }
  11119. if (lk != -1
  11120. && lk != 47 // '/'
  11121. && lk != 48 // '//'
  11122. && lk != 2586 // '!' Wildcard
  11123. && lk != 23578 // '!' '..'
  11124. && lk != 34330) // '!' '@'
  11125. {
  11126. break;
  11127. }
  11128. switch (l1)
  11129. {
  11130. case 47: // '/'
  11131. shiftT(47); // '/'
  11132. break;
  11133. case 48: // '//'
  11134. shiftT(48); // '//'
  11135. break;
  11136. default:
  11137. shiftT(26); // '!'
  11138. }
  11139. lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  11140. try_StepExpr();
  11141. }
  11142. }
  11143. function parse_StepExpr()
  11144. {
  11145. eventHandler.startNonterminal("StepExpr", e0);
  11146. switch (l1)
  11147. {
  11148. case 83: // 'attribute'
  11149. lookahead2W(287); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  11150. break;
  11151. case 122: // 'element'
  11152. lookahead2W(286); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  11153. break;
  11154. case 187: // 'namespace'
  11155. case 220: // 'processing-instruction'
  11156. lookahead2W(284); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  11157. break;
  11158. case 135: // 'false'
  11159. case 197: // 'null'
  11160. case 255: // 'true'
  11161. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  11162. break;
  11163. case 97: // 'comment'
  11164. case 120: // 'document'
  11165. case 206: // 'ordered'
  11166. case 249: // 'text'
  11167. case 262: // 'unordered'
  11168. lookahead2W(238); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  11169. break;
  11170. case 79: // 'array'
  11171. case 125: // 'empty-sequence'
  11172. case 154: // 'if'
  11173. case 167: // 'item'
  11174. case 169: // 'json-item'
  11175. case 247: // 'structured-item'
  11176. case 248: // 'switch'
  11177. case 259: // 'typeswitch'
  11178. lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  11179. break;
  11180. case 74: // 'ancestor'
  11181. case 75: // 'ancestor-or-self'
  11182. case 94: // 'child'
  11183. case 112: // 'descendant'
  11184. case 113: // 'descendant-or-self'
  11185. case 137: // 'following'
  11186. case 138: // 'following-sibling'
  11187. case 210: // 'parent'
  11188. case 216: // 'preceding'
  11189. case 217: // 'preceding-sibling'
  11190. case 234: // 'self'
  11191. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  11192. break;
  11193. case 6: // EQName^Token
  11194. case 71: // 'after'
  11195. case 73: // 'allowing'
  11196. case 76: // 'and'
  11197. case 78: // 'append'
  11198. case 80: // 'as'
  11199. case 81: // 'ascending'
  11200. case 82: // 'at'
  11201. case 84: // 'base-uri'
  11202. case 85: // 'before'
  11203. case 86: // 'boundary-space'
  11204. case 87: // 'break'
  11205. case 89: // 'case'
  11206. case 90: // 'cast'
  11207. case 91: // 'castable'
  11208. case 92: // 'catch'
  11209. case 95: // 'collation'
  11210. case 98: // 'constraint'
  11211. case 99: // 'construction'
  11212. case 102: // 'context'
  11213. case 103: // 'continue'
  11214. case 104: // 'copy'
  11215. case 105: // 'copy-namespaces'
  11216. case 106: // 'count'
  11217. case 107: // 'decimal-format'
  11218. case 109: // 'declare'
  11219. case 110: // 'default'
  11220. case 111: // 'delete'
  11221. case 114: // 'descending'
  11222. case 119: // 'div'
  11223. case 121: // 'document-node'
  11224. case 123: // 'else'
  11225. case 124: // 'empty'
  11226. case 126: // 'encoding'
  11227. case 127: // 'end'
  11228. case 129: // 'eq'
  11229. case 130: // 'every'
  11230. case 132: // 'except'
  11231. case 133: // 'exit'
  11232. case 134: // 'external'
  11233. case 136: // 'first'
  11234. case 139: // 'for'
  11235. case 142: // 'from'
  11236. case 143: // 'ft-option'
  11237. case 147: // 'function'
  11238. case 148: // 'ge'
  11239. case 150: // 'group'
  11240. case 152: // 'gt'
  11241. case 153: // 'idiv'
  11242. case 155: // 'import'
  11243. case 156: // 'in'
  11244. case 157: // 'index'
  11245. case 161: // 'insert'
  11246. case 162: // 'instance'
  11247. case 163: // 'integrity'
  11248. case 164: // 'intersect'
  11249. case 165: // 'into'
  11250. case 166: // 'is'
  11251. case 168: // 'json'
  11252. case 170: // 'jsoniq'
  11253. case 173: // 'last'
  11254. case 174: // 'lax'
  11255. case 175: // 'le'
  11256. case 177: // 'let'
  11257. case 179: // 'loop'
  11258. case 181: // 'lt'
  11259. case 183: // 'mod'
  11260. case 184: // 'modify'
  11261. case 185: // 'module'
  11262. case 188: // 'namespace-node'
  11263. case 189: // 'ne'
  11264. case 194: // 'node'
  11265. case 195: // 'nodes'
  11266. case 198: // 'object'
  11267. case 202: // 'only'
  11268. case 203: // 'option'
  11269. case 204: // 'or'
  11270. case 205: // 'order'
  11271. case 207: // 'ordering'
  11272. case 222: // 'rename'
  11273. case 223: // 'replace'
  11274. case 224: // 'return'
  11275. case 225: // 'returning'
  11276. case 226: // 'revalidation'
  11277. case 228: // 'satisfies'
  11278. case 229: // 'schema'
  11279. case 230: // 'schema-attribute'
  11280. case 231: // 'schema-element'
  11281. case 232: // 'score'
  11282. case 233: // 'select'
  11283. case 239: // 'sliding'
  11284. case 240: // 'some'
  11285. case 241: // 'stable'
  11286. case 242: // 'start'
  11287. case 245: // 'strict'
  11288. case 253: // 'to'
  11289. case 254: // 'treat'
  11290. case 256: // 'try'
  11291. case 257: // 'tumbling'
  11292. case 258: // 'type'
  11293. case 260: // 'union'
  11294. case 263: // 'updating'
  11295. case 266: // 'validate'
  11296. case 267: // 'value'
  11297. case 268: // 'variable'
  11298. case 269: // 'version'
  11299. case 272: // 'where'
  11300. case 273: // 'while'
  11301. case 276: // 'with'
  11302. lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  11303. break;
  11304. default:
  11305. lk = l1;
  11306. }
  11307. if (lk == 12935 // 'false' EOF
  11308. || lk == 12997 // 'null' EOF
  11309. || lk == 13055 // 'true' EOF
  11310. || lk == 13447 // 'false' '!'
  11311. || lk == 13509 // 'null' '!'
  11312. || lk == 13567 // 'true' '!'
  11313. || lk == 13959 // 'false' '!='
  11314. || lk == 14021 // 'null' '!='
  11315. || lk == 14079 // 'true' '!='
  11316. || lk == 19591 // 'false' ')'
  11317. || lk == 19653 // 'null' ')'
  11318. || lk == 19711 // 'true' ')'
  11319. || lk == 20103 // 'false' '*'
  11320. || lk == 20165 // 'null' '*'
  11321. || lk == 20223 // 'true' '*'
  11322. || lk == 21127 // 'false' '+'
  11323. || lk == 21189 // 'null' '+'
  11324. || lk == 21247 // 'true' '+'
  11325. || lk == 21639 // 'false' ','
  11326. || lk == 21701 // 'null' ','
  11327. || lk == 21759 // 'true' ','
  11328. || lk == 22151 // 'false' '-'
  11329. || lk == 22213 // 'null' '-'
  11330. || lk == 22271 // 'true' '-'
  11331. || lk == 24199 // 'false' '/'
  11332. || lk == 24261 // 'null' '/'
  11333. || lk == 24319 // 'true' '/'
  11334. || lk == 24711 // 'false' '//'
  11335. || lk == 24773 // 'null' '//'
  11336. || lk == 24831 // 'true' '//'
  11337. || lk == 25735 // 'false' ':'
  11338. || lk == 25797 // 'null' ':'
  11339. || lk == 25855 // 'true' ':'
  11340. || lk == 27783 // 'false' ';'
  11341. || lk == 27845 // 'null' ';'
  11342. || lk == 27903 // 'true' ';'
  11343. || lk == 28295 // 'false' '<'
  11344. || lk == 28357 // 'null' '<'
  11345. || lk == 28415 // 'true' '<'
  11346. || lk == 29831 // 'false' '<<'
  11347. || lk == 29893 // 'null' '<<'
  11348. || lk == 29951 // 'true' '<<'
  11349. || lk == 30343 // 'false' '<='
  11350. || lk == 30405 // 'null' '<='
  11351. || lk == 30463 // 'true' '<='
  11352. || lk == 31367 // 'false' '='
  11353. || lk == 31429 // 'null' '='
  11354. || lk == 31487 // 'true' '='
  11355. || lk == 31879 // 'false' '>'
  11356. || lk == 31941 // 'null' '>'
  11357. || lk == 31999 // 'true' '>'
  11358. || lk == 32391 // 'false' '>='
  11359. || lk == 32453 // 'null' '>='
  11360. || lk == 32511 // 'true' '>='
  11361. || lk == 32903 // 'false' '>>'
  11362. || lk == 32965 // 'null' '>>'
  11363. || lk == 33023 // 'true' '>>'
  11364. || lk == 35463 // 'false' '['
  11365. || lk == 35525 // 'null' '['
  11366. || lk == 35583 // 'true' '['
  11367. || lk == 35975 // 'false' ']'
  11368. || lk == 36037 // 'null' ']'
  11369. || lk == 36095 // 'true' ']'
  11370. || lk == 36435 // 'attribute' 'after'
  11371. || lk == 36474 // 'element' 'after'
  11372. || lk == 36487 // 'false' 'after'
  11373. || lk == 36539 // 'namespace' 'after'
  11374. || lk == 36549 // 'null' 'after'
  11375. || lk == 36572 // 'processing-instruction' 'after'
  11376. || lk == 36607 // 'true' 'after'
  11377. || lk == 38995 // 'attribute' 'and'
  11378. || lk == 39034 // 'element' 'and'
  11379. || lk == 39047 // 'false' 'and'
  11380. || lk == 39099 // 'namespace' 'and'
  11381. || lk == 39109 // 'null' 'and'
  11382. || lk == 39132 // 'processing-instruction' 'and'
  11383. || lk == 39167 // 'true' 'and'
  11384. || lk == 41043 // 'attribute' 'as'
  11385. || lk == 41082 // 'element' 'as'
  11386. || lk == 41095 // 'false' 'as'
  11387. || lk == 41147 // 'namespace' 'as'
  11388. || lk == 41157 // 'null' 'as'
  11389. || lk == 41180 // 'processing-instruction' 'as'
  11390. || lk == 41215 // 'true' 'as'
  11391. || lk == 41555 // 'attribute' 'ascending'
  11392. || lk == 41594 // 'element' 'ascending'
  11393. || lk == 41607 // 'false' 'ascending'
  11394. || lk == 41659 // 'namespace' 'ascending'
  11395. || lk == 41669 // 'null' 'ascending'
  11396. || lk == 41692 // 'processing-instruction' 'ascending'
  11397. || lk == 41727 // 'true' 'ascending'
  11398. || lk == 42067 // 'attribute' 'at'
  11399. || lk == 42106 // 'element' 'at'
  11400. || lk == 42119 // 'false' 'at'
  11401. || lk == 42171 // 'namespace' 'at'
  11402. || lk == 42181 // 'null' 'at'
  11403. || lk == 42204 // 'processing-instruction' 'at'
  11404. || lk == 42239 // 'true' 'at'
  11405. || lk == 43603 // 'attribute' 'before'
  11406. || lk == 43642 // 'element' 'before'
  11407. || lk == 43655 // 'false' 'before'
  11408. || lk == 43707 // 'namespace' 'before'
  11409. || lk == 43717 // 'null' 'before'
  11410. || lk == 43740 // 'processing-instruction' 'before'
  11411. || lk == 43775 // 'true' 'before'
  11412. || lk == 45191 // 'false' 'by'
  11413. || lk == 45253 // 'null' 'by'
  11414. || lk == 45311 // 'true' 'by'
  11415. || lk == 45651 // 'attribute' 'case'
  11416. || lk == 45690 // 'element' 'case'
  11417. || lk == 45703 // 'false' 'case'
  11418. || lk == 45755 // 'namespace' 'case'
  11419. || lk == 45765 // 'null' 'case'
  11420. || lk == 45788 // 'processing-instruction' 'case'
  11421. || lk == 45823 // 'true' 'case'
  11422. || lk == 46163 // 'attribute' 'cast'
  11423. || lk == 46202 // 'element' 'cast'
  11424. || lk == 46215 // 'false' 'cast'
  11425. || lk == 46267 // 'namespace' 'cast'
  11426. || lk == 46277 // 'null' 'cast'
  11427. || lk == 46300 // 'processing-instruction' 'cast'
  11428. || lk == 46335 // 'true' 'cast'
  11429. || lk == 46675 // 'attribute' 'castable'
  11430. || lk == 46714 // 'element' 'castable'
  11431. || lk == 46727 // 'false' 'castable'
  11432. || lk == 46779 // 'namespace' 'castable'
  11433. || lk == 46789 // 'null' 'castable'
  11434. || lk == 46812 // 'processing-instruction' 'castable'
  11435. || lk == 46847 // 'true' 'castable'
  11436. || lk == 48723 // 'attribute' 'collation'
  11437. || lk == 48762 // 'element' 'collation'
  11438. || lk == 48775 // 'false' 'collation'
  11439. || lk == 48827 // 'namespace' 'collation'
  11440. || lk == 48837 // 'null' 'collation'
  11441. || lk == 48860 // 'processing-instruction' 'collation'
  11442. || lk == 48895 // 'true' 'collation'
  11443. || lk == 51335 // 'false' 'contains'
  11444. || lk == 51397 // 'null' 'contains'
  11445. || lk == 51455 // 'true' 'contains'
  11446. || lk == 54355 // 'attribute' 'count'
  11447. || lk == 54394 // 'element' 'count'
  11448. || lk == 54407 // 'false' 'count'
  11449. || lk == 54459 // 'namespace' 'count'
  11450. || lk == 54469 // 'null' 'count'
  11451. || lk == 54492 // 'processing-instruction' 'count'
  11452. || lk == 54527 // 'true' 'count'
  11453. || lk == 56403 // 'attribute' 'default'
  11454. || lk == 56442 // 'element' 'default'
  11455. || lk == 56455 // 'false' 'default'
  11456. || lk == 56507 // 'namespace' 'default'
  11457. || lk == 56517 // 'null' 'default'
  11458. || lk == 56540 // 'processing-instruction' 'default'
  11459. || lk == 56575 // 'true' 'default'
  11460. || lk == 58451 // 'attribute' 'descending'
  11461. || lk == 58490 // 'element' 'descending'
  11462. || lk == 58503 // 'false' 'descending'
  11463. || lk == 58555 // 'namespace' 'descending'
  11464. || lk == 58565 // 'null' 'descending'
  11465. || lk == 58588 // 'processing-instruction' 'descending'
  11466. || lk == 58623 // 'true' 'descending'
  11467. || lk == 61011 // 'attribute' 'div'
  11468. || lk == 61050 // 'element' 'div'
  11469. || lk == 61063 // 'false' 'div'
  11470. || lk == 61115 // 'namespace' 'div'
  11471. || lk == 61125 // 'null' 'div'
  11472. || lk == 61148 // 'processing-instruction' 'div'
  11473. || lk == 61183 // 'true' 'div'
  11474. || lk == 63059 // 'attribute' 'else'
  11475. || lk == 63098 // 'element' 'else'
  11476. || lk == 63111 // 'false' 'else'
  11477. || lk == 63163 // 'namespace' 'else'
  11478. || lk == 63173 // 'null' 'else'
  11479. || lk == 63196 // 'processing-instruction' 'else'
  11480. || lk == 63231 // 'true' 'else'
  11481. || lk == 63571 // 'attribute' 'empty'
  11482. || lk == 63610 // 'element' 'empty'
  11483. || lk == 63623 // 'false' 'empty'
  11484. || lk == 63675 // 'namespace' 'empty'
  11485. || lk == 63685 // 'null' 'empty'
  11486. || lk == 63708 // 'processing-instruction' 'empty'
  11487. || lk == 63743 // 'true' 'empty'
  11488. || lk == 65107 // 'attribute' 'end'
  11489. || lk == 65146 // 'element' 'end'
  11490. || lk == 65159 // 'false' 'end'
  11491. || lk == 65211 // 'namespace' 'end'
  11492. || lk == 65221 // 'null' 'end'
  11493. || lk == 65244 // 'processing-instruction' 'end'
  11494. || lk == 65279 // 'true' 'end'
  11495. || lk == 66131 // 'attribute' 'eq'
  11496. || lk == 66170 // 'element' 'eq'
  11497. || lk == 66183 // 'false' 'eq'
  11498. || lk == 66235 // 'namespace' 'eq'
  11499. || lk == 66245 // 'null' 'eq'
  11500. || lk == 66268 // 'processing-instruction' 'eq'
  11501. || lk == 66303 // 'true' 'eq'
  11502. || lk == 67667 // 'attribute' 'except'
  11503. || lk == 67706 // 'element' 'except'
  11504. || lk == 67719 // 'false' 'except'
  11505. || lk == 67771 // 'namespace' 'except'
  11506. || lk == 67781 // 'null' 'except'
  11507. || lk == 67804 // 'processing-instruction' 'except'
  11508. || lk == 67839 // 'true' 'except'
  11509. || lk == 71251 // 'attribute' 'for'
  11510. || lk == 71290 // 'element' 'for'
  11511. || lk == 71303 // 'false' 'for'
  11512. || lk == 71355 // 'namespace' 'for'
  11513. || lk == 71365 // 'null' 'for'
  11514. || lk == 71388 // 'processing-instruction' 'for'
  11515. || lk == 71423 // 'true' 'for'
  11516. || lk == 75859 // 'attribute' 'ge'
  11517. || lk == 75898 // 'element' 'ge'
  11518. || lk == 75911 // 'false' 'ge'
  11519. || lk == 75963 // 'namespace' 'ge'
  11520. || lk == 75973 // 'null' 'ge'
  11521. || lk == 75996 // 'processing-instruction' 'ge'
  11522. || lk == 76031 // 'true' 'ge'
  11523. || lk == 76883 // 'attribute' 'group'
  11524. || lk == 76922 // 'element' 'group'
  11525. || lk == 76935 // 'false' 'group'
  11526. || lk == 76987 // 'namespace' 'group'
  11527. || lk == 76997 // 'null' 'group'
  11528. || lk == 77020 // 'processing-instruction' 'group'
  11529. || lk == 77055 // 'true' 'group'
  11530. || lk == 77907 // 'attribute' 'gt'
  11531. || lk == 77946 // 'element' 'gt'
  11532. || lk == 77959 // 'false' 'gt'
  11533. || lk == 78011 // 'namespace' 'gt'
  11534. || lk == 78021 // 'null' 'gt'
  11535. || lk == 78044 // 'processing-instruction' 'gt'
  11536. || lk == 78079 // 'true' 'gt'
  11537. || lk == 78419 // 'attribute' 'idiv'
  11538. || lk == 78458 // 'element' 'idiv'
  11539. || lk == 78471 // 'false' 'idiv'
  11540. || lk == 78523 // 'namespace' 'idiv'
  11541. || lk == 78533 // 'null' 'idiv'
  11542. || lk == 78556 // 'processing-instruction' 'idiv'
  11543. || lk == 78591 // 'true' 'idiv'
  11544. || lk == 83027 // 'attribute' 'instance'
  11545. || lk == 83066 // 'element' 'instance'
  11546. || lk == 83079 // 'false' 'instance'
  11547. || lk == 83131 // 'namespace' 'instance'
  11548. || lk == 83141 // 'null' 'instance'
  11549. || lk == 83164 // 'processing-instruction' 'instance'
  11550. || lk == 83199 // 'true' 'instance'
  11551. || lk == 84051 // 'attribute' 'intersect'
  11552. || lk == 84090 // 'element' 'intersect'
  11553. || lk == 84103 // 'false' 'intersect'
  11554. || lk == 84155 // 'namespace' 'intersect'
  11555. || lk == 84165 // 'null' 'intersect'
  11556. || lk == 84188 // 'processing-instruction' 'intersect'
  11557. || lk == 84223 // 'true' 'intersect'
  11558. || lk == 84563 // 'attribute' 'into'
  11559. || lk == 84602 // 'element' 'into'
  11560. || lk == 84615 // 'false' 'into'
  11561. || lk == 84667 // 'namespace' 'into'
  11562. || lk == 84677 // 'null' 'into'
  11563. || lk == 84700 // 'processing-instruction' 'into'
  11564. || lk == 84735 // 'true' 'into'
  11565. || lk == 85075 // 'attribute' 'is'
  11566. || lk == 85114 // 'element' 'is'
  11567. || lk == 85127 // 'false' 'is'
  11568. || lk == 85179 // 'namespace' 'is'
  11569. || lk == 85189 // 'null' 'is'
  11570. || lk == 85212 // 'processing-instruction' 'is'
  11571. || lk == 85247 // 'true' 'is'
  11572. || lk == 89683 // 'attribute' 'le'
  11573. || lk == 89722 // 'element' 'le'
  11574. || lk == 89735 // 'false' 'le'
  11575. || lk == 89787 // 'namespace' 'le'
  11576. || lk == 89797 // 'null' 'le'
  11577. || lk == 89820 // 'processing-instruction' 'le'
  11578. || lk == 89855 // 'true' 'le'
  11579. || lk == 90707 // 'attribute' 'let'
  11580. || lk == 90746 // 'element' 'let'
  11581. || lk == 90759 // 'false' 'let'
  11582. || lk == 90811 // 'namespace' 'let'
  11583. || lk == 90821 // 'null' 'let'
  11584. || lk == 90844 // 'processing-instruction' 'let'
  11585. || lk == 90879 // 'true' 'let'
  11586. || lk == 92755 // 'attribute' 'lt'
  11587. || lk == 92794 // 'element' 'lt'
  11588. || lk == 92807 // 'false' 'lt'
  11589. || lk == 92859 // 'namespace' 'lt'
  11590. || lk == 92869 // 'null' 'lt'
  11591. || lk == 92892 // 'processing-instruction' 'lt'
  11592. || lk == 92927 // 'true' 'lt'
  11593. || lk == 93779 // 'attribute' 'mod'
  11594. || lk == 93818 // 'element' 'mod'
  11595. || lk == 93831 // 'false' 'mod'
  11596. || lk == 93883 // 'namespace' 'mod'
  11597. || lk == 93893 // 'null' 'mod'
  11598. || lk == 93916 // 'processing-instruction' 'mod'
  11599. || lk == 93951 // 'true' 'mod'
  11600. || lk == 94291 // 'attribute' 'modify'
  11601. || lk == 94330 // 'element' 'modify'
  11602. || lk == 94343 // 'false' 'modify'
  11603. || lk == 94395 // 'namespace' 'modify'
  11604. || lk == 94405 // 'null' 'modify'
  11605. || lk == 94428 // 'processing-instruction' 'modify'
  11606. || lk == 94463 // 'true' 'modify'
  11607. || lk == 96851 // 'attribute' 'ne'
  11608. || lk == 96890 // 'element' 'ne'
  11609. || lk == 96903 // 'false' 'ne'
  11610. || lk == 96955 // 'namespace' 'ne'
  11611. || lk == 96965 // 'null' 'ne'
  11612. || lk == 96988 // 'processing-instruction' 'ne'
  11613. || lk == 97023 // 'true' 'ne'
  11614. || lk == 103507 // 'attribute' 'only'
  11615. || lk == 103546 // 'element' 'only'
  11616. || lk == 103559 // 'false' 'only'
  11617. || lk == 103611 // 'namespace' 'only'
  11618. || lk == 103621 // 'null' 'only'
  11619. || lk == 103644 // 'processing-instruction' 'only'
  11620. || lk == 103679 // 'true' 'only'
  11621. || lk == 104531 // 'attribute' 'or'
  11622. || lk == 104570 // 'element' 'or'
  11623. || lk == 104583 // 'false' 'or'
  11624. || lk == 104635 // 'namespace' 'or'
  11625. || lk == 104645 // 'null' 'or'
  11626. || lk == 104668 // 'processing-instruction' 'or'
  11627. || lk == 104703 // 'true' 'or'
  11628. || lk == 105043 // 'attribute' 'order'
  11629. || lk == 105082 // 'element' 'order'
  11630. || lk == 105095 // 'false' 'order'
  11631. || lk == 105147 // 'namespace' 'order'
  11632. || lk == 105157 // 'null' 'order'
  11633. || lk == 105180 // 'processing-instruction' 'order'
  11634. || lk == 105215 // 'true' 'order'
  11635. || lk == 107143 // 'false' 'paragraphs'
  11636. || lk == 107205 // 'null' 'paragraphs'
  11637. || lk == 107263 // 'true' 'paragraphs'
  11638. || lk == 114771 // 'attribute' 'return'
  11639. || lk == 114810 // 'element' 'return'
  11640. || lk == 114823 // 'false' 'return'
  11641. || lk == 114875 // 'namespace' 'return'
  11642. || lk == 114885 // 'null' 'return'
  11643. || lk == 114908 // 'processing-instruction' 'return'
  11644. || lk == 114943 // 'true' 'return'
  11645. || lk == 116819 // 'attribute' 'satisfies'
  11646. || lk == 116858 // 'element' 'satisfies'
  11647. || lk == 116871 // 'false' 'satisfies'
  11648. || lk == 116923 // 'namespace' 'satisfies'
  11649. || lk == 116933 // 'null' 'satisfies'
  11650. || lk == 116956 // 'processing-instruction' 'satisfies'
  11651. || lk == 116991 // 'true' 'satisfies'
  11652. || lk == 121479 // 'false' 'sentences'
  11653. || lk == 121541 // 'null' 'sentences'
  11654. || lk == 121599 // 'true' 'sentences'
  11655. || lk == 123475 // 'attribute' 'stable'
  11656. || lk == 123514 // 'element' 'stable'
  11657. || lk == 123527 // 'false' 'stable'
  11658. || lk == 123579 // 'namespace' 'stable'
  11659. || lk == 123589 // 'null' 'stable'
  11660. || lk == 123612 // 'processing-instruction' 'stable'
  11661. || lk == 123647 // 'true' 'stable'
  11662. || lk == 123987 // 'attribute' 'start'
  11663. || lk == 124026 // 'element' 'start'
  11664. || lk == 124039 // 'false' 'start'
  11665. || lk == 124091 // 'namespace' 'start'
  11666. || lk == 124101 // 'null' 'start'
  11667. || lk == 124124 // 'processing-instruction' 'start'
  11668. || lk == 124159 // 'true' 'start'
  11669. || lk == 129159 // 'false' 'times'
  11670. || lk == 129221 // 'null' 'times'
  11671. || lk == 129279 // 'true' 'times'
  11672. || lk == 129619 // 'attribute' 'to'
  11673. || lk == 129658 // 'element' 'to'
  11674. || lk == 129671 // 'false' 'to'
  11675. || lk == 129723 // 'namespace' 'to'
  11676. || lk == 129733 // 'null' 'to'
  11677. || lk == 129756 // 'processing-instruction' 'to'
  11678. || lk == 129791 // 'true' 'to'
  11679. || lk == 130131 // 'attribute' 'treat'
  11680. || lk == 130170 // 'element' 'treat'
  11681. || lk == 130183 // 'false' 'treat'
  11682. || lk == 130235 // 'namespace' 'treat'
  11683. || lk == 130245 // 'null' 'treat'
  11684. || lk == 130268 // 'processing-instruction' 'treat'
  11685. || lk == 130303 // 'true' 'treat'
  11686. || lk == 133203 // 'attribute' 'union'
  11687. || lk == 133242 // 'element' 'union'
  11688. || lk == 133255 // 'false' 'union'
  11689. || lk == 133307 // 'namespace' 'union'
  11690. || lk == 133317 // 'null' 'union'
  11691. || lk == 133340 // 'processing-instruction' 'union'
  11692. || lk == 133375 // 'true' 'union'
  11693. || lk == 139347 // 'attribute' 'where'
  11694. || lk == 139386 // 'element' 'where'
  11695. || lk == 139399 // 'false' 'where'
  11696. || lk == 139451 // 'namespace' 'where'
  11697. || lk == 139461 // 'null' 'where'
  11698. || lk == 139484 // 'processing-instruction' 'where'
  11699. || lk == 139519 // 'true' 'where'
  11700. || lk == 141395 // 'attribute' 'with'
  11701. || lk == 141434 // 'element' 'with'
  11702. || lk == 141447 // 'false' 'with'
  11703. || lk == 141499 // 'namespace' 'with'
  11704. || lk == 141509 // 'null' 'with'
  11705. || lk == 141532 // 'processing-instruction' 'with'
  11706. || lk == 141567 // 'true' 'with'
  11707. || lk == 142983 // 'false' 'words'
  11708. || lk == 143045 // 'null' 'words'
  11709. || lk == 143103 // 'true' 'words'
  11710. || lk == 145543 // 'false' '|'
  11711. || lk == 145605 // 'null' '|'
  11712. || lk == 145663 // 'true' '|'
  11713. || lk == 146055 // 'false' '||'
  11714. || lk == 146117 // 'null' '||'
  11715. || lk == 146175 // 'true' '||'
  11716. || lk == 146567 // 'false' '|}'
  11717. || lk == 146629 // 'null' '|}'
  11718. || lk == 146687 // 'true' '|}'
  11719. || lk == 147079 // 'false' '}'
  11720. || lk == 147141 // 'null' '}'
  11721. || lk == 147199) // 'true' '}'
  11722. {
  11723. lk = memoized(4, e0);
  11724. if (lk == 0)
  11725. {
  11726. var b0A = b0; var e0A = e0; var l1A = l1;
  11727. var b1A = b1; var e1A = e1; var l2A = l2;
  11728. var b2A = b2; var e2A = e2;
  11729. try
  11730. {
  11731. try_PostfixExpr();
  11732. lk = -1;
  11733. }
  11734. catch (p1A)
  11735. {
  11736. lk = -2;
  11737. }
  11738. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  11739. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  11740. b2 = b2A; e2 = e2A; end = e2A; }}
  11741. memoize(4, e0, lk);
  11742. }
  11743. }
  11744. switch (lk)
  11745. {
  11746. case -1:
  11747. case 8: // IntegerLiteral
  11748. case 9: // DecimalLiteral
  11749. case 10: // DoubleLiteral
  11750. case 11: // StringLiteral
  11751. case 31: // '$'
  11752. case 32: // '$$'
  11753. case 33: // '%'
  11754. case 35: // '('
  11755. case 55: // '<'
  11756. case 56: // '<!--'
  11757. case 60: // '<?'
  11758. case 69: // '['
  11759. case 281: // '{'
  11760. case 283: // '{|'
  11761. case 3155: // 'attribute' EQName^Token
  11762. case 3194: // 'element' EQName^Token
  11763. case 9915: // 'namespace' NCName^Token
  11764. case 9948: // 'processing-instruction' NCName^Token
  11765. case 14854: // EQName^Token '#'
  11766. case 14919: // 'after' '#'
  11767. case 14921: // 'allowing' '#'
  11768. case 14922: // 'ancestor' '#'
  11769. case 14923: // 'ancestor-or-self' '#'
  11770. case 14924: // 'and' '#'
  11771. case 14926: // 'append' '#'
  11772. case 14927: // 'array' '#'
  11773. case 14928: // 'as' '#'
  11774. case 14929: // 'ascending' '#'
  11775. case 14930: // 'at' '#'
  11776. case 14931: // 'attribute' '#'
  11777. case 14932: // 'base-uri' '#'
  11778. case 14933: // 'before' '#'
  11779. case 14934: // 'boundary-space' '#'
  11780. case 14935: // 'break' '#'
  11781. case 14937: // 'case' '#'
  11782. case 14938: // 'cast' '#'
  11783. case 14939: // 'castable' '#'
  11784. case 14940: // 'catch' '#'
  11785. case 14942: // 'child' '#'
  11786. case 14943: // 'collation' '#'
  11787. case 14945: // 'comment' '#'
  11788. case 14946: // 'constraint' '#'
  11789. case 14947: // 'construction' '#'
  11790. case 14950: // 'context' '#'
  11791. case 14951: // 'continue' '#'
  11792. case 14952: // 'copy' '#'
  11793. case 14953: // 'copy-namespaces' '#'
  11794. case 14954: // 'count' '#'
  11795. case 14955: // 'decimal-format' '#'
  11796. case 14957: // 'declare' '#'
  11797. case 14958: // 'default' '#'
  11798. case 14959: // 'delete' '#'
  11799. case 14960: // 'descendant' '#'
  11800. case 14961: // 'descendant-or-self' '#'
  11801. case 14962: // 'descending' '#'
  11802. case 14967: // 'div' '#'
  11803. case 14968: // 'document' '#'
  11804. case 14969: // 'document-node' '#'
  11805. case 14970: // 'element' '#'
  11806. case 14971: // 'else' '#'
  11807. case 14972: // 'empty' '#'
  11808. case 14973: // 'empty-sequence' '#'
  11809. case 14974: // 'encoding' '#'
  11810. case 14975: // 'end' '#'
  11811. case 14977: // 'eq' '#'
  11812. case 14978: // 'every' '#'
  11813. case 14980: // 'except' '#'
  11814. case 14981: // 'exit' '#'
  11815. case 14982: // 'external' '#'
  11816. case 14983: // 'false' '#'
  11817. case 14984: // 'first' '#'
  11818. case 14985: // 'following' '#'
  11819. case 14986: // 'following-sibling' '#'
  11820. case 14987: // 'for' '#'
  11821. case 14990: // 'from' '#'
  11822. case 14991: // 'ft-option' '#'
  11823. case 14995: // 'function' '#'
  11824. case 14996: // 'ge' '#'
  11825. case 14998: // 'group' '#'
  11826. case 15000: // 'gt' '#'
  11827. case 15001: // 'idiv' '#'
  11828. case 15002: // 'if' '#'
  11829. case 15003: // 'import' '#'
  11830. case 15004: // 'in' '#'
  11831. case 15005: // 'index' '#'
  11832. case 15009: // 'insert' '#'
  11833. case 15010: // 'instance' '#'
  11834. case 15011: // 'integrity' '#'
  11835. case 15012: // 'intersect' '#'
  11836. case 15013: // 'into' '#'
  11837. case 15014: // 'is' '#'
  11838. case 15015: // 'item' '#'
  11839. case 15016: // 'json' '#'
  11840. case 15017: // 'json-item' '#'
  11841. case 15018: // 'jsoniq' '#'
  11842. case 15021: // 'last' '#'
  11843. case 15022: // 'lax' '#'
  11844. case 15023: // 'le' '#'
  11845. case 15025: // 'let' '#'
  11846. case 15027: // 'loop' '#'
  11847. case 15029: // 'lt' '#'
  11848. case 15031: // 'mod' '#'
  11849. case 15032: // 'modify' '#'
  11850. case 15033: // 'module' '#'
  11851. case 15035: // 'namespace' '#'
  11852. case 15036: // 'namespace-node' '#'
  11853. case 15037: // 'ne' '#'
  11854. case 15042: // 'node' '#'
  11855. case 15043: // 'nodes' '#'
  11856. case 15045: // 'null' '#'
  11857. case 15046: // 'object' '#'
  11858. case 15050: // 'only' '#'
  11859. case 15051: // 'option' '#'
  11860. case 15052: // 'or' '#'
  11861. case 15053: // 'order' '#'
  11862. case 15054: // 'ordered' '#'
  11863. case 15055: // 'ordering' '#'
  11864. case 15058: // 'parent' '#'
  11865. case 15064: // 'preceding' '#'
  11866. case 15065: // 'preceding-sibling' '#'
  11867. case 15068: // 'processing-instruction' '#'
  11868. case 15070: // 'rename' '#'
  11869. case 15071: // 'replace' '#'
  11870. case 15072: // 'return' '#'
  11871. case 15073: // 'returning' '#'
  11872. case 15074: // 'revalidation' '#'
  11873. case 15076: // 'satisfies' '#'
  11874. case 15077: // 'schema' '#'
  11875. case 15078: // 'schema-attribute' '#'
  11876. case 15079: // 'schema-element' '#'
  11877. case 15080: // 'score' '#'
  11878. case 15081: // 'select' '#'
  11879. case 15082: // 'self' '#'
  11880. case 15087: // 'sliding' '#'
  11881. case 15088: // 'some' '#'
  11882. case 15089: // 'stable' '#'
  11883. case 15090: // 'start' '#'
  11884. case 15093: // 'strict' '#'
  11885. case 15095: // 'structured-item' '#'
  11886. case 15096: // 'switch' '#'
  11887. case 15097: // 'text' '#'
  11888. case 15101: // 'to' '#'
  11889. case 15102: // 'treat' '#'
  11890. case 15103: // 'true' '#'
  11891. case 15104: // 'try' '#'
  11892. case 15105: // 'tumbling' '#'
  11893. case 15106: // 'type' '#'
  11894. case 15107: // 'typeswitch' '#'
  11895. case 15108: // 'union' '#'
  11896. case 15110: // 'unordered' '#'
  11897. case 15111: // 'updating' '#'
  11898. case 15114: // 'validate' '#'
  11899. case 15115: // 'value' '#'
  11900. case 15116: // 'variable' '#'
  11901. case 15117: // 'version' '#'
  11902. case 15120: // 'where' '#'
  11903. case 15121: // 'while' '#'
  11904. case 15124: // 'with' '#'
  11905. case 17926: // EQName^Token '('
  11906. case 17991: // 'after' '('
  11907. case 17993: // 'allowing' '('
  11908. case 17994: // 'ancestor' '('
  11909. case 17995: // 'ancestor-or-self' '('
  11910. case 17996: // 'and' '('
  11911. case 17998: // 'append' '('
  11912. case 18000: // 'as' '('
  11913. case 18001: // 'ascending' '('
  11914. case 18002: // 'at' '('
  11915. case 18004: // 'base-uri' '('
  11916. case 18005: // 'before' '('
  11917. case 18006: // 'boundary-space' '('
  11918. case 18007: // 'break' '('
  11919. case 18009: // 'case' '('
  11920. case 18010: // 'cast' '('
  11921. case 18011: // 'castable' '('
  11922. case 18012: // 'catch' '('
  11923. case 18014: // 'child' '('
  11924. case 18015: // 'collation' '('
  11925. case 18018: // 'constraint' '('
  11926. case 18019: // 'construction' '('
  11927. case 18022: // 'context' '('
  11928. case 18023: // 'continue' '('
  11929. case 18024: // 'copy' '('
  11930. case 18025: // 'copy-namespaces' '('
  11931. case 18026: // 'count' '('
  11932. case 18027: // 'decimal-format' '('
  11933. case 18029: // 'declare' '('
  11934. case 18030: // 'default' '('
  11935. case 18031: // 'delete' '('
  11936. case 18032: // 'descendant' '('
  11937. case 18033: // 'descendant-or-self' '('
  11938. case 18034: // 'descending' '('
  11939. case 18039: // 'div' '('
  11940. case 18040: // 'document' '('
  11941. case 18043: // 'else' '('
  11942. case 18044: // 'empty' '('
  11943. case 18046: // 'encoding' '('
  11944. case 18047: // 'end' '('
  11945. case 18049: // 'eq' '('
  11946. case 18050: // 'every' '('
  11947. case 18052: // 'except' '('
  11948. case 18053: // 'exit' '('
  11949. case 18054: // 'external' '('
  11950. case 18055: // 'false' '('
  11951. case 18056: // 'first' '('
  11952. case 18057: // 'following' '('
  11953. case 18058: // 'following-sibling' '('
  11954. case 18059: // 'for' '('
  11955. case 18062: // 'from' '('
  11956. case 18063: // 'ft-option' '('
  11957. case 18067: // 'function' '('
  11958. case 18068: // 'ge' '('
  11959. case 18070: // 'group' '('
  11960. case 18072: // 'gt' '('
  11961. case 18073: // 'idiv' '('
  11962. case 18075: // 'import' '('
  11963. case 18076: // 'in' '('
  11964. case 18077: // 'index' '('
  11965. case 18081: // 'insert' '('
  11966. case 18082: // 'instance' '('
  11967. case 18083: // 'integrity' '('
  11968. case 18084: // 'intersect' '('
  11969. case 18085: // 'into' '('
  11970. case 18086: // 'is' '('
  11971. case 18088: // 'json' '('
  11972. case 18090: // 'jsoniq' '('
  11973. case 18093: // 'last' '('
  11974. case 18094: // 'lax' '('
  11975. case 18095: // 'le' '('
  11976. case 18097: // 'let' '('
  11977. case 18099: // 'loop' '('
  11978. case 18101: // 'lt' '('
  11979. case 18103: // 'mod' '('
  11980. case 18104: // 'modify' '('
  11981. case 18105: // 'module' '('
  11982. case 18107: // 'namespace' '('
  11983. case 18109: // 'ne' '('
  11984. case 18115: // 'nodes' '('
  11985. case 18117: // 'null' '('
  11986. case 18118: // 'object' '('
  11987. case 18122: // 'only' '('
  11988. case 18123: // 'option' '('
  11989. case 18124: // 'or' '('
  11990. case 18125: // 'order' '('
  11991. case 18126: // 'ordered' '('
  11992. case 18127: // 'ordering' '('
  11993. case 18130: // 'parent' '('
  11994. case 18136: // 'preceding' '('
  11995. case 18137: // 'preceding-sibling' '('
  11996. case 18142: // 'rename' '('
  11997. case 18143: // 'replace' '('
  11998. case 18144: // 'return' '('
  11999. case 18145: // 'returning' '('
  12000. case 18146: // 'revalidation' '('
  12001. case 18148: // 'satisfies' '('
  12002. case 18149: // 'schema' '('
  12003. case 18152: // 'score' '('
  12004. case 18153: // 'select' '('
  12005. case 18154: // 'self' '('
  12006. case 18159: // 'sliding' '('
  12007. case 18160: // 'some' '('
  12008. case 18161: // 'stable' '('
  12009. case 18162: // 'start' '('
  12010. case 18165: // 'strict' '('
  12011. case 18173: // 'to' '('
  12012. case 18174: // 'treat' '('
  12013. case 18175: // 'true' '('
  12014. case 18176: // 'try' '('
  12015. case 18177: // 'tumbling' '('
  12016. case 18178: // 'type' '('
  12017. case 18180: // 'union' '('
  12018. case 18182: // 'unordered' '('
  12019. case 18183: // 'updating' '('
  12020. case 18186: // 'validate' '('
  12021. case 18187: // 'value' '('
  12022. case 18188: // 'variable' '('
  12023. case 18189: // 'version' '('
  12024. case 18192: // 'where' '('
  12025. case 18193: // 'while' '('
  12026. case 18196: // 'with' '('
  12027. case 23175: // 'false' '.'
  12028. case 23237: // 'null' '.'
  12029. case 23295: // 'true' '.'
  12030. case 37459: // 'attribute' 'allowing'
  12031. case 37498: // 'element' 'allowing'
  12032. case 37563: // 'namespace' 'allowing'
  12033. case 37596: // 'processing-instruction' 'allowing'
  12034. case 37971: // 'attribute' 'ancestor'
  12035. case 38010: // 'element' 'ancestor'
  12036. case 38075: // 'namespace' 'ancestor'
  12037. case 38108: // 'processing-instruction' 'ancestor'
  12038. case 38483: // 'attribute' 'ancestor-or-self'
  12039. case 38522: // 'element' 'ancestor-or-self'
  12040. case 38587: // 'namespace' 'ancestor-or-self'
  12041. case 38620: // 'processing-instruction' 'ancestor-or-self'
  12042. case 40019: // 'attribute' 'append'
  12043. case 40058: // 'element' 'append'
  12044. case 40123: // 'namespace' 'append'
  12045. case 40156: // 'processing-instruction' 'append'
  12046. case 40531: // 'attribute' 'array'
  12047. case 40570: // 'element' 'array'
  12048. case 42579: // 'attribute' 'attribute'
  12049. case 42618: // 'element' 'attribute'
  12050. case 42683: // 'namespace' 'attribute'
  12051. case 42716: // 'processing-instruction' 'attribute'
  12052. case 43091: // 'attribute' 'base-uri'
  12053. case 43130: // 'element' 'base-uri'
  12054. case 43195: // 'namespace' 'base-uri'
  12055. case 43228: // 'processing-instruction' 'base-uri'
  12056. case 44115: // 'attribute' 'boundary-space'
  12057. case 44154: // 'element' 'boundary-space'
  12058. case 44219: // 'namespace' 'boundary-space'
  12059. case 44252: // 'processing-instruction' 'boundary-space'
  12060. case 44627: // 'attribute' 'break'
  12061. case 44666: // 'element' 'break'
  12062. case 44731: // 'namespace' 'break'
  12063. case 44764: // 'processing-instruction' 'break'
  12064. case 47187: // 'attribute' 'catch'
  12065. case 47226: // 'element' 'catch'
  12066. case 47291: // 'namespace' 'catch'
  12067. case 47324: // 'processing-instruction' 'catch'
  12068. case 48211: // 'attribute' 'child'
  12069. case 48250: // 'element' 'child'
  12070. case 48315: // 'namespace' 'child'
  12071. case 48348: // 'processing-instruction' 'child'
  12072. case 49747: // 'attribute' 'comment'
  12073. case 49786: // 'element' 'comment'
  12074. case 49851: // 'namespace' 'comment'
  12075. case 49884: // 'processing-instruction' 'comment'
  12076. case 50259: // 'attribute' 'constraint'
  12077. case 50298: // 'element' 'constraint'
  12078. case 50363: // 'namespace' 'constraint'
  12079. case 50396: // 'processing-instruction' 'constraint'
  12080. case 50771: // 'attribute' 'construction'
  12081. case 50810: // 'element' 'construction'
  12082. case 50875: // 'namespace' 'construction'
  12083. case 50908: // 'processing-instruction' 'construction'
  12084. case 52307: // 'attribute' 'context'
  12085. case 52346: // 'element' 'context'
  12086. case 52411: // 'namespace' 'context'
  12087. case 52444: // 'processing-instruction' 'context'
  12088. case 52819: // 'attribute' 'continue'
  12089. case 52858: // 'element' 'continue'
  12090. case 52923: // 'namespace' 'continue'
  12091. case 52956: // 'processing-instruction' 'continue'
  12092. case 53331: // 'attribute' 'copy'
  12093. case 53370: // 'element' 'copy'
  12094. case 53435: // 'namespace' 'copy'
  12095. case 53468: // 'processing-instruction' 'copy'
  12096. case 53843: // 'attribute' 'copy-namespaces'
  12097. case 53882: // 'element' 'copy-namespaces'
  12098. case 53947: // 'namespace' 'copy-namespaces'
  12099. case 53980: // 'processing-instruction' 'copy-namespaces'
  12100. case 54867: // 'attribute' 'decimal-format'
  12101. case 54906: // 'element' 'decimal-format'
  12102. case 54971: // 'namespace' 'decimal-format'
  12103. case 55004: // 'processing-instruction' 'decimal-format'
  12104. case 55891: // 'attribute' 'declare'
  12105. case 55930: // 'element' 'declare'
  12106. case 55995: // 'namespace' 'declare'
  12107. case 56028: // 'processing-instruction' 'declare'
  12108. case 56915: // 'attribute' 'delete'
  12109. case 56954: // 'element' 'delete'
  12110. case 57019: // 'namespace' 'delete'
  12111. case 57052: // 'processing-instruction' 'delete'
  12112. case 57427: // 'attribute' 'descendant'
  12113. case 57466: // 'element' 'descendant'
  12114. case 57531: // 'namespace' 'descendant'
  12115. case 57564: // 'processing-instruction' 'descendant'
  12116. case 57939: // 'attribute' 'descendant-or-self'
  12117. case 57978: // 'element' 'descendant-or-self'
  12118. case 58043: // 'namespace' 'descendant-or-self'
  12119. case 58076: // 'processing-instruction' 'descendant-or-self'
  12120. case 61523: // 'attribute' 'document'
  12121. case 61562: // 'element' 'document'
  12122. case 61627: // 'namespace' 'document'
  12123. case 61660: // 'processing-instruction' 'document'
  12124. case 62035: // 'attribute' 'document-node'
  12125. case 62074: // 'element' 'document-node'
  12126. case 62139: // 'namespace' 'document-node'
  12127. case 62172: // 'processing-instruction' 'document-node'
  12128. case 62547: // 'attribute' 'element'
  12129. case 62586: // 'element' 'element'
  12130. case 62651: // 'namespace' 'element'
  12131. case 62684: // 'processing-instruction' 'element'
  12132. case 64083: // 'attribute' 'empty-sequence'
  12133. case 64122: // 'element' 'empty-sequence'
  12134. case 64187: // 'namespace' 'empty-sequence'
  12135. case 64220: // 'processing-instruction' 'empty-sequence'
  12136. case 64595: // 'attribute' 'encoding'
  12137. case 64634: // 'element' 'encoding'
  12138. case 64699: // 'namespace' 'encoding'
  12139. case 64732: // 'processing-instruction' 'encoding'
  12140. case 66643: // 'attribute' 'every'
  12141. case 66682: // 'element' 'every'
  12142. case 66747: // 'namespace' 'every'
  12143. case 66780: // 'processing-instruction' 'every'
  12144. case 68179: // 'attribute' 'exit'
  12145. case 68218: // 'element' 'exit'
  12146. case 68283: // 'namespace' 'exit'
  12147. case 68316: // 'processing-instruction' 'exit'
  12148. case 68691: // 'attribute' 'external'
  12149. case 68730: // 'element' 'external'
  12150. case 68795: // 'namespace' 'external'
  12151. case 68828: // 'processing-instruction' 'external'
  12152. case 69203: // 'attribute' 'false'
  12153. case 69242: // 'element' 'false'
  12154. case 69307: // 'namespace' 'false'
  12155. case 69340: // 'processing-instruction' 'false'
  12156. case 69715: // 'attribute' 'first'
  12157. case 69754: // 'element' 'first'
  12158. case 69819: // 'namespace' 'first'
  12159. case 69852: // 'processing-instruction' 'first'
  12160. case 70227: // 'attribute' 'following'
  12161. case 70266: // 'element' 'following'
  12162. case 70331: // 'namespace' 'following'
  12163. case 70364: // 'processing-instruction' 'following'
  12164. case 70739: // 'attribute' 'following-sibling'
  12165. case 70778: // 'element' 'following-sibling'
  12166. case 70843: // 'namespace' 'following-sibling'
  12167. case 70876: // 'processing-instruction' 'following-sibling'
  12168. case 72787: // 'attribute' 'from'
  12169. case 72826: // 'element' 'from'
  12170. case 72891: // 'namespace' 'from'
  12171. case 72924: // 'processing-instruction' 'from'
  12172. case 73299: // 'attribute' 'ft-option'
  12173. case 73338: // 'element' 'ft-option'
  12174. case 73403: // 'namespace' 'ft-option'
  12175. case 73436: // 'processing-instruction' 'ft-option'
  12176. case 75347: // 'attribute' 'function'
  12177. case 75386: // 'element' 'function'
  12178. case 75451: // 'namespace' 'function'
  12179. case 75484: // 'processing-instruction' 'function'
  12180. case 78931: // 'attribute' 'if'
  12181. case 78970: // 'element' 'if'
  12182. case 79035: // 'namespace' 'if'
  12183. case 79068: // 'processing-instruction' 'if'
  12184. case 79443: // 'attribute' 'import'
  12185. case 79482: // 'element' 'import'
  12186. case 79547: // 'namespace' 'import'
  12187. case 79580: // 'processing-instruction' 'import'
  12188. case 79955: // 'attribute' 'in'
  12189. case 79994: // 'element' 'in'
  12190. case 80059: // 'namespace' 'in'
  12191. case 80092: // 'processing-instruction' 'in'
  12192. case 80467: // 'attribute' 'index'
  12193. case 80506: // 'element' 'index'
  12194. case 80571: // 'namespace' 'index'
  12195. case 80604: // 'processing-instruction' 'index'
  12196. case 82515: // 'attribute' 'insert'
  12197. case 82554: // 'element' 'insert'
  12198. case 82619: // 'namespace' 'insert'
  12199. case 82652: // 'processing-instruction' 'insert'
  12200. case 83539: // 'attribute' 'integrity'
  12201. case 83578: // 'element' 'integrity'
  12202. case 83643: // 'namespace' 'integrity'
  12203. case 83676: // 'processing-instruction' 'integrity'
  12204. case 85587: // 'attribute' 'item'
  12205. case 85626: // 'element' 'item'
  12206. case 85691: // 'namespace' 'item'
  12207. case 85724: // 'processing-instruction' 'item'
  12208. case 86099: // 'attribute' 'json'
  12209. case 86138: // 'element' 'json'
  12210. case 86203: // 'namespace' 'json'
  12211. case 86236: // 'processing-instruction' 'json'
  12212. case 86611: // 'attribute' 'json-item'
  12213. case 86650: // 'element' 'json-item'
  12214. case 87123: // 'attribute' 'jsoniq'
  12215. case 87162: // 'element' 'jsoniq'
  12216. case 87227: // 'namespace' 'jsoniq'
  12217. case 87260: // 'processing-instruction' 'jsoniq'
  12218. case 88659: // 'attribute' 'last'
  12219. case 88698: // 'element' 'last'
  12220. case 88763: // 'namespace' 'last'
  12221. case 88796: // 'processing-instruction' 'last'
  12222. case 89171: // 'attribute' 'lax'
  12223. case 89210: // 'element' 'lax'
  12224. case 89275: // 'namespace' 'lax'
  12225. case 89308: // 'processing-instruction' 'lax'
  12226. case 91731: // 'attribute' 'loop'
  12227. case 91770: // 'element' 'loop'
  12228. case 91835: // 'namespace' 'loop'
  12229. case 91868: // 'processing-instruction' 'loop'
  12230. case 94803: // 'attribute' 'module'
  12231. case 94842: // 'element' 'module'
  12232. case 94907: // 'namespace' 'module'
  12233. case 94940: // 'processing-instruction' 'module'
  12234. case 95827: // 'attribute' 'namespace'
  12235. case 95866: // 'element' 'namespace'
  12236. case 95931: // 'namespace' 'namespace'
  12237. case 95964: // 'processing-instruction' 'namespace'
  12238. case 96339: // 'attribute' 'namespace-node'
  12239. case 96378: // 'element' 'namespace-node'
  12240. case 96443: // 'namespace' 'namespace-node'
  12241. case 96476: // 'processing-instruction' 'namespace-node'
  12242. case 99411: // 'attribute' 'node'
  12243. case 99450: // 'element' 'node'
  12244. case 99515: // 'namespace' 'node'
  12245. case 99548: // 'processing-instruction' 'node'
  12246. case 99923: // 'attribute' 'nodes'
  12247. case 99962: // 'element' 'nodes'
  12248. case 100027: // 'namespace' 'nodes'
  12249. case 100060: // 'processing-instruction' 'nodes'
  12250. case 100947: // 'attribute' 'null'
  12251. case 100986: // 'element' 'null'
  12252. case 101051: // 'namespace' 'null'
  12253. case 101084: // 'processing-instruction' 'null'
  12254. case 101459: // 'attribute' 'object'
  12255. case 101498: // 'element' 'object'
  12256. case 101563: // 'namespace' 'object'
  12257. case 101596: // 'processing-instruction' 'object'
  12258. case 104019: // 'attribute' 'option'
  12259. case 104058: // 'element' 'option'
  12260. case 104123: // 'namespace' 'option'
  12261. case 104156: // 'processing-instruction' 'option'
  12262. case 105555: // 'attribute' 'ordered'
  12263. case 105594: // 'element' 'ordered'
  12264. case 105659: // 'namespace' 'ordered'
  12265. case 105692: // 'processing-instruction' 'ordered'
  12266. case 106067: // 'attribute' 'ordering'
  12267. case 106106: // 'element' 'ordering'
  12268. case 106171: // 'namespace' 'ordering'
  12269. case 106204: // 'processing-instruction' 'ordering'
  12270. case 107603: // 'attribute' 'parent'
  12271. case 107642: // 'element' 'parent'
  12272. case 107707: // 'namespace' 'parent'
  12273. case 107740: // 'processing-instruction' 'parent'
  12274. case 110675: // 'attribute' 'preceding'
  12275. case 110714: // 'element' 'preceding'
  12276. case 110779: // 'namespace' 'preceding'
  12277. case 110812: // 'processing-instruction' 'preceding'
  12278. case 111187: // 'attribute' 'preceding-sibling'
  12279. case 111226: // 'element' 'preceding-sibling'
  12280. case 111291: // 'namespace' 'preceding-sibling'
  12281. case 111324: // 'processing-instruction' 'preceding-sibling'
  12282. case 112723: // 'attribute' 'processing-instruction'
  12283. case 112762: // 'element' 'processing-instruction'
  12284. case 112827: // 'namespace' 'processing-instruction'
  12285. case 112860: // 'processing-instruction' 'processing-instruction'
  12286. case 113747: // 'attribute' 'rename'
  12287. case 113786: // 'element' 'rename'
  12288. case 113851: // 'namespace' 'rename'
  12289. case 113884: // 'processing-instruction' 'rename'
  12290. case 114259: // 'attribute' 'replace'
  12291. case 114298: // 'element' 'replace'
  12292. case 114363: // 'namespace' 'replace'
  12293. case 114396: // 'processing-instruction' 'replace'
  12294. case 115283: // 'attribute' 'returning'
  12295. case 115322: // 'element' 'returning'
  12296. case 115387: // 'namespace' 'returning'
  12297. case 115420: // 'processing-instruction' 'returning'
  12298. case 115795: // 'attribute' 'revalidation'
  12299. case 115834: // 'element' 'revalidation'
  12300. case 115899: // 'namespace' 'revalidation'
  12301. case 115932: // 'processing-instruction' 'revalidation'
  12302. case 117331: // 'attribute' 'schema'
  12303. case 117370: // 'element' 'schema'
  12304. case 117435: // 'namespace' 'schema'
  12305. case 117468: // 'processing-instruction' 'schema'
  12306. case 117843: // 'attribute' 'schema-attribute'
  12307. case 117882: // 'element' 'schema-attribute'
  12308. case 117947: // 'namespace' 'schema-attribute'
  12309. case 117980: // 'processing-instruction' 'schema-attribute'
  12310. case 118355: // 'attribute' 'schema-element'
  12311. case 118394: // 'element' 'schema-element'
  12312. case 118459: // 'namespace' 'schema-element'
  12313. case 118492: // 'processing-instruction' 'schema-element'
  12314. case 118867: // 'attribute' 'score'
  12315. case 118906: // 'element' 'score'
  12316. case 118971: // 'namespace' 'score'
  12317. case 119004: // 'processing-instruction' 'score'
  12318. case 119379: // 'attribute' 'select'
  12319. case 119418: // 'element' 'select'
  12320. case 119483: // 'namespace' 'select'
  12321. case 119516: // 'processing-instruction' 'select'
  12322. case 119891: // 'attribute' 'self'
  12323. case 119930: // 'element' 'self'
  12324. case 119995: // 'namespace' 'self'
  12325. case 120028: // 'processing-instruction' 'self'
  12326. case 122451: // 'attribute' 'sliding'
  12327. case 122490: // 'element' 'sliding'
  12328. case 122555: // 'namespace' 'sliding'
  12329. case 122588: // 'processing-instruction' 'sliding'
  12330. case 122963: // 'attribute' 'some'
  12331. case 123002: // 'element' 'some'
  12332. case 123067: // 'namespace' 'some'
  12333. case 123100: // 'processing-instruction' 'some'
  12334. case 125523: // 'attribute' 'strict'
  12335. case 125562: // 'element' 'strict'
  12336. case 125627: // 'namespace' 'strict'
  12337. case 125660: // 'processing-instruction' 'strict'
  12338. case 126547: // 'attribute' 'structured-item'
  12339. case 126586: // 'element' 'structured-item'
  12340. case 127059: // 'attribute' 'switch'
  12341. case 127098: // 'element' 'switch'
  12342. case 127163: // 'namespace' 'switch'
  12343. case 127196: // 'processing-instruction' 'switch'
  12344. case 127571: // 'attribute' 'text'
  12345. case 127610: // 'element' 'text'
  12346. case 127675: // 'namespace' 'text'
  12347. case 127708: // 'processing-instruction' 'text'
  12348. case 130643: // 'attribute' 'true'
  12349. case 130682: // 'element' 'true'
  12350. case 130747: // 'namespace' 'true'
  12351. case 130780: // 'processing-instruction' 'true'
  12352. case 131155: // 'attribute' 'try'
  12353. case 131194: // 'element' 'try'
  12354. case 131259: // 'namespace' 'try'
  12355. case 131292: // 'processing-instruction' 'try'
  12356. case 131667: // 'attribute' 'tumbling'
  12357. case 131706: // 'element' 'tumbling'
  12358. case 131771: // 'namespace' 'tumbling'
  12359. case 131804: // 'processing-instruction' 'tumbling'
  12360. case 132179: // 'attribute' 'type'
  12361. case 132218: // 'element' 'type'
  12362. case 132283: // 'namespace' 'type'
  12363. case 132316: // 'processing-instruction' 'type'
  12364. case 132691: // 'attribute' 'typeswitch'
  12365. case 132730: // 'element' 'typeswitch'
  12366. case 132795: // 'namespace' 'typeswitch'
  12367. case 132828: // 'processing-instruction' 'typeswitch'
  12368. case 134227: // 'attribute' 'unordered'
  12369. case 134266: // 'element' 'unordered'
  12370. case 134331: // 'namespace' 'unordered'
  12371. case 134364: // 'processing-instruction' 'unordered'
  12372. case 134739: // 'attribute' 'updating'
  12373. case 134778: // 'element' 'updating'
  12374. case 134843: // 'namespace' 'updating'
  12375. case 134876: // 'processing-instruction' 'updating'
  12376. case 136275: // 'attribute' 'validate'
  12377. case 136314: // 'element' 'validate'
  12378. case 136379: // 'namespace' 'validate'
  12379. case 136412: // 'processing-instruction' 'validate'
  12380. case 136787: // 'attribute' 'value'
  12381. case 136826: // 'element' 'value'
  12382. case 136891: // 'namespace' 'value'
  12383. case 136924: // 'processing-instruction' 'value'
  12384. case 137299: // 'attribute' 'variable'
  12385. case 137338: // 'element' 'variable'
  12386. case 137403: // 'namespace' 'variable'
  12387. case 137436: // 'processing-instruction' 'variable'
  12388. case 137811: // 'attribute' 'version'
  12389. case 137850: // 'element' 'version'
  12390. case 137915: // 'namespace' 'version'
  12391. case 137948: // 'processing-instruction' 'version'
  12392. case 139859: // 'attribute' 'while'
  12393. case 139898: // 'element' 'while'
  12394. case 139963: // 'namespace' 'while'
  12395. case 139996: // 'processing-instruction' 'while'
  12396. case 143955: // 'attribute' '{'
  12397. case 143969: // 'comment' '{'
  12398. case 143992: // 'document' '{'
  12399. case 143994: // 'element' '{'
  12400. case 144059: // 'namespace' '{'
  12401. case 144078: // 'ordered' '{'
  12402. case 144092: // 'processing-instruction' '{'
  12403. case 144121: // 'text' '{'
  12404. case 144134: // 'unordered' '{'
  12405. parse_PostfixExpr();
  12406. break;
  12407. default:
  12408. parse_AxisStep();
  12409. }
  12410. eventHandler.endNonterminal("StepExpr", e0);
  12411. }
  12412. function try_StepExpr()
  12413. {
  12414. switch (l1)
  12415. {
  12416. case 83: // 'attribute'
  12417. lookahead2W(287); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  12418. break;
  12419. case 122: // 'element'
  12420. lookahead2W(286); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  12421. break;
  12422. case 187: // 'namespace'
  12423. case 220: // 'processing-instruction'
  12424. lookahead2W(284); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  12425. break;
  12426. case 135: // 'false'
  12427. case 197: // 'null'
  12428. case 255: // 'true'
  12429. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  12430. break;
  12431. case 97: // 'comment'
  12432. case 120: // 'document'
  12433. case 206: // 'ordered'
  12434. case 249: // 'text'
  12435. case 262: // 'unordered'
  12436. lookahead2W(238); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  12437. break;
  12438. case 79: // 'array'
  12439. case 125: // 'empty-sequence'
  12440. case 154: // 'if'
  12441. case 167: // 'item'
  12442. case 169: // 'json-item'
  12443. case 247: // 'structured-item'
  12444. case 248: // 'switch'
  12445. case 259: // 'typeswitch'
  12446. lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  12447. break;
  12448. case 74: // 'ancestor'
  12449. case 75: // 'ancestor-or-self'
  12450. case 94: // 'child'
  12451. case 112: // 'descendant'
  12452. case 113: // 'descendant-or-self'
  12453. case 137: // 'following'
  12454. case 138: // 'following-sibling'
  12455. case 210: // 'parent'
  12456. case 216: // 'preceding'
  12457. case 217: // 'preceding-sibling'
  12458. case 234: // 'self'
  12459. lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  12460. break;
  12461. case 6: // EQName^Token
  12462. case 71: // 'after'
  12463. case 73: // 'allowing'
  12464. case 76: // 'and'
  12465. case 78: // 'append'
  12466. case 80: // 'as'
  12467. case 81: // 'ascending'
  12468. case 82: // 'at'
  12469. case 84: // 'base-uri'
  12470. case 85: // 'before'
  12471. case 86: // 'boundary-space'
  12472. case 87: // 'break'
  12473. case 89: // 'case'
  12474. case 90: // 'cast'
  12475. case 91: // 'castable'
  12476. case 92: // 'catch'
  12477. case 95: // 'collation'
  12478. case 98: // 'constraint'
  12479. case 99: // 'construction'
  12480. case 102: // 'context'
  12481. case 103: // 'continue'
  12482. case 104: // 'copy'
  12483. case 105: // 'copy-namespaces'
  12484. case 106: // 'count'
  12485. case 107: // 'decimal-format'
  12486. case 109: // 'declare'
  12487. case 110: // 'default'
  12488. case 111: // 'delete'
  12489. case 114: // 'descending'
  12490. case 119: // 'div'
  12491. case 121: // 'document-node'
  12492. case 123: // 'else'
  12493. case 124: // 'empty'
  12494. case 126: // 'encoding'
  12495. case 127: // 'end'
  12496. case 129: // 'eq'
  12497. case 130: // 'every'
  12498. case 132: // 'except'
  12499. case 133: // 'exit'
  12500. case 134: // 'external'
  12501. case 136: // 'first'
  12502. case 139: // 'for'
  12503. case 142: // 'from'
  12504. case 143: // 'ft-option'
  12505. case 147: // 'function'
  12506. case 148: // 'ge'
  12507. case 150: // 'group'
  12508. case 152: // 'gt'
  12509. case 153: // 'idiv'
  12510. case 155: // 'import'
  12511. case 156: // 'in'
  12512. case 157: // 'index'
  12513. case 161: // 'insert'
  12514. case 162: // 'instance'
  12515. case 163: // 'integrity'
  12516. case 164: // 'intersect'
  12517. case 165: // 'into'
  12518. case 166: // 'is'
  12519. case 168: // 'json'
  12520. case 170: // 'jsoniq'
  12521. case 173: // 'last'
  12522. case 174: // 'lax'
  12523. case 175: // 'le'
  12524. case 177: // 'let'
  12525. case 179: // 'loop'
  12526. case 181: // 'lt'
  12527. case 183: // 'mod'
  12528. case 184: // 'modify'
  12529. case 185: // 'module'
  12530. case 188: // 'namespace-node'
  12531. case 189: // 'ne'
  12532. case 194: // 'node'
  12533. case 195: // 'nodes'
  12534. case 198: // 'object'
  12535. case 202: // 'only'
  12536. case 203: // 'option'
  12537. case 204: // 'or'
  12538. case 205: // 'order'
  12539. case 207: // 'ordering'
  12540. case 222: // 'rename'
  12541. case 223: // 'replace'
  12542. case 224: // 'return'
  12543. case 225: // 'returning'
  12544. case 226: // 'revalidation'
  12545. case 228: // 'satisfies'
  12546. case 229: // 'schema'
  12547. case 230: // 'schema-attribute'
  12548. case 231: // 'schema-element'
  12549. case 232: // 'score'
  12550. case 233: // 'select'
  12551. case 239: // 'sliding'
  12552. case 240: // 'some'
  12553. case 241: // 'stable'
  12554. case 242: // 'start'
  12555. case 245: // 'strict'
  12556. case 253: // 'to'
  12557. case 254: // 'treat'
  12558. case 256: // 'try'
  12559. case 257: // 'tumbling'
  12560. case 258: // 'type'
  12561. case 260: // 'union'
  12562. case 263: // 'updating'
  12563. case 266: // 'validate'
  12564. case 267: // 'value'
  12565. case 268: // 'variable'
  12566. case 269: // 'version'
  12567. case 272: // 'where'
  12568. case 273: // 'while'
  12569. case 276: // 'with'
  12570. lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  12571. break;
  12572. default:
  12573. lk = l1;
  12574. }
  12575. if (lk == 12935 // 'false' EOF
  12576. || lk == 12997 // 'null' EOF
  12577. || lk == 13055 // 'true' EOF
  12578. || lk == 13447 // 'false' '!'
  12579. || lk == 13509 // 'null' '!'
  12580. || lk == 13567 // 'true' '!'
  12581. || lk == 13959 // 'false' '!='
  12582. || lk == 14021 // 'null' '!='
  12583. || lk == 14079 // 'true' '!='
  12584. || lk == 19591 // 'false' ')'
  12585. || lk == 19653 // 'null' ')'
  12586. || lk == 19711 // 'true' ')'
  12587. || lk == 20103 // 'false' '*'
  12588. || lk == 20165 // 'null' '*'
  12589. || lk == 20223 // 'true' '*'
  12590. || lk == 21127 // 'false' '+'
  12591. || lk == 21189 // 'null' '+'
  12592. || lk == 21247 // 'true' '+'
  12593. || lk == 21639 // 'false' ','
  12594. || lk == 21701 // 'null' ','
  12595. || lk == 21759 // 'true' ','
  12596. || lk == 22151 // 'false' '-'
  12597. || lk == 22213 // 'null' '-'
  12598. || lk == 22271 // 'true' '-'
  12599. || lk == 24199 // 'false' '/'
  12600. || lk == 24261 // 'null' '/'
  12601. || lk == 24319 // 'true' '/'
  12602. || lk == 24711 // 'false' '//'
  12603. || lk == 24773 // 'null' '//'
  12604. || lk == 24831 // 'true' '//'
  12605. || lk == 25735 // 'false' ':'
  12606. || lk == 25797 // 'null' ':'
  12607. || lk == 25855 // 'true' ':'
  12608. || lk == 27783 // 'false' ';'
  12609. || lk == 27845 // 'null' ';'
  12610. || lk == 27903 // 'true' ';'
  12611. || lk == 28295 // 'false' '<'
  12612. || lk == 28357 // 'null' '<'
  12613. || lk == 28415 // 'true' '<'
  12614. || lk == 29831 // 'false' '<<'
  12615. || lk == 29893 // 'null' '<<'
  12616. || lk == 29951 // 'true' '<<'
  12617. || lk == 30343 // 'false' '<='
  12618. || lk == 30405 // 'null' '<='
  12619. || lk == 30463 // 'true' '<='
  12620. || lk == 31367 // 'false' '='
  12621. || lk == 31429 // 'null' '='
  12622. || lk == 31487 // 'true' '='
  12623. || lk == 31879 // 'false' '>'
  12624. || lk == 31941 // 'null' '>'
  12625. || lk == 31999 // 'true' '>'
  12626. || lk == 32391 // 'false' '>='
  12627. || lk == 32453 // 'null' '>='
  12628. || lk == 32511 // 'true' '>='
  12629. || lk == 32903 // 'false' '>>'
  12630. || lk == 32965 // 'null' '>>'
  12631. || lk == 33023 // 'true' '>>'
  12632. || lk == 35463 // 'false' '['
  12633. || lk == 35525 // 'null' '['
  12634. || lk == 35583 // 'true' '['
  12635. || lk == 35975 // 'false' ']'
  12636. || lk == 36037 // 'null' ']'
  12637. || lk == 36095 // 'true' ']'
  12638. || lk == 36435 // 'attribute' 'after'
  12639. || lk == 36474 // 'element' 'after'
  12640. || lk == 36487 // 'false' 'after'
  12641. || lk == 36539 // 'namespace' 'after'
  12642. || lk == 36549 // 'null' 'after'
  12643. || lk == 36572 // 'processing-instruction' 'after'
  12644. || lk == 36607 // 'true' 'after'
  12645. || lk == 38995 // 'attribute' 'and'
  12646. || lk == 39034 // 'element' 'and'
  12647. || lk == 39047 // 'false' 'and'
  12648. || lk == 39099 // 'namespace' 'and'
  12649. || lk == 39109 // 'null' 'and'
  12650. || lk == 39132 // 'processing-instruction' 'and'
  12651. || lk == 39167 // 'true' 'and'
  12652. || lk == 41043 // 'attribute' 'as'
  12653. || lk == 41082 // 'element' 'as'
  12654. || lk == 41095 // 'false' 'as'
  12655. || lk == 41147 // 'namespace' 'as'
  12656. || lk == 41157 // 'null' 'as'
  12657. || lk == 41180 // 'processing-instruction' 'as'
  12658. || lk == 41215 // 'true' 'as'
  12659. || lk == 41555 // 'attribute' 'ascending'
  12660. || lk == 41594 // 'element' 'ascending'
  12661. || lk == 41607 // 'false' 'ascending'
  12662. || lk == 41659 // 'namespace' 'ascending'
  12663. || lk == 41669 // 'null' 'ascending'
  12664. || lk == 41692 // 'processing-instruction' 'ascending'
  12665. || lk == 41727 // 'true' 'ascending'
  12666. || lk == 42067 // 'attribute' 'at'
  12667. || lk == 42106 // 'element' 'at'
  12668. || lk == 42119 // 'false' 'at'
  12669. || lk == 42171 // 'namespace' 'at'
  12670. || lk == 42181 // 'null' 'at'
  12671. || lk == 42204 // 'processing-instruction' 'at'
  12672. || lk == 42239 // 'true' 'at'
  12673. || lk == 43603 // 'attribute' 'before'
  12674. || lk == 43642 // 'element' 'before'
  12675. || lk == 43655 // 'false' 'before'
  12676. || lk == 43707 // 'namespace' 'before'
  12677. || lk == 43717 // 'null' 'before'
  12678. || lk == 43740 // 'processing-instruction' 'before'
  12679. || lk == 43775 // 'true' 'before'
  12680. || lk == 45191 // 'false' 'by'
  12681. || lk == 45253 // 'null' 'by'
  12682. || lk == 45311 // 'true' 'by'
  12683. || lk == 45651 // 'attribute' 'case'
  12684. || lk == 45690 // 'element' 'case'
  12685. || lk == 45703 // 'false' 'case'
  12686. || lk == 45755 // 'namespace' 'case'
  12687. || lk == 45765 // 'null' 'case'
  12688. || lk == 45788 // 'processing-instruction' 'case'
  12689. || lk == 45823 // 'true' 'case'
  12690. || lk == 46163 // 'attribute' 'cast'
  12691. || lk == 46202 // 'element' 'cast'
  12692. || lk == 46215 // 'false' 'cast'
  12693. || lk == 46267 // 'namespace' 'cast'
  12694. || lk == 46277 // 'null' 'cast'
  12695. || lk == 46300 // 'processing-instruction' 'cast'
  12696. || lk == 46335 // 'true' 'cast'
  12697. || lk == 46675 // 'attribute' 'castable'
  12698. || lk == 46714 // 'element' 'castable'
  12699. || lk == 46727 // 'false' 'castable'
  12700. || lk == 46779 // 'namespace' 'castable'
  12701. || lk == 46789 // 'null' 'castable'
  12702. || lk == 46812 // 'processing-instruction' 'castable'
  12703. || lk == 46847 // 'true' 'castable'
  12704. || lk == 48723 // 'attribute' 'collation'
  12705. || lk == 48762 // 'element' 'collation'
  12706. || lk == 48775 // 'false' 'collation'
  12707. || lk == 48827 // 'namespace' 'collation'
  12708. || lk == 48837 // 'null' 'collation'
  12709. || lk == 48860 // 'processing-instruction' 'collation'
  12710. || lk == 48895 // 'true' 'collation'
  12711. || lk == 51335 // 'false' 'contains'
  12712. || lk == 51397 // 'null' 'contains'
  12713. || lk == 51455 // 'true' 'contains'
  12714. || lk == 54355 // 'attribute' 'count'
  12715. || lk == 54394 // 'element' 'count'
  12716. || lk == 54407 // 'false' 'count'
  12717. || lk == 54459 // 'namespace' 'count'
  12718. || lk == 54469 // 'null' 'count'
  12719. || lk == 54492 // 'processing-instruction' 'count'
  12720. || lk == 54527 // 'true' 'count'
  12721. || lk == 56403 // 'attribute' 'default'
  12722. || lk == 56442 // 'element' 'default'
  12723. || lk == 56455 // 'false' 'default'
  12724. || lk == 56507 // 'namespace' 'default'
  12725. || lk == 56517 // 'null' 'default'
  12726. || lk == 56540 // 'processing-instruction' 'default'
  12727. || lk == 56575 // 'true' 'default'
  12728. || lk == 58451 // 'attribute' 'descending'
  12729. || lk == 58490 // 'element' 'descending'
  12730. || lk == 58503 // 'false' 'descending'
  12731. || lk == 58555 // 'namespace' 'descending'
  12732. || lk == 58565 // 'null' 'descending'
  12733. || lk == 58588 // 'processing-instruction' 'descending'
  12734. || lk == 58623 // 'true' 'descending'
  12735. || lk == 61011 // 'attribute' 'div'
  12736. || lk == 61050 // 'element' 'div'
  12737. || lk == 61063 // 'false' 'div'
  12738. || lk == 61115 // 'namespace' 'div'
  12739. || lk == 61125 // 'null' 'div'
  12740. || lk == 61148 // 'processing-instruction' 'div'
  12741. || lk == 61183 // 'true' 'div'
  12742. || lk == 63059 // 'attribute' 'else'
  12743. || lk == 63098 // 'element' 'else'
  12744. || lk == 63111 // 'false' 'else'
  12745. || lk == 63163 // 'namespace' 'else'
  12746. || lk == 63173 // 'null' 'else'
  12747. || lk == 63196 // 'processing-instruction' 'else'
  12748. || lk == 63231 // 'true' 'else'
  12749. || lk == 63571 // 'attribute' 'empty'
  12750. || lk == 63610 // 'element' 'empty'
  12751. || lk == 63623 // 'false' 'empty'
  12752. || lk == 63675 // 'namespace' 'empty'
  12753. || lk == 63685 // 'null' 'empty'
  12754. || lk == 63708 // 'processing-instruction' 'empty'
  12755. || lk == 63743 // 'true' 'empty'
  12756. || lk == 65107 // 'attribute' 'end'
  12757. || lk == 65146 // 'element' 'end'
  12758. || lk == 65159 // 'false' 'end'
  12759. || lk == 65211 // 'namespace' 'end'
  12760. || lk == 65221 // 'null' 'end'
  12761. || lk == 65244 // 'processing-instruction' 'end'
  12762. || lk == 65279 // 'true' 'end'
  12763. || lk == 66131 // 'attribute' 'eq'
  12764. || lk == 66170 // 'element' 'eq'
  12765. || lk == 66183 // 'false' 'eq'
  12766. || lk == 66235 // 'namespace' 'eq'
  12767. || lk == 66245 // 'null' 'eq'
  12768. || lk == 66268 // 'processing-instruction' 'eq'
  12769. || lk == 66303 // 'true' 'eq'
  12770. || lk == 67667 // 'attribute' 'except'
  12771. || lk == 67706 // 'element' 'except'
  12772. || lk == 67719 // 'false' 'except'
  12773. || lk == 67771 // 'namespace' 'except'
  12774. || lk == 67781 // 'null' 'except'
  12775. || lk == 67804 // 'processing-instruction' 'except'
  12776. || lk == 67839 // 'true' 'except'
  12777. || lk == 71251 // 'attribute' 'for'
  12778. || lk == 71290 // 'element' 'for'
  12779. || lk == 71303 // 'false' 'for'
  12780. || lk == 71355 // 'namespace' 'for'
  12781. || lk == 71365 // 'null' 'for'
  12782. || lk == 71388 // 'processing-instruction' 'for'
  12783. || lk == 71423 // 'true' 'for'
  12784. || lk == 75859 // 'attribute' 'ge'
  12785. || lk == 75898 // 'element' 'ge'
  12786. || lk == 75911 // 'false' 'ge'
  12787. || lk == 75963 // 'namespace' 'ge'
  12788. || lk == 75973 // 'null' 'ge'
  12789. || lk == 75996 // 'processing-instruction' 'ge'
  12790. || lk == 76031 // 'true' 'ge'
  12791. || lk == 76883 // 'attribute' 'group'
  12792. || lk == 76922 // 'element' 'group'
  12793. || lk == 76935 // 'false' 'group'
  12794. || lk == 76987 // 'namespace' 'group'
  12795. || lk == 76997 // 'null' 'group'
  12796. || lk == 77020 // 'processing-instruction' 'group'
  12797. || lk == 77055 // 'true' 'group'
  12798. || lk == 77907 // 'attribute' 'gt'
  12799. || lk == 77946 // 'element' 'gt'
  12800. || lk == 77959 // 'false' 'gt'
  12801. || lk == 78011 // 'namespace' 'gt'
  12802. || lk == 78021 // 'null' 'gt'
  12803. || lk == 78044 // 'processing-instruction' 'gt'
  12804. || lk == 78079 // 'true' 'gt'
  12805. || lk == 78419 // 'attribute' 'idiv'
  12806. || lk == 78458 // 'element' 'idiv'
  12807. || lk == 78471 // 'false' 'idiv'
  12808. || lk == 78523 // 'namespace' 'idiv'
  12809. || lk == 78533 // 'null' 'idiv'
  12810. || lk == 78556 // 'processing-instruction' 'idiv'
  12811. || lk == 78591 // 'true' 'idiv'
  12812. || lk == 83027 // 'attribute' 'instance'
  12813. || lk == 83066 // 'element' 'instance'
  12814. || lk == 83079 // 'false' 'instance'
  12815. || lk == 83131 // 'namespace' 'instance'
  12816. || lk == 83141 // 'null' 'instance'
  12817. || lk == 83164 // 'processing-instruction' 'instance'
  12818. || lk == 83199 // 'true' 'instance'
  12819. || lk == 84051 // 'attribute' 'intersect'
  12820. || lk == 84090 // 'element' 'intersect'
  12821. || lk == 84103 // 'false' 'intersect'
  12822. || lk == 84155 // 'namespace' 'intersect'
  12823. || lk == 84165 // 'null' 'intersect'
  12824. || lk == 84188 // 'processing-instruction' 'intersect'
  12825. || lk == 84223 // 'true' 'intersect'
  12826. || lk == 84563 // 'attribute' 'into'
  12827. || lk == 84602 // 'element' 'into'
  12828. || lk == 84615 // 'false' 'into'
  12829. || lk == 84667 // 'namespace' 'into'
  12830. || lk == 84677 // 'null' 'into'
  12831. || lk == 84700 // 'processing-instruction' 'into'
  12832. || lk == 84735 // 'true' 'into'
  12833. || lk == 85075 // 'attribute' 'is'
  12834. || lk == 85114 // 'element' 'is'
  12835. || lk == 85127 // 'false' 'is'
  12836. || lk == 85179 // 'namespace' 'is'
  12837. || lk == 85189 // 'null' 'is'
  12838. || lk == 85212 // 'processing-instruction' 'is'
  12839. || lk == 85247 // 'true' 'is'
  12840. || lk == 89683 // 'attribute' 'le'
  12841. || lk == 89722 // 'element' 'le'
  12842. || lk == 89735 // 'false' 'le'
  12843. || lk == 89787 // 'namespace' 'le'
  12844. || lk == 89797 // 'null' 'le'
  12845. || lk == 89820 // 'processing-instruction' 'le'
  12846. || lk == 89855 // 'true' 'le'
  12847. || lk == 90707 // 'attribute' 'let'
  12848. || lk == 90746 // 'element' 'let'
  12849. || lk == 90759 // 'false' 'let'
  12850. || lk == 90811 // 'namespace' 'let'
  12851. || lk == 90821 // 'null' 'let'
  12852. || lk == 90844 // 'processing-instruction' 'let'
  12853. || lk == 90879 // 'true' 'let'
  12854. || lk == 92755 // 'attribute' 'lt'
  12855. || lk == 92794 // 'element' 'lt'
  12856. || lk == 92807 // 'false' 'lt'
  12857. || lk == 92859 // 'namespace' 'lt'
  12858. || lk == 92869 // 'null' 'lt'
  12859. || lk == 92892 // 'processing-instruction' 'lt'
  12860. || lk == 92927 // 'true' 'lt'
  12861. || lk == 93779 // 'attribute' 'mod'
  12862. || lk == 93818 // 'element' 'mod'
  12863. || lk == 93831 // 'false' 'mod'
  12864. || lk == 93883 // 'namespace' 'mod'
  12865. || lk == 93893 // 'null' 'mod'
  12866. || lk == 93916 // 'processing-instruction' 'mod'
  12867. || lk == 93951 // 'true' 'mod'
  12868. || lk == 94291 // 'attribute' 'modify'
  12869. || lk == 94330 // 'element' 'modify'
  12870. || lk == 94343 // 'false' 'modify'
  12871. || lk == 94395 // 'namespace' 'modify'
  12872. || lk == 94405 // 'null' 'modify'
  12873. || lk == 94428 // 'processing-instruction' 'modify'
  12874. || lk == 94463 // 'true' 'modify'
  12875. || lk == 96851 // 'attribute' 'ne'
  12876. || lk == 96890 // 'element' 'ne'
  12877. || lk == 96903 // 'false' 'ne'
  12878. || lk == 96955 // 'namespace' 'ne'
  12879. || lk == 96965 // 'null' 'ne'
  12880. || lk == 96988 // 'processing-instruction' 'ne'
  12881. || lk == 97023 // 'true' 'ne'
  12882. || lk == 103507 // 'attribute' 'only'
  12883. || lk == 103546 // 'element' 'only'
  12884. || lk == 103559 // 'false' 'only'
  12885. || lk == 103611 // 'namespace' 'only'
  12886. || lk == 103621 // 'null' 'only'
  12887. || lk == 103644 // 'processing-instruction' 'only'
  12888. || lk == 103679 // 'true' 'only'
  12889. || lk == 104531 // 'attribute' 'or'
  12890. || lk == 104570 // 'element' 'or'
  12891. || lk == 104583 // 'false' 'or'
  12892. || lk == 104635 // 'namespace' 'or'
  12893. || lk == 104645 // 'null' 'or'
  12894. || lk == 104668 // 'processing-instruction' 'or'
  12895. || lk == 104703 // 'true' 'or'
  12896. || lk == 105043 // 'attribute' 'order'
  12897. || lk == 105082 // 'element' 'order'
  12898. || lk == 105095 // 'false' 'order'
  12899. || lk == 105147 // 'namespace' 'order'
  12900. || lk == 105157 // 'null' 'order'
  12901. || lk == 105180 // 'processing-instruction' 'order'
  12902. || lk == 105215 // 'true' 'order'
  12903. || lk == 107143 // 'false' 'paragraphs'
  12904. || lk == 107205 // 'null' 'paragraphs'
  12905. || lk == 107263 // 'true' 'paragraphs'
  12906. || lk == 114771 // 'attribute' 'return'
  12907. || lk == 114810 // 'element' 'return'
  12908. || lk == 114823 // 'false' 'return'
  12909. || lk == 114875 // 'namespace' 'return'
  12910. || lk == 114885 // 'null' 'return'
  12911. || lk == 114908 // 'processing-instruction' 'return'
  12912. || lk == 114943 // 'true' 'return'
  12913. || lk == 116819 // 'attribute' 'satisfies'
  12914. || lk == 116858 // 'element' 'satisfies'
  12915. || lk == 116871 // 'false' 'satisfies'
  12916. || lk == 116923 // 'namespace' 'satisfies'
  12917. || lk == 116933 // 'null' 'satisfies'
  12918. || lk == 116956 // 'processing-instruction' 'satisfies'
  12919. || lk == 116991 // 'true' 'satisfies'
  12920. || lk == 121479 // 'false' 'sentences'
  12921. || lk == 121541 // 'null' 'sentences'
  12922. || lk == 121599 // 'true' 'sentences'
  12923. || lk == 123475 // 'attribute' 'stable'
  12924. || lk == 123514 // 'element' 'stable'
  12925. || lk == 123527 // 'false' 'stable'
  12926. || lk == 123579 // 'namespace' 'stable'
  12927. || lk == 123589 // 'null' 'stable'
  12928. || lk == 123612 // 'processing-instruction' 'stable'
  12929. || lk == 123647 // 'true' 'stable'
  12930. || lk == 123987 // 'attribute' 'start'
  12931. || lk == 124026 // 'element' 'start'
  12932. || lk == 124039 // 'false' 'start'
  12933. || lk == 124091 // 'namespace' 'start'
  12934. || lk == 124101 // 'null' 'start'
  12935. || lk == 124124 // 'processing-instruction' 'start'
  12936. || lk == 124159 // 'true' 'start'
  12937. || lk == 129159 // 'false' 'times'
  12938. || lk == 129221 // 'null' 'times'
  12939. || lk == 129279 // 'true' 'times'
  12940. || lk == 129619 // 'attribute' 'to'
  12941. || lk == 129658 // 'element' 'to'
  12942. || lk == 129671 // 'false' 'to'
  12943. || lk == 129723 // 'namespace' 'to'
  12944. || lk == 129733 // 'null' 'to'
  12945. || lk == 129756 // 'processing-instruction' 'to'
  12946. || lk == 129791 // 'true' 'to'
  12947. || lk == 130131 // 'attribute' 'treat'
  12948. || lk == 130170 // 'element' 'treat'
  12949. || lk == 130183 // 'false' 'treat'
  12950. || lk == 130235 // 'namespace' 'treat'
  12951. || lk == 130245 // 'null' 'treat'
  12952. || lk == 130268 // 'processing-instruction' 'treat'
  12953. || lk == 130303 // 'true' 'treat'
  12954. || lk == 133203 // 'attribute' 'union'
  12955. || lk == 133242 // 'element' 'union'
  12956. || lk == 133255 // 'false' 'union'
  12957. || lk == 133307 // 'namespace' 'union'
  12958. || lk == 133317 // 'null' 'union'
  12959. || lk == 133340 // 'processing-instruction' 'union'
  12960. || lk == 133375 // 'true' 'union'
  12961. || lk == 139347 // 'attribute' 'where'
  12962. || lk == 139386 // 'element' 'where'
  12963. || lk == 139399 // 'false' 'where'
  12964. || lk == 139451 // 'namespace' 'where'
  12965. || lk == 139461 // 'null' 'where'
  12966. || lk == 139484 // 'processing-instruction' 'where'
  12967. || lk == 139519 // 'true' 'where'
  12968. || lk == 141395 // 'attribute' 'with'
  12969. || lk == 141434 // 'element' 'with'
  12970. || lk == 141447 // 'false' 'with'
  12971. || lk == 141499 // 'namespace' 'with'
  12972. || lk == 141509 // 'null' 'with'
  12973. || lk == 141532 // 'processing-instruction' 'with'
  12974. || lk == 141567 // 'true' 'with'
  12975. || lk == 142983 // 'false' 'words'
  12976. || lk == 143045 // 'null' 'words'
  12977. || lk == 143103 // 'true' 'words'
  12978. || lk == 145543 // 'false' '|'
  12979. || lk == 145605 // 'null' '|'
  12980. || lk == 145663 // 'true' '|'
  12981. || lk == 146055 // 'false' '||'
  12982. || lk == 146117 // 'null' '||'
  12983. || lk == 146175 // 'true' '||'
  12984. || lk == 146567 // 'false' '|}'
  12985. || lk == 146629 // 'null' '|}'
  12986. || lk == 146687 // 'true' '|}'
  12987. || lk == 147079 // 'false' '}'
  12988. || lk == 147141 // 'null' '}'
  12989. || lk == 147199) // 'true' '}'
  12990. {
  12991. lk = memoized(4, e0);
  12992. if (lk == 0)
  12993. {
  12994. var b0A = b0; var e0A = e0; var l1A = l1;
  12995. var b1A = b1; var e1A = e1; var l2A = l2;
  12996. var b2A = b2; var e2A = e2;
  12997. try
  12998. {
  12999. try_PostfixExpr();
  13000. memoize(4, e0A, -1);
  13001. lk = -3;
  13002. }
  13003. catch (p1A)
  13004. {
  13005. lk = -2;
  13006. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  13007. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  13008. b2 = b2A; e2 = e2A; end = e2A; }}
  13009. memoize(4, e0A, -2);
  13010. }
  13011. }
  13012. }
  13013. switch (lk)
  13014. {
  13015. case -1:
  13016. case 8: // IntegerLiteral
  13017. case 9: // DecimalLiteral
  13018. case 10: // DoubleLiteral
  13019. case 11: // StringLiteral
  13020. case 31: // '$'
  13021. case 32: // '$$'
  13022. case 33: // '%'
  13023. case 35: // '('
  13024. case 55: // '<'
  13025. case 56: // '<!--'
  13026. case 60: // '<?'
  13027. case 69: // '['
  13028. case 281: // '{'
  13029. case 283: // '{|'
  13030. case 3155: // 'attribute' EQName^Token
  13031. case 3194: // 'element' EQName^Token
  13032. case 9915: // 'namespace' NCName^Token
  13033. case 9948: // 'processing-instruction' NCName^Token
  13034. case 14854: // EQName^Token '#'
  13035. case 14919: // 'after' '#'
  13036. case 14921: // 'allowing' '#'
  13037. case 14922: // 'ancestor' '#'
  13038. case 14923: // 'ancestor-or-self' '#'
  13039. case 14924: // 'and' '#'
  13040. case 14926: // 'append' '#'
  13041. case 14927: // 'array' '#'
  13042. case 14928: // 'as' '#'
  13043. case 14929: // 'ascending' '#'
  13044. case 14930: // 'at' '#'
  13045. case 14931: // 'attribute' '#'
  13046. case 14932: // 'base-uri' '#'
  13047. case 14933: // 'before' '#'
  13048. case 14934: // 'boundary-space' '#'
  13049. case 14935: // 'break' '#'
  13050. case 14937: // 'case' '#'
  13051. case 14938: // 'cast' '#'
  13052. case 14939: // 'castable' '#'
  13053. case 14940: // 'catch' '#'
  13054. case 14942: // 'child' '#'
  13055. case 14943: // 'collation' '#'
  13056. case 14945: // 'comment' '#'
  13057. case 14946: // 'constraint' '#'
  13058. case 14947: // 'construction' '#'
  13059. case 14950: // 'context' '#'
  13060. case 14951: // 'continue' '#'
  13061. case 14952: // 'copy' '#'
  13062. case 14953: // 'copy-namespaces' '#'
  13063. case 14954: // 'count' '#'
  13064. case 14955: // 'decimal-format' '#'
  13065. case 14957: // 'declare' '#'
  13066. case 14958: // 'default' '#'
  13067. case 14959: // 'delete' '#'
  13068. case 14960: // 'descendant' '#'
  13069. case 14961: // 'descendant-or-self' '#'
  13070. case 14962: // 'descending' '#'
  13071. case 14967: // 'div' '#'
  13072. case 14968: // 'document' '#'
  13073. case 14969: // 'document-node' '#'
  13074. case 14970: // 'element' '#'
  13075. case 14971: // 'else' '#'
  13076. case 14972: // 'empty' '#'
  13077. case 14973: // 'empty-sequence' '#'
  13078. case 14974: // 'encoding' '#'
  13079. case 14975: // 'end' '#'
  13080. case 14977: // 'eq' '#'
  13081. case 14978: // 'every' '#'
  13082. case 14980: // 'except' '#'
  13083. case 14981: // 'exit' '#'
  13084. case 14982: // 'external' '#'
  13085. case 14983: // 'false' '#'
  13086. case 14984: // 'first' '#'
  13087. case 14985: // 'following' '#'
  13088. case 14986: // 'following-sibling' '#'
  13089. case 14987: // 'for' '#'
  13090. case 14990: // 'from' '#'
  13091. case 14991: // 'ft-option' '#'
  13092. case 14995: // 'function' '#'
  13093. case 14996: // 'ge' '#'
  13094. case 14998: // 'group' '#'
  13095. case 15000: // 'gt' '#'
  13096. case 15001: // 'idiv' '#'
  13097. case 15002: // 'if' '#'
  13098. case 15003: // 'import' '#'
  13099. case 15004: // 'in' '#'
  13100. case 15005: // 'index' '#'
  13101. case 15009: // 'insert' '#'
  13102. case 15010: // 'instance' '#'
  13103. case 15011: // 'integrity' '#'
  13104. case 15012: // 'intersect' '#'
  13105. case 15013: // 'into' '#'
  13106. case 15014: // 'is' '#'
  13107. case 15015: // 'item' '#'
  13108. case 15016: // 'json' '#'
  13109. case 15017: // 'json-item' '#'
  13110. case 15018: // 'jsoniq' '#'
  13111. case 15021: // 'last' '#'
  13112. case 15022: // 'lax' '#'
  13113. case 15023: // 'le' '#'
  13114. case 15025: // 'let' '#'
  13115. case 15027: // 'loop' '#'
  13116. case 15029: // 'lt' '#'
  13117. case 15031: // 'mod' '#'
  13118. case 15032: // 'modify' '#'
  13119. case 15033: // 'module' '#'
  13120. case 15035: // 'namespace' '#'
  13121. case 15036: // 'namespace-node' '#'
  13122. case 15037: // 'ne' '#'
  13123. case 15042: // 'node' '#'
  13124. case 15043: // 'nodes' '#'
  13125. case 15045: // 'null' '#'
  13126. case 15046: // 'object' '#'
  13127. case 15050: // 'only' '#'
  13128. case 15051: // 'option' '#'
  13129. case 15052: // 'or' '#'
  13130. case 15053: // 'order' '#'
  13131. case 15054: // 'ordered' '#'
  13132. case 15055: // 'ordering' '#'
  13133. case 15058: // 'parent' '#'
  13134. case 15064: // 'preceding' '#'
  13135. case 15065: // 'preceding-sibling' '#'
  13136. case 15068: // 'processing-instruction' '#'
  13137. case 15070: // 'rename' '#'
  13138. case 15071: // 'replace' '#'
  13139. case 15072: // 'return' '#'
  13140. case 15073: // 'returning' '#'
  13141. case 15074: // 'revalidation' '#'
  13142. case 15076: // 'satisfies' '#'
  13143. case 15077: // 'schema' '#'
  13144. case 15078: // 'schema-attribute' '#'
  13145. case 15079: // 'schema-element' '#'
  13146. case 15080: // 'score' '#'
  13147. case 15081: // 'select' '#'
  13148. case 15082: // 'self' '#'
  13149. case 15087: // 'sliding' '#'
  13150. case 15088: // 'some' '#'
  13151. case 15089: // 'stable' '#'
  13152. case 15090: // 'start' '#'
  13153. case 15093: // 'strict' '#'
  13154. case 15095: // 'structured-item' '#'
  13155. case 15096: // 'switch' '#'
  13156. case 15097: // 'text' '#'
  13157. case 15101: // 'to' '#'
  13158. case 15102: // 'treat' '#'
  13159. case 15103: // 'true' '#'
  13160. case 15104: // 'try' '#'
  13161. case 15105: // 'tumbling' '#'
  13162. case 15106: // 'type' '#'
  13163. case 15107: // 'typeswitch' '#'
  13164. case 15108: // 'union' '#'
  13165. case 15110: // 'unordered' '#'
  13166. case 15111: // 'updating' '#'
  13167. case 15114: // 'validate' '#'
  13168. case 15115: // 'value' '#'
  13169. case 15116: // 'variable' '#'
  13170. case 15117: // 'version' '#'
  13171. case 15120: // 'where' '#'
  13172. case 15121: // 'while' '#'
  13173. case 15124: // 'with' '#'
  13174. case 17926: // EQName^Token '('
  13175. case 17991: // 'after' '('
  13176. case 17993: // 'allowing' '('
  13177. case 17994: // 'ancestor' '('
  13178. case 17995: // 'ancestor-or-self' '('
  13179. case 17996: // 'and' '('
  13180. case 17998: // 'append' '('
  13181. case 18000: // 'as' '('
  13182. case 18001: // 'ascending' '('
  13183. case 18002: // 'at' '('
  13184. case 18004: // 'base-uri' '('
  13185. case 18005: // 'before' '('
  13186. case 18006: // 'boundary-space' '('
  13187. case 18007: // 'break' '('
  13188. case 18009: // 'case' '('
  13189. case 18010: // 'cast' '('
  13190. case 18011: // 'castable' '('
  13191. case 18012: // 'catch' '('
  13192. case 18014: // 'child' '('
  13193. case 18015: // 'collation' '('
  13194. case 18018: // 'constraint' '('
  13195. case 18019: // 'construction' '('
  13196. case 18022: // 'context' '('
  13197. case 18023: // 'continue' '('
  13198. case 18024: // 'copy' '('
  13199. case 18025: // 'copy-namespaces' '('
  13200. case 18026: // 'count' '('
  13201. case 18027: // 'decimal-format' '('
  13202. case 18029: // 'declare' '('
  13203. case 18030: // 'default' '('
  13204. case 18031: // 'delete' '('
  13205. case 18032: // 'descendant' '('
  13206. case 18033: // 'descendant-or-self' '('
  13207. case 18034: // 'descending' '('
  13208. case 18039: // 'div' '('
  13209. case 18040: // 'document' '('
  13210. case 18043: // 'else' '('
  13211. case 18044: // 'empty' '('
  13212. case 18046: // 'encoding' '('
  13213. case 18047: // 'end' '('
  13214. case 18049: // 'eq' '('
  13215. case 18050: // 'every' '('
  13216. case 18052: // 'except' '('
  13217. case 18053: // 'exit' '('
  13218. case 18054: // 'external' '('
  13219. case 18055: // 'false' '('
  13220. case 18056: // 'first' '('
  13221. case 18057: // 'following' '('
  13222. case 18058: // 'following-sibling' '('
  13223. case 18059: // 'for' '('
  13224. case 18062: // 'from' '('
  13225. case 18063: // 'ft-option' '('
  13226. case 18067: // 'function' '('
  13227. case 18068: // 'ge' '('
  13228. case 18070: // 'group' '('
  13229. case 18072: // 'gt' '('
  13230. case 18073: // 'idiv' '('
  13231. case 18075: // 'import' '('
  13232. case 18076: // 'in' '('
  13233. case 18077: // 'index' '('
  13234. case 18081: // 'insert' '('
  13235. case 18082: // 'instance' '('
  13236. case 18083: // 'integrity' '('
  13237. case 18084: // 'intersect' '('
  13238. case 18085: // 'into' '('
  13239. case 18086: // 'is' '('
  13240. case 18088: // 'json' '('
  13241. case 18090: // 'jsoniq' '('
  13242. case 18093: // 'last' '('
  13243. case 18094: // 'lax' '('
  13244. case 18095: // 'le' '('
  13245. case 18097: // 'let' '('
  13246. case 18099: // 'loop' '('
  13247. case 18101: // 'lt' '('
  13248. case 18103: // 'mod' '('
  13249. case 18104: // 'modify' '('
  13250. case 18105: // 'module' '('
  13251. case 18107: // 'namespace' '('
  13252. case 18109: // 'ne' '('
  13253. case 18115: // 'nodes' '('
  13254. case 18117: // 'null' '('
  13255. case 18118: // 'object' '('
  13256. case 18122: // 'only' '('
  13257. case 18123: // 'option' '('
  13258. case 18124: // 'or' '('
  13259. case 18125: // 'order' '('
  13260. case 18126: // 'ordered' '('
  13261. case 18127: // 'ordering' '('
  13262. case 18130: // 'parent' '('
  13263. case 18136: // 'preceding' '('
  13264. case 18137: // 'preceding-sibling' '('
  13265. case 18142: // 'rename' '('
  13266. case 18143: // 'replace' '('
  13267. case 18144: // 'return' '('
  13268. case 18145: // 'returning' '('
  13269. case 18146: // 'revalidation' '('
  13270. case 18148: // 'satisfies' '('
  13271. case 18149: // 'schema' '('
  13272. case 18152: // 'score' '('
  13273. case 18153: // 'select' '('
  13274. case 18154: // 'self' '('
  13275. case 18159: // 'sliding' '('
  13276. case 18160: // 'some' '('
  13277. case 18161: // 'stable' '('
  13278. case 18162: // 'start' '('
  13279. case 18165: // 'strict' '('
  13280. case 18173: // 'to' '('
  13281. case 18174: // 'treat' '('
  13282. case 18175: // 'true' '('
  13283. case 18176: // 'try' '('
  13284. case 18177: // 'tumbling' '('
  13285. case 18178: // 'type' '('
  13286. case 18180: // 'union' '('
  13287. case 18182: // 'unordered' '('
  13288. case 18183: // 'updating' '('
  13289. case 18186: // 'validate' '('
  13290. case 18187: // 'value' '('
  13291. case 18188: // 'variable' '('
  13292. case 18189: // 'version' '('
  13293. case 18192: // 'where' '('
  13294. case 18193: // 'while' '('
  13295. case 18196: // 'with' '('
  13296. case 23175: // 'false' '.'
  13297. case 23237: // 'null' '.'
  13298. case 23295: // 'true' '.'
  13299. case 37459: // 'attribute' 'allowing'
  13300. case 37498: // 'element' 'allowing'
  13301. case 37563: // 'namespace' 'allowing'
  13302. case 37596: // 'processing-instruction' 'allowing'
  13303. case 37971: // 'attribute' 'ancestor'
  13304. case 38010: // 'element' 'ancestor'
  13305. case 38075: // 'namespace' 'ancestor'
  13306. case 38108: // 'processing-instruction' 'ancestor'
  13307. case 38483: // 'attribute' 'ancestor-or-self'
  13308. case 38522: // 'element' 'ancestor-or-self'
  13309. case 38587: // 'namespace' 'ancestor-or-self'
  13310. case 38620: // 'processing-instruction' 'ancestor-or-self'
  13311. case 40019: // 'attribute' 'append'
  13312. case 40058: // 'element' 'append'
  13313. case 40123: // 'namespace' 'append'
  13314. case 40156: // 'processing-instruction' 'append'
  13315. case 40531: // 'attribute' 'array'
  13316. case 40570: // 'element' 'array'
  13317. case 42579: // 'attribute' 'attribute'
  13318. case 42618: // 'element' 'attribute'
  13319. case 42683: // 'namespace' 'attribute'
  13320. case 42716: // 'processing-instruction' 'attribute'
  13321. case 43091: // 'attribute' 'base-uri'
  13322. case 43130: // 'element' 'base-uri'
  13323. case 43195: // 'namespace' 'base-uri'
  13324. case 43228: // 'processing-instruction' 'base-uri'
  13325. case 44115: // 'attribute' 'boundary-space'
  13326. case 44154: // 'element' 'boundary-space'
  13327. case 44219: // 'namespace' 'boundary-space'
  13328. case 44252: // 'processing-instruction' 'boundary-space'
  13329. case 44627: // 'attribute' 'break'
  13330. case 44666: // 'element' 'break'
  13331. case 44731: // 'namespace' 'break'
  13332. case 44764: // 'processing-instruction' 'break'
  13333. case 47187: // 'attribute' 'catch'
  13334. case 47226: // 'element' 'catch'
  13335. case 47291: // 'namespace' 'catch'
  13336. case 47324: // 'processing-instruction' 'catch'
  13337. case 48211: // 'attribute' 'child'
  13338. case 48250: // 'element' 'child'
  13339. case 48315: // 'namespace' 'child'
  13340. case 48348: // 'processing-instruction' 'child'
  13341. case 49747: // 'attribute' 'comment'
  13342. case 49786: // 'element' 'comment'
  13343. case 49851: // 'namespace' 'comment'
  13344. case 49884: // 'processing-instruction' 'comment'
  13345. case 50259: // 'attribute' 'constraint'
  13346. case 50298: // 'element' 'constraint'
  13347. case 50363: // 'namespace' 'constraint'
  13348. case 50396: // 'processing-instruction' 'constraint'
  13349. case 50771: // 'attribute' 'construction'
  13350. case 50810: // 'element' 'construction'
  13351. case 50875: // 'namespace' 'construction'
  13352. case 50908: // 'processing-instruction' 'construction'
  13353. case 52307: // 'attribute' 'context'
  13354. case 52346: // 'element' 'context'
  13355. case 52411: // 'namespace' 'context'
  13356. case 52444: // 'processing-instruction' 'context'
  13357. case 52819: // 'attribute' 'continue'
  13358. case 52858: // 'element' 'continue'
  13359. case 52923: // 'namespace' 'continue'
  13360. case 52956: // 'processing-instruction' 'continue'
  13361. case 53331: // 'attribute' 'copy'
  13362. case 53370: // 'element' 'copy'
  13363. case 53435: // 'namespace' 'copy'
  13364. case 53468: // 'processing-instruction' 'copy'
  13365. case 53843: // 'attribute' 'copy-namespaces'
  13366. case 53882: // 'element' 'copy-namespaces'
  13367. case 53947: // 'namespace' 'copy-namespaces'
  13368. case 53980: // 'processing-instruction' 'copy-namespaces'
  13369. case 54867: // 'attribute' 'decimal-format'
  13370. case 54906: // 'element' 'decimal-format'
  13371. case 54971: // 'namespace' 'decimal-format'
  13372. case 55004: // 'processing-instruction' 'decimal-format'
  13373. case 55891: // 'attribute' 'declare'
  13374. case 55930: // 'element' 'declare'
  13375. case 55995: // 'namespace' 'declare'
  13376. case 56028: // 'processing-instruction' 'declare'
  13377. case 56915: // 'attribute' 'delete'
  13378. case 56954: // 'element' 'delete'
  13379. case 57019: // 'namespace' 'delete'
  13380. case 57052: // 'processing-instruction' 'delete'
  13381. case 57427: // 'attribute' 'descendant'
  13382. case 57466: // 'element' 'descendant'
  13383. case 57531: // 'namespace' 'descendant'
  13384. case 57564: // 'processing-instruction' 'descendant'
  13385. case 57939: // 'attribute' 'descendant-or-self'
  13386. case 57978: // 'element' 'descendant-or-self'
  13387. case 58043: // 'namespace' 'descendant-or-self'
  13388. case 58076: // 'processing-instruction' 'descendant-or-self'
  13389. case 61523: // 'attribute' 'document'
  13390. case 61562: // 'element' 'document'
  13391. case 61627: // 'namespace' 'document'
  13392. case 61660: // 'processing-instruction' 'document'
  13393. case 62035: // 'attribute' 'document-node'
  13394. case 62074: // 'element' 'document-node'
  13395. case 62139: // 'namespace' 'document-node'
  13396. case 62172: // 'processing-instruction' 'document-node'
  13397. case 62547: // 'attribute' 'element'
  13398. case 62586: // 'element' 'element'
  13399. case 62651: // 'namespace' 'element'
  13400. case 62684: // 'processing-instruction' 'element'
  13401. case 64083: // 'attribute' 'empty-sequence'
  13402. case 64122: // 'element' 'empty-sequence'
  13403. case 64187: // 'namespace' 'empty-sequence'
  13404. case 64220: // 'processing-instruction' 'empty-sequence'
  13405. case 64595: // 'attribute' 'encoding'
  13406. case 64634: // 'element' 'encoding'
  13407. case 64699: // 'namespace' 'encoding'
  13408. case 64732: // 'processing-instruction' 'encoding'
  13409. case 66643: // 'attribute' 'every'
  13410. case 66682: // 'element' 'every'
  13411. case 66747: // 'namespace' 'every'
  13412. case 66780: // 'processing-instruction' 'every'
  13413. case 68179: // 'attribute' 'exit'
  13414. case 68218: // 'element' 'exit'
  13415. case 68283: // 'namespace' 'exit'
  13416. case 68316: // 'processing-instruction' 'exit'
  13417. case 68691: // 'attribute' 'external'
  13418. case 68730: // 'element' 'external'
  13419. case 68795: // 'namespace' 'external'
  13420. case 68828: // 'processing-instruction' 'external'
  13421. case 69203: // 'attribute' 'false'
  13422. case 69242: // 'element' 'false'
  13423. case 69307: // 'namespace' 'false'
  13424. case 69340: // 'processing-instruction' 'false'
  13425. case 69715: // 'attribute' 'first'
  13426. case 69754: // 'element' 'first'
  13427. case 69819: // 'namespace' 'first'
  13428. case 69852: // 'processing-instruction' 'first'
  13429. case 70227: // 'attribute' 'following'
  13430. case 70266: // 'element' 'following'
  13431. case 70331: // 'namespace' 'following'
  13432. case 70364: // 'processing-instruction' 'following'
  13433. case 70739: // 'attribute' 'following-sibling'
  13434. case 70778: // 'element' 'following-sibling'
  13435. case 70843: // 'namespace' 'following-sibling'
  13436. case 70876: // 'processing-instruction' 'following-sibling'
  13437. case 72787: // 'attribute' 'from'
  13438. case 72826: // 'element' 'from'
  13439. case 72891: // 'namespace' 'from'
  13440. case 72924: // 'processing-instruction' 'from'
  13441. case 73299: // 'attribute' 'ft-option'
  13442. case 73338: // 'element' 'ft-option'
  13443. case 73403: // 'namespace' 'ft-option'
  13444. case 73436: // 'processing-instruction' 'ft-option'
  13445. case 75347: // 'attribute' 'function'
  13446. case 75386: // 'element' 'function'
  13447. case 75451: // 'namespace' 'function'
  13448. case 75484: // 'processing-instruction' 'function'
  13449. case 78931: // 'attribute' 'if'
  13450. case 78970: // 'element' 'if'
  13451. case 79035: // 'namespace' 'if'
  13452. case 79068: // 'processing-instruction' 'if'
  13453. case 79443: // 'attribute' 'import'
  13454. case 79482: // 'element' 'import'
  13455. case 79547: // 'namespace' 'import'
  13456. case 79580: // 'processing-instruction' 'import'
  13457. case 79955: // 'attribute' 'in'
  13458. case 79994: // 'element' 'in'
  13459. case 80059: // 'namespace' 'in'
  13460. case 80092: // 'processing-instruction' 'in'
  13461. case 80467: // 'attribute' 'index'
  13462. case 80506: // 'element' 'index'
  13463. case 80571: // 'namespace' 'index'
  13464. case 80604: // 'processing-instruction' 'index'
  13465. case 82515: // 'attribute' 'insert'
  13466. case 82554: // 'element' 'insert'
  13467. case 82619: // 'namespace' 'insert'
  13468. case 82652: // 'processing-instruction' 'insert'
  13469. case 83539: // 'attribute' 'integrity'
  13470. case 83578: // 'element' 'integrity'
  13471. case 83643: // 'namespace' 'integrity'
  13472. case 83676: // 'processing-instruction' 'integrity'
  13473. case 85587: // 'attribute' 'item'
  13474. case 85626: // 'element' 'item'
  13475. case 85691: // 'namespace' 'item'
  13476. case 85724: // 'processing-instruction' 'item'
  13477. case 86099: // 'attribute' 'json'
  13478. case 86138: // 'element' 'json'
  13479. case 86203: // 'namespace' 'json'
  13480. case 86236: // 'processing-instruction' 'json'
  13481. case 86611: // 'attribute' 'json-item'
  13482. case 86650: // 'element' 'json-item'
  13483. case 87123: // 'attribute' 'jsoniq'
  13484. case 87162: // 'element' 'jsoniq'
  13485. case 87227: // 'namespace' 'jsoniq'
  13486. case 87260: // 'processing-instruction' 'jsoniq'
  13487. case 88659: // 'attribute' 'last'
  13488. case 88698: // 'element' 'last'
  13489. case 88763: // 'namespace' 'last'
  13490. case 88796: // 'processing-instruction' 'last'
  13491. case 89171: // 'attribute' 'lax'
  13492. case 89210: // 'element' 'lax'
  13493. case 89275: // 'namespace' 'lax'
  13494. case 89308: // 'processing-instruction' 'lax'
  13495. case 91731: // 'attribute' 'loop'
  13496. case 91770: // 'element' 'loop'
  13497. case 91835: // 'namespace' 'loop'
  13498. case 91868: // 'processing-instruction' 'loop'
  13499. case 94803: // 'attribute' 'module'
  13500. case 94842: // 'element' 'module'
  13501. case 94907: // 'namespace' 'module'
  13502. case 94940: // 'processing-instruction' 'module'
  13503. case 95827: // 'attribute' 'namespace'
  13504. case 95866: // 'element' 'namespace'
  13505. case 95931: // 'namespace' 'namespace'
  13506. case 95964: // 'processing-instruction' 'namespace'
  13507. case 96339: // 'attribute' 'namespace-node'
  13508. case 96378: // 'element' 'namespace-node'
  13509. case 96443: // 'namespace' 'namespace-node'
  13510. case 96476: // 'processing-instruction' 'namespace-node'
  13511. case 99411: // 'attribute' 'node'
  13512. case 99450: // 'element' 'node'
  13513. case 99515: // 'namespace' 'node'
  13514. case 99548: // 'processing-instruction' 'node'
  13515. case 99923: // 'attribute' 'nodes'
  13516. case 99962: // 'element' 'nodes'
  13517. case 100027: // 'namespace' 'nodes'
  13518. case 100060: // 'processing-instruction' 'nodes'
  13519. case 100947: // 'attribute' 'null'
  13520. case 100986: // 'element' 'null'
  13521. case 101051: // 'namespace' 'null'
  13522. case 101084: // 'processing-instruction' 'null'
  13523. case 101459: // 'attribute' 'object'
  13524. case 101498: // 'element' 'object'
  13525. case 101563: // 'namespace' 'object'
  13526. case 101596: // 'processing-instruction' 'object'
  13527. case 104019: // 'attribute' 'option'
  13528. case 104058: // 'element' 'option'
  13529. case 104123: // 'namespace' 'option'
  13530. case 104156: // 'processing-instruction' 'option'
  13531. case 105555: // 'attribute' 'ordered'
  13532. case 105594: // 'element' 'ordered'
  13533. case 105659: // 'namespace' 'ordered'
  13534. case 105692: // 'processing-instruction' 'ordered'
  13535. case 106067: // 'attribute' 'ordering'
  13536. case 106106: // 'element' 'ordering'
  13537. case 106171: // 'namespace' 'ordering'
  13538. case 106204: // 'processing-instruction' 'ordering'
  13539. case 107603: // 'attribute' 'parent'
  13540. case 107642: // 'element' 'parent'
  13541. case 107707: // 'namespace' 'parent'
  13542. case 107740: // 'processing-instruction' 'parent'
  13543. case 110675: // 'attribute' 'preceding'
  13544. case 110714: // 'element' 'preceding'
  13545. case 110779: // 'namespace' 'preceding'
  13546. case 110812: // 'processing-instruction' 'preceding'
  13547. case 111187: // 'attribute' 'preceding-sibling'
  13548. case 111226: // 'element' 'preceding-sibling'
  13549. case 111291: // 'namespace' 'preceding-sibling'
  13550. case 111324: // 'processing-instruction' 'preceding-sibling'
  13551. case 112723: // 'attribute' 'processing-instruction'
  13552. case 112762: // 'element' 'processing-instruction'
  13553. case 112827: // 'namespace' 'processing-instruction'
  13554. case 112860: // 'processing-instruction' 'processing-instruction'
  13555. case 113747: // 'attribute' 'rename'
  13556. case 113786: // 'element' 'rename'
  13557. case 113851: // 'namespace' 'rename'
  13558. case 113884: // 'processing-instruction' 'rename'
  13559. case 114259: // 'attribute' 'replace'
  13560. case 114298: // 'element' 'replace'
  13561. case 114363: // 'namespace' 'replace'
  13562. case 114396: // 'processing-instruction' 'replace'
  13563. case 115283: // 'attribute' 'returning'
  13564. case 115322: // 'element' 'returning'
  13565. case 115387: // 'namespace' 'returning'
  13566. case 115420: // 'processing-instruction' 'returning'
  13567. case 115795: // 'attribute' 'revalidation'
  13568. case 115834: // 'element' 'revalidation'
  13569. case 115899: // 'namespace' 'revalidation'
  13570. case 115932: // 'processing-instruction' 'revalidation'
  13571. case 117331: // 'attribute' 'schema'
  13572. case 117370: // 'element' 'schema'
  13573. case 117435: // 'namespace' 'schema'
  13574. case 117468: // 'processing-instruction' 'schema'
  13575. case 117843: // 'attribute' 'schema-attribute'
  13576. case 117882: // 'element' 'schema-attribute'
  13577. case 117947: // 'namespace' 'schema-attribute'
  13578. case 117980: // 'processing-instruction' 'schema-attribute'
  13579. case 118355: // 'attribute' 'schema-element'
  13580. case 118394: // 'element' 'schema-element'
  13581. case 118459: // 'namespace' 'schema-element'
  13582. case 118492: // 'processing-instruction' 'schema-element'
  13583. case 118867: // 'attribute' 'score'
  13584. case 118906: // 'element' 'score'
  13585. case 118971: // 'namespace' 'score'
  13586. case 119004: // 'processing-instruction' 'score'
  13587. case 119379: // 'attribute' 'select'
  13588. case 119418: // 'element' 'select'
  13589. case 119483: // 'namespace' 'select'
  13590. case 119516: // 'processing-instruction' 'select'
  13591. case 119891: // 'attribute' 'self'
  13592. case 119930: // 'element' 'self'
  13593. case 119995: // 'namespace' 'self'
  13594. case 120028: // 'processing-instruction' 'self'
  13595. case 122451: // 'attribute' 'sliding'
  13596. case 122490: // 'element' 'sliding'
  13597. case 122555: // 'namespace' 'sliding'
  13598. case 122588: // 'processing-instruction' 'sliding'
  13599. case 122963: // 'attribute' 'some'
  13600. case 123002: // 'element' 'some'
  13601. case 123067: // 'namespace' 'some'
  13602. case 123100: // 'processing-instruction' 'some'
  13603. case 125523: // 'attribute' 'strict'
  13604. case 125562: // 'element' 'strict'
  13605. case 125627: // 'namespace' 'strict'
  13606. case 125660: // 'processing-instruction' 'strict'
  13607. case 126547: // 'attribute' 'structured-item'
  13608. case 126586: // 'element' 'structured-item'
  13609. case 127059: // 'attribute' 'switch'
  13610. case 127098: // 'element' 'switch'
  13611. case 127163: // 'namespace' 'switch'
  13612. case 127196: // 'processing-instruction' 'switch'
  13613. case 127571: // 'attribute' 'text'
  13614. case 127610: // 'element' 'text'
  13615. case 127675: // 'namespace' 'text'
  13616. case 127708: // 'processing-instruction' 'text'
  13617. case 130643: // 'attribute' 'true'
  13618. case 130682: // 'element' 'true'
  13619. case 130747: // 'namespace' 'true'
  13620. case 130780: // 'processing-instruction' 'true'
  13621. case 131155: // 'attribute' 'try'
  13622. case 131194: // 'element' 'try'
  13623. case 131259: // 'namespace' 'try'
  13624. case 131292: // 'processing-instruction' 'try'
  13625. case 131667: // 'attribute' 'tumbling'
  13626. case 131706: // 'element' 'tumbling'
  13627. case 131771: // 'namespace' 'tumbling'
  13628. case 131804: // 'processing-instruction' 'tumbling'
  13629. case 132179: // 'attribute' 'type'
  13630. case 132218: // 'element' 'type'
  13631. case 132283: // 'namespace' 'type'
  13632. case 132316: // 'processing-instruction' 'type'
  13633. case 132691: // 'attribute' 'typeswitch'
  13634. case 132730: // 'element' 'typeswitch'
  13635. case 132795: // 'namespace' 'typeswitch'
  13636. case 132828: // 'processing-instruction' 'typeswitch'
  13637. case 134227: // 'attribute' 'unordered'
  13638. case 134266: // 'element' 'unordered'
  13639. case 134331: // 'namespace' 'unordered'
  13640. case 134364: // 'processing-instruction' 'unordered'
  13641. case 134739: // 'attribute' 'updating'
  13642. case 134778: // 'element' 'updating'
  13643. case 134843: // 'namespace' 'updating'
  13644. case 134876: // 'processing-instruction' 'updating'
  13645. case 136275: // 'attribute' 'validate'
  13646. case 136314: // 'element' 'validate'
  13647. case 136379: // 'namespace' 'validate'
  13648. case 136412: // 'processing-instruction' 'validate'
  13649. case 136787: // 'attribute' 'value'
  13650. case 136826: // 'element' 'value'
  13651. case 136891: // 'namespace' 'value'
  13652. case 136924: // 'processing-instruction' 'value'
  13653. case 137299: // 'attribute' 'variable'
  13654. case 137338: // 'element' 'variable'
  13655. case 137403: // 'namespace' 'variable'
  13656. case 137436: // 'processing-instruction' 'variable'
  13657. case 137811: // 'attribute' 'version'
  13658. case 137850: // 'element' 'version'
  13659. case 137915: // 'namespace' 'version'
  13660. case 137948: // 'processing-instruction' 'version'
  13661. case 139859: // 'attribute' 'while'
  13662. case 139898: // 'element' 'while'
  13663. case 139963: // 'namespace' 'while'
  13664. case 139996: // 'processing-instruction' 'while'
  13665. case 143955: // 'attribute' '{'
  13666. case 143969: // 'comment' '{'
  13667. case 143992: // 'document' '{'
  13668. case 143994: // 'element' '{'
  13669. case 144059: // 'namespace' '{'
  13670. case 144078: // 'ordered' '{'
  13671. case 144092: // 'processing-instruction' '{'
  13672. case 144121: // 'text' '{'
  13673. case 144134: // 'unordered' '{'
  13674. try_PostfixExpr();
  13675. break;
  13676. case -3:
  13677. break;
  13678. default:
  13679. try_AxisStep();
  13680. }
  13681. }
  13682. function parse_AxisStep()
  13683. {
  13684. eventHandler.startNonterminal("AxisStep", e0);
  13685. switch (l1)
  13686. {
  13687. case 74: // 'ancestor'
  13688. case 75: // 'ancestor-or-self'
  13689. case 210: // 'parent'
  13690. case 216: // 'preceding'
  13691. case 217: // 'preceding-sibling'
  13692. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  13693. break;
  13694. default:
  13695. lk = l1;
  13696. }
  13697. switch (lk)
  13698. {
  13699. case 46: // '..'
  13700. case 26698: // 'ancestor' '::'
  13701. case 26699: // 'ancestor-or-self' '::'
  13702. case 26834: // 'parent' '::'
  13703. case 26840: // 'preceding' '::'
  13704. case 26841: // 'preceding-sibling' '::'
  13705. parse_ReverseStep();
  13706. break;
  13707. default:
  13708. parse_ForwardStep();
  13709. }
  13710. lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  13711. whitespace();
  13712. parse_PredicateList();
  13713. eventHandler.endNonterminal("AxisStep", e0);
  13714. }
  13715. function try_AxisStep()
  13716. {
  13717. switch (l1)
  13718. {
  13719. case 74: // 'ancestor'
  13720. case 75: // 'ancestor-or-self'
  13721. case 210: // 'parent'
  13722. case 216: // 'preceding'
  13723. case 217: // 'preceding-sibling'
  13724. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  13725. break;
  13726. default:
  13727. lk = l1;
  13728. }
  13729. switch (lk)
  13730. {
  13731. case 46: // '..'
  13732. case 26698: // 'ancestor' '::'
  13733. case 26699: // 'ancestor-or-self' '::'
  13734. case 26834: // 'parent' '::'
  13735. case 26840: // 'preceding' '::'
  13736. case 26841: // 'preceding-sibling' '::'
  13737. try_ReverseStep();
  13738. break;
  13739. default:
  13740. try_ForwardStep();
  13741. }
  13742. lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  13743. try_PredicateList();
  13744. }
  13745. function parse_ForwardStep()
  13746. {
  13747. eventHandler.startNonterminal("ForwardStep", e0);
  13748. switch (l1)
  13749. {
  13750. case 83: // 'attribute'
  13751. lookahead2W(235); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  13752. break;
  13753. case 94: // 'child'
  13754. case 112: // 'descendant'
  13755. case 113: // 'descendant-or-self'
  13756. case 137: // 'following'
  13757. case 138: // 'following-sibling'
  13758. case 234: // 'self'
  13759. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  13760. break;
  13761. default:
  13762. lk = l1;
  13763. }
  13764. switch (lk)
  13765. {
  13766. case 26707: // 'attribute' '::'
  13767. case 26718: // 'child' '::'
  13768. case 26736: // 'descendant' '::'
  13769. case 26737: // 'descendant-or-self' '::'
  13770. case 26761: // 'following' '::'
  13771. case 26762: // 'following-sibling' '::'
  13772. case 26858: // 'self' '::'
  13773. parse_ForwardAxis();
  13774. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13775. whitespace();
  13776. parse_NodeTest();
  13777. break;
  13778. default:
  13779. parse_AbbrevForwardStep();
  13780. }
  13781. eventHandler.endNonterminal("ForwardStep", e0);
  13782. }
  13783. function try_ForwardStep()
  13784. {
  13785. switch (l1)
  13786. {
  13787. case 83: // 'attribute'
  13788. lookahead2W(235); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  13789. break;
  13790. case 94: // 'child'
  13791. case 112: // 'descendant'
  13792. case 113: // 'descendant-or-self'
  13793. case 137: // 'following'
  13794. case 138: // 'following-sibling'
  13795. case 234: // 'self'
  13796. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  13797. break;
  13798. default:
  13799. lk = l1;
  13800. }
  13801. switch (lk)
  13802. {
  13803. case 26707: // 'attribute' '::'
  13804. case 26718: // 'child' '::'
  13805. case 26736: // 'descendant' '::'
  13806. case 26737: // 'descendant-or-self' '::'
  13807. case 26761: // 'following' '::'
  13808. case 26762: // 'following-sibling' '::'
  13809. case 26858: // 'self' '::'
  13810. try_ForwardAxis();
  13811. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13812. try_NodeTest();
  13813. break;
  13814. default:
  13815. try_AbbrevForwardStep();
  13816. }
  13817. }
  13818. function parse_ForwardAxis()
  13819. {
  13820. eventHandler.startNonterminal("ForwardAxis", e0);
  13821. switch (l1)
  13822. {
  13823. case 94: // 'child'
  13824. shift(94); // 'child'
  13825. lookahead1W(27); // S^WS | '(:' | '::'
  13826. shift(52); // '::'
  13827. break;
  13828. case 112: // 'descendant'
  13829. shift(112); // 'descendant'
  13830. lookahead1W(27); // S^WS | '(:' | '::'
  13831. shift(52); // '::'
  13832. break;
  13833. case 83: // 'attribute'
  13834. shift(83); // 'attribute'
  13835. lookahead1W(27); // S^WS | '(:' | '::'
  13836. shift(52); // '::'
  13837. break;
  13838. case 234: // 'self'
  13839. shift(234); // 'self'
  13840. lookahead1W(27); // S^WS | '(:' | '::'
  13841. shift(52); // '::'
  13842. break;
  13843. case 113: // 'descendant-or-self'
  13844. shift(113); // 'descendant-or-self'
  13845. lookahead1W(27); // S^WS | '(:' | '::'
  13846. shift(52); // '::'
  13847. break;
  13848. case 138: // 'following-sibling'
  13849. shift(138); // 'following-sibling'
  13850. lookahead1W(27); // S^WS | '(:' | '::'
  13851. shift(52); // '::'
  13852. break;
  13853. default:
  13854. shift(137); // 'following'
  13855. lookahead1W(27); // S^WS | '(:' | '::'
  13856. shift(52); // '::'
  13857. }
  13858. eventHandler.endNonterminal("ForwardAxis", e0);
  13859. }
  13860. function try_ForwardAxis()
  13861. {
  13862. switch (l1)
  13863. {
  13864. case 94: // 'child'
  13865. shiftT(94); // 'child'
  13866. lookahead1W(27); // S^WS | '(:' | '::'
  13867. shiftT(52); // '::'
  13868. break;
  13869. case 112: // 'descendant'
  13870. shiftT(112); // 'descendant'
  13871. lookahead1W(27); // S^WS | '(:' | '::'
  13872. shiftT(52); // '::'
  13873. break;
  13874. case 83: // 'attribute'
  13875. shiftT(83); // 'attribute'
  13876. lookahead1W(27); // S^WS | '(:' | '::'
  13877. shiftT(52); // '::'
  13878. break;
  13879. case 234: // 'self'
  13880. shiftT(234); // 'self'
  13881. lookahead1W(27); // S^WS | '(:' | '::'
  13882. shiftT(52); // '::'
  13883. break;
  13884. case 113: // 'descendant-or-self'
  13885. shiftT(113); // 'descendant-or-self'
  13886. lookahead1W(27); // S^WS | '(:' | '::'
  13887. shiftT(52); // '::'
  13888. break;
  13889. case 138: // 'following-sibling'
  13890. shiftT(138); // 'following-sibling'
  13891. lookahead1W(27); // S^WS | '(:' | '::'
  13892. shiftT(52); // '::'
  13893. break;
  13894. default:
  13895. shiftT(137); // 'following'
  13896. lookahead1W(27); // S^WS | '(:' | '::'
  13897. shiftT(52); // '::'
  13898. }
  13899. }
  13900. function parse_AbbrevForwardStep()
  13901. {
  13902. eventHandler.startNonterminal("AbbrevForwardStep", e0);
  13903. if (l1 == 67) // '@'
  13904. {
  13905. shift(67); // '@'
  13906. }
  13907. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13908. whitespace();
  13909. parse_NodeTest();
  13910. eventHandler.endNonterminal("AbbrevForwardStep", e0);
  13911. }
  13912. function try_AbbrevForwardStep()
  13913. {
  13914. if (l1 == 67) // '@'
  13915. {
  13916. shiftT(67); // '@'
  13917. }
  13918. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13919. try_NodeTest();
  13920. }
  13921. function parse_ReverseStep()
  13922. {
  13923. eventHandler.startNonterminal("ReverseStep", e0);
  13924. switch (l1)
  13925. {
  13926. case 46: // '..'
  13927. parse_AbbrevReverseStep();
  13928. break;
  13929. default:
  13930. parse_ReverseAxis();
  13931. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13932. whitespace();
  13933. parse_NodeTest();
  13934. }
  13935. eventHandler.endNonterminal("ReverseStep", e0);
  13936. }
  13937. function try_ReverseStep()
  13938. {
  13939. switch (l1)
  13940. {
  13941. case 46: // '..'
  13942. try_AbbrevReverseStep();
  13943. break;
  13944. default:
  13945. try_ReverseAxis();
  13946. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  13947. try_NodeTest();
  13948. }
  13949. }
  13950. function parse_ReverseAxis()
  13951. {
  13952. eventHandler.startNonterminal("ReverseAxis", e0);
  13953. switch (l1)
  13954. {
  13955. case 210: // 'parent'
  13956. shift(210); // 'parent'
  13957. lookahead1W(27); // S^WS | '(:' | '::'
  13958. shift(52); // '::'
  13959. break;
  13960. case 74: // 'ancestor'
  13961. shift(74); // 'ancestor'
  13962. lookahead1W(27); // S^WS | '(:' | '::'
  13963. shift(52); // '::'
  13964. break;
  13965. case 217: // 'preceding-sibling'
  13966. shift(217); // 'preceding-sibling'
  13967. lookahead1W(27); // S^WS | '(:' | '::'
  13968. shift(52); // '::'
  13969. break;
  13970. case 216: // 'preceding'
  13971. shift(216); // 'preceding'
  13972. lookahead1W(27); // S^WS | '(:' | '::'
  13973. shift(52); // '::'
  13974. break;
  13975. default:
  13976. shift(75); // 'ancestor-or-self'
  13977. lookahead1W(27); // S^WS | '(:' | '::'
  13978. shift(52); // '::'
  13979. }
  13980. eventHandler.endNonterminal("ReverseAxis", e0);
  13981. }
  13982. function try_ReverseAxis()
  13983. {
  13984. switch (l1)
  13985. {
  13986. case 210: // 'parent'
  13987. shiftT(210); // 'parent'
  13988. lookahead1W(27); // S^WS | '(:' | '::'
  13989. shiftT(52); // '::'
  13990. break;
  13991. case 74: // 'ancestor'
  13992. shiftT(74); // 'ancestor'
  13993. lookahead1W(27); // S^WS | '(:' | '::'
  13994. shiftT(52); // '::'
  13995. break;
  13996. case 217: // 'preceding-sibling'
  13997. shiftT(217); // 'preceding-sibling'
  13998. lookahead1W(27); // S^WS | '(:' | '::'
  13999. shiftT(52); // '::'
  14000. break;
  14001. case 216: // 'preceding'
  14002. shiftT(216); // 'preceding'
  14003. lookahead1W(27); // S^WS | '(:' | '::'
  14004. shiftT(52); // '::'
  14005. break;
  14006. default:
  14007. shiftT(75); // 'ancestor-or-self'
  14008. lookahead1W(27); // S^WS | '(:' | '::'
  14009. shiftT(52); // '::'
  14010. }
  14011. }
  14012. function parse_AbbrevReverseStep()
  14013. {
  14014. eventHandler.startNonterminal("AbbrevReverseStep", e0);
  14015. shift(46); // '..'
  14016. eventHandler.endNonterminal("AbbrevReverseStep", e0);
  14017. }
  14018. function try_AbbrevReverseStep()
  14019. {
  14020. shiftT(46); // '..'
  14021. }
  14022. function parse_NodeTest()
  14023. {
  14024. eventHandler.startNonterminal("NodeTest", e0);
  14025. switch (l1)
  14026. {
  14027. case 83: // 'attribute'
  14028. case 97: // 'comment'
  14029. case 121: // 'document-node'
  14030. case 122: // 'element'
  14031. case 188: // 'namespace-node'
  14032. case 194: // 'node'
  14033. case 220: // 'processing-instruction'
  14034. case 230: // 'schema-attribute'
  14035. case 231: // 'schema-element'
  14036. case 249: // 'text'
  14037. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  14038. break;
  14039. default:
  14040. lk = l1;
  14041. }
  14042. switch (lk)
  14043. {
  14044. case 18003: // 'attribute' '('
  14045. case 18017: // 'comment' '('
  14046. case 18041: // 'document-node' '('
  14047. case 18042: // 'element' '('
  14048. case 18108: // 'namespace-node' '('
  14049. case 18114: // 'node' '('
  14050. case 18140: // 'processing-instruction' '('
  14051. case 18150: // 'schema-attribute' '('
  14052. case 18151: // 'schema-element' '('
  14053. case 18169: // 'text' '('
  14054. parse_KindTest();
  14055. break;
  14056. default:
  14057. parse_NameTest();
  14058. }
  14059. eventHandler.endNonterminal("NodeTest", e0);
  14060. }
  14061. function try_NodeTest()
  14062. {
  14063. switch (l1)
  14064. {
  14065. case 83: // 'attribute'
  14066. case 97: // 'comment'
  14067. case 121: // 'document-node'
  14068. case 122: // 'element'
  14069. case 188: // 'namespace-node'
  14070. case 194: // 'node'
  14071. case 220: // 'processing-instruction'
  14072. case 230: // 'schema-attribute'
  14073. case 231: // 'schema-element'
  14074. case 249: // 'text'
  14075. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  14076. break;
  14077. default:
  14078. lk = l1;
  14079. }
  14080. switch (lk)
  14081. {
  14082. case 18003: // 'attribute' '('
  14083. case 18017: // 'comment' '('
  14084. case 18041: // 'document-node' '('
  14085. case 18042: // 'element' '('
  14086. case 18108: // 'namespace-node' '('
  14087. case 18114: // 'node' '('
  14088. case 18140: // 'processing-instruction' '('
  14089. case 18150: // 'schema-attribute' '('
  14090. case 18151: // 'schema-element' '('
  14091. case 18169: // 'text' '('
  14092. try_KindTest();
  14093. break;
  14094. default:
  14095. try_NameTest();
  14096. }
  14097. }
  14098. function parse_NameTest()
  14099. {
  14100. eventHandler.startNonterminal("NameTest", e0);
  14101. switch (l1)
  14102. {
  14103. case 5: // Wildcard
  14104. shift(5); // Wildcard
  14105. break;
  14106. default:
  14107. parse_EQName();
  14108. }
  14109. eventHandler.endNonterminal("NameTest", e0);
  14110. }
  14111. function try_NameTest()
  14112. {
  14113. switch (l1)
  14114. {
  14115. case 5: // Wildcard
  14116. shiftT(5); // Wildcard
  14117. break;
  14118. default:
  14119. try_EQName();
  14120. }
  14121. }
  14122. function parse_PostfixExpr()
  14123. {
  14124. eventHandler.startNonterminal("PostfixExpr", e0);
  14125. parse_PrimaryExpr();
  14126. for (;;)
  14127. {
  14128. lookahead1W(234); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' | '/' |
  14129. if (l1 != 35 // '('
  14130. && l1 != 45 // '.'
  14131. && l1 != 69) // '['
  14132. {
  14133. break;
  14134. }
  14135. switch (l1)
  14136. {
  14137. case 69: // '['
  14138. lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14139. break;
  14140. default:
  14141. lk = l1;
  14142. }
  14143. if (lk == 35397) // '[' '['
  14144. {
  14145. lk = memoized(5, e0);
  14146. if (lk == 0)
  14147. {
  14148. var b0A = b0; var e0A = e0; var l1A = l1;
  14149. var b1A = b1; var e1A = e1; var l2A = l2;
  14150. var b2A = b2; var e2A = e2;
  14151. try
  14152. {
  14153. try_Predicate();
  14154. lk = -1;
  14155. }
  14156. catch (p1A)
  14157. {
  14158. lk = -4;
  14159. }
  14160. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  14161. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  14162. b2 = b2A; e2 = e2A; end = e2A; }}
  14163. memoize(5, e0, lk);
  14164. }
  14165. }
  14166. switch (lk)
  14167. {
  14168. case 35: // '('
  14169. whitespace();
  14170. parse_ArgumentList();
  14171. break;
  14172. case 45: // '.'
  14173. whitespace();
  14174. parse_ObjectLookup();
  14175. break;
  14176. case -4:
  14177. whitespace();
  14178. parse_ArrayLookup();
  14179. break;
  14180. case 35909: // '[' ']'
  14181. whitespace();
  14182. parse_ArrayUnboxing();
  14183. break;
  14184. default:
  14185. whitespace();
  14186. parse_Predicate();
  14187. }
  14188. }
  14189. eventHandler.endNonterminal("PostfixExpr", e0);
  14190. }
  14191. function try_PostfixExpr()
  14192. {
  14193. try_PrimaryExpr();
  14194. for (;;)
  14195. {
  14196. lookahead1W(234); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' | '/' |
  14197. if (l1 != 35 // '('
  14198. && l1 != 45 // '.'
  14199. && l1 != 69) // '['
  14200. {
  14201. break;
  14202. }
  14203. switch (l1)
  14204. {
  14205. case 69: // '['
  14206. lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14207. break;
  14208. default:
  14209. lk = l1;
  14210. }
  14211. if (lk == 35397) // '[' '['
  14212. {
  14213. lk = memoized(5, e0);
  14214. if (lk == 0)
  14215. {
  14216. var b0A = b0; var e0A = e0; var l1A = l1;
  14217. var b1A = b1; var e1A = e1; var l2A = l2;
  14218. var b2A = b2; var e2A = e2;
  14219. try
  14220. {
  14221. try_Predicate();
  14222. memoize(5, e0A, -1);
  14223. lk = -6;
  14224. }
  14225. catch (p1A)
  14226. {
  14227. lk = -4;
  14228. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  14229. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  14230. b2 = b2A; e2 = e2A; end = e2A; }}
  14231. memoize(5, e0A, -4);
  14232. }
  14233. }
  14234. }
  14235. switch (lk)
  14236. {
  14237. case 35: // '('
  14238. try_ArgumentList();
  14239. break;
  14240. case 45: // '.'
  14241. try_ObjectLookup();
  14242. break;
  14243. case -4:
  14244. try_ArrayLookup();
  14245. break;
  14246. case 35909: // '[' ']'
  14247. try_ArrayUnboxing();
  14248. break;
  14249. case -6:
  14250. break;
  14251. default:
  14252. try_Predicate();
  14253. }
  14254. }
  14255. }
  14256. function parse_ObjectLookup()
  14257. {
  14258. eventHandler.startNonterminal("ObjectLookup", e0);
  14259. shift(45); // '.'
  14260. lookahead1W(250); // StringLiteral | NCName^Token | S^WS | '$' | '$$' | '(' | '(:' | 'after' |
  14261. switch (l1)
  14262. {
  14263. case 11: // StringLiteral
  14264. shift(11); // StringLiteral
  14265. break;
  14266. case 35: // '('
  14267. whitespace();
  14268. parse_ParenthesizedExpr();
  14269. break;
  14270. case 31: // '$'
  14271. whitespace();
  14272. parse_VarRef();
  14273. break;
  14274. case 32: // '$$'
  14275. whitespace();
  14276. parse_ContextItemExpr();
  14277. break;
  14278. default:
  14279. whitespace();
  14280. parse_NCName();
  14281. }
  14282. eventHandler.endNonterminal("ObjectLookup", e0);
  14283. }
  14284. function try_ObjectLookup()
  14285. {
  14286. shiftT(45); // '.'
  14287. lookahead1W(250); // StringLiteral | NCName^Token | S^WS | '$' | '$$' | '(' | '(:' | 'after' |
  14288. switch (l1)
  14289. {
  14290. case 11: // StringLiteral
  14291. shiftT(11); // StringLiteral
  14292. break;
  14293. case 35: // '('
  14294. try_ParenthesizedExpr();
  14295. break;
  14296. case 31: // '$'
  14297. try_VarRef();
  14298. break;
  14299. case 32: // '$$'
  14300. try_ContextItemExpr();
  14301. break;
  14302. default:
  14303. try_NCName();
  14304. }
  14305. }
  14306. function parse_ArrayLookup()
  14307. {
  14308. eventHandler.startNonterminal("ArrayLookup", e0);
  14309. shift(69); // '['
  14310. lookahead1W(31); // S^WS | '(:' | '['
  14311. shift(69); // '['
  14312. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14313. whitespace();
  14314. parse_Expr();
  14315. shift(70); // ']'
  14316. lookahead1W(32); // S^WS | '(:' | ']'
  14317. shift(70); // ']'
  14318. eventHandler.endNonterminal("ArrayLookup", e0);
  14319. }
  14320. function try_ArrayLookup()
  14321. {
  14322. shiftT(69); // '['
  14323. lookahead1W(31); // S^WS | '(:' | '['
  14324. shiftT(69); // '['
  14325. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14326. try_Expr();
  14327. shiftT(70); // ']'
  14328. lookahead1W(32); // S^WS | '(:' | ']'
  14329. shiftT(70); // ']'
  14330. }
  14331. function parse_ArrayUnboxing()
  14332. {
  14333. eventHandler.startNonterminal("ArrayUnboxing", e0);
  14334. shift(69); // '['
  14335. lookahead1W(32); // S^WS | '(:' | ']'
  14336. shift(70); // ']'
  14337. eventHandler.endNonterminal("ArrayUnboxing", e0);
  14338. }
  14339. function try_ArrayUnboxing()
  14340. {
  14341. shiftT(69); // '['
  14342. lookahead1W(32); // S^WS | '(:' | ']'
  14343. shiftT(70); // ']'
  14344. }
  14345. function parse_ArgumentList()
  14346. {
  14347. eventHandler.startNonterminal("ArgumentList", e0);
  14348. shift(35); // '('
  14349. lookahead1W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14350. if (l1 != 38) // ')'
  14351. {
  14352. whitespace();
  14353. parse_Argument();
  14354. for (;;)
  14355. {
  14356. lookahead1W(105); // S^WS | '(:' | ')' | ','
  14357. if (l1 != 42) // ','
  14358. {
  14359. break;
  14360. }
  14361. shift(42); // ','
  14362. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14363. whitespace();
  14364. parse_Argument();
  14365. }
  14366. }
  14367. shift(38); // ')'
  14368. eventHandler.endNonterminal("ArgumentList", e0);
  14369. }
  14370. function try_ArgumentList()
  14371. {
  14372. shiftT(35); // '('
  14373. lookahead1W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14374. if (l1 != 38) // ')'
  14375. {
  14376. try_Argument();
  14377. for (;;)
  14378. {
  14379. lookahead1W(105); // S^WS | '(:' | ')' | ','
  14380. if (l1 != 42) // ','
  14381. {
  14382. break;
  14383. }
  14384. shiftT(42); // ','
  14385. lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14386. try_Argument();
  14387. }
  14388. }
  14389. shiftT(38); // ')'
  14390. }
  14391. function parse_PredicateList()
  14392. {
  14393. eventHandler.startNonterminal("PredicateList", e0);
  14394. for (;;)
  14395. {
  14396. lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  14397. if (l1 != 69) // '['
  14398. {
  14399. break;
  14400. }
  14401. whitespace();
  14402. parse_Predicate();
  14403. }
  14404. eventHandler.endNonterminal("PredicateList", e0);
  14405. }
  14406. function try_PredicateList()
  14407. {
  14408. for (;;)
  14409. {
  14410. lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  14411. if (l1 != 69) // '['
  14412. {
  14413. break;
  14414. }
  14415. try_Predicate();
  14416. }
  14417. }
  14418. function parse_Predicate()
  14419. {
  14420. eventHandler.startNonterminal("Predicate", e0);
  14421. shift(69); // '['
  14422. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14423. whitespace();
  14424. parse_Expr();
  14425. shift(70); // ']'
  14426. eventHandler.endNonterminal("Predicate", e0);
  14427. }
  14428. function try_Predicate()
  14429. {
  14430. shiftT(69); // '['
  14431. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14432. try_Expr();
  14433. shiftT(70); // ']'
  14434. }
  14435. function parse_Literal()
  14436. {
  14437. eventHandler.startNonterminal("Literal", e0);
  14438. switch (l1)
  14439. {
  14440. case 11: // StringLiteral
  14441. shift(11); // StringLiteral
  14442. break;
  14443. case 135: // 'false'
  14444. case 255: // 'true'
  14445. parse_BooleanLiteral();
  14446. break;
  14447. case 197: // 'null'
  14448. parse_NullLiteral();
  14449. break;
  14450. default:
  14451. parse_NumericLiteral();
  14452. }
  14453. eventHandler.endNonterminal("Literal", e0);
  14454. }
  14455. function try_Literal()
  14456. {
  14457. switch (l1)
  14458. {
  14459. case 11: // StringLiteral
  14460. shiftT(11); // StringLiteral
  14461. break;
  14462. case 135: // 'false'
  14463. case 255: // 'true'
  14464. try_BooleanLiteral();
  14465. break;
  14466. case 197: // 'null'
  14467. try_NullLiteral();
  14468. break;
  14469. default:
  14470. try_NumericLiteral();
  14471. }
  14472. }
  14473. function parse_BooleanLiteral()
  14474. {
  14475. eventHandler.startNonterminal("BooleanLiteral", e0);
  14476. switch (l1)
  14477. {
  14478. case 255: // 'true'
  14479. shift(255); // 'true'
  14480. break;
  14481. default:
  14482. shift(135); // 'false'
  14483. }
  14484. eventHandler.endNonterminal("BooleanLiteral", e0);
  14485. }
  14486. function try_BooleanLiteral()
  14487. {
  14488. switch (l1)
  14489. {
  14490. case 255: // 'true'
  14491. shiftT(255); // 'true'
  14492. break;
  14493. default:
  14494. shiftT(135); // 'false'
  14495. }
  14496. }
  14497. function parse_NullLiteral()
  14498. {
  14499. eventHandler.startNonterminal("NullLiteral", e0);
  14500. shift(197); // 'null'
  14501. eventHandler.endNonterminal("NullLiteral", e0);
  14502. }
  14503. function try_NullLiteral()
  14504. {
  14505. shiftT(197); // 'null'
  14506. }
  14507. function parse_NumericLiteral()
  14508. {
  14509. eventHandler.startNonterminal("NumericLiteral", e0);
  14510. switch (l1)
  14511. {
  14512. case 8: // IntegerLiteral
  14513. shift(8); // IntegerLiteral
  14514. break;
  14515. case 9: // DecimalLiteral
  14516. shift(9); // DecimalLiteral
  14517. break;
  14518. default:
  14519. shift(10); // DoubleLiteral
  14520. }
  14521. eventHandler.endNonterminal("NumericLiteral", e0);
  14522. }
  14523. function try_NumericLiteral()
  14524. {
  14525. switch (l1)
  14526. {
  14527. case 8: // IntegerLiteral
  14528. shiftT(8); // IntegerLiteral
  14529. break;
  14530. case 9: // DecimalLiteral
  14531. shiftT(9); // DecimalLiteral
  14532. break;
  14533. default:
  14534. shiftT(10); // DoubleLiteral
  14535. }
  14536. }
  14537. function parse_VarRef()
  14538. {
  14539. eventHandler.startNonterminal("VarRef", e0);
  14540. shift(31); // '$'
  14541. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  14542. whitespace();
  14543. parse_VarName();
  14544. eventHandler.endNonterminal("VarRef", e0);
  14545. }
  14546. function try_VarRef()
  14547. {
  14548. shiftT(31); // '$'
  14549. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  14550. try_VarName();
  14551. }
  14552. function parse_VarName()
  14553. {
  14554. eventHandler.startNonterminal("VarName", e0);
  14555. parse_EQName();
  14556. eventHandler.endNonterminal("VarName", e0);
  14557. }
  14558. function try_VarName()
  14559. {
  14560. try_EQName();
  14561. }
  14562. function parse_ParenthesizedExpr()
  14563. {
  14564. eventHandler.startNonterminal("ParenthesizedExpr", e0);
  14565. shift(35); // '('
  14566. lookahead1W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14567. if (l1 != 38) // ')'
  14568. {
  14569. whitespace();
  14570. parse_Expr();
  14571. }
  14572. shift(38); // ')'
  14573. eventHandler.endNonterminal("ParenthesizedExpr", e0);
  14574. }
  14575. function try_ParenthesizedExpr()
  14576. {
  14577. shiftT(35); // '('
  14578. lookahead1W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14579. if (l1 != 38) // ')'
  14580. {
  14581. try_Expr();
  14582. }
  14583. shiftT(38); // ')'
  14584. }
  14585. function parse_ContextItemExpr()
  14586. {
  14587. eventHandler.startNonterminal("ContextItemExpr", e0);
  14588. shift(32); // '$$'
  14589. eventHandler.endNonterminal("ContextItemExpr", e0);
  14590. }
  14591. function try_ContextItemExpr()
  14592. {
  14593. shiftT(32); // '$$'
  14594. }
  14595. function parse_OrderedExpr()
  14596. {
  14597. eventHandler.startNonterminal("OrderedExpr", e0);
  14598. shift(206); // 'ordered'
  14599. lookahead1W(90); // S^WS | '(:' | '{'
  14600. shift(281); // '{'
  14601. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14602. whitespace();
  14603. parse_Expr();
  14604. shift(287); // '}'
  14605. eventHandler.endNonterminal("OrderedExpr", e0);
  14606. }
  14607. function try_OrderedExpr()
  14608. {
  14609. shiftT(206); // 'ordered'
  14610. lookahead1W(90); // S^WS | '(:' | '{'
  14611. shiftT(281); // '{'
  14612. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14613. try_Expr();
  14614. shiftT(287); // '}'
  14615. }
  14616. function parse_UnorderedExpr()
  14617. {
  14618. eventHandler.startNonterminal("UnorderedExpr", e0);
  14619. shift(262); // 'unordered'
  14620. lookahead1W(90); // S^WS | '(:' | '{'
  14621. shift(281); // '{'
  14622. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14623. whitespace();
  14624. parse_Expr();
  14625. shift(287); // '}'
  14626. eventHandler.endNonterminal("UnorderedExpr", e0);
  14627. }
  14628. function try_UnorderedExpr()
  14629. {
  14630. shiftT(262); // 'unordered'
  14631. lookahead1W(90); // S^WS | '(:' | '{'
  14632. shiftT(281); // '{'
  14633. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  14634. try_Expr();
  14635. shiftT(287); // '}'
  14636. }
  14637. function parse_FunctionCall()
  14638. {
  14639. eventHandler.startNonterminal("FunctionCall", e0);
  14640. parse_FunctionName();
  14641. lookahead1W(22); // S^WS | '(' | '(:'
  14642. whitespace();
  14643. parse_ArgumentList();
  14644. eventHandler.endNonterminal("FunctionCall", e0);
  14645. }
  14646. function try_FunctionCall()
  14647. {
  14648. try_FunctionName();
  14649. lookahead1W(22); // S^WS | '(' | '(:'
  14650. try_ArgumentList();
  14651. }
  14652. function parse_Argument()
  14653. {
  14654. eventHandler.startNonterminal("Argument", e0);
  14655. switch (l1)
  14656. {
  14657. case 65: // '?'
  14658. parse_ArgumentPlaceholder();
  14659. break;
  14660. default:
  14661. parse_ExprSingle();
  14662. }
  14663. eventHandler.endNonterminal("Argument", e0);
  14664. }
  14665. function try_Argument()
  14666. {
  14667. switch (l1)
  14668. {
  14669. case 65: // '?'
  14670. try_ArgumentPlaceholder();
  14671. break;
  14672. default:
  14673. try_ExprSingle();
  14674. }
  14675. }
  14676. function parse_ArgumentPlaceholder()
  14677. {
  14678. eventHandler.startNonterminal("ArgumentPlaceholder", e0);
  14679. shift(65); // '?'
  14680. eventHandler.endNonterminal("ArgumentPlaceholder", e0);
  14681. }
  14682. function try_ArgumentPlaceholder()
  14683. {
  14684. shiftT(65); // '?'
  14685. }
  14686. function parse_Constructor()
  14687. {
  14688. eventHandler.startNonterminal("Constructor", e0);
  14689. switch (l1)
  14690. {
  14691. case 55: // '<'
  14692. case 56: // '<!--'
  14693. case 60: // '<?'
  14694. parse_DirectConstructor();
  14695. break;
  14696. default:
  14697. parse_ComputedConstructor();
  14698. }
  14699. eventHandler.endNonterminal("Constructor", e0);
  14700. }
  14701. function try_Constructor()
  14702. {
  14703. switch (l1)
  14704. {
  14705. case 55: // '<'
  14706. case 56: // '<!--'
  14707. case 60: // '<?'
  14708. try_DirectConstructor();
  14709. break;
  14710. default:
  14711. try_ComputedConstructor();
  14712. }
  14713. }
  14714. function parse_DirectConstructor()
  14715. {
  14716. eventHandler.startNonterminal("DirectConstructor", e0);
  14717. switch (l1)
  14718. {
  14719. case 55: // '<'
  14720. parse_DirElemConstructor();
  14721. break;
  14722. case 56: // '<!--'
  14723. parse_DirCommentConstructor();
  14724. break;
  14725. default:
  14726. parse_DirPIConstructor();
  14727. }
  14728. eventHandler.endNonterminal("DirectConstructor", e0);
  14729. }
  14730. function try_DirectConstructor()
  14731. {
  14732. switch (l1)
  14733. {
  14734. case 55: // '<'
  14735. try_DirElemConstructor();
  14736. break;
  14737. case 56: // '<!--'
  14738. try_DirCommentConstructor();
  14739. break;
  14740. default:
  14741. try_DirPIConstructor();
  14742. }
  14743. }
  14744. function parse_DirElemConstructor()
  14745. {
  14746. eventHandler.startNonterminal("DirElemConstructor", e0);
  14747. shift(55); // '<'
  14748. lookahead1(4); // QName
  14749. shift(20); // QName
  14750. parse_DirAttributeList();
  14751. switch (l1)
  14752. {
  14753. case 49: // '/>'
  14754. shift(49); // '/>'
  14755. break;
  14756. default:
  14757. shift(62); // '>'
  14758. for (;;)
  14759. {
  14760. lookahead1(196); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  14761. if (l1 == 57) // '</'
  14762. {
  14763. break;
  14764. }
  14765. parse_DirElemContent();
  14766. }
  14767. shift(57); // '</'
  14768. lookahead1(4); // QName
  14769. shift(20); // QName
  14770. lookahead1(12); // S | '>'
  14771. if (l1 == 21) // S
  14772. {
  14773. shift(21); // S
  14774. }
  14775. lookahead1(8); // '>'
  14776. shift(62); // '>'
  14777. }
  14778. eventHandler.endNonterminal("DirElemConstructor", e0);
  14779. }
  14780. function try_DirElemConstructor()
  14781. {
  14782. shiftT(55); // '<'
  14783. lookahead1(4); // QName
  14784. shiftT(20); // QName
  14785. try_DirAttributeList();
  14786. switch (l1)
  14787. {
  14788. case 49: // '/>'
  14789. shiftT(49); // '/>'
  14790. break;
  14791. default:
  14792. shiftT(62); // '>'
  14793. for (;;)
  14794. {
  14795. lookahead1(196); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  14796. if (l1 == 57) // '</'
  14797. {
  14798. break;
  14799. }
  14800. try_DirElemContent();
  14801. }
  14802. shiftT(57); // '</'
  14803. lookahead1(4); // QName
  14804. shiftT(20); // QName
  14805. lookahead1(12); // S | '>'
  14806. if (l1 == 21) // S
  14807. {
  14808. shiftT(21); // S
  14809. }
  14810. lookahead1(8); // '>'
  14811. shiftT(62); // '>'
  14812. }
  14813. }
  14814. function parse_DirAttributeList()
  14815. {
  14816. eventHandler.startNonterminal("DirAttributeList", e0);
  14817. for (;;)
  14818. {
  14819. lookahead1(19); // S | '/>' | '>'
  14820. if (l1 != 21) // S
  14821. {
  14822. break;
  14823. }
  14824. shift(21); // S
  14825. lookahead1(94); // QName | S | '/>' | '>'
  14826. if (l1 == 20) // QName
  14827. {
  14828. shift(20); // QName
  14829. lookahead1(11); // S | '='
  14830. if (l1 == 21) // S
  14831. {
  14832. shift(21); // S
  14833. }
  14834. lookahead1(7); // '='
  14835. shift(61); // '='
  14836. lookahead1(18); // S | '"' | "'"
  14837. if (l1 == 21) // S
  14838. {
  14839. shift(21); // S
  14840. }
  14841. parse_DirAttributeValue();
  14842. }
  14843. }
  14844. eventHandler.endNonterminal("DirAttributeList", e0);
  14845. }
  14846. function try_DirAttributeList()
  14847. {
  14848. for (;;)
  14849. {
  14850. lookahead1(19); // S | '/>' | '>'
  14851. if (l1 != 21) // S
  14852. {
  14853. break;
  14854. }
  14855. shiftT(21); // S
  14856. lookahead1(94); // QName | S | '/>' | '>'
  14857. if (l1 == 20) // QName
  14858. {
  14859. shiftT(20); // QName
  14860. lookahead1(11); // S | '='
  14861. if (l1 == 21) // S
  14862. {
  14863. shiftT(21); // S
  14864. }
  14865. lookahead1(7); // '='
  14866. shiftT(61); // '='
  14867. lookahead1(18); // S | '"' | "'"
  14868. if (l1 == 21) // S
  14869. {
  14870. shiftT(21); // S
  14871. }
  14872. try_DirAttributeValue();
  14873. }
  14874. }
  14875. }
  14876. function parse_DirAttributeValue()
  14877. {
  14878. eventHandler.startNonterminal("DirAttributeValue", e0);
  14879. lookahead1(14); // '"' | "'"
  14880. switch (l1)
  14881. {
  14882. case 28: // '"'
  14883. shift(28); // '"'
  14884. for (;;)
  14885. {
  14886. lookahead1(185); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  14887. if (l1 == 28) // '"'
  14888. {
  14889. break;
  14890. }
  14891. switch (l1)
  14892. {
  14893. case 13: // EscapeQuot
  14894. shift(13); // EscapeQuot
  14895. break;
  14896. default:
  14897. parse_QuotAttrValueContent();
  14898. }
  14899. }
  14900. shift(28); // '"'
  14901. break;
  14902. default:
  14903. shift(34); // "'"
  14904. for (;;)
  14905. {
  14906. lookahead1(186); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  14907. if (l1 == 34) // "'"
  14908. {
  14909. break;
  14910. }
  14911. switch (l1)
  14912. {
  14913. case 14: // EscapeApos
  14914. shift(14); // EscapeApos
  14915. break;
  14916. default:
  14917. parse_AposAttrValueContent();
  14918. }
  14919. }
  14920. shift(34); // "'"
  14921. }
  14922. eventHandler.endNonterminal("DirAttributeValue", e0);
  14923. }
  14924. function try_DirAttributeValue()
  14925. {
  14926. lookahead1(14); // '"' | "'"
  14927. switch (l1)
  14928. {
  14929. case 28: // '"'
  14930. shiftT(28); // '"'
  14931. for (;;)
  14932. {
  14933. lookahead1(185); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  14934. if (l1 == 28) // '"'
  14935. {
  14936. break;
  14937. }
  14938. switch (l1)
  14939. {
  14940. case 13: // EscapeQuot
  14941. shiftT(13); // EscapeQuot
  14942. break;
  14943. default:
  14944. try_QuotAttrValueContent();
  14945. }
  14946. }
  14947. shiftT(28); // '"'
  14948. break;
  14949. default:
  14950. shiftT(34); // "'"
  14951. for (;;)
  14952. {
  14953. lookahead1(186); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  14954. if (l1 == 34) // "'"
  14955. {
  14956. break;
  14957. }
  14958. switch (l1)
  14959. {
  14960. case 14: // EscapeApos
  14961. shiftT(14); // EscapeApos
  14962. break;
  14963. default:
  14964. try_AposAttrValueContent();
  14965. }
  14966. }
  14967. shiftT(34); // "'"
  14968. }
  14969. }
  14970. function parse_QuotAttrValueContent()
  14971. {
  14972. eventHandler.startNonterminal("QuotAttrValueContent", e0);
  14973. switch (l1)
  14974. {
  14975. case 16: // QuotAttrContentChar
  14976. shift(16); // QuotAttrContentChar
  14977. break;
  14978. default:
  14979. parse_CommonContent();
  14980. }
  14981. eventHandler.endNonterminal("QuotAttrValueContent", e0);
  14982. }
  14983. function try_QuotAttrValueContent()
  14984. {
  14985. switch (l1)
  14986. {
  14987. case 16: // QuotAttrContentChar
  14988. shiftT(16); // QuotAttrContentChar
  14989. break;
  14990. default:
  14991. try_CommonContent();
  14992. }
  14993. }
  14994. function parse_AposAttrValueContent()
  14995. {
  14996. eventHandler.startNonterminal("AposAttrValueContent", e0);
  14997. switch (l1)
  14998. {
  14999. case 17: // AposAttrContentChar
  15000. shift(17); // AposAttrContentChar
  15001. break;
  15002. default:
  15003. parse_CommonContent();
  15004. }
  15005. eventHandler.endNonterminal("AposAttrValueContent", e0);
  15006. }
  15007. function try_AposAttrValueContent()
  15008. {
  15009. switch (l1)
  15010. {
  15011. case 17: // AposAttrContentChar
  15012. shiftT(17); // AposAttrContentChar
  15013. break;
  15014. default:
  15015. try_CommonContent();
  15016. }
  15017. }
  15018. function parse_DirElemContent()
  15019. {
  15020. eventHandler.startNonterminal("DirElemContent", e0);
  15021. switch (l1)
  15022. {
  15023. case 55: // '<'
  15024. case 56: // '<!--'
  15025. case 60: // '<?'
  15026. parse_DirectConstructor();
  15027. break;
  15028. case 4: // CDataSection
  15029. shift(4); // CDataSection
  15030. break;
  15031. case 15: // ElementContentChar
  15032. shift(15); // ElementContentChar
  15033. break;
  15034. default:
  15035. parse_CommonContent();
  15036. }
  15037. eventHandler.endNonterminal("DirElemContent", e0);
  15038. }
  15039. function try_DirElemContent()
  15040. {
  15041. switch (l1)
  15042. {
  15043. case 55: // '<'
  15044. case 56: // '<!--'
  15045. case 60: // '<?'
  15046. try_DirectConstructor();
  15047. break;
  15048. case 4: // CDataSection
  15049. shiftT(4); // CDataSection
  15050. break;
  15051. case 15: // ElementContentChar
  15052. shiftT(15); // ElementContentChar
  15053. break;
  15054. default:
  15055. try_CommonContent();
  15056. }
  15057. }
  15058. function parse_DirCommentConstructor()
  15059. {
  15060. eventHandler.startNonterminal("DirCommentConstructor", e0);
  15061. shift(56); // '<!--'
  15062. lookahead1(1); // DirCommentContents
  15063. shift(2); // DirCommentContents
  15064. lookahead1(6); // '-->'
  15065. shift(44); // '-->'
  15066. eventHandler.endNonterminal("DirCommentConstructor", e0);
  15067. }
  15068. function try_DirCommentConstructor()
  15069. {
  15070. shiftT(56); // '<!--'
  15071. lookahead1(1); // DirCommentContents
  15072. shiftT(2); // DirCommentContents
  15073. lookahead1(6); // '-->'
  15074. shiftT(44); // '-->'
  15075. }
  15076. function parse_DirPIConstructor()
  15077. {
  15078. eventHandler.startNonterminal("DirPIConstructor", e0);
  15079. shift(60); // '<?'
  15080. lookahead1(3); // PITarget
  15081. shift(18); // PITarget
  15082. lookahead1(13); // S | '?>'
  15083. if (l1 == 21) // S
  15084. {
  15085. shift(21); // S
  15086. lookahead1(2); // DirPIContents
  15087. shift(3); // DirPIContents
  15088. }
  15089. lookahead1(9); // '?>'
  15090. shift(66); // '?>'
  15091. eventHandler.endNonterminal("DirPIConstructor", e0);
  15092. }
  15093. function try_DirPIConstructor()
  15094. {
  15095. shiftT(60); // '<?'
  15096. lookahead1(3); // PITarget
  15097. shiftT(18); // PITarget
  15098. lookahead1(13); // S | '?>'
  15099. if (l1 == 21) // S
  15100. {
  15101. shiftT(21); // S
  15102. lookahead1(2); // DirPIContents
  15103. shiftT(3); // DirPIContents
  15104. }
  15105. lookahead1(9); // '?>'
  15106. shiftT(66); // '?>'
  15107. }
  15108. function parse_ComputedConstructor()
  15109. {
  15110. eventHandler.startNonterminal("ComputedConstructor", e0);
  15111. switch (l1)
  15112. {
  15113. case 120: // 'document'
  15114. parse_CompDocConstructor();
  15115. break;
  15116. case 122: // 'element'
  15117. parse_CompElemConstructor();
  15118. break;
  15119. case 83: // 'attribute'
  15120. parse_CompAttrConstructor();
  15121. break;
  15122. case 187: // 'namespace'
  15123. parse_CompNamespaceConstructor();
  15124. break;
  15125. case 249: // 'text'
  15126. parse_CompTextConstructor();
  15127. break;
  15128. case 97: // 'comment'
  15129. parse_CompCommentConstructor();
  15130. break;
  15131. default:
  15132. parse_CompPIConstructor();
  15133. }
  15134. eventHandler.endNonterminal("ComputedConstructor", e0);
  15135. }
  15136. function try_ComputedConstructor()
  15137. {
  15138. switch (l1)
  15139. {
  15140. case 120: // 'document'
  15141. try_CompDocConstructor();
  15142. break;
  15143. case 122: // 'element'
  15144. try_CompElemConstructor();
  15145. break;
  15146. case 83: // 'attribute'
  15147. try_CompAttrConstructor();
  15148. break;
  15149. case 187: // 'namespace'
  15150. try_CompNamespaceConstructor();
  15151. break;
  15152. case 249: // 'text'
  15153. try_CompTextConstructor();
  15154. break;
  15155. case 97: // 'comment'
  15156. try_CompCommentConstructor();
  15157. break;
  15158. default:
  15159. try_CompPIConstructor();
  15160. }
  15161. }
  15162. function parse_CompElemConstructor()
  15163. {
  15164. eventHandler.startNonterminal("CompElemConstructor", e0);
  15165. shift(122); // 'element'
  15166. lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15167. switch (l1)
  15168. {
  15169. case 281: // '{'
  15170. shift(281); // '{'
  15171. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15172. whitespace();
  15173. parse_Expr();
  15174. shift(287); // '}'
  15175. break;
  15176. default:
  15177. whitespace();
  15178. parse_EQName();
  15179. }
  15180. lookahead1W(90); // S^WS | '(:' | '{'
  15181. shift(281); // '{'
  15182. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15183. if (l1 != 287) // '}'
  15184. {
  15185. whitespace();
  15186. parse_ContentExpr();
  15187. }
  15188. shift(287); // '}'
  15189. eventHandler.endNonterminal("CompElemConstructor", e0);
  15190. }
  15191. function try_CompElemConstructor()
  15192. {
  15193. shiftT(122); // 'element'
  15194. lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15195. switch (l1)
  15196. {
  15197. case 281: // '{'
  15198. shiftT(281); // '{'
  15199. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15200. try_Expr();
  15201. shiftT(287); // '}'
  15202. break;
  15203. default:
  15204. try_EQName();
  15205. }
  15206. lookahead1W(90); // S^WS | '(:' | '{'
  15207. shiftT(281); // '{'
  15208. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15209. if (l1 != 287) // '}'
  15210. {
  15211. try_ContentExpr();
  15212. }
  15213. shiftT(287); // '}'
  15214. }
  15215. function parse_CompNamespaceConstructor()
  15216. {
  15217. eventHandler.startNonterminal("CompNamespaceConstructor", e0);
  15218. shift(187); // 'namespace'
  15219. lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15220. switch (l1)
  15221. {
  15222. case 281: // '{'
  15223. shift(281); // '{'
  15224. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15225. whitespace();
  15226. parse_PrefixExpr();
  15227. shift(287); // '}'
  15228. break;
  15229. default:
  15230. whitespace();
  15231. parse_Prefix();
  15232. }
  15233. lookahead1W(90); // S^WS | '(:' | '{'
  15234. shift(281); // '{'
  15235. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15236. whitespace();
  15237. parse_URIExpr();
  15238. shift(287); // '}'
  15239. eventHandler.endNonterminal("CompNamespaceConstructor", e0);
  15240. }
  15241. function try_CompNamespaceConstructor()
  15242. {
  15243. shiftT(187); // 'namespace'
  15244. lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  15245. switch (l1)
  15246. {
  15247. case 281: // '{'
  15248. shiftT(281); // '{'
  15249. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15250. try_PrefixExpr();
  15251. shiftT(287); // '}'
  15252. break;
  15253. default:
  15254. try_Prefix();
  15255. }
  15256. lookahead1W(90); // S^WS | '(:' | '{'
  15257. shiftT(281); // '{'
  15258. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  15259. try_URIExpr();
  15260. shiftT(287); // '}'
  15261. }
  15262. function parse_Prefix()
  15263. {
  15264. eventHandler.startNonterminal("Prefix", e0);
  15265. parse_NCName();
  15266. eventHandler.endNonterminal("Prefix", e0);
  15267. }
  15268. function try_Prefix()
  15269. {
  15270. try_NCName();
  15271. }
  15272. function parse_PrefixExpr()
  15273. {
  15274. eventHandler.startNonterminal("PrefixExpr", e0);
  15275. parse_Expr();
  15276. eventHandler.endNonterminal("PrefixExpr", e0);
  15277. }
  15278. function try_PrefixExpr()
  15279. {
  15280. try_Expr();
  15281. }
  15282. function parse_URIExpr()
  15283. {
  15284. eventHandler.startNonterminal("URIExpr", e0);
  15285. parse_Expr();
  15286. eventHandler.endNonterminal("URIExpr", e0);
  15287. }
  15288. function try_URIExpr()
  15289. {
  15290. try_Expr();
  15291. }
  15292. function parse_FunctionItemExpr()
  15293. {
  15294. eventHandler.startNonterminal("FunctionItemExpr", e0);
  15295. switch (l1)
  15296. {
  15297. case 147: // 'function'
  15298. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  15299. break;
  15300. default:
  15301. lk = l1;
  15302. }
  15303. switch (lk)
  15304. {
  15305. case 33: // '%'
  15306. case 18067: // 'function' '('
  15307. parse_InlineFunctionExpr();
  15308. break;
  15309. default:
  15310. parse_NamedFunctionRef();
  15311. }
  15312. eventHandler.endNonterminal("FunctionItemExpr", e0);
  15313. }
  15314. function try_FunctionItemExpr()
  15315. {
  15316. switch (l1)
  15317. {
  15318. case 147: // 'function'
  15319. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  15320. break;
  15321. default:
  15322. lk = l1;
  15323. }
  15324. switch (lk)
  15325. {
  15326. case 33: // '%'
  15327. case 18067: // 'function' '('
  15328. try_InlineFunctionExpr();
  15329. break;
  15330. default:
  15331. try_NamedFunctionRef();
  15332. }
  15333. }
  15334. function parse_NamedFunctionRef()
  15335. {
  15336. eventHandler.startNonterminal("NamedFunctionRef", e0);
  15337. parse_EQName();
  15338. lookahead1W(20); // S^WS | '#' | '(:'
  15339. shift(29); // '#'
  15340. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  15341. shift(8); // IntegerLiteral
  15342. eventHandler.endNonterminal("NamedFunctionRef", e0);
  15343. }
  15344. function try_NamedFunctionRef()
  15345. {
  15346. try_EQName();
  15347. lookahead1W(20); // S^WS | '#' | '(:'
  15348. shiftT(29); // '#'
  15349. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  15350. shiftT(8); // IntegerLiteral
  15351. }
  15352. function parse_InlineFunctionExpr()
  15353. {
  15354. eventHandler.startNonterminal("InlineFunctionExpr", e0);
  15355. for (;;)
  15356. {
  15357. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  15358. if (l1 != 33) // '%'
  15359. {
  15360. break;
  15361. }
  15362. whitespace();
  15363. parse_Annotation();
  15364. }
  15365. shift(147); // 'function'
  15366. lookahead1W(22); // S^WS | '(' | '(:'
  15367. shift(35); // '('
  15368. lookahead1W(98); // S^WS | '$' | '(:' | ')'
  15369. if (l1 == 31) // '$'
  15370. {
  15371. whitespace();
  15372. parse_ParamList();
  15373. }
  15374. shift(38); // ')'
  15375. lookahead1W(115); // S^WS | '(:' | 'as' | '{'
  15376. if (l1 == 80) // 'as'
  15377. {
  15378. shift(80); // 'as'
  15379. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  15380. whitespace();
  15381. parse_SequenceType();
  15382. }
  15383. lookahead1W(90); // S^WS | '(:' | '{'
  15384. whitespace();
  15385. parse_FunctionBody();
  15386. eventHandler.endNonterminal("InlineFunctionExpr", e0);
  15387. }
  15388. function try_InlineFunctionExpr()
  15389. {
  15390. for (;;)
  15391. {
  15392. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  15393. if (l1 != 33) // '%'
  15394. {
  15395. break;
  15396. }
  15397. try_Annotation();
  15398. }
  15399. shiftT(147); // 'function'
  15400. lookahead1W(22); // S^WS | '(' | '(:'
  15401. shiftT(35); // '('
  15402. lookahead1W(98); // S^WS | '$' | '(:' | ')'
  15403. if (l1 == 31) // '$'
  15404. {
  15405. try_ParamList();
  15406. }
  15407. shiftT(38); // ')'
  15408. lookahead1W(115); // S^WS | '(:' | 'as' | '{'
  15409. if (l1 == 80) // 'as'
  15410. {
  15411. shiftT(80); // 'as'
  15412. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  15413. try_SequenceType();
  15414. }
  15415. lookahead1W(90); // S^WS | '(:' | '{'
  15416. try_FunctionBody();
  15417. }
  15418. function parse_SingleType()
  15419. {
  15420. eventHandler.startNonterminal("SingleType", e0);
  15421. parse_SimpleTypeName();
  15422. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  15423. if (l1 == 65) // '?'
  15424. {
  15425. shift(65); // '?'
  15426. }
  15427. eventHandler.endNonterminal("SingleType", e0);
  15428. }
  15429. function try_SingleType()
  15430. {
  15431. try_SimpleTypeName();
  15432. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  15433. if (l1 == 65) // '?'
  15434. {
  15435. shiftT(65); // '?'
  15436. }
  15437. }
  15438. function parse_TypeDeclaration()
  15439. {
  15440. eventHandler.startNonterminal("TypeDeclaration", e0);
  15441. shift(80); // 'as'
  15442. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  15443. whitespace();
  15444. parse_SequenceType();
  15445. eventHandler.endNonterminal("TypeDeclaration", e0);
  15446. }
  15447. function try_TypeDeclaration()
  15448. {
  15449. shiftT(80); // 'as'
  15450. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  15451. try_SequenceType();
  15452. }
  15453. function parse_SequenceType()
  15454. {
  15455. eventHandler.startNonterminal("SequenceType", e0);
  15456. switch (l1)
  15457. {
  15458. case 35: // '('
  15459. lookahead2W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  15460. break;
  15461. case 125: // 'empty-sequence'
  15462. lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  15463. break;
  15464. default:
  15465. lk = l1;
  15466. }
  15467. switch (lk)
  15468. {
  15469. case 18045: // 'empty-sequence' '('
  15470. case 19491: // '(' ')'
  15471. if (l1 == 125) // 'empty-sequence'
  15472. {
  15473. shift(125); // 'empty-sequence'
  15474. }
  15475. lookahead1W(22); // S^WS | '(' | '(:'
  15476. shift(35); // '('
  15477. lookahead1W(23); // S^WS | '(:' | ')'
  15478. shift(38); // ')'
  15479. break;
  15480. default:
  15481. parse_ItemType();
  15482. lookahead1W(228); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  15483. switch (l1)
  15484. {
  15485. case 40: // '*'
  15486. case 41: // '+'
  15487. case 65: // '?'
  15488. whitespace();
  15489. parse_OccurrenceIndicator();
  15490. break;
  15491. default:
  15492. break;
  15493. }
  15494. }
  15495. eventHandler.endNonterminal("SequenceType", e0);
  15496. }
  15497. function try_SequenceType()
  15498. {
  15499. switch (l1)
  15500. {
  15501. case 35: // '('
  15502. lookahead2W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  15503. break;
  15504. case 125: // 'empty-sequence'
  15505. lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  15506. break;
  15507. default:
  15508. lk = l1;
  15509. }
  15510. switch (lk)
  15511. {
  15512. case 18045: // 'empty-sequence' '('
  15513. case 19491: // '(' ')'
  15514. if (l1 == 125) // 'empty-sequence'
  15515. {
  15516. shiftT(125); // 'empty-sequence'
  15517. }
  15518. lookahead1W(22); // S^WS | '(' | '(:'
  15519. shiftT(35); // '('
  15520. lookahead1W(23); // S^WS | '(:' | ')'
  15521. shiftT(38); // ')'
  15522. break;
  15523. default:
  15524. try_ItemType();
  15525. lookahead1W(228); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  15526. switch (l1)
  15527. {
  15528. case 40: // '*'
  15529. case 41: // '+'
  15530. case 65: // '?'
  15531. try_OccurrenceIndicator();
  15532. break;
  15533. default:
  15534. break;
  15535. }
  15536. }
  15537. }
  15538. function parse_OccurrenceIndicator()
  15539. {
  15540. eventHandler.startNonterminal("OccurrenceIndicator", e0);
  15541. switch (l1)
  15542. {
  15543. case 65: // '?'
  15544. shift(65); // '?'
  15545. break;
  15546. case 40: // '*'
  15547. shift(40); // '*'
  15548. break;
  15549. default:
  15550. shift(41); // '+'
  15551. }
  15552. eventHandler.endNonterminal("OccurrenceIndicator", e0);
  15553. }
  15554. function try_OccurrenceIndicator()
  15555. {
  15556. switch (l1)
  15557. {
  15558. case 65: // '?'
  15559. shiftT(65); // '?'
  15560. break;
  15561. case 40: // '*'
  15562. shiftT(40); // '*'
  15563. break;
  15564. default:
  15565. shiftT(41); // '+'
  15566. }
  15567. }
  15568. function parse_ItemType()
  15569. {
  15570. eventHandler.startNonterminal("ItemType", e0);
  15571. switch (l1)
  15572. {
  15573. case 79: // 'array'
  15574. case 83: // 'attribute'
  15575. case 97: // 'comment'
  15576. case 121: // 'document-node'
  15577. case 122: // 'element'
  15578. case 147: // 'function'
  15579. case 167: // 'item'
  15580. case 169: // 'json-item'
  15581. case 188: // 'namespace-node'
  15582. case 194: // 'node'
  15583. case 198: // 'object'
  15584. case 220: // 'processing-instruction'
  15585. case 230: // 'schema-attribute'
  15586. case 231: // 'schema-element'
  15587. case 247: // 'structured-item'
  15588. case 249: // 'text'
  15589. lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  15590. break;
  15591. default:
  15592. lk = l1;
  15593. }
  15594. if (lk == 12879 // 'array' EOF
  15595. || lk == 12969 // 'json-item' EOF
  15596. || lk == 12998 // 'object' EOF
  15597. || lk == 13047 // 'structured-item' EOF
  15598. || lk == 13903 // 'array' '!='
  15599. || lk == 13993 // 'json-item' '!='
  15600. || lk == 14022 // 'object' '!='
  15601. || lk == 14071 // 'structured-item' '!='
  15602. || lk == 19535 // 'array' ')'
  15603. || lk == 19625 // 'json-item' ')'
  15604. || lk == 19654 // 'object' ')'
  15605. || lk == 19703 // 'structured-item' ')'
  15606. || lk == 20047 // 'array' '*'
  15607. || lk == 20137 // 'json-item' '*'
  15608. || lk == 20166 // 'object' '*'
  15609. || lk == 20215 // 'structured-item' '*'
  15610. || lk == 20559 // 'array' '*'
  15611. || lk == 20649 // 'json-item' '*'
  15612. || lk == 20678 // 'object' '*'
  15613. || lk == 20727 // 'structured-item' '*'
  15614. || lk == 21071 // 'array' '+'
  15615. || lk == 21161 // 'json-item' '+'
  15616. || lk == 21190 // 'object' '+'
  15617. || lk == 21239 // 'structured-item' '+'
  15618. || lk == 21583 // 'array' ','
  15619. || lk == 21673 // 'json-item' ','
  15620. || lk == 21702 // 'object' ','
  15621. || lk == 21751 // 'structured-item' ','
  15622. || lk == 22095 // 'array' '-'
  15623. || lk == 22185 // 'json-item' '-'
  15624. || lk == 22214 // 'object' '-'
  15625. || lk == 22263 // 'structured-item' '-'
  15626. || lk == 25679 // 'array' ':'
  15627. || lk == 25769 // 'json-item' ':'
  15628. || lk == 25798 // 'object' ':'
  15629. || lk == 25847 // 'structured-item' ':'
  15630. || lk == 27215 // 'array' ':='
  15631. || lk == 27305 // 'json-item' ':='
  15632. || lk == 27334 // 'object' ':='
  15633. || lk == 27383 // 'structured-item' ':='
  15634. || lk == 27727 // 'array' ';'
  15635. || lk == 27817 // 'json-item' ';'
  15636. || lk == 27846 // 'object' ';'
  15637. || lk == 27895 // 'structured-item' ';'
  15638. || lk == 28239 // 'array' '<'
  15639. || lk == 28329 // 'json-item' '<'
  15640. || lk == 28358 // 'object' '<'
  15641. || lk == 28407 // 'structured-item' '<'
  15642. || lk == 29775 // 'array' '<<'
  15643. || lk == 29865 // 'json-item' '<<'
  15644. || lk == 29894 // 'object' '<<'
  15645. || lk == 29943 // 'structured-item' '<<'
  15646. || lk == 30287 // 'array' '<='
  15647. || lk == 30377 // 'json-item' '<='
  15648. || lk == 30406 // 'object' '<='
  15649. || lk == 30455 // 'structured-item' '<='
  15650. || lk == 31311 // 'array' '='
  15651. || lk == 31401 // 'json-item' '='
  15652. || lk == 31430 // 'object' '='
  15653. || lk == 31479 // 'structured-item' '='
  15654. || lk == 31823 // 'array' '>'
  15655. || lk == 31913 // 'json-item' '>'
  15656. || lk == 31942 // 'object' '>'
  15657. || lk == 31991 // 'structured-item' '>'
  15658. || lk == 32335 // 'array' '>='
  15659. || lk == 32425 // 'json-item' '>='
  15660. || lk == 32454 // 'object' '>='
  15661. || lk == 32503 // 'structured-item' '>='
  15662. || lk == 32847 // 'array' '>>'
  15663. || lk == 32937 // 'json-item' '>>'
  15664. || lk == 32966 // 'object' '>>'
  15665. || lk == 33015 // 'structured-item' '>>'
  15666. || lk == 33359 // 'array' '?'
  15667. || lk == 33449 // 'json-item' '?'
  15668. || lk == 33478 // 'object' '?'
  15669. || lk == 33527 // 'structured-item' '?'
  15670. || lk == 35919 // 'array' ']'
  15671. || lk == 36009 // 'json-item' ']'
  15672. || lk == 36038 // 'object' ']'
  15673. || lk == 36087 // 'structured-item' ']'
  15674. || lk == 36431 // 'array' 'after'
  15675. || lk == 36521 // 'json-item' 'after'
  15676. || lk == 36550 // 'object' 'after'
  15677. || lk == 36599 // 'structured-item' 'after'
  15678. || lk == 37455 // 'array' 'allowing'
  15679. || lk == 37545 // 'json-item' 'allowing'
  15680. || lk == 37574 // 'object' 'allowing'
  15681. || lk == 37623 // 'structured-item' 'allowing'
  15682. || lk == 38991 // 'array' 'and'
  15683. || lk == 39081 // 'json-item' 'and'
  15684. || lk == 39110 // 'object' 'and'
  15685. || lk == 39159 // 'structured-item' 'and'
  15686. || lk == 41039 // 'array' 'as'
  15687. || lk == 41129 // 'json-item' 'as'
  15688. || lk == 41158 // 'object' 'as'
  15689. || lk == 41207 // 'structured-item' 'as'
  15690. || lk == 41551 // 'array' 'ascending'
  15691. || lk == 41641 // 'json-item' 'ascending'
  15692. || lk == 41670 // 'object' 'ascending'
  15693. || lk == 41719 // 'structured-item' 'ascending'
  15694. || lk == 42063 // 'array' 'at'
  15695. || lk == 42153 // 'json-item' 'at'
  15696. || lk == 42182 // 'object' 'at'
  15697. || lk == 42231 // 'structured-item' 'at'
  15698. || lk == 43599 // 'array' 'before'
  15699. || lk == 43689 // 'json-item' 'before'
  15700. || lk == 43718 // 'object' 'before'
  15701. || lk == 43767 // 'structured-item' 'before'
  15702. || lk == 45647 // 'array' 'case'
  15703. || lk == 45737 // 'json-item' 'case'
  15704. || lk == 45766 // 'object' 'case'
  15705. || lk == 45815 // 'structured-item' 'case'
  15706. || lk == 48719 // 'array' 'collation'
  15707. || lk == 48809 // 'json-item' 'collation'
  15708. || lk == 48838 // 'object' 'collation'
  15709. || lk == 48887 // 'structured-item' 'collation'
  15710. || lk == 51279 // 'array' 'contains'
  15711. || lk == 51369 // 'json-item' 'contains'
  15712. || lk == 51398 // 'object' 'contains'
  15713. || lk == 51447 // 'structured-item' 'contains'
  15714. || lk == 54351 // 'array' 'count'
  15715. || lk == 54441 // 'json-item' 'count'
  15716. || lk == 54470 // 'object' 'count'
  15717. || lk == 54519 // 'structured-item' 'count'
  15718. || lk == 56399 // 'array' 'default'
  15719. || lk == 56489 // 'json-item' 'default'
  15720. || lk == 56518 // 'object' 'default'
  15721. || lk == 56567 // 'structured-item' 'default'
  15722. || lk == 58447 // 'array' 'descending'
  15723. || lk == 58537 // 'json-item' 'descending'
  15724. || lk == 58566 // 'object' 'descending'
  15725. || lk == 58615 // 'structured-item' 'descending'
  15726. || lk == 61007 // 'array' 'div'
  15727. || lk == 61097 // 'json-item' 'div'
  15728. || lk == 61126 // 'object' 'div'
  15729. || lk == 61175 // 'structured-item' 'div'
  15730. || lk == 63055 // 'array' 'else'
  15731. || lk == 63145 // 'json-item' 'else'
  15732. || lk == 63174 // 'object' 'else'
  15733. || lk == 63223 // 'structured-item' 'else'
  15734. || lk == 63567 // 'array' 'empty'
  15735. || lk == 63657 // 'json-item' 'empty'
  15736. || lk == 63686 // 'object' 'empty'
  15737. || lk == 63735 // 'structured-item' 'empty'
  15738. || lk == 65103 // 'array' 'end'
  15739. || lk == 65193 // 'json-item' 'end'
  15740. || lk == 65222 // 'object' 'end'
  15741. || lk == 65271 // 'structured-item' 'end'
  15742. || lk == 66127 // 'array' 'eq'
  15743. || lk == 66217 // 'json-item' 'eq'
  15744. || lk == 66246 // 'object' 'eq'
  15745. || lk == 66295 // 'structured-item' 'eq'
  15746. || lk == 67663 // 'array' 'except'
  15747. || lk == 67753 // 'json-item' 'except'
  15748. || lk == 67782 // 'object' 'except'
  15749. || lk == 67831 // 'structured-item' 'except'
  15750. || lk == 68687 // 'array' 'external'
  15751. || lk == 68777 // 'json-item' 'external'
  15752. || lk == 68806 // 'object' 'external'
  15753. || lk == 68855 // 'structured-item' 'external'
  15754. || lk == 71247 // 'array' 'for'
  15755. || lk == 71337 // 'json-item' 'for'
  15756. || lk == 71366 // 'object' 'for'
  15757. || lk == 71415 // 'structured-item' 'for'
  15758. || lk == 75855 // 'array' 'ge'
  15759. || lk == 75945 // 'json-item' 'ge'
  15760. || lk == 75974 // 'object' 'ge'
  15761. || lk == 76023 // 'structured-item' 'ge'
  15762. || lk == 76879 // 'array' 'group'
  15763. || lk == 76969 // 'json-item' 'group'
  15764. || lk == 76998 // 'object' 'group'
  15765. || lk == 77047 // 'structured-item' 'group'
  15766. || lk == 77903 // 'array' 'gt'
  15767. || lk == 77993 // 'json-item' 'gt'
  15768. || lk == 78022 // 'object' 'gt'
  15769. || lk == 78071 // 'structured-item' 'gt'
  15770. || lk == 78415 // 'array' 'idiv'
  15771. || lk == 78505 // 'json-item' 'idiv'
  15772. || lk == 78534 // 'object' 'idiv'
  15773. || lk == 78583 // 'structured-item' 'idiv'
  15774. || lk == 79951 // 'array' 'in'
  15775. || lk == 80041 // 'json-item' 'in'
  15776. || lk == 80070 // 'object' 'in'
  15777. || lk == 80119 // 'structured-item' 'in'
  15778. || lk == 83023 // 'array' 'instance'
  15779. || lk == 83113 // 'json-item' 'instance'
  15780. || lk == 83142 // 'object' 'instance'
  15781. || lk == 83191 // 'structured-item' 'instance'
  15782. || lk == 84047 // 'array' 'intersect'
  15783. || lk == 84137 // 'json-item' 'intersect'
  15784. || lk == 84166 // 'object' 'intersect'
  15785. || lk == 84215 // 'structured-item' 'intersect'
  15786. || lk == 84559 // 'array' 'into'
  15787. || lk == 84649 // 'json-item' 'into'
  15788. || lk == 84678 // 'object' 'into'
  15789. || lk == 84727 // 'structured-item' 'into'
  15790. || lk == 85071 // 'array' 'is'
  15791. || lk == 85161 // 'json-item' 'is'
  15792. || lk == 85190 // 'object' 'is'
  15793. || lk == 85239 // 'structured-item' 'is'
  15794. || lk == 89679 // 'array' 'le'
  15795. || lk == 89769 // 'json-item' 'le'
  15796. || lk == 89798 // 'object' 'le'
  15797. || lk == 89847 // 'structured-item' 'le'
  15798. || lk == 90703 // 'array' 'let'
  15799. || lk == 90793 // 'json-item' 'let'
  15800. || lk == 90822 // 'object' 'let'
  15801. || lk == 90871 // 'structured-item' 'let'
  15802. || lk == 92751 // 'array' 'lt'
  15803. || lk == 92841 // 'json-item' 'lt'
  15804. || lk == 92870 // 'object' 'lt'
  15805. || lk == 92919 // 'structured-item' 'lt'
  15806. || lk == 93775 // 'array' 'mod'
  15807. || lk == 93865 // 'json-item' 'mod'
  15808. || lk == 93894 // 'object' 'mod'
  15809. || lk == 93943 // 'structured-item' 'mod'
  15810. || lk == 94287 // 'array' 'modify'
  15811. || lk == 94377 // 'json-item' 'modify'
  15812. || lk == 94406 // 'object' 'modify'
  15813. || lk == 94455 // 'structured-item' 'modify'
  15814. || lk == 96847 // 'array' 'ne'
  15815. || lk == 96937 // 'json-item' 'ne'
  15816. || lk == 96966 // 'object' 'ne'
  15817. || lk == 97015 // 'structured-item' 'ne'
  15818. || lk == 103503 // 'array' 'only'
  15819. || lk == 103593 // 'json-item' 'only'
  15820. || lk == 103622 // 'object' 'only'
  15821. || lk == 103671 // 'structured-item' 'only'
  15822. || lk == 104527 // 'array' 'or'
  15823. || lk == 104617 // 'json-item' 'or'
  15824. || lk == 104646 // 'object' 'or'
  15825. || lk == 104695 // 'structured-item' 'or'
  15826. || lk == 105039 // 'array' 'order'
  15827. || lk == 105129 // 'json-item' 'order'
  15828. || lk == 105158 // 'object' 'order'
  15829. || lk == 105207 // 'structured-item' 'order'
  15830. || lk == 107087 // 'array' 'paragraphs'
  15831. || lk == 107177 // 'json-item' 'paragraphs'
  15832. || lk == 107206 // 'object' 'paragraphs'
  15833. || lk == 107255 // 'structured-item' 'paragraphs'
  15834. || lk == 114767 // 'array' 'return'
  15835. || lk == 114857 // 'json-item' 'return'
  15836. || lk == 114886 // 'object' 'return'
  15837. || lk == 114935 // 'structured-item' 'return'
  15838. || lk == 116815 // 'array' 'satisfies'
  15839. || lk == 116905 // 'json-item' 'satisfies'
  15840. || lk == 116934 // 'object' 'satisfies'
  15841. || lk == 116983 // 'structured-item' 'satisfies'
  15842. || lk == 118863 // 'array' 'score'
  15843. || lk == 118953 // 'json-item' 'score'
  15844. || lk == 118982 // 'object' 'score'
  15845. || lk == 119031 // 'structured-item' 'score'
  15846. || lk == 121423 // 'array' 'sentences'
  15847. || lk == 121513 // 'json-item' 'sentences'
  15848. || lk == 121542 // 'object' 'sentences'
  15849. || lk == 121591 // 'structured-item' 'sentences'
  15850. || lk == 123471 // 'array' 'stable'
  15851. || lk == 123561 // 'json-item' 'stable'
  15852. || lk == 123590 // 'object' 'stable'
  15853. || lk == 123639 // 'structured-item' 'stable'
  15854. || lk == 123983 // 'array' 'start'
  15855. || lk == 124073 // 'json-item' 'start'
  15856. || lk == 124102 // 'object' 'start'
  15857. || lk == 124151 // 'structured-item' 'start'
  15858. || lk == 129103 // 'array' 'times'
  15859. || lk == 129193 // 'json-item' 'times'
  15860. || lk == 129222 // 'object' 'times'
  15861. || lk == 129271 // 'structured-item' 'times'
  15862. || lk == 129615 // 'array' 'to'
  15863. || lk == 129705 // 'json-item' 'to'
  15864. || lk == 129734 // 'object' 'to'
  15865. || lk == 129783 // 'structured-item' 'to'
  15866. || lk == 133199 // 'array' 'union'
  15867. || lk == 133289 // 'json-item' 'union'
  15868. || lk == 133318 // 'object' 'union'
  15869. || lk == 133367 // 'structured-item' 'union'
  15870. || lk == 139343 // 'array' 'where'
  15871. || lk == 139433 // 'json-item' 'where'
  15872. || lk == 139462 // 'object' 'where'
  15873. || lk == 139511 // 'structured-item' 'where'
  15874. || lk == 141391 // 'array' 'with'
  15875. || lk == 141481 // 'json-item' 'with'
  15876. || lk == 141510 // 'object' 'with'
  15877. || lk == 141559 // 'structured-item' 'with'
  15878. || lk == 142927 // 'array' 'words'
  15879. || lk == 143017 // 'json-item' 'words'
  15880. || lk == 143046 // 'object' 'words'
  15881. || lk == 143095 // 'structured-item' 'words'
  15882. || lk == 143951 // 'array' '{'
  15883. || lk == 144041 // 'json-item' '{'
  15884. || lk == 144070 // 'object' '{'
  15885. || lk == 144119 // 'structured-item' '{'
  15886. || lk == 145487 // 'array' '|'
  15887. || lk == 145577 // 'json-item' '|'
  15888. || lk == 145606 // 'object' '|'
  15889. || lk == 145655 // 'structured-item' '|'
  15890. || lk == 145999 // 'array' '||'
  15891. || lk == 146089 // 'json-item' '||'
  15892. || lk == 146118 // 'object' '||'
  15893. || lk == 146167 // 'structured-item' '||'
  15894. || lk == 146511 // 'array' '|}'
  15895. || lk == 146601 // 'json-item' '|}'
  15896. || lk == 146630 // 'object' '|}'
  15897. || lk == 146679 // 'structured-item' '|}'
  15898. || lk == 147023 // 'array' '}'
  15899. || lk == 147113 // 'json-item' '}'
  15900. || lk == 147142 // 'object' '}'
  15901. || lk == 147191) // 'structured-item' '}'
  15902. {
  15903. lk = memoized(6, e0);
  15904. if (lk == 0)
  15905. {
  15906. var b0A = b0; var e0A = e0; var l1A = l1;
  15907. var b1A = b1; var e1A = e1; var l2A = l2;
  15908. var b2A = b2; var e2A = e2;
  15909. try
  15910. {
  15911. try_AtomicOrUnionType();
  15912. lk = -4;
  15913. }
  15914. catch (p4A)
  15915. {
  15916. try
  15917. {
  15918. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  15919. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  15920. b2 = b2A; e2 = e2A; end = e2A; }}
  15921. try_JSONTest();
  15922. lk = -6;
  15923. }
  15924. catch (p6A)
  15925. {
  15926. lk = -7;
  15927. }
  15928. }
  15929. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  15930. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  15931. b2 = b2A; e2 = e2A; end = e2A; }}
  15932. memoize(6, e0, lk);
  15933. }
  15934. }
  15935. switch (lk)
  15936. {
  15937. case 18003: // 'attribute' '('
  15938. case 18017: // 'comment' '('
  15939. case 18041: // 'document-node' '('
  15940. case 18042: // 'element' '('
  15941. case 18108: // 'namespace-node' '('
  15942. case 18114: // 'node' '('
  15943. case 18140: // 'processing-instruction' '('
  15944. case 18150: // 'schema-attribute' '('
  15945. case 18151: // 'schema-element' '('
  15946. case 18169: // 'text' '('
  15947. parse_KindTest();
  15948. break;
  15949. case 18087: // 'item' '('
  15950. shift(167); // 'item'
  15951. lookahead1W(22); // S^WS | '(' | '(:'
  15952. shift(35); // '('
  15953. lookahead1W(23); // S^WS | '(:' | ')'
  15954. shift(38); // ')'
  15955. break;
  15956. case 33: // '%'
  15957. case 18067: // 'function' '('
  15958. parse_FunctionTest();
  15959. break;
  15960. case 35: // '('
  15961. parse_ParenthesizedItemType();
  15962. break;
  15963. case -6:
  15964. case 17999: // 'array' '('
  15965. case 18089: // 'json-item' '('
  15966. case 18118: // 'object' '('
  15967. parse_JSONTest();
  15968. break;
  15969. case -7:
  15970. case 18167: // 'structured-item' '('
  15971. parse_StructuredItemTest();
  15972. break;
  15973. default:
  15974. parse_AtomicOrUnionType();
  15975. }
  15976. eventHandler.endNonterminal("ItemType", e0);
  15977. }
  15978. function try_ItemType()
  15979. {
  15980. switch (l1)
  15981. {
  15982. case 79: // 'array'
  15983. case 83: // 'attribute'
  15984. case 97: // 'comment'
  15985. case 121: // 'document-node'
  15986. case 122: // 'element'
  15987. case 147: // 'function'
  15988. case 167: // 'item'
  15989. case 169: // 'json-item'
  15990. case 188: // 'namespace-node'
  15991. case 194: // 'node'
  15992. case 198: // 'object'
  15993. case 220: // 'processing-instruction'
  15994. case 230: // 'schema-attribute'
  15995. case 231: // 'schema-element'
  15996. case 247: // 'structured-item'
  15997. case 249: // 'text'
  15998. lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  15999. break;
  16000. default:
  16001. lk = l1;
  16002. }
  16003. if (lk == 12879 // 'array' EOF
  16004. || lk == 12969 // 'json-item' EOF
  16005. || lk == 12998 // 'object' EOF
  16006. || lk == 13047 // 'structured-item' EOF
  16007. || lk == 13903 // 'array' '!='
  16008. || lk == 13993 // 'json-item' '!='
  16009. || lk == 14022 // 'object' '!='
  16010. || lk == 14071 // 'structured-item' '!='
  16011. || lk == 19535 // 'array' ')'
  16012. || lk == 19625 // 'json-item' ')'
  16013. || lk == 19654 // 'object' ')'
  16014. || lk == 19703 // 'structured-item' ')'
  16015. || lk == 20047 // 'array' '*'
  16016. || lk == 20137 // 'json-item' '*'
  16017. || lk == 20166 // 'object' '*'
  16018. || lk == 20215 // 'structured-item' '*'
  16019. || lk == 20559 // 'array' '*'
  16020. || lk == 20649 // 'json-item' '*'
  16021. || lk == 20678 // 'object' '*'
  16022. || lk == 20727 // 'structured-item' '*'
  16023. || lk == 21071 // 'array' '+'
  16024. || lk == 21161 // 'json-item' '+'
  16025. || lk == 21190 // 'object' '+'
  16026. || lk == 21239 // 'structured-item' '+'
  16027. || lk == 21583 // 'array' ','
  16028. || lk == 21673 // 'json-item' ','
  16029. || lk == 21702 // 'object' ','
  16030. || lk == 21751 // 'structured-item' ','
  16031. || lk == 22095 // 'array' '-'
  16032. || lk == 22185 // 'json-item' '-'
  16033. || lk == 22214 // 'object' '-'
  16034. || lk == 22263 // 'structured-item' '-'
  16035. || lk == 25679 // 'array' ':'
  16036. || lk == 25769 // 'json-item' ':'
  16037. || lk == 25798 // 'object' ':'
  16038. || lk == 25847 // 'structured-item' ':'
  16039. || lk == 27215 // 'array' ':='
  16040. || lk == 27305 // 'json-item' ':='
  16041. || lk == 27334 // 'object' ':='
  16042. || lk == 27383 // 'structured-item' ':='
  16043. || lk == 27727 // 'array' ';'
  16044. || lk == 27817 // 'json-item' ';'
  16045. || lk == 27846 // 'object' ';'
  16046. || lk == 27895 // 'structured-item' ';'
  16047. || lk == 28239 // 'array' '<'
  16048. || lk == 28329 // 'json-item' '<'
  16049. || lk == 28358 // 'object' '<'
  16050. || lk == 28407 // 'structured-item' '<'
  16051. || lk == 29775 // 'array' '<<'
  16052. || lk == 29865 // 'json-item' '<<'
  16053. || lk == 29894 // 'object' '<<'
  16054. || lk == 29943 // 'structured-item' '<<'
  16055. || lk == 30287 // 'array' '<='
  16056. || lk == 30377 // 'json-item' '<='
  16057. || lk == 30406 // 'object' '<='
  16058. || lk == 30455 // 'structured-item' '<='
  16059. || lk == 31311 // 'array' '='
  16060. || lk == 31401 // 'json-item' '='
  16061. || lk == 31430 // 'object' '='
  16062. || lk == 31479 // 'structured-item' '='
  16063. || lk == 31823 // 'array' '>'
  16064. || lk == 31913 // 'json-item' '>'
  16065. || lk == 31942 // 'object' '>'
  16066. || lk == 31991 // 'structured-item' '>'
  16067. || lk == 32335 // 'array' '>='
  16068. || lk == 32425 // 'json-item' '>='
  16069. || lk == 32454 // 'object' '>='
  16070. || lk == 32503 // 'structured-item' '>='
  16071. || lk == 32847 // 'array' '>>'
  16072. || lk == 32937 // 'json-item' '>>'
  16073. || lk == 32966 // 'object' '>>'
  16074. || lk == 33015 // 'structured-item' '>>'
  16075. || lk == 33359 // 'array' '?'
  16076. || lk == 33449 // 'json-item' '?'
  16077. || lk == 33478 // 'object' '?'
  16078. || lk == 33527 // 'structured-item' '?'
  16079. || lk == 35919 // 'array' ']'
  16080. || lk == 36009 // 'json-item' ']'
  16081. || lk == 36038 // 'object' ']'
  16082. || lk == 36087 // 'structured-item' ']'
  16083. || lk == 36431 // 'array' 'after'
  16084. || lk == 36521 // 'json-item' 'after'
  16085. || lk == 36550 // 'object' 'after'
  16086. || lk == 36599 // 'structured-item' 'after'
  16087. || lk == 37455 // 'array' 'allowing'
  16088. || lk == 37545 // 'json-item' 'allowing'
  16089. || lk == 37574 // 'object' 'allowing'
  16090. || lk == 37623 // 'structured-item' 'allowing'
  16091. || lk == 38991 // 'array' 'and'
  16092. || lk == 39081 // 'json-item' 'and'
  16093. || lk == 39110 // 'object' 'and'
  16094. || lk == 39159 // 'structured-item' 'and'
  16095. || lk == 41039 // 'array' 'as'
  16096. || lk == 41129 // 'json-item' 'as'
  16097. || lk == 41158 // 'object' 'as'
  16098. || lk == 41207 // 'structured-item' 'as'
  16099. || lk == 41551 // 'array' 'ascending'
  16100. || lk == 41641 // 'json-item' 'ascending'
  16101. || lk == 41670 // 'object' 'ascending'
  16102. || lk == 41719 // 'structured-item' 'ascending'
  16103. || lk == 42063 // 'array' 'at'
  16104. || lk == 42153 // 'json-item' 'at'
  16105. || lk == 42182 // 'object' 'at'
  16106. || lk == 42231 // 'structured-item' 'at'
  16107. || lk == 43599 // 'array' 'before'
  16108. || lk == 43689 // 'json-item' 'before'
  16109. || lk == 43718 // 'object' 'before'
  16110. || lk == 43767 // 'structured-item' 'before'
  16111. || lk == 45647 // 'array' 'case'
  16112. || lk == 45737 // 'json-item' 'case'
  16113. || lk == 45766 // 'object' 'case'
  16114. || lk == 45815 // 'structured-item' 'case'
  16115. || lk == 48719 // 'array' 'collation'
  16116. || lk == 48809 // 'json-item' 'collation'
  16117. || lk == 48838 // 'object' 'collation'
  16118. || lk == 48887 // 'structured-item' 'collation'
  16119. || lk == 51279 // 'array' 'contains'
  16120. || lk == 51369 // 'json-item' 'contains'
  16121. || lk == 51398 // 'object' 'contains'
  16122. || lk == 51447 // 'structured-item' 'contains'
  16123. || lk == 54351 // 'array' 'count'
  16124. || lk == 54441 // 'json-item' 'count'
  16125. || lk == 54470 // 'object' 'count'
  16126. || lk == 54519 // 'structured-item' 'count'
  16127. || lk == 56399 // 'array' 'default'
  16128. || lk == 56489 // 'json-item' 'default'
  16129. || lk == 56518 // 'object' 'default'
  16130. || lk == 56567 // 'structured-item' 'default'
  16131. || lk == 58447 // 'array' 'descending'
  16132. || lk == 58537 // 'json-item' 'descending'
  16133. || lk == 58566 // 'object' 'descending'
  16134. || lk == 58615 // 'structured-item' 'descending'
  16135. || lk == 61007 // 'array' 'div'
  16136. || lk == 61097 // 'json-item' 'div'
  16137. || lk == 61126 // 'object' 'div'
  16138. || lk == 61175 // 'structured-item' 'div'
  16139. || lk == 63055 // 'array' 'else'
  16140. || lk == 63145 // 'json-item' 'else'
  16141. || lk == 63174 // 'object' 'else'
  16142. || lk == 63223 // 'structured-item' 'else'
  16143. || lk == 63567 // 'array' 'empty'
  16144. || lk == 63657 // 'json-item' 'empty'
  16145. || lk == 63686 // 'object' 'empty'
  16146. || lk == 63735 // 'structured-item' 'empty'
  16147. || lk == 65103 // 'array' 'end'
  16148. || lk == 65193 // 'json-item' 'end'
  16149. || lk == 65222 // 'object' 'end'
  16150. || lk == 65271 // 'structured-item' 'end'
  16151. || lk == 66127 // 'array' 'eq'
  16152. || lk == 66217 // 'json-item' 'eq'
  16153. || lk == 66246 // 'object' 'eq'
  16154. || lk == 66295 // 'structured-item' 'eq'
  16155. || lk == 67663 // 'array' 'except'
  16156. || lk == 67753 // 'json-item' 'except'
  16157. || lk == 67782 // 'object' 'except'
  16158. || lk == 67831 // 'structured-item' 'except'
  16159. || lk == 68687 // 'array' 'external'
  16160. || lk == 68777 // 'json-item' 'external'
  16161. || lk == 68806 // 'object' 'external'
  16162. || lk == 68855 // 'structured-item' 'external'
  16163. || lk == 71247 // 'array' 'for'
  16164. || lk == 71337 // 'json-item' 'for'
  16165. || lk == 71366 // 'object' 'for'
  16166. || lk == 71415 // 'structured-item' 'for'
  16167. || lk == 75855 // 'array' 'ge'
  16168. || lk == 75945 // 'json-item' 'ge'
  16169. || lk == 75974 // 'object' 'ge'
  16170. || lk == 76023 // 'structured-item' 'ge'
  16171. || lk == 76879 // 'array' 'group'
  16172. || lk == 76969 // 'json-item' 'group'
  16173. || lk == 76998 // 'object' 'group'
  16174. || lk == 77047 // 'structured-item' 'group'
  16175. || lk == 77903 // 'array' 'gt'
  16176. || lk == 77993 // 'json-item' 'gt'
  16177. || lk == 78022 // 'object' 'gt'
  16178. || lk == 78071 // 'structured-item' 'gt'
  16179. || lk == 78415 // 'array' 'idiv'
  16180. || lk == 78505 // 'json-item' 'idiv'
  16181. || lk == 78534 // 'object' 'idiv'
  16182. || lk == 78583 // 'structured-item' 'idiv'
  16183. || lk == 79951 // 'array' 'in'
  16184. || lk == 80041 // 'json-item' 'in'
  16185. || lk == 80070 // 'object' 'in'
  16186. || lk == 80119 // 'structured-item' 'in'
  16187. || lk == 83023 // 'array' 'instance'
  16188. || lk == 83113 // 'json-item' 'instance'
  16189. || lk == 83142 // 'object' 'instance'
  16190. || lk == 83191 // 'structured-item' 'instance'
  16191. || lk == 84047 // 'array' 'intersect'
  16192. || lk == 84137 // 'json-item' 'intersect'
  16193. || lk == 84166 // 'object' 'intersect'
  16194. || lk == 84215 // 'structured-item' 'intersect'
  16195. || lk == 84559 // 'array' 'into'
  16196. || lk == 84649 // 'json-item' 'into'
  16197. || lk == 84678 // 'object' 'into'
  16198. || lk == 84727 // 'structured-item' 'into'
  16199. || lk == 85071 // 'array' 'is'
  16200. || lk == 85161 // 'json-item' 'is'
  16201. || lk == 85190 // 'object' 'is'
  16202. || lk == 85239 // 'structured-item' 'is'
  16203. || lk == 89679 // 'array' 'le'
  16204. || lk == 89769 // 'json-item' 'le'
  16205. || lk == 89798 // 'object' 'le'
  16206. || lk == 89847 // 'structured-item' 'le'
  16207. || lk == 90703 // 'array' 'let'
  16208. || lk == 90793 // 'json-item' 'let'
  16209. || lk == 90822 // 'object' 'let'
  16210. || lk == 90871 // 'structured-item' 'let'
  16211. || lk == 92751 // 'array' 'lt'
  16212. || lk == 92841 // 'json-item' 'lt'
  16213. || lk == 92870 // 'object' 'lt'
  16214. || lk == 92919 // 'structured-item' 'lt'
  16215. || lk == 93775 // 'array' 'mod'
  16216. || lk == 93865 // 'json-item' 'mod'
  16217. || lk == 93894 // 'object' 'mod'
  16218. || lk == 93943 // 'structured-item' 'mod'
  16219. || lk == 94287 // 'array' 'modify'
  16220. || lk == 94377 // 'json-item' 'modify'
  16221. || lk == 94406 // 'object' 'modify'
  16222. || lk == 94455 // 'structured-item' 'modify'
  16223. || lk == 96847 // 'array' 'ne'
  16224. || lk == 96937 // 'json-item' 'ne'
  16225. || lk == 96966 // 'object' 'ne'
  16226. || lk == 97015 // 'structured-item' 'ne'
  16227. || lk == 103503 // 'array' 'only'
  16228. || lk == 103593 // 'json-item' 'only'
  16229. || lk == 103622 // 'object' 'only'
  16230. || lk == 103671 // 'structured-item' 'only'
  16231. || lk == 104527 // 'array' 'or'
  16232. || lk == 104617 // 'json-item' 'or'
  16233. || lk == 104646 // 'object' 'or'
  16234. || lk == 104695 // 'structured-item' 'or'
  16235. || lk == 105039 // 'array' 'order'
  16236. || lk == 105129 // 'json-item' 'order'
  16237. || lk == 105158 // 'object' 'order'
  16238. || lk == 105207 // 'structured-item' 'order'
  16239. || lk == 107087 // 'array' 'paragraphs'
  16240. || lk == 107177 // 'json-item' 'paragraphs'
  16241. || lk == 107206 // 'object' 'paragraphs'
  16242. || lk == 107255 // 'structured-item' 'paragraphs'
  16243. || lk == 114767 // 'array' 'return'
  16244. || lk == 114857 // 'json-item' 'return'
  16245. || lk == 114886 // 'object' 'return'
  16246. || lk == 114935 // 'structured-item' 'return'
  16247. || lk == 116815 // 'array' 'satisfies'
  16248. || lk == 116905 // 'json-item' 'satisfies'
  16249. || lk == 116934 // 'object' 'satisfies'
  16250. || lk == 116983 // 'structured-item' 'satisfies'
  16251. || lk == 118863 // 'array' 'score'
  16252. || lk == 118953 // 'json-item' 'score'
  16253. || lk == 118982 // 'object' 'score'
  16254. || lk == 119031 // 'structured-item' 'score'
  16255. || lk == 121423 // 'array' 'sentences'
  16256. || lk == 121513 // 'json-item' 'sentences'
  16257. || lk == 121542 // 'object' 'sentences'
  16258. || lk == 121591 // 'structured-item' 'sentences'
  16259. || lk == 123471 // 'array' 'stable'
  16260. || lk == 123561 // 'json-item' 'stable'
  16261. || lk == 123590 // 'object' 'stable'
  16262. || lk == 123639 // 'structured-item' 'stable'
  16263. || lk == 123983 // 'array' 'start'
  16264. || lk == 124073 // 'json-item' 'start'
  16265. || lk == 124102 // 'object' 'start'
  16266. || lk == 124151 // 'structured-item' 'start'
  16267. || lk == 129103 // 'array' 'times'
  16268. || lk == 129193 // 'json-item' 'times'
  16269. || lk == 129222 // 'object' 'times'
  16270. || lk == 129271 // 'structured-item' 'times'
  16271. || lk == 129615 // 'array' 'to'
  16272. || lk == 129705 // 'json-item' 'to'
  16273. || lk == 129734 // 'object' 'to'
  16274. || lk == 129783 // 'structured-item' 'to'
  16275. || lk == 133199 // 'array' 'union'
  16276. || lk == 133289 // 'json-item' 'union'
  16277. || lk == 133318 // 'object' 'union'
  16278. || lk == 133367 // 'structured-item' 'union'
  16279. || lk == 139343 // 'array' 'where'
  16280. || lk == 139433 // 'json-item' 'where'
  16281. || lk == 139462 // 'object' 'where'
  16282. || lk == 139511 // 'structured-item' 'where'
  16283. || lk == 141391 // 'array' 'with'
  16284. || lk == 141481 // 'json-item' 'with'
  16285. || lk == 141510 // 'object' 'with'
  16286. || lk == 141559 // 'structured-item' 'with'
  16287. || lk == 142927 // 'array' 'words'
  16288. || lk == 143017 // 'json-item' 'words'
  16289. || lk == 143046 // 'object' 'words'
  16290. || lk == 143095 // 'structured-item' 'words'
  16291. || lk == 143951 // 'array' '{'
  16292. || lk == 144041 // 'json-item' '{'
  16293. || lk == 144070 // 'object' '{'
  16294. || lk == 144119 // 'structured-item' '{'
  16295. || lk == 145487 // 'array' '|'
  16296. || lk == 145577 // 'json-item' '|'
  16297. || lk == 145606 // 'object' '|'
  16298. || lk == 145655 // 'structured-item' '|'
  16299. || lk == 145999 // 'array' '||'
  16300. || lk == 146089 // 'json-item' '||'
  16301. || lk == 146118 // 'object' '||'
  16302. || lk == 146167 // 'structured-item' '||'
  16303. || lk == 146511 // 'array' '|}'
  16304. || lk == 146601 // 'json-item' '|}'
  16305. || lk == 146630 // 'object' '|}'
  16306. || lk == 146679 // 'structured-item' '|}'
  16307. || lk == 147023 // 'array' '}'
  16308. || lk == 147113 // 'json-item' '}'
  16309. || lk == 147142 // 'object' '}'
  16310. || lk == 147191) // 'structured-item' '}'
  16311. {
  16312. lk = memoized(6, e0);
  16313. if (lk == 0)
  16314. {
  16315. var b0A = b0; var e0A = e0; var l1A = l1;
  16316. var b1A = b1; var e1A = e1; var l2A = l2;
  16317. var b2A = b2; var e2A = e2;
  16318. try
  16319. {
  16320. try_AtomicOrUnionType();
  16321. memoize(6, e0A, -4);
  16322. lk = -8;
  16323. }
  16324. catch (p4A)
  16325. {
  16326. try
  16327. {
  16328. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  16329. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  16330. b2 = b2A; e2 = e2A; end = e2A; }}
  16331. try_JSONTest();
  16332. memoize(6, e0A, -6);
  16333. lk = -8;
  16334. }
  16335. catch (p6A)
  16336. {
  16337. lk = -7;
  16338. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  16339. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  16340. b2 = b2A; e2 = e2A; end = e2A; }}
  16341. memoize(6, e0A, -7);
  16342. }
  16343. }
  16344. }
  16345. }
  16346. switch (lk)
  16347. {
  16348. case 18003: // 'attribute' '('
  16349. case 18017: // 'comment' '('
  16350. case 18041: // 'document-node' '('
  16351. case 18042: // 'element' '('
  16352. case 18108: // 'namespace-node' '('
  16353. case 18114: // 'node' '('
  16354. case 18140: // 'processing-instruction' '('
  16355. case 18150: // 'schema-attribute' '('
  16356. case 18151: // 'schema-element' '('
  16357. case 18169: // 'text' '('
  16358. try_KindTest();
  16359. break;
  16360. case 18087: // 'item' '('
  16361. shiftT(167); // 'item'
  16362. lookahead1W(22); // S^WS | '(' | '(:'
  16363. shiftT(35); // '('
  16364. lookahead1W(23); // S^WS | '(:' | ')'
  16365. shiftT(38); // ')'
  16366. break;
  16367. case 33: // '%'
  16368. case 18067: // 'function' '('
  16369. try_FunctionTest();
  16370. break;
  16371. case 35: // '('
  16372. try_ParenthesizedItemType();
  16373. break;
  16374. case -6:
  16375. case 17999: // 'array' '('
  16376. case 18089: // 'json-item' '('
  16377. case 18118: // 'object' '('
  16378. try_JSONTest();
  16379. break;
  16380. case -7:
  16381. case 18167: // 'structured-item' '('
  16382. try_StructuredItemTest();
  16383. break;
  16384. case -8:
  16385. break;
  16386. default:
  16387. try_AtomicOrUnionType();
  16388. }
  16389. }
  16390. function parse_JSONTest()
  16391. {
  16392. eventHandler.startNonterminal("JSONTest", e0);
  16393. switch (l1)
  16394. {
  16395. case 169: // 'json-item'
  16396. parse_JSONItemTest();
  16397. break;
  16398. case 198: // 'object'
  16399. parse_JSONObjectTest();
  16400. break;
  16401. default:
  16402. parse_JSONArrayTest();
  16403. }
  16404. eventHandler.endNonterminal("JSONTest", e0);
  16405. }
  16406. function try_JSONTest()
  16407. {
  16408. switch (l1)
  16409. {
  16410. case 169: // 'json-item'
  16411. try_JSONItemTest();
  16412. break;
  16413. case 198: // 'object'
  16414. try_JSONObjectTest();
  16415. break;
  16416. default:
  16417. try_JSONArrayTest();
  16418. }
  16419. }
  16420. function parse_StructuredItemTest()
  16421. {
  16422. eventHandler.startNonterminal("StructuredItemTest", e0);
  16423. shift(247); // 'structured-item'
  16424. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16425. if (l1 == 35) // '('
  16426. {
  16427. shift(35); // '('
  16428. lookahead1W(23); // S^WS | '(:' | ')'
  16429. shift(38); // ')'
  16430. }
  16431. eventHandler.endNonterminal("StructuredItemTest", e0);
  16432. }
  16433. function try_StructuredItemTest()
  16434. {
  16435. shiftT(247); // 'structured-item'
  16436. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16437. if (l1 == 35) // '('
  16438. {
  16439. shiftT(35); // '('
  16440. lookahead1W(23); // S^WS | '(:' | ')'
  16441. shiftT(38); // ')'
  16442. }
  16443. }
  16444. function parse_JSONItemTest()
  16445. {
  16446. eventHandler.startNonterminal("JSONItemTest", e0);
  16447. shift(169); // 'json-item'
  16448. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16449. if (l1 == 35) // '('
  16450. {
  16451. shift(35); // '('
  16452. lookahead1W(23); // S^WS | '(:' | ')'
  16453. shift(38); // ')'
  16454. }
  16455. eventHandler.endNonterminal("JSONItemTest", e0);
  16456. }
  16457. function try_JSONItemTest()
  16458. {
  16459. shiftT(169); // 'json-item'
  16460. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16461. if (l1 == 35) // '('
  16462. {
  16463. shiftT(35); // '('
  16464. lookahead1W(23); // S^WS | '(:' | ')'
  16465. shiftT(38); // ')'
  16466. }
  16467. }
  16468. function parse_JSONObjectTest()
  16469. {
  16470. eventHandler.startNonterminal("JSONObjectTest", e0);
  16471. shift(198); // 'object'
  16472. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16473. if (l1 == 35) // '('
  16474. {
  16475. shift(35); // '('
  16476. lookahead1W(23); // S^WS | '(:' | ')'
  16477. shift(38); // ')'
  16478. }
  16479. eventHandler.endNonterminal("JSONObjectTest", e0);
  16480. }
  16481. function try_JSONObjectTest()
  16482. {
  16483. shiftT(198); // 'object'
  16484. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16485. if (l1 == 35) // '('
  16486. {
  16487. shiftT(35); // '('
  16488. lookahead1W(23); // S^WS | '(:' | ')'
  16489. shiftT(38); // ')'
  16490. }
  16491. }
  16492. function parse_JSONArrayTest()
  16493. {
  16494. eventHandler.startNonterminal("JSONArrayTest", e0);
  16495. shift(79); // 'array'
  16496. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16497. if (l1 == 35) // '('
  16498. {
  16499. shift(35); // '('
  16500. lookahead1W(23); // S^WS | '(:' | ')'
  16501. shift(38); // ')'
  16502. }
  16503. eventHandler.endNonterminal("JSONArrayTest", e0);
  16504. }
  16505. function try_JSONArrayTest()
  16506. {
  16507. shiftT(79); // 'array'
  16508. lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  16509. if (l1 == 35) // '('
  16510. {
  16511. shiftT(35); // '('
  16512. lookahead1W(23); // S^WS | '(:' | ')'
  16513. shiftT(38); // ')'
  16514. }
  16515. }
  16516. function parse_AtomicOrUnionType()
  16517. {
  16518. eventHandler.startNonterminal("AtomicOrUnionType", e0);
  16519. parse_EQName();
  16520. eventHandler.endNonterminal("AtomicOrUnionType", e0);
  16521. }
  16522. function try_AtomicOrUnionType()
  16523. {
  16524. try_EQName();
  16525. }
  16526. function parse_KindTest()
  16527. {
  16528. eventHandler.startNonterminal("KindTest", e0);
  16529. switch (l1)
  16530. {
  16531. case 121: // 'document-node'
  16532. parse_DocumentTest();
  16533. break;
  16534. case 122: // 'element'
  16535. parse_ElementTest();
  16536. break;
  16537. case 83: // 'attribute'
  16538. parse_AttributeTest();
  16539. break;
  16540. case 231: // 'schema-element'
  16541. parse_SchemaElementTest();
  16542. break;
  16543. case 230: // 'schema-attribute'
  16544. parse_SchemaAttributeTest();
  16545. break;
  16546. case 220: // 'processing-instruction'
  16547. parse_PITest();
  16548. break;
  16549. case 97: // 'comment'
  16550. parse_CommentTest();
  16551. break;
  16552. case 249: // 'text'
  16553. parse_TextTest();
  16554. break;
  16555. case 188: // 'namespace-node'
  16556. parse_NamespaceNodeTest();
  16557. break;
  16558. default:
  16559. parse_AnyKindTest();
  16560. }
  16561. eventHandler.endNonterminal("KindTest", e0);
  16562. }
  16563. function try_KindTest()
  16564. {
  16565. switch (l1)
  16566. {
  16567. case 121: // 'document-node'
  16568. try_DocumentTest();
  16569. break;
  16570. case 122: // 'element'
  16571. try_ElementTest();
  16572. break;
  16573. case 83: // 'attribute'
  16574. try_AttributeTest();
  16575. break;
  16576. case 231: // 'schema-element'
  16577. try_SchemaElementTest();
  16578. break;
  16579. case 230: // 'schema-attribute'
  16580. try_SchemaAttributeTest();
  16581. break;
  16582. case 220: // 'processing-instruction'
  16583. try_PITest();
  16584. break;
  16585. case 97: // 'comment'
  16586. try_CommentTest();
  16587. break;
  16588. case 249: // 'text'
  16589. try_TextTest();
  16590. break;
  16591. case 188: // 'namespace-node'
  16592. try_NamespaceNodeTest();
  16593. break;
  16594. default:
  16595. try_AnyKindTest();
  16596. }
  16597. }
  16598. function parse_AnyKindTest()
  16599. {
  16600. eventHandler.startNonterminal("AnyKindTest", e0);
  16601. shift(194); // 'node'
  16602. lookahead1W(22); // S^WS | '(' | '(:'
  16603. shift(35); // '('
  16604. lookahead1W(23); // S^WS | '(:' | ')'
  16605. shift(38); // ')'
  16606. eventHandler.endNonterminal("AnyKindTest", e0);
  16607. }
  16608. function try_AnyKindTest()
  16609. {
  16610. shiftT(194); // 'node'
  16611. lookahead1W(22); // S^WS | '(' | '(:'
  16612. shiftT(35); // '('
  16613. lookahead1W(23); // S^WS | '(:' | ')'
  16614. shiftT(38); // ')'
  16615. }
  16616. function parse_DocumentTest()
  16617. {
  16618. eventHandler.startNonterminal("DocumentTest", e0);
  16619. shift(121); // 'document-node'
  16620. lookahead1W(22); // S^WS | '(' | '(:'
  16621. shift(35); // '('
  16622. lookahead1W(154); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  16623. if (l1 != 38) // ')'
  16624. {
  16625. switch (l1)
  16626. {
  16627. case 122: // 'element'
  16628. whitespace();
  16629. parse_ElementTest();
  16630. break;
  16631. default:
  16632. whitespace();
  16633. parse_SchemaElementTest();
  16634. }
  16635. }
  16636. lookahead1W(23); // S^WS | '(:' | ')'
  16637. shift(38); // ')'
  16638. eventHandler.endNonterminal("DocumentTest", e0);
  16639. }
  16640. function try_DocumentTest()
  16641. {
  16642. shiftT(121); // 'document-node'
  16643. lookahead1W(22); // S^WS | '(' | '(:'
  16644. shiftT(35); // '('
  16645. lookahead1W(154); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  16646. if (l1 != 38) // ')'
  16647. {
  16648. switch (l1)
  16649. {
  16650. case 122: // 'element'
  16651. try_ElementTest();
  16652. break;
  16653. default:
  16654. try_SchemaElementTest();
  16655. }
  16656. }
  16657. lookahead1W(23); // S^WS | '(:' | ')'
  16658. shiftT(38); // ')'
  16659. }
  16660. function parse_TextTest()
  16661. {
  16662. eventHandler.startNonterminal("TextTest", e0);
  16663. shift(249); // 'text'
  16664. lookahead1W(22); // S^WS | '(' | '(:'
  16665. shift(35); // '('
  16666. lookahead1W(23); // S^WS | '(:' | ')'
  16667. shift(38); // ')'
  16668. eventHandler.endNonterminal("TextTest", e0);
  16669. }
  16670. function try_TextTest()
  16671. {
  16672. shiftT(249); // 'text'
  16673. lookahead1W(22); // S^WS | '(' | '(:'
  16674. shiftT(35); // '('
  16675. lookahead1W(23); // S^WS | '(:' | ')'
  16676. shiftT(38); // ')'
  16677. }
  16678. function parse_CommentTest()
  16679. {
  16680. eventHandler.startNonterminal("CommentTest", e0);
  16681. shift(97); // 'comment'
  16682. lookahead1W(22); // S^WS | '(' | '(:'
  16683. shift(35); // '('
  16684. lookahead1W(23); // S^WS | '(:' | ')'
  16685. shift(38); // ')'
  16686. eventHandler.endNonterminal("CommentTest", e0);
  16687. }
  16688. function try_CommentTest()
  16689. {
  16690. shiftT(97); // 'comment'
  16691. lookahead1W(22); // S^WS | '(' | '(:'
  16692. shiftT(35); // '('
  16693. lookahead1W(23); // S^WS | '(:' | ')'
  16694. shiftT(38); // ')'
  16695. }
  16696. function parse_NamespaceNodeTest()
  16697. {
  16698. eventHandler.startNonterminal("NamespaceNodeTest", e0);
  16699. shift(188); // 'namespace-node'
  16700. lookahead1W(22); // S^WS | '(' | '(:'
  16701. shift(35); // '('
  16702. lookahead1W(23); // S^WS | '(:' | ')'
  16703. shift(38); // ')'
  16704. eventHandler.endNonterminal("NamespaceNodeTest", e0);
  16705. }
  16706. function try_NamespaceNodeTest()
  16707. {
  16708. shiftT(188); // 'namespace-node'
  16709. lookahead1W(22); // S^WS | '(' | '(:'
  16710. shiftT(35); // '('
  16711. lookahead1W(23); // S^WS | '(:' | ')'
  16712. shiftT(38); // ')'
  16713. }
  16714. function parse_PITest()
  16715. {
  16716. eventHandler.startNonterminal("PITest", e0);
  16717. shift(220); // 'processing-instruction'
  16718. lookahead1W(22); // S^WS | '(' | '(:'
  16719. shift(35); // '('
  16720. lookahead1W(243); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  16721. if (l1 != 38) // ')'
  16722. {
  16723. switch (l1)
  16724. {
  16725. case 11: // StringLiteral
  16726. shift(11); // StringLiteral
  16727. break;
  16728. default:
  16729. whitespace();
  16730. parse_NCName();
  16731. }
  16732. }
  16733. lookahead1W(23); // S^WS | '(:' | ')'
  16734. shift(38); // ')'
  16735. eventHandler.endNonterminal("PITest", e0);
  16736. }
  16737. function try_PITest()
  16738. {
  16739. shiftT(220); // 'processing-instruction'
  16740. lookahead1W(22); // S^WS | '(' | '(:'
  16741. shiftT(35); // '('
  16742. lookahead1W(243); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  16743. if (l1 != 38) // ')'
  16744. {
  16745. switch (l1)
  16746. {
  16747. case 11: // StringLiteral
  16748. shiftT(11); // StringLiteral
  16749. break;
  16750. default:
  16751. try_NCName();
  16752. }
  16753. }
  16754. lookahead1W(23); // S^WS | '(:' | ')'
  16755. shiftT(38); // ')'
  16756. }
  16757. function parse_AttributeTest()
  16758. {
  16759. eventHandler.startNonterminal("AttributeTest", e0);
  16760. shift(83); // 'attribute'
  16761. lookahead1W(22); // S^WS | '(' | '(:'
  16762. shift(35); // '('
  16763. lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  16764. if (l1 != 38) // ')'
  16765. {
  16766. whitespace();
  16767. parse_AttribNameOrWildcard();
  16768. lookahead1W(105); // S^WS | '(:' | ')' | ','
  16769. if (l1 == 42) // ','
  16770. {
  16771. shift(42); // ','
  16772. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16773. whitespace();
  16774. parse_TypeName();
  16775. }
  16776. }
  16777. lookahead1W(23); // S^WS | '(:' | ')'
  16778. shift(38); // ')'
  16779. eventHandler.endNonterminal("AttributeTest", e0);
  16780. }
  16781. function try_AttributeTest()
  16782. {
  16783. shiftT(83); // 'attribute'
  16784. lookahead1W(22); // S^WS | '(' | '(:'
  16785. shiftT(35); // '('
  16786. lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  16787. if (l1 != 38) // ')'
  16788. {
  16789. try_AttribNameOrWildcard();
  16790. lookahead1W(105); // S^WS | '(:' | ')' | ','
  16791. if (l1 == 42) // ','
  16792. {
  16793. shiftT(42); // ','
  16794. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16795. try_TypeName();
  16796. }
  16797. }
  16798. lookahead1W(23); // S^WS | '(:' | ')'
  16799. shiftT(38); // ')'
  16800. }
  16801. function parse_AttribNameOrWildcard()
  16802. {
  16803. eventHandler.startNonterminal("AttribNameOrWildcard", e0);
  16804. switch (l1)
  16805. {
  16806. case 39: // '*'
  16807. shift(39); // '*'
  16808. break;
  16809. default:
  16810. parse_AttributeName();
  16811. }
  16812. eventHandler.endNonterminal("AttribNameOrWildcard", e0);
  16813. }
  16814. function try_AttribNameOrWildcard()
  16815. {
  16816. switch (l1)
  16817. {
  16818. case 39: // '*'
  16819. shiftT(39); // '*'
  16820. break;
  16821. default:
  16822. try_AttributeName();
  16823. }
  16824. }
  16825. function parse_SchemaAttributeTest()
  16826. {
  16827. eventHandler.startNonterminal("SchemaAttributeTest", e0);
  16828. shift(230); // 'schema-attribute'
  16829. lookahead1W(22); // S^WS | '(' | '(:'
  16830. shift(35); // '('
  16831. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16832. whitespace();
  16833. parse_AttributeDeclaration();
  16834. lookahead1W(23); // S^WS | '(:' | ')'
  16835. shift(38); // ')'
  16836. eventHandler.endNonterminal("SchemaAttributeTest", e0);
  16837. }
  16838. function try_SchemaAttributeTest()
  16839. {
  16840. shiftT(230); // 'schema-attribute'
  16841. lookahead1W(22); // S^WS | '(' | '(:'
  16842. shiftT(35); // '('
  16843. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16844. try_AttributeDeclaration();
  16845. lookahead1W(23); // S^WS | '(:' | ')'
  16846. shiftT(38); // ')'
  16847. }
  16848. function parse_AttributeDeclaration()
  16849. {
  16850. eventHandler.startNonterminal("AttributeDeclaration", e0);
  16851. parse_AttributeName();
  16852. eventHandler.endNonterminal("AttributeDeclaration", e0);
  16853. }
  16854. function try_AttributeDeclaration()
  16855. {
  16856. try_AttributeName();
  16857. }
  16858. function parse_ElementTest()
  16859. {
  16860. eventHandler.startNonterminal("ElementTest", e0);
  16861. shift(122); // 'element'
  16862. lookahead1W(22); // S^WS | '(' | '(:'
  16863. shift(35); // '('
  16864. lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  16865. if (l1 != 38) // ')'
  16866. {
  16867. whitespace();
  16868. parse_ElementNameOrWildcard();
  16869. lookahead1W(105); // S^WS | '(:' | ')' | ','
  16870. if (l1 == 42) // ','
  16871. {
  16872. shift(42); // ','
  16873. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16874. whitespace();
  16875. parse_TypeName();
  16876. lookahead1W(106); // S^WS | '(:' | ')' | '?'
  16877. if (l1 == 65) // '?'
  16878. {
  16879. shift(65); // '?'
  16880. }
  16881. }
  16882. }
  16883. lookahead1W(23); // S^WS | '(:' | ')'
  16884. shift(38); // ')'
  16885. eventHandler.endNonterminal("ElementTest", e0);
  16886. }
  16887. function try_ElementTest()
  16888. {
  16889. shiftT(122); // 'element'
  16890. lookahead1W(22); // S^WS | '(' | '(:'
  16891. shiftT(35); // '('
  16892. lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  16893. if (l1 != 38) // ')'
  16894. {
  16895. try_ElementNameOrWildcard();
  16896. lookahead1W(105); // S^WS | '(:' | ')' | ','
  16897. if (l1 == 42) // ','
  16898. {
  16899. shiftT(42); // ','
  16900. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16901. try_TypeName();
  16902. lookahead1W(106); // S^WS | '(:' | ')' | '?'
  16903. if (l1 == 65) // '?'
  16904. {
  16905. shiftT(65); // '?'
  16906. }
  16907. }
  16908. }
  16909. lookahead1W(23); // S^WS | '(:' | ')'
  16910. shiftT(38); // ')'
  16911. }
  16912. function parse_ElementNameOrWildcard()
  16913. {
  16914. eventHandler.startNonterminal("ElementNameOrWildcard", e0);
  16915. switch (l1)
  16916. {
  16917. case 39: // '*'
  16918. shift(39); // '*'
  16919. break;
  16920. default:
  16921. parse_ElementName();
  16922. }
  16923. eventHandler.endNonterminal("ElementNameOrWildcard", e0);
  16924. }
  16925. function try_ElementNameOrWildcard()
  16926. {
  16927. switch (l1)
  16928. {
  16929. case 39: // '*'
  16930. shiftT(39); // '*'
  16931. break;
  16932. default:
  16933. try_ElementName();
  16934. }
  16935. }
  16936. function parse_SchemaElementTest()
  16937. {
  16938. eventHandler.startNonterminal("SchemaElementTest", e0);
  16939. shift(231); // 'schema-element'
  16940. lookahead1W(22); // S^WS | '(' | '(:'
  16941. shift(35); // '('
  16942. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16943. whitespace();
  16944. parse_ElementDeclaration();
  16945. lookahead1W(23); // S^WS | '(:' | ')'
  16946. shift(38); // ')'
  16947. eventHandler.endNonterminal("SchemaElementTest", e0);
  16948. }
  16949. function try_SchemaElementTest()
  16950. {
  16951. shiftT(231); // 'schema-element'
  16952. lookahead1W(22); // S^WS | '(' | '(:'
  16953. shiftT(35); // '('
  16954. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  16955. try_ElementDeclaration();
  16956. lookahead1W(23); // S^WS | '(:' | ')'
  16957. shiftT(38); // ')'
  16958. }
  16959. function parse_ElementDeclaration()
  16960. {
  16961. eventHandler.startNonterminal("ElementDeclaration", e0);
  16962. parse_ElementName();
  16963. eventHandler.endNonterminal("ElementDeclaration", e0);
  16964. }
  16965. function try_ElementDeclaration()
  16966. {
  16967. try_ElementName();
  16968. }
  16969. function parse_AttributeName()
  16970. {
  16971. eventHandler.startNonterminal("AttributeName", e0);
  16972. parse_EQName();
  16973. eventHandler.endNonterminal("AttributeName", e0);
  16974. }
  16975. function try_AttributeName()
  16976. {
  16977. try_EQName();
  16978. }
  16979. function parse_ElementName()
  16980. {
  16981. eventHandler.startNonterminal("ElementName", e0);
  16982. parse_EQName();
  16983. eventHandler.endNonterminal("ElementName", e0);
  16984. }
  16985. function try_ElementName()
  16986. {
  16987. try_EQName();
  16988. }
  16989. function parse_SimpleTypeName()
  16990. {
  16991. eventHandler.startNonterminal("SimpleTypeName", e0);
  16992. parse_TypeName();
  16993. eventHandler.endNonterminal("SimpleTypeName", e0);
  16994. }
  16995. function try_SimpleTypeName()
  16996. {
  16997. try_TypeName();
  16998. }
  16999. function parse_TypeName()
  17000. {
  17001. eventHandler.startNonterminal("TypeName", e0);
  17002. parse_EQName();
  17003. eventHandler.endNonterminal("TypeName", e0);
  17004. }
  17005. function try_TypeName()
  17006. {
  17007. try_EQName();
  17008. }
  17009. function parse_FunctionTest()
  17010. {
  17011. eventHandler.startNonterminal("FunctionTest", e0);
  17012. for (;;)
  17013. {
  17014. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  17015. if (l1 != 33) // '%'
  17016. {
  17017. break;
  17018. }
  17019. whitespace();
  17020. parse_Annotation();
  17021. }
  17022. switch (l1)
  17023. {
  17024. case 147: // 'function'
  17025. lookahead2W(22); // S^WS | '(' | '(:'
  17026. break;
  17027. default:
  17028. lk = l1;
  17029. }
  17030. lk = memoized(7, e0);
  17031. if (lk == 0)
  17032. {
  17033. var b0A = b0; var e0A = e0; var l1A = l1;
  17034. var b1A = b1; var e1A = e1; var l2A = l2;
  17035. var b2A = b2; var e2A = e2;
  17036. try
  17037. {
  17038. try_AnyFunctionTest();
  17039. lk = -1;
  17040. }
  17041. catch (p1A)
  17042. {
  17043. lk = -2;
  17044. }
  17045. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17046. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17047. b2 = b2A; e2 = e2A; end = e2A; }}
  17048. memoize(7, e0, lk);
  17049. }
  17050. switch (lk)
  17051. {
  17052. case -1:
  17053. whitespace();
  17054. parse_AnyFunctionTest();
  17055. break;
  17056. default:
  17057. whitespace();
  17058. parse_TypedFunctionTest();
  17059. }
  17060. eventHandler.endNonterminal("FunctionTest", e0);
  17061. }
  17062. function try_FunctionTest()
  17063. {
  17064. for (;;)
  17065. {
  17066. lookahead1W(101); // S^WS | '%' | '(:' | 'function'
  17067. if (l1 != 33) // '%'
  17068. {
  17069. break;
  17070. }
  17071. try_Annotation();
  17072. }
  17073. switch (l1)
  17074. {
  17075. case 147: // 'function'
  17076. lookahead2W(22); // S^WS | '(' | '(:'
  17077. break;
  17078. default:
  17079. lk = l1;
  17080. }
  17081. lk = memoized(7, e0);
  17082. if (lk == 0)
  17083. {
  17084. var b0A = b0; var e0A = e0; var l1A = l1;
  17085. var b1A = b1; var e1A = e1; var l2A = l2;
  17086. var b2A = b2; var e2A = e2;
  17087. try
  17088. {
  17089. try_AnyFunctionTest();
  17090. memoize(7, e0A, -1);
  17091. lk = -3;
  17092. }
  17093. catch (p1A)
  17094. {
  17095. lk = -2;
  17096. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  17097. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  17098. b2 = b2A; e2 = e2A; end = e2A; }}
  17099. memoize(7, e0A, -2);
  17100. }
  17101. }
  17102. switch (lk)
  17103. {
  17104. case -1:
  17105. try_AnyFunctionTest();
  17106. break;
  17107. case -3:
  17108. break;
  17109. default:
  17110. try_TypedFunctionTest();
  17111. }
  17112. }
  17113. function parse_AnyFunctionTest()
  17114. {
  17115. eventHandler.startNonterminal("AnyFunctionTest", e0);
  17116. shift(147); // 'function'
  17117. lookahead1W(22); // S^WS | '(' | '(:'
  17118. shift(35); // '('
  17119. lookahead1W(24); // S^WS | '(:' | '*'
  17120. shift(39); // '*'
  17121. lookahead1W(23); // S^WS | '(:' | ')'
  17122. shift(38); // ')'
  17123. eventHandler.endNonterminal("AnyFunctionTest", e0);
  17124. }
  17125. function try_AnyFunctionTest()
  17126. {
  17127. shiftT(147); // 'function'
  17128. lookahead1W(22); // S^WS | '(' | '(:'
  17129. shiftT(35); // '('
  17130. lookahead1W(24); // S^WS | '(:' | '*'
  17131. shiftT(39); // '*'
  17132. lookahead1W(23); // S^WS | '(:' | ')'
  17133. shiftT(38); // ')'
  17134. }
  17135. function parse_TypedFunctionTest()
  17136. {
  17137. eventHandler.startNonterminal("TypedFunctionTest", e0);
  17138. shift(147); // 'function'
  17139. lookahead1W(22); // S^WS | '(' | '(:'
  17140. shift(35); // '('
  17141. lookahead1W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  17142. if (l1 != 38) // ')'
  17143. {
  17144. whitespace();
  17145. parse_SequenceType();
  17146. for (;;)
  17147. {
  17148. lookahead1W(105); // S^WS | '(:' | ')' | ','
  17149. if (l1 != 42) // ','
  17150. {
  17151. break;
  17152. }
  17153. shift(42); // ','
  17154. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17155. whitespace();
  17156. parse_SequenceType();
  17157. }
  17158. }
  17159. shift(38); // ')'
  17160. lookahead1W(33); // S^WS | '(:' | 'as'
  17161. shift(80); // 'as'
  17162. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17163. whitespace();
  17164. parse_SequenceType();
  17165. eventHandler.endNonterminal("TypedFunctionTest", e0);
  17166. }
  17167. function try_TypedFunctionTest()
  17168. {
  17169. shiftT(147); // 'function'
  17170. lookahead1W(22); // S^WS | '(' | '(:'
  17171. shiftT(35); // '('
  17172. lookahead1W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  17173. if (l1 != 38) // ')'
  17174. {
  17175. try_SequenceType();
  17176. for (;;)
  17177. {
  17178. lookahead1W(105); // S^WS | '(:' | ')' | ','
  17179. if (l1 != 42) // ','
  17180. {
  17181. break;
  17182. }
  17183. shiftT(42); // ','
  17184. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17185. try_SequenceType();
  17186. }
  17187. }
  17188. shiftT(38); // ')'
  17189. lookahead1W(33); // S^WS | '(:' | 'as'
  17190. shiftT(80); // 'as'
  17191. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17192. try_SequenceType();
  17193. }
  17194. function parse_ParenthesizedItemType()
  17195. {
  17196. eventHandler.startNonterminal("ParenthesizedItemType", e0);
  17197. shift(35); // '('
  17198. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17199. whitespace();
  17200. parse_ItemType();
  17201. lookahead1W(23); // S^WS | '(:' | ')'
  17202. shift(38); // ')'
  17203. eventHandler.endNonterminal("ParenthesizedItemType", e0);
  17204. }
  17205. function try_ParenthesizedItemType()
  17206. {
  17207. shiftT(35); // '('
  17208. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  17209. try_ItemType();
  17210. lookahead1W(23); // S^WS | '(:' | ')'
  17211. shiftT(38); // ')'
  17212. }
  17213. function parse_RevalidationDecl()
  17214. {
  17215. eventHandler.startNonterminal("RevalidationDecl", e0);
  17216. shift(109); // 'declare'
  17217. lookahead1W(75); // S^WS | '(:' | 'revalidation'
  17218. shift(226); // 'revalidation'
  17219. lookahead1W(162); // S^WS | '(:' | 'lax' | 'skip' | 'strict'
  17220. switch (l1)
  17221. {
  17222. case 245: // 'strict'
  17223. shift(245); // 'strict'
  17224. break;
  17225. case 174: // 'lax'
  17226. shift(174); // 'lax'
  17227. break;
  17228. default:
  17229. shift(238); // 'skip'
  17230. }
  17231. eventHandler.endNonterminal("RevalidationDecl", e0);
  17232. }
  17233. function parse_InsertExprTargetChoice()
  17234. {
  17235. eventHandler.startNonterminal("InsertExprTargetChoice", e0);
  17236. switch (l1)
  17237. {
  17238. case 71: // 'after'
  17239. shift(71); // 'after'
  17240. break;
  17241. case 85: // 'before'
  17242. shift(85); // 'before'
  17243. break;
  17244. default:
  17245. if (l1 == 80) // 'as'
  17246. {
  17247. shift(80); // 'as'
  17248. lookahead1W(123); // S^WS | '(:' | 'first' | 'last'
  17249. switch (l1)
  17250. {
  17251. case 136: // 'first'
  17252. shift(136); // 'first'
  17253. break;
  17254. default:
  17255. shift(173); // 'last'
  17256. }
  17257. }
  17258. lookahead1W(57); // S^WS | '(:' | 'into'
  17259. shift(165); // 'into'
  17260. }
  17261. eventHandler.endNonterminal("InsertExprTargetChoice", e0);
  17262. }
  17263. function try_InsertExprTargetChoice()
  17264. {
  17265. switch (l1)
  17266. {
  17267. case 71: // 'after'
  17268. shiftT(71); // 'after'
  17269. break;
  17270. case 85: // 'before'
  17271. shiftT(85); // 'before'
  17272. break;
  17273. default:
  17274. if (l1 == 80) // 'as'
  17275. {
  17276. shiftT(80); // 'as'
  17277. lookahead1W(123); // S^WS | '(:' | 'first' | 'last'
  17278. switch (l1)
  17279. {
  17280. case 136: // 'first'
  17281. shiftT(136); // 'first'
  17282. break;
  17283. default:
  17284. shiftT(173); // 'last'
  17285. }
  17286. }
  17287. lookahead1W(57); // S^WS | '(:' | 'into'
  17288. shiftT(165); // 'into'
  17289. }
  17290. }
  17291. function parse_InsertExpr()
  17292. {
  17293. eventHandler.startNonterminal("InsertExpr", e0);
  17294. shift(161); // 'insert'
  17295. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  17296. switch (l1)
  17297. {
  17298. case 194: // 'node'
  17299. shift(194); // 'node'
  17300. break;
  17301. default:
  17302. shift(195); // 'nodes'
  17303. }
  17304. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17305. whitespace();
  17306. parse_SourceExpr();
  17307. whitespace();
  17308. parse_InsertExprTargetChoice();
  17309. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17310. whitespace();
  17311. parse_TargetExpr();
  17312. eventHandler.endNonterminal("InsertExpr", e0);
  17313. }
  17314. function try_InsertExpr()
  17315. {
  17316. shiftT(161); // 'insert'
  17317. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  17318. switch (l1)
  17319. {
  17320. case 194: // 'node'
  17321. shiftT(194); // 'node'
  17322. break;
  17323. default:
  17324. shiftT(195); // 'nodes'
  17325. }
  17326. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17327. try_SourceExpr();
  17328. try_InsertExprTargetChoice();
  17329. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17330. try_TargetExpr();
  17331. }
  17332. function parse_DeleteExpr()
  17333. {
  17334. eventHandler.startNonterminal("DeleteExpr", e0);
  17335. shift(111); // 'delete'
  17336. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  17337. switch (l1)
  17338. {
  17339. case 194: // 'node'
  17340. shift(194); // 'node'
  17341. break;
  17342. default:
  17343. shift(195); // 'nodes'
  17344. }
  17345. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17346. whitespace();
  17347. parse_TargetExpr();
  17348. eventHandler.endNonterminal("DeleteExpr", e0);
  17349. }
  17350. function try_DeleteExpr()
  17351. {
  17352. shiftT(111); // 'delete'
  17353. lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
  17354. switch (l1)
  17355. {
  17356. case 194: // 'node'
  17357. shiftT(194); // 'node'
  17358. break;
  17359. default:
  17360. shiftT(195); // 'nodes'
  17361. }
  17362. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17363. try_TargetExpr();
  17364. }
  17365. function parse_ReplaceExpr()
  17366. {
  17367. eventHandler.startNonterminal("ReplaceExpr", e0);
  17368. shift(223); // 'replace'
  17369. lookahead1W(134); // S^WS | '(:' | 'node' | 'value'
  17370. if (l1 == 267) // 'value'
  17371. {
  17372. shift(267); // 'value'
  17373. lookahead1W(67); // S^WS | '(:' | 'of'
  17374. shift(200); // 'of'
  17375. }
  17376. lookahead1W(65); // S^WS | '(:' | 'node'
  17377. shift(194); // 'node'
  17378. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17379. whitespace();
  17380. parse_TargetExpr();
  17381. shift(276); // 'with'
  17382. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17383. whitespace();
  17384. parse_ExprSingle();
  17385. eventHandler.endNonterminal("ReplaceExpr", e0);
  17386. }
  17387. function try_ReplaceExpr()
  17388. {
  17389. shiftT(223); // 'replace'
  17390. lookahead1W(134); // S^WS | '(:' | 'node' | 'value'
  17391. if (l1 == 267) // 'value'
  17392. {
  17393. shiftT(267); // 'value'
  17394. lookahead1W(67); // S^WS | '(:' | 'of'
  17395. shiftT(200); // 'of'
  17396. }
  17397. lookahead1W(65); // S^WS | '(:' | 'node'
  17398. shiftT(194); // 'node'
  17399. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17400. try_TargetExpr();
  17401. shiftT(276); // 'with'
  17402. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17403. try_ExprSingle();
  17404. }
  17405. function parse_RenameExpr()
  17406. {
  17407. eventHandler.startNonterminal("RenameExpr", e0);
  17408. shift(222); // 'rename'
  17409. lookahead1W(65); // S^WS | '(:' | 'node'
  17410. shift(194); // 'node'
  17411. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17412. whitespace();
  17413. parse_TargetExpr();
  17414. shift(80); // 'as'
  17415. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17416. whitespace();
  17417. parse_NewNameExpr();
  17418. eventHandler.endNonterminal("RenameExpr", e0);
  17419. }
  17420. function try_RenameExpr()
  17421. {
  17422. shiftT(222); // 'rename'
  17423. lookahead1W(65); // S^WS | '(:' | 'node'
  17424. shiftT(194); // 'node'
  17425. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17426. try_TargetExpr();
  17427. shiftT(80); // 'as'
  17428. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17429. try_NewNameExpr();
  17430. }
  17431. function parse_SourceExpr()
  17432. {
  17433. eventHandler.startNonterminal("SourceExpr", e0);
  17434. parse_ExprSingle();
  17435. eventHandler.endNonterminal("SourceExpr", e0);
  17436. }
  17437. function try_SourceExpr()
  17438. {
  17439. try_ExprSingle();
  17440. }
  17441. function parse_TargetExpr()
  17442. {
  17443. eventHandler.startNonterminal("TargetExpr", e0);
  17444. parse_ExprSingle();
  17445. eventHandler.endNonterminal("TargetExpr", e0);
  17446. }
  17447. function try_TargetExpr()
  17448. {
  17449. try_ExprSingle();
  17450. }
  17451. function parse_NewNameExpr()
  17452. {
  17453. eventHandler.startNonterminal("NewNameExpr", e0);
  17454. parse_ExprSingle();
  17455. eventHandler.endNonterminal("NewNameExpr", e0);
  17456. }
  17457. function try_NewNameExpr()
  17458. {
  17459. try_ExprSingle();
  17460. }
  17461. function parse_TransformExpr()
  17462. {
  17463. eventHandler.startNonterminal("TransformExpr", e0);
  17464. shift(104); // 'copy'
  17465. lookahead1W(21); // S^WS | '$' | '(:'
  17466. whitespace();
  17467. parse_TransformSpec();
  17468. for (;;)
  17469. {
  17470. if (l1 != 42) // ','
  17471. {
  17472. break;
  17473. }
  17474. shift(42); // ','
  17475. lookahead1W(21); // S^WS | '$' | '(:'
  17476. whitespace();
  17477. parse_TransformSpec();
  17478. }
  17479. shift(184); // 'modify'
  17480. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17481. whitespace();
  17482. parse_ExprSingle();
  17483. shift(224); // 'return'
  17484. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17485. whitespace();
  17486. parse_ExprSingle();
  17487. eventHandler.endNonterminal("TransformExpr", e0);
  17488. }
  17489. function try_TransformExpr()
  17490. {
  17491. shiftT(104); // 'copy'
  17492. lookahead1W(21); // S^WS | '$' | '(:'
  17493. try_TransformSpec();
  17494. for (;;)
  17495. {
  17496. if (l1 != 42) // ','
  17497. {
  17498. break;
  17499. }
  17500. shiftT(42); // ','
  17501. lookahead1W(21); // S^WS | '$' | '(:'
  17502. try_TransformSpec();
  17503. }
  17504. shiftT(184); // 'modify'
  17505. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17506. try_ExprSingle();
  17507. shiftT(224); // 'return'
  17508. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17509. try_ExprSingle();
  17510. }
  17511. function parse_TransformSpec()
  17512. {
  17513. eventHandler.startNonterminal("TransformSpec", e0);
  17514. shift(31); // '$'
  17515. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  17516. whitespace();
  17517. parse_VarName();
  17518. lookahead1W(28); // S^WS | '(:' | ':='
  17519. shift(53); // ':='
  17520. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17521. whitespace();
  17522. parse_ExprSingle();
  17523. eventHandler.endNonterminal("TransformSpec", e0);
  17524. }
  17525. function try_TransformSpec()
  17526. {
  17527. shiftT(31); // '$'
  17528. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  17529. try_VarName();
  17530. lookahead1W(28); // S^WS | '(:' | ':='
  17531. shiftT(53); // ':='
  17532. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17533. try_ExprSingle();
  17534. }
  17535. function parse_FTSelection()
  17536. {
  17537. eventHandler.startNonterminal("FTSelection", e0);
  17538. parse_FTOr();
  17539. for (;;)
  17540. {
  17541. lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17542. switch (l1)
  17543. {
  17544. case 82: // 'at'
  17545. lookahead2W(161); // S^WS | '(:' | 'end' | 'position' | 'start'
  17546. break;
  17547. default:
  17548. lk = l1;
  17549. }
  17550. if (lk != 116 // 'different'
  17551. && lk != 118 // 'distance'
  17552. && lk != 128 // 'entire'
  17553. && lk != 206 // 'ordered'
  17554. && lk != 227 // 'same'
  17555. && lk != 275 // 'window'
  17556. && lk != 65106 // 'at' 'end'
  17557. && lk != 123986) // 'at' 'start'
  17558. {
  17559. break;
  17560. }
  17561. whitespace();
  17562. parse_FTPosFilter();
  17563. }
  17564. eventHandler.endNonterminal("FTSelection", e0);
  17565. }
  17566. function try_FTSelection()
  17567. {
  17568. try_FTOr();
  17569. for (;;)
  17570. {
  17571. lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17572. switch (l1)
  17573. {
  17574. case 82: // 'at'
  17575. lookahead2W(161); // S^WS | '(:' | 'end' | 'position' | 'start'
  17576. break;
  17577. default:
  17578. lk = l1;
  17579. }
  17580. if (lk != 116 // 'different'
  17581. && lk != 118 // 'distance'
  17582. && lk != 128 // 'entire'
  17583. && lk != 206 // 'ordered'
  17584. && lk != 227 // 'same'
  17585. && lk != 275 // 'window'
  17586. && lk != 65106 // 'at' 'end'
  17587. && lk != 123986) // 'at' 'start'
  17588. {
  17589. break;
  17590. }
  17591. try_FTPosFilter();
  17592. }
  17593. }
  17594. function parse_FTWeight()
  17595. {
  17596. eventHandler.startNonterminal("FTWeight", e0);
  17597. shift(270); // 'weight'
  17598. lookahead1W(90); // S^WS | '(:' | '{'
  17599. shift(281); // '{'
  17600. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17601. whitespace();
  17602. parse_Expr();
  17603. shift(287); // '}'
  17604. eventHandler.endNonterminal("FTWeight", e0);
  17605. }
  17606. function try_FTWeight()
  17607. {
  17608. shiftT(270); // 'weight'
  17609. lookahead1W(90); // S^WS | '(:' | '{'
  17610. shiftT(281); // '{'
  17611. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17612. try_Expr();
  17613. shiftT(287); // '}'
  17614. }
  17615. function parse_FTOr()
  17616. {
  17617. eventHandler.startNonterminal("FTOr", e0);
  17618. parse_FTAnd();
  17619. for (;;)
  17620. {
  17621. if (l1 != 146) // 'ftor'
  17622. {
  17623. break;
  17624. }
  17625. shift(146); // 'ftor'
  17626. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17627. whitespace();
  17628. parse_FTAnd();
  17629. }
  17630. eventHandler.endNonterminal("FTOr", e0);
  17631. }
  17632. function try_FTOr()
  17633. {
  17634. try_FTAnd();
  17635. for (;;)
  17636. {
  17637. if (l1 != 146) // 'ftor'
  17638. {
  17639. break;
  17640. }
  17641. shiftT(146); // 'ftor'
  17642. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17643. try_FTAnd();
  17644. }
  17645. }
  17646. function parse_FTAnd()
  17647. {
  17648. eventHandler.startNonterminal("FTAnd", e0);
  17649. parse_FTMildNot();
  17650. for (;;)
  17651. {
  17652. if (l1 != 144) // 'ftand'
  17653. {
  17654. break;
  17655. }
  17656. shift(144); // 'ftand'
  17657. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17658. whitespace();
  17659. parse_FTMildNot();
  17660. }
  17661. eventHandler.endNonterminal("FTAnd", e0);
  17662. }
  17663. function try_FTAnd()
  17664. {
  17665. try_FTMildNot();
  17666. for (;;)
  17667. {
  17668. if (l1 != 144) // 'ftand'
  17669. {
  17670. break;
  17671. }
  17672. shiftT(144); // 'ftand'
  17673. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17674. try_FTMildNot();
  17675. }
  17676. }
  17677. function parse_FTMildNot()
  17678. {
  17679. eventHandler.startNonterminal("FTMildNot", e0);
  17680. parse_FTUnaryNot();
  17681. for (;;)
  17682. {
  17683. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17684. if (l1 != 196) // 'not'
  17685. {
  17686. break;
  17687. }
  17688. shift(196); // 'not'
  17689. lookahead1W(56); // S^WS | '(:' | 'in'
  17690. shift(156); // 'in'
  17691. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17692. whitespace();
  17693. parse_FTUnaryNot();
  17694. }
  17695. eventHandler.endNonterminal("FTMildNot", e0);
  17696. }
  17697. function try_FTMildNot()
  17698. {
  17699. try_FTUnaryNot();
  17700. for (;;)
  17701. {
  17702. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17703. if (l1 != 196) // 'not'
  17704. {
  17705. break;
  17706. }
  17707. shiftT(196); // 'not'
  17708. lookahead1W(56); // S^WS | '(:' | 'in'
  17709. shiftT(156); // 'in'
  17710. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17711. try_FTUnaryNot();
  17712. }
  17713. }
  17714. function parse_FTUnaryNot()
  17715. {
  17716. eventHandler.startNonterminal("FTUnaryNot", e0);
  17717. if (l1 == 145) // 'ftnot'
  17718. {
  17719. shift(145); // 'ftnot'
  17720. }
  17721. lookahead1W(164); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  17722. whitespace();
  17723. parse_FTPrimaryWithOptions();
  17724. eventHandler.endNonterminal("FTUnaryNot", e0);
  17725. }
  17726. function try_FTUnaryNot()
  17727. {
  17728. if (l1 == 145) // 'ftnot'
  17729. {
  17730. shiftT(145); // 'ftnot'
  17731. }
  17732. lookahead1W(164); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  17733. try_FTPrimaryWithOptions();
  17734. }
  17735. function parse_FTPrimaryWithOptions()
  17736. {
  17737. eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
  17738. parse_FTPrimary();
  17739. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17740. if (l1 == 265) // 'using'
  17741. {
  17742. whitespace();
  17743. parse_FTMatchOptions();
  17744. }
  17745. if (l1 == 270) // 'weight'
  17746. {
  17747. whitespace();
  17748. parse_FTWeight();
  17749. }
  17750. eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
  17751. }
  17752. function try_FTPrimaryWithOptions()
  17753. {
  17754. try_FTPrimary();
  17755. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17756. if (l1 == 265) // 'using'
  17757. {
  17758. try_FTMatchOptions();
  17759. }
  17760. if (l1 == 270) // 'weight'
  17761. {
  17762. try_FTWeight();
  17763. }
  17764. }
  17765. function parse_FTPrimary()
  17766. {
  17767. eventHandler.startNonterminal("FTPrimary", e0);
  17768. switch (l1)
  17769. {
  17770. case 35: // '('
  17771. shift(35); // '('
  17772. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17773. whitespace();
  17774. parse_FTSelection();
  17775. shift(38); // ')'
  17776. break;
  17777. case 36: // '(#'
  17778. parse_FTExtensionSelection();
  17779. break;
  17780. default:
  17781. parse_FTWords();
  17782. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17783. if (l1 == 199) // 'occurs'
  17784. {
  17785. whitespace();
  17786. parse_FTTimes();
  17787. }
  17788. }
  17789. eventHandler.endNonterminal("FTPrimary", e0);
  17790. }
  17791. function try_FTPrimary()
  17792. {
  17793. switch (l1)
  17794. {
  17795. case 35: // '('
  17796. shiftT(35); // '('
  17797. lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  17798. try_FTSelection();
  17799. shiftT(38); // ')'
  17800. break;
  17801. case 36: // '(#'
  17802. try_FTExtensionSelection();
  17803. break;
  17804. default:
  17805. try_FTWords();
  17806. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17807. if (l1 == 199) // 'occurs'
  17808. {
  17809. try_FTTimes();
  17810. }
  17811. }
  17812. }
  17813. function parse_FTWords()
  17814. {
  17815. eventHandler.startNonterminal("FTWords", e0);
  17816. parse_FTWordsValue();
  17817. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17818. if (l1 == 72 // 'all'
  17819. || l1 == 77 // 'any'
  17820. || l1 == 214) // 'phrase'
  17821. {
  17822. whitespace();
  17823. parse_FTAnyallOption();
  17824. }
  17825. eventHandler.endNonterminal("FTWords", e0);
  17826. }
  17827. function try_FTWords()
  17828. {
  17829. try_FTWordsValue();
  17830. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17831. if (l1 == 72 // 'all'
  17832. || l1 == 77 // 'any'
  17833. || l1 == 214) // 'phrase'
  17834. {
  17835. try_FTAnyallOption();
  17836. }
  17837. }
  17838. function parse_FTWordsValue()
  17839. {
  17840. eventHandler.startNonterminal("FTWordsValue", e0);
  17841. switch (l1)
  17842. {
  17843. case 11: // StringLiteral
  17844. shift(11); // StringLiteral
  17845. break;
  17846. default:
  17847. shift(281); // '{'
  17848. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17849. whitespace();
  17850. parse_Expr();
  17851. shift(287); // '}'
  17852. }
  17853. eventHandler.endNonterminal("FTWordsValue", e0);
  17854. }
  17855. function try_FTWordsValue()
  17856. {
  17857. switch (l1)
  17858. {
  17859. case 11: // StringLiteral
  17860. shiftT(11); // StringLiteral
  17861. break;
  17862. default:
  17863. shiftT(281); // '{'
  17864. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17865. try_Expr();
  17866. shiftT(287); // '}'
  17867. }
  17868. }
  17869. function parse_FTExtensionSelection()
  17870. {
  17871. eventHandler.startNonterminal("FTExtensionSelection", e0);
  17872. for (;;)
  17873. {
  17874. whitespace();
  17875. parse_Pragma();
  17876. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  17877. if (l1 != 36) // '(#'
  17878. {
  17879. break;
  17880. }
  17881. }
  17882. shift(281); // '{'
  17883. lookahead1W(184); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  17884. if (l1 != 287) // '}'
  17885. {
  17886. whitespace();
  17887. parse_FTSelection();
  17888. }
  17889. shift(287); // '}'
  17890. eventHandler.endNonterminal("FTExtensionSelection", e0);
  17891. }
  17892. function try_FTExtensionSelection()
  17893. {
  17894. for (;;)
  17895. {
  17896. try_Pragma();
  17897. lookahead1W(104); // S^WS | '(#' | '(:' | '{'
  17898. if (l1 != 36) // '(#'
  17899. {
  17900. break;
  17901. }
  17902. }
  17903. shiftT(281); // '{'
  17904. lookahead1W(184); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  17905. if (l1 != 287) // '}'
  17906. {
  17907. try_FTSelection();
  17908. }
  17909. shiftT(287); // '}'
  17910. }
  17911. function parse_FTAnyallOption()
  17912. {
  17913. eventHandler.startNonterminal("FTAnyallOption", e0);
  17914. switch (l1)
  17915. {
  17916. case 77: // 'any'
  17917. shift(77); // 'any'
  17918. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17919. if (l1 == 278) // 'word'
  17920. {
  17921. shift(278); // 'word'
  17922. }
  17923. break;
  17924. case 72: // 'all'
  17925. shift(72); // 'all'
  17926. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17927. if (l1 == 279) // 'words'
  17928. {
  17929. shift(279); // 'words'
  17930. }
  17931. break;
  17932. default:
  17933. shift(214); // 'phrase'
  17934. }
  17935. eventHandler.endNonterminal("FTAnyallOption", e0);
  17936. }
  17937. function try_FTAnyallOption()
  17938. {
  17939. switch (l1)
  17940. {
  17941. case 77: // 'any'
  17942. shiftT(77); // 'any'
  17943. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17944. if (l1 == 278) // 'word'
  17945. {
  17946. shiftT(278); // 'word'
  17947. }
  17948. break;
  17949. case 72: // 'all'
  17950. shiftT(72); // 'all'
  17951. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  17952. if (l1 == 279) // 'words'
  17953. {
  17954. shiftT(279); // 'words'
  17955. }
  17956. break;
  17957. default:
  17958. shiftT(214); // 'phrase'
  17959. }
  17960. }
  17961. function parse_FTTimes()
  17962. {
  17963. eventHandler.startNonterminal("FTTimes", e0);
  17964. shift(199); // 'occurs'
  17965. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  17966. whitespace();
  17967. parse_FTRange();
  17968. shift(252); // 'times'
  17969. eventHandler.endNonterminal("FTTimes", e0);
  17970. }
  17971. function try_FTTimes()
  17972. {
  17973. shiftT(199); // 'occurs'
  17974. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  17975. try_FTRange();
  17976. shiftT(252); // 'times'
  17977. }
  17978. function parse_FTRange()
  17979. {
  17980. eventHandler.startNonterminal("FTRange", e0);
  17981. switch (l1)
  17982. {
  17983. case 131: // 'exactly'
  17984. shift(131); // 'exactly'
  17985. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17986. whitespace();
  17987. parse_AdditiveExpr();
  17988. break;
  17989. case 82: // 'at'
  17990. shift(82); // 'at'
  17991. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  17992. switch (l1)
  17993. {
  17994. case 176: // 'least'
  17995. shift(176); // 'least'
  17996. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  17997. whitespace();
  17998. parse_AdditiveExpr();
  17999. break;
  18000. default:
  18001. shift(186); // 'most'
  18002. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18003. whitespace();
  18004. parse_AdditiveExpr();
  18005. }
  18006. break;
  18007. default:
  18008. shift(142); // 'from'
  18009. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18010. whitespace();
  18011. parse_AdditiveExpr();
  18012. shift(253); // 'to'
  18013. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18014. whitespace();
  18015. parse_AdditiveExpr();
  18016. }
  18017. eventHandler.endNonterminal("FTRange", e0);
  18018. }
  18019. function try_FTRange()
  18020. {
  18021. switch (l1)
  18022. {
  18023. case 131: // 'exactly'
  18024. shiftT(131); // 'exactly'
  18025. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18026. try_AdditiveExpr();
  18027. break;
  18028. case 82: // 'at'
  18029. shiftT(82); // 'at'
  18030. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  18031. switch (l1)
  18032. {
  18033. case 176: // 'least'
  18034. shiftT(176); // 'least'
  18035. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18036. try_AdditiveExpr();
  18037. break;
  18038. default:
  18039. shiftT(186); // 'most'
  18040. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18041. try_AdditiveExpr();
  18042. }
  18043. break;
  18044. default:
  18045. shiftT(142); // 'from'
  18046. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18047. try_AdditiveExpr();
  18048. shiftT(253); // 'to'
  18049. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18050. try_AdditiveExpr();
  18051. }
  18052. }
  18053. function parse_FTPosFilter()
  18054. {
  18055. eventHandler.startNonterminal("FTPosFilter", e0);
  18056. switch (l1)
  18057. {
  18058. case 206: // 'ordered'
  18059. parse_FTOrder();
  18060. break;
  18061. case 275: // 'window'
  18062. parse_FTWindow();
  18063. break;
  18064. case 118: // 'distance'
  18065. parse_FTDistance();
  18066. break;
  18067. case 116: // 'different'
  18068. case 227: // 'same'
  18069. parse_FTScope();
  18070. break;
  18071. default:
  18072. parse_FTContent();
  18073. }
  18074. eventHandler.endNonterminal("FTPosFilter", e0);
  18075. }
  18076. function try_FTPosFilter()
  18077. {
  18078. switch (l1)
  18079. {
  18080. case 206: // 'ordered'
  18081. try_FTOrder();
  18082. break;
  18083. case 275: // 'window'
  18084. try_FTWindow();
  18085. break;
  18086. case 118: // 'distance'
  18087. try_FTDistance();
  18088. break;
  18089. case 116: // 'different'
  18090. case 227: // 'same'
  18091. try_FTScope();
  18092. break;
  18093. default:
  18094. try_FTContent();
  18095. }
  18096. }
  18097. function parse_FTOrder()
  18098. {
  18099. eventHandler.startNonterminal("FTOrder", e0);
  18100. shift(206); // 'ordered'
  18101. eventHandler.endNonterminal("FTOrder", e0);
  18102. }
  18103. function try_FTOrder()
  18104. {
  18105. shiftT(206); // 'ordered'
  18106. }
  18107. function parse_FTWindow()
  18108. {
  18109. eventHandler.startNonterminal("FTWindow", e0);
  18110. shift(275); // 'window'
  18111. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18112. whitespace();
  18113. parse_AdditiveExpr();
  18114. whitespace();
  18115. parse_FTUnit();
  18116. eventHandler.endNonterminal("FTWindow", e0);
  18117. }
  18118. function try_FTWindow()
  18119. {
  18120. shiftT(275); // 'window'
  18121. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18122. try_AdditiveExpr();
  18123. try_FTUnit();
  18124. }
  18125. function parse_FTDistance()
  18126. {
  18127. eventHandler.startNonterminal("FTDistance", e0);
  18128. shift(118); // 'distance'
  18129. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  18130. whitespace();
  18131. parse_FTRange();
  18132. whitespace();
  18133. parse_FTUnit();
  18134. eventHandler.endNonterminal("FTDistance", e0);
  18135. }
  18136. function try_FTDistance()
  18137. {
  18138. shiftT(118); // 'distance'
  18139. lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  18140. try_FTRange();
  18141. try_FTUnit();
  18142. }
  18143. function parse_FTUnit()
  18144. {
  18145. eventHandler.startNonterminal("FTUnit", e0);
  18146. switch (l1)
  18147. {
  18148. case 279: // 'words'
  18149. shift(279); // 'words'
  18150. break;
  18151. case 237: // 'sentences'
  18152. shift(237); // 'sentences'
  18153. break;
  18154. default:
  18155. shift(209); // 'paragraphs'
  18156. }
  18157. eventHandler.endNonterminal("FTUnit", e0);
  18158. }
  18159. function try_FTUnit()
  18160. {
  18161. switch (l1)
  18162. {
  18163. case 279: // 'words'
  18164. shiftT(279); // 'words'
  18165. break;
  18166. case 237: // 'sentences'
  18167. shiftT(237); // 'sentences'
  18168. break;
  18169. default:
  18170. shiftT(209); // 'paragraphs'
  18171. }
  18172. }
  18173. function parse_FTScope()
  18174. {
  18175. eventHandler.startNonterminal("FTScope", e0);
  18176. switch (l1)
  18177. {
  18178. case 227: // 'same'
  18179. shift(227); // 'same'
  18180. break;
  18181. default:
  18182. shift(116); // 'different'
  18183. }
  18184. lookahead1W(136); // S^WS | '(:' | 'paragraph' | 'sentence'
  18185. whitespace();
  18186. parse_FTBigUnit();
  18187. eventHandler.endNonterminal("FTScope", e0);
  18188. }
  18189. function try_FTScope()
  18190. {
  18191. switch (l1)
  18192. {
  18193. case 227: // 'same'
  18194. shiftT(227); // 'same'
  18195. break;
  18196. default:
  18197. shiftT(116); // 'different'
  18198. }
  18199. lookahead1W(136); // S^WS | '(:' | 'paragraph' | 'sentence'
  18200. try_FTBigUnit();
  18201. }
  18202. function parse_FTBigUnit()
  18203. {
  18204. eventHandler.startNonterminal("FTBigUnit", e0);
  18205. switch (l1)
  18206. {
  18207. case 236: // 'sentence'
  18208. shift(236); // 'sentence'
  18209. break;
  18210. default:
  18211. shift(208); // 'paragraph'
  18212. }
  18213. eventHandler.endNonterminal("FTBigUnit", e0);
  18214. }
  18215. function try_FTBigUnit()
  18216. {
  18217. switch (l1)
  18218. {
  18219. case 236: // 'sentence'
  18220. shiftT(236); // 'sentence'
  18221. break;
  18222. default:
  18223. shiftT(208); // 'paragraph'
  18224. }
  18225. }
  18226. function parse_FTContent()
  18227. {
  18228. eventHandler.startNonterminal("FTContent", e0);
  18229. switch (l1)
  18230. {
  18231. case 82: // 'at'
  18232. shift(82); // 'at'
  18233. lookahead1W(121); // S^WS | '(:' | 'end' | 'start'
  18234. switch (l1)
  18235. {
  18236. case 242: // 'start'
  18237. shift(242); // 'start'
  18238. break;
  18239. default:
  18240. shift(127); // 'end'
  18241. }
  18242. break;
  18243. default:
  18244. shift(128); // 'entire'
  18245. lookahead1W(45); // S^WS | '(:' | 'content'
  18246. shift(101); // 'content'
  18247. }
  18248. eventHandler.endNonterminal("FTContent", e0);
  18249. }
  18250. function try_FTContent()
  18251. {
  18252. switch (l1)
  18253. {
  18254. case 82: // 'at'
  18255. shiftT(82); // 'at'
  18256. lookahead1W(121); // S^WS | '(:' | 'end' | 'start'
  18257. switch (l1)
  18258. {
  18259. case 242: // 'start'
  18260. shiftT(242); // 'start'
  18261. break;
  18262. default:
  18263. shiftT(127); // 'end'
  18264. }
  18265. break;
  18266. default:
  18267. shiftT(128); // 'entire'
  18268. lookahead1W(45); // S^WS | '(:' | 'content'
  18269. shiftT(101); // 'content'
  18270. }
  18271. }
  18272. function parse_FTMatchOptions()
  18273. {
  18274. eventHandler.startNonterminal("FTMatchOptions", e0);
  18275. for (;;)
  18276. {
  18277. shift(265); // 'using'
  18278. lookahead1W(204); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  18279. whitespace();
  18280. parse_FTMatchOption();
  18281. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18282. if (l1 != 265) // 'using'
  18283. {
  18284. break;
  18285. }
  18286. }
  18287. eventHandler.endNonterminal("FTMatchOptions", e0);
  18288. }
  18289. function try_FTMatchOptions()
  18290. {
  18291. for (;;)
  18292. {
  18293. shiftT(265); // 'using'
  18294. lookahead1W(204); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  18295. try_FTMatchOption();
  18296. lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18297. if (l1 != 265) // 'using'
  18298. {
  18299. break;
  18300. }
  18301. }
  18302. }
  18303. function parse_FTMatchOption()
  18304. {
  18305. eventHandler.startNonterminal("FTMatchOption", e0);
  18306. switch (l1)
  18307. {
  18308. case 191: // 'no'
  18309. lookahead2W(176); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  18310. break;
  18311. default:
  18312. lk = l1;
  18313. }
  18314. switch (lk)
  18315. {
  18316. case 172: // 'language'
  18317. parse_FTLanguageOption();
  18318. break;
  18319. case 274: // 'wildcards'
  18320. case 140479: // 'no' 'wildcards'
  18321. parse_FTWildCardOption();
  18322. break;
  18323. case 251: // 'thesaurus'
  18324. case 128703: // 'no' 'thesaurus'
  18325. parse_FTThesaurusOption();
  18326. break;
  18327. case 243: // 'stemming'
  18328. case 124607: // 'no' 'stemming'
  18329. parse_FTStemOption();
  18330. break;
  18331. case 115: // 'diacritics'
  18332. parse_FTDiacriticsOption();
  18333. break;
  18334. case 244: // 'stop'
  18335. case 125119: // 'no' 'stop'
  18336. parse_FTStopWordOption();
  18337. break;
  18338. case 203: // 'option'
  18339. parse_FTExtensionOption();
  18340. break;
  18341. default:
  18342. parse_FTCaseOption();
  18343. }
  18344. eventHandler.endNonterminal("FTMatchOption", e0);
  18345. }
  18346. function try_FTMatchOption()
  18347. {
  18348. switch (l1)
  18349. {
  18350. case 191: // 'no'
  18351. lookahead2W(176); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  18352. break;
  18353. default:
  18354. lk = l1;
  18355. }
  18356. switch (lk)
  18357. {
  18358. case 172: // 'language'
  18359. try_FTLanguageOption();
  18360. break;
  18361. case 274: // 'wildcards'
  18362. case 140479: // 'no' 'wildcards'
  18363. try_FTWildCardOption();
  18364. break;
  18365. case 251: // 'thesaurus'
  18366. case 128703: // 'no' 'thesaurus'
  18367. try_FTThesaurusOption();
  18368. break;
  18369. case 243: // 'stemming'
  18370. case 124607: // 'no' 'stemming'
  18371. try_FTStemOption();
  18372. break;
  18373. case 115: // 'diacritics'
  18374. try_FTDiacriticsOption();
  18375. break;
  18376. case 244: // 'stop'
  18377. case 125119: // 'no' 'stop'
  18378. try_FTStopWordOption();
  18379. break;
  18380. case 203: // 'option'
  18381. try_FTExtensionOption();
  18382. break;
  18383. default:
  18384. try_FTCaseOption();
  18385. }
  18386. }
  18387. function parse_FTCaseOption()
  18388. {
  18389. eventHandler.startNonterminal("FTCaseOption", e0);
  18390. switch (l1)
  18391. {
  18392. case 89: // 'case'
  18393. shift(89); // 'case'
  18394. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  18395. switch (l1)
  18396. {
  18397. case 160: // 'insensitive'
  18398. shift(160); // 'insensitive'
  18399. break;
  18400. default:
  18401. shift(235); // 'sensitive'
  18402. }
  18403. break;
  18404. case 180: // 'lowercase'
  18405. shift(180); // 'lowercase'
  18406. break;
  18407. default:
  18408. shift(264); // 'uppercase'
  18409. }
  18410. eventHandler.endNonterminal("FTCaseOption", e0);
  18411. }
  18412. function try_FTCaseOption()
  18413. {
  18414. switch (l1)
  18415. {
  18416. case 89: // 'case'
  18417. shiftT(89); // 'case'
  18418. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  18419. switch (l1)
  18420. {
  18421. case 160: // 'insensitive'
  18422. shiftT(160); // 'insensitive'
  18423. break;
  18424. default:
  18425. shiftT(235); // 'sensitive'
  18426. }
  18427. break;
  18428. case 180: // 'lowercase'
  18429. shiftT(180); // 'lowercase'
  18430. break;
  18431. default:
  18432. shiftT(264); // 'uppercase'
  18433. }
  18434. }
  18435. function parse_FTDiacriticsOption()
  18436. {
  18437. eventHandler.startNonterminal("FTDiacriticsOption", e0);
  18438. shift(115); // 'diacritics'
  18439. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  18440. switch (l1)
  18441. {
  18442. case 160: // 'insensitive'
  18443. shift(160); // 'insensitive'
  18444. break;
  18445. default:
  18446. shift(235); // 'sensitive'
  18447. }
  18448. eventHandler.endNonterminal("FTDiacriticsOption", e0);
  18449. }
  18450. function try_FTDiacriticsOption()
  18451. {
  18452. shiftT(115); // 'diacritics'
  18453. lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
  18454. switch (l1)
  18455. {
  18456. case 160: // 'insensitive'
  18457. shiftT(160); // 'insensitive'
  18458. break;
  18459. default:
  18460. shiftT(235); // 'sensitive'
  18461. }
  18462. }
  18463. function parse_FTStemOption()
  18464. {
  18465. eventHandler.startNonterminal("FTStemOption", e0);
  18466. switch (l1)
  18467. {
  18468. case 243: // 'stemming'
  18469. shift(243); // 'stemming'
  18470. break;
  18471. default:
  18472. shift(191); // 'no'
  18473. lookahead1W(77); // S^WS | '(:' | 'stemming'
  18474. shift(243); // 'stemming'
  18475. }
  18476. eventHandler.endNonterminal("FTStemOption", e0);
  18477. }
  18478. function try_FTStemOption()
  18479. {
  18480. switch (l1)
  18481. {
  18482. case 243: // 'stemming'
  18483. shiftT(243); // 'stemming'
  18484. break;
  18485. default:
  18486. shiftT(191); // 'no'
  18487. lookahead1W(77); // S^WS | '(:' | 'stemming'
  18488. shiftT(243); // 'stemming'
  18489. }
  18490. }
  18491. function parse_FTThesaurusOption()
  18492. {
  18493. eventHandler.startNonterminal("FTThesaurusOption", e0);
  18494. switch (l1)
  18495. {
  18496. case 251: // 'thesaurus'
  18497. shift(251); // 'thesaurus'
  18498. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  18499. switch (l1)
  18500. {
  18501. case 82: // 'at'
  18502. whitespace();
  18503. parse_FTThesaurusID();
  18504. break;
  18505. case 110: // 'default'
  18506. shift(110); // 'default'
  18507. break;
  18508. default:
  18509. shift(35); // '('
  18510. lookahead1W(116); // S^WS | '(:' | 'at' | 'default'
  18511. switch (l1)
  18512. {
  18513. case 82: // 'at'
  18514. whitespace();
  18515. parse_FTThesaurusID();
  18516. break;
  18517. default:
  18518. shift(110); // 'default'
  18519. }
  18520. for (;;)
  18521. {
  18522. lookahead1W(105); // S^WS | '(:' | ')' | ','
  18523. if (l1 != 42) // ','
  18524. {
  18525. break;
  18526. }
  18527. shift(42); // ','
  18528. lookahead1W(34); // S^WS | '(:' | 'at'
  18529. whitespace();
  18530. parse_FTThesaurusID();
  18531. }
  18532. shift(38); // ')'
  18533. }
  18534. break;
  18535. default:
  18536. shift(191); // 'no'
  18537. lookahead1W(81); // S^WS | '(:' | 'thesaurus'
  18538. shift(251); // 'thesaurus'
  18539. }
  18540. eventHandler.endNonterminal("FTThesaurusOption", e0);
  18541. }
  18542. function try_FTThesaurusOption()
  18543. {
  18544. switch (l1)
  18545. {
  18546. case 251: // 'thesaurus'
  18547. shiftT(251); // 'thesaurus'
  18548. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  18549. switch (l1)
  18550. {
  18551. case 82: // 'at'
  18552. try_FTThesaurusID();
  18553. break;
  18554. case 110: // 'default'
  18555. shiftT(110); // 'default'
  18556. break;
  18557. default:
  18558. shiftT(35); // '('
  18559. lookahead1W(116); // S^WS | '(:' | 'at' | 'default'
  18560. switch (l1)
  18561. {
  18562. case 82: // 'at'
  18563. try_FTThesaurusID();
  18564. break;
  18565. default:
  18566. shiftT(110); // 'default'
  18567. }
  18568. for (;;)
  18569. {
  18570. lookahead1W(105); // S^WS | '(:' | ')' | ','
  18571. if (l1 != 42) // ','
  18572. {
  18573. break;
  18574. }
  18575. shiftT(42); // ','
  18576. lookahead1W(34); // S^WS | '(:' | 'at'
  18577. try_FTThesaurusID();
  18578. }
  18579. shiftT(38); // ')'
  18580. }
  18581. break;
  18582. default:
  18583. shiftT(191); // 'no'
  18584. lookahead1W(81); // S^WS | '(:' | 'thesaurus'
  18585. shiftT(251); // 'thesaurus'
  18586. }
  18587. }
  18588. function parse_FTThesaurusID()
  18589. {
  18590. eventHandler.startNonterminal("FTThesaurusID", e0);
  18591. shift(82); // 'at'
  18592. lookahead1W(15); // URILiteral | S^WS | '(:'
  18593. shift(7); // URILiteral
  18594. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18595. if (l1 == 221) // 'relationship'
  18596. {
  18597. shift(221); // 'relationship'
  18598. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18599. shift(11); // StringLiteral
  18600. }
  18601. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18602. switch (l1)
  18603. {
  18604. case 82: // 'at'
  18605. lookahead2W(183); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  18606. break;
  18607. default:
  18608. lk = l1;
  18609. }
  18610. if (lk == 131 // 'exactly'
  18611. || lk == 142 // 'from'
  18612. || lk == 90194 // 'at' 'least'
  18613. || lk == 95314) // 'at' 'most'
  18614. {
  18615. whitespace();
  18616. parse_FTLiteralRange();
  18617. lookahead1W(61); // S^WS | '(:' | 'levels'
  18618. shift(178); // 'levels'
  18619. }
  18620. eventHandler.endNonterminal("FTThesaurusID", e0);
  18621. }
  18622. function try_FTThesaurusID()
  18623. {
  18624. shiftT(82); // 'at'
  18625. lookahead1W(15); // URILiteral | S^WS | '(:'
  18626. shiftT(7); // URILiteral
  18627. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18628. if (l1 == 221) // 'relationship'
  18629. {
  18630. shiftT(221); // 'relationship'
  18631. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18632. shiftT(11); // StringLiteral
  18633. }
  18634. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18635. switch (l1)
  18636. {
  18637. case 82: // 'at'
  18638. lookahead2W(183); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  18639. break;
  18640. default:
  18641. lk = l1;
  18642. }
  18643. if (lk == 131 // 'exactly'
  18644. || lk == 142 // 'from'
  18645. || lk == 90194 // 'at' 'least'
  18646. || lk == 95314) // 'at' 'most'
  18647. {
  18648. try_FTLiteralRange();
  18649. lookahead1W(61); // S^WS | '(:' | 'levels'
  18650. shiftT(178); // 'levels'
  18651. }
  18652. }
  18653. function parse_FTLiteralRange()
  18654. {
  18655. eventHandler.startNonterminal("FTLiteralRange", e0);
  18656. switch (l1)
  18657. {
  18658. case 131: // 'exactly'
  18659. shift(131); // 'exactly'
  18660. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18661. shift(8); // IntegerLiteral
  18662. break;
  18663. case 82: // 'at'
  18664. shift(82); // 'at'
  18665. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  18666. switch (l1)
  18667. {
  18668. case 176: // 'least'
  18669. shift(176); // 'least'
  18670. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18671. shift(8); // IntegerLiteral
  18672. break;
  18673. default:
  18674. shift(186); // 'most'
  18675. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18676. shift(8); // IntegerLiteral
  18677. }
  18678. break;
  18679. default:
  18680. shift(142); // 'from'
  18681. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18682. shift(8); // IntegerLiteral
  18683. lookahead1W(82); // S^WS | '(:' | 'to'
  18684. shift(253); // 'to'
  18685. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18686. shift(8); // IntegerLiteral
  18687. }
  18688. eventHandler.endNonterminal("FTLiteralRange", e0);
  18689. }
  18690. function try_FTLiteralRange()
  18691. {
  18692. switch (l1)
  18693. {
  18694. case 131: // 'exactly'
  18695. shiftT(131); // 'exactly'
  18696. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18697. shiftT(8); // IntegerLiteral
  18698. break;
  18699. case 82: // 'at'
  18700. shiftT(82); // 'at'
  18701. lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
  18702. switch (l1)
  18703. {
  18704. case 176: // 'least'
  18705. shiftT(176); // 'least'
  18706. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18707. shiftT(8); // IntegerLiteral
  18708. break;
  18709. default:
  18710. shiftT(186); // 'most'
  18711. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18712. shiftT(8); // IntegerLiteral
  18713. }
  18714. break;
  18715. default:
  18716. shiftT(142); // 'from'
  18717. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18718. shiftT(8); // IntegerLiteral
  18719. lookahead1W(82); // S^WS | '(:' | 'to'
  18720. shiftT(253); // 'to'
  18721. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  18722. shiftT(8); // IntegerLiteral
  18723. }
  18724. }
  18725. function parse_FTStopWordOption()
  18726. {
  18727. eventHandler.startNonterminal("FTStopWordOption", e0);
  18728. switch (l1)
  18729. {
  18730. case 244: // 'stop'
  18731. shift(244); // 'stop'
  18732. lookahead1W(89); // S^WS | '(:' | 'words'
  18733. shift(279); // 'words'
  18734. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  18735. switch (l1)
  18736. {
  18737. case 110: // 'default'
  18738. shift(110); // 'default'
  18739. for (;;)
  18740. {
  18741. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18742. if (l1 != 132 // 'except'
  18743. && l1 != 260) // 'union'
  18744. {
  18745. break;
  18746. }
  18747. whitespace();
  18748. parse_FTStopWordsInclExcl();
  18749. }
  18750. break;
  18751. default:
  18752. whitespace();
  18753. parse_FTStopWords();
  18754. for (;;)
  18755. {
  18756. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18757. if (l1 != 132 // 'except'
  18758. && l1 != 260) // 'union'
  18759. {
  18760. break;
  18761. }
  18762. whitespace();
  18763. parse_FTStopWordsInclExcl();
  18764. }
  18765. }
  18766. break;
  18767. default:
  18768. shift(191); // 'no'
  18769. lookahead1W(78); // S^WS | '(:' | 'stop'
  18770. shift(244); // 'stop'
  18771. lookahead1W(89); // S^WS | '(:' | 'words'
  18772. shift(279); // 'words'
  18773. }
  18774. eventHandler.endNonterminal("FTStopWordOption", e0);
  18775. }
  18776. function try_FTStopWordOption()
  18777. {
  18778. switch (l1)
  18779. {
  18780. case 244: // 'stop'
  18781. shiftT(244); // 'stop'
  18782. lookahead1W(89); // S^WS | '(:' | 'words'
  18783. shiftT(279); // 'words'
  18784. lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
  18785. switch (l1)
  18786. {
  18787. case 110: // 'default'
  18788. shiftT(110); // 'default'
  18789. for (;;)
  18790. {
  18791. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18792. if (l1 != 132 // 'except'
  18793. && l1 != 260) // 'union'
  18794. {
  18795. break;
  18796. }
  18797. try_FTStopWordsInclExcl();
  18798. }
  18799. break;
  18800. default:
  18801. try_FTStopWords();
  18802. for (;;)
  18803. {
  18804. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  18805. if (l1 != 132 // 'except'
  18806. && l1 != 260) // 'union'
  18807. {
  18808. break;
  18809. }
  18810. try_FTStopWordsInclExcl();
  18811. }
  18812. }
  18813. break;
  18814. default:
  18815. shiftT(191); // 'no'
  18816. lookahead1W(78); // S^WS | '(:' | 'stop'
  18817. shiftT(244); // 'stop'
  18818. lookahead1W(89); // S^WS | '(:' | 'words'
  18819. shiftT(279); // 'words'
  18820. }
  18821. }
  18822. function parse_FTStopWords()
  18823. {
  18824. eventHandler.startNonterminal("FTStopWords", e0);
  18825. switch (l1)
  18826. {
  18827. case 82: // 'at'
  18828. shift(82); // 'at'
  18829. lookahead1W(15); // URILiteral | S^WS | '(:'
  18830. shift(7); // URILiteral
  18831. break;
  18832. default:
  18833. shift(35); // '('
  18834. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18835. shift(11); // StringLiteral
  18836. for (;;)
  18837. {
  18838. lookahead1W(105); // S^WS | '(:' | ')' | ','
  18839. if (l1 != 42) // ','
  18840. {
  18841. break;
  18842. }
  18843. shift(42); // ','
  18844. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18845. shift(11); // StringLiteral
  18846. }
  18847. shift(38); // ')'
  18848. }
  18849. eventHandler.endNonterminal("FTStopWords", e0);
  18850. }
  18851. function try_FTStopWords()
  18852. {
  18853. switch (l1)
  18854. {
  18855. case 82: // 'at'
  18856. shiftT(82); // 'at'
  18857. lookahead1W(15); // URILiteral | S^WS | '(:'
  18858. shiftT(7); // URILiteral
  18859. break;
  18860. default:
  18861. shiftT(35); // '('
  18862. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18863. shiftT(11); // StringLiteral
  18864. for (;;)
  18865. {
  18866. lookahead1W(105); // S^WS | '(:' | ')' | ','
  18867. if (l1 != 42) // ','
  18868. {
  18869. break;
  18870. }
  18871. shiftT(42); // ','
  18872. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18873. shiftT(11); // StringLiteral
  18874. }
  18875. shiftT(38); // ')'
  18876. }
  18877. }
  18878. function parse_FTStopWordsInclExcl()
  18879. {
  18880. eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
  18881. switch (l1)
  18882. {
  18883. case 260: // 'union'
  18884. shift(260); // 'union'
  18885. break;
  18886. default:
  18887. shift(132); // 'except'
  18888. }
  18889. lookahead1W(103); // S^WS | '(' | '(:' | 'at'
  18890. whitespace();
  18891. parse_FTStopWords();
  18892. eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
  18893. }
  18894. function try_FTStopWordsInclExcl()
  18895. {
  18896. switch (l1)
  18897. {
  18898. case 260: // 'union'
  18899. shiftT(260); // 'union'
  18900. break;
  18901. default:
  18902. shiftT(132); // 'except'
  18903. }
  18904. lookahead1W(103); // S^WS | '(' | '(:' | 'at'
  18905. try_FTStopWords();
  18906. }
  18907. function parse_FTLanguageOption()
  18908. {
  18909. eventHandler.startNonterminal("FTLanguageOption", e0);
  18910. shift(172); // 'language'
  18911. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18912. shift(11); // StringLiteral
  18913. eventHandler.endNonterminal("FTLanguageOption", e0);
  18914. }
  18915. function try_FTLanguageOption()
  18916. {
  18917. shiftT(172); // 'language'
  18918. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18919. shiftT(11); // StringLiteral
  18920. }
  18921. function parse_FTWildCardOption()
  18922. {
  18923. eventHandler.startNonterminal("FTWildCardOption", e0);
  18924. switch (l1)
  18925. {
  18926. case 274: // 'wildcards'
  18927. shift(274); // 'wildcards'
  18928. break;
  18929. default:
  18930. shift(191); // 'no'
  18931. lookahead1W(87); // S^WS | '(:' | 'wildcards'
  18932. shift(274); // 'wildcards'
  18933. }
  18934. eventHandler.endNonterminal("FTWildCardOption", e0);
  18935. }
  18936. function try_FTWildCardOption()
  18937. {
  18938. switch (l1)
  18939. {
  18940. case 274: // 'wildcards'
  18941. shiftT(274); // 'wildcards'
  18942. break;
  18943. default:
  18944. shiftT(191); // 'no'
  18945. lookahead1W(87); // S^WS | '(:' | 'wildcards'
  18946. shiftT(274); // 'wildcards'
  18947. }
  18948. }
  18949. function parse_FTExtensionOption()
  18950. {
  18951. eventHandler.startNonterminal("FTExtensionOption", e0);
  18952. shift(203); // 'option'
  18953. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18954. whitespace();
  18955. parse_EQName();
  18956. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18957. shift(11); // StringLiteral
  18958. eventHandler.endNonterminal("FTExtensionOption", e0);
  18959. }
  18960. function try_FTExtensionOption()
  18961. {
  18962. shiftT(203); // 'option'
  18963. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18964. try_EQName();
  18965. lookahead1W(17); // StringLiteral | S^WS | '(:'
  18966. shiftT(11); // StringLiteral
  18967. }
  18968. function parse_FTIgnoreOption()
  18969. {
  18970. eventHandler.startNonterminal("FTIgnoreOption", e0);
  18971. shift(277); // 'without'
  18972. lookahead1W(45); // S^WS | '(:' | 'content'
  18973. shift(101); // 'content'
  18974. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18975. whitespace();
  18976. parse_UnionExpr();
  18977. eventHandler.endNonterminal("FTIgnoreOption", e0);
  18978. }
  18979. function try_FTIgnoreOption()
  18980. {
  18981. shiftT(277); // 'without'
  18982. lookahead1W(45); // S^WS | '(:' | 'content'
  18983. shiftT(101); // 'content'
  18984. lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  18985. try_UnionExpr();
  18986. }
  18987. function parse_CollectionDecl()
  18988. {
  18989. eventHandler.startNonterminal("CollectionDecl", e0);
  18990. shift(96); // 'collection'
  18991. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  18992. whitespace();
  18993. parse_EQName();
  18994. lookahead1W(111); // S^WS | '(:' | ';' | 'as'
  18995. if (l1 == 80) // 'as'
  18996. {
  18997. whitespace();
  18998. parse_CollectionTypeDecl();
  18999. }
  19000. eventHandler.endNonterminal("CollectionDecl", e0);
  19001. }
  19002. function parse_CollectionTypeDecl()
  19003. {
  19004. eventHandler.startNonterminal("CollectionTypeDecl", e0);
  19005. shift(80); // 'as'
  19006. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  19007. whitespace();
  19008. parse_ItemType();
  19009. lookahead1W(171); // S^WS | '(:' | '*' | '+' | ';' | '?'
  19010. if (l1 != 54) // ';'
  19011. {
  19012. whitespace();
  19013. parse_OccurrenceIndicator();
  19014. }
  19015. eventHandler.endNonterminal("CollectionTypeDecl", e0);
  19016. }
  19017. function parse_IndexName()
  19018. {
  19019. eventHandler.startNonterminal("IndexName", e0);
  19020. parse_EQName();
  19021. eventHandler.endNonterminal("IndexName", e0);
  19022. }
  19023. function parse_IndexDomainExpr()
  19024. {
  19025. eventHandler.startNonterminal("IndexDomainExpr", e0);
  19026. parse_PathExpr();
  19027. eventHandler.endNonterminal("IndexDomainExpr", e0);
  19028. }
  19029. function parse_IndexKeySpec()
  19030. {
  19031. eventHandler.startNonterminal("IndexKeySpec", e0);
  19032. parse_IndexKeyExpr();
  19033. if (l1 == 80) // 'as'
  19034. {
  19035. whitespace();
  19036. parse_IndexKeyTypeDecl();
  19037. }
  19038. lookahead1W(156); // S^WS | '(:' | ',' | ';' | 'collation'
  19039. if (l1 == 95) // 'collation'
  19040. {
  19041. whitespace();
  19042. parse_IndexKeyCollation();
  19043. }
  19044. eventHandler.endNonterminal("IndexKeySpec", e0);
  19045. }
  19046. function parse_IndexKeyExpr()
  19047. {
  19048. eventHandler.startNonterminal("IndexKeyExpr", e0);
  19049. parse_PathExpr();
  19050. eventHandler.endNonterminal("IndexKeyExpr", e0);
  19051. }
  19052. function parse_IndexKeyTypeDecl()
  19053. {
  19054. eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
  19055. shift(80); // 'as'
  19056. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19057. whitespace();
  19058. parse_AtomicType();
  19059. lookahead1W(189); // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
  19060. if (l1 == 40 // '*'
  19061. || l1 == 41 // '+'
  19062. || l1 == 65) // '?'
  19063. {
  19064. whitespace();
  19065. parse_OccurrenceIndicator();
  19066. }
  19067. eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
  19068. }
  19069. function parse_AtomicType()
  19070. {
  19071. eventHandler.startNonterminal("AtomicType", e0);
  19072. parse_EQName();
  19073. eventHandler.endNonterminal("AtomicType", e0);
  19074. }
  19075. function parse_IndexKeyCollation()
  19076. {
  19077. eventHandler.startNonterminal("IndexKeyCollation", e0);
  19078. shift(95); // 'collation'
  19079. lookahead1W(15); // URILiteral | S^WS | '(:'
  19080. shift(7); // URILiteral
  19081. eventHandler.endNonterminal("IndexKeyCollation", e0);
  19082. }
  19083. function parse_IndexDecl()
  19084. {
  19085. eventHandler.startNonterminal("IndexDecl", e0);
  19086. shift(157); // 'index'
  19087. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19088. whitespace();
  19089. parse_IndexName();
  19090. lookahead1W(68); // S^WS | '(:' | 'on'
  19091. shift(201); // 'on'
  19092. lookahead1W(66); // S^WS | '(:' | 'nodes'
  19093. shift(195); // 'nodes'
  19094. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19095. whitespace();
  19096. parse_IndexDomainExpr();
  19097. shift(88); // 'by'
  19098. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19099. whitespace();
  19100. parse_IndexKeySpec();
  19101. for (;;)
  19102. {
  19103. lookahead1W(107); // S^WS | '(:' | ',' | ';'
  19104. if (l1 != 42) // ','
  19105. {
  19106. break;
  19107. }
  19108. shift(42); // ','
  19109. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19110. whitespace();
  19111. parse_IndexKeySpec();
  19112. }
  19113. eventHandler.endNonterminal("IndexDecl", e0);
  19114. }
  19115. function parse_ICDecl()
  19116. {
  19117. eventHandler.startNonterminal("ICDecl", e0);
  19118. shift(163); // 'integrity'
  19119. lookahead1W(43); // S^WS | '(:' | 'constraint'
  19120. shift(98); // 'constraint'
  19121. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19122. whitespace();
  19123. parse_EQName();
  19124. lookahead1W(124); // S^WS | '(:' | 'foreign' | 'on'
  19125. switch (l1)
  19126. {
  19127. case 201: // 'on'
  19128. whitespace();
  19129. parse_ICCollection();
  19130. break;
  19131. default:
  19132. whitespace();
  19133. parse_ICForeignKey();
  19134. }
  19135. eventHandler.endNonterminal("ICDecl", e0);
  19136. }
  19137. function parse_ICCollection()
  19138. {
  19139. eventHandler.startNonterminal("ICCollection", e0);
  19140. shift(201); // 'on'
  19141. lookahead1W(42); // S^WS | '(:' | 'collection'
  19142. shift(96); // 'collection'
  19143. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19144. whitespace();
  19145. parse_EQName();
  19146. lookahead1W(150); // S^WS | '$' | '(:' | 'foreach' | 'node'
  19147. switch (l1)
  19148. {
  19149. case 31: // '$'
  19150. whitespace();
  19151. parse_ICCollSequence();
  19152. break;
  19153. case 194: // 'node'
  19154. whitespace();
  19155. parse_ICCollSequenceUnique();
  19156. break;
  19157. default:
  19158. whitespace();
  19159. parse_ICCollNode();
  19160. }
  19161. eventHandler.endNonterminal("ICCollection", e0);
  19162. }
  19163. function parse_ICCollSequence()
  19164. {
  19165. eventHandler.startNonterminal("ICCollSequence", e0);
  19166. parse_VarRef();
  19167. lookahead1W(40); // S^WS | '(:' | 'check'
  19168. shift(93); // 'check'
  19169. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19170. whitespace();
  19171. parse_ExprSingle();
  19172. eventHandler.endNonterminal("ICCollSequence", e0);
  19173. }
  19174. function parse_ICCollSequenceUnique()
  19175. {
  19176. eventHandler.startNonterminal("ICCollSequenceUnique", e0);
  19177. shift(194); // 'node'
  19178. lookahead1W(21); // S^WS | '$' | '(:'
  19179. whitespace();
  19180. parse_VarRef();
  19181. lookahead1W(40); // S^WS | '(:' | 'check'
  19182. shift(93); // 'check'
  19183. lookahead1W(83); // S^WS | '(:' | 'unique'
  19184. shift(261); // 'unique'
  19185. lookahead1W(60); // S^WS | '(:' | 'key'
  19186. shift(171); // 'key'
  19187. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19188. whitespace();
  19189. parse_PathExpr();
  19190. eventHandler.endNonterminal("ICCollSequenceUnique", e0);
  19191. }
  19192. function parse_ICCollNode()
  19193. {
  19194. eventHandler.startNonterminal("ICCollNode", e0);
  19195. shift(140); // 'foreach'
  19196. lookahead1W(65); // S^WS | '(:' | 'node'
  19197. shift(194); // 'node'
  19198. lookahead1W(21); // S^WS | '$' | '(:'
  19199. whitespace();
  19200. parse_VarRef();
  19201. lookahead1W(40); // S^WS | '(:' | 'check'
  19202. shift(93); // 'check'
  19203. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19204. whitespace();
  19205. parse_ExprSingle();
  19206. eventHandler.endNonterminal("ICCollNode", e0);
  19207. }
  19208. function parse_ICForeignKey()
  19209. {
  19210. eventHandler.startNonterminal("ICForeignKey", e0);
  19211. shift(141); // 'foreign'
  19212. lookahead1W(60); // S^WS | '(:' | 'key'
  19213. shift(171); // 'key'
  19214. lookahead1W(54); // S^WS | '(:' | 'from'
  19215. whitespace();
  19216. parse_ICForeignKeySource();
  19217. whitespace();
  19218. parse_ICForeignKeyTarget();
  19219. eventHandler.endNonterminal("ICForeignKey", e0);
  19220. }
  19221. function parse_ICForeignKeySource()
  19222. {
  19223. eventHandler.startNonterminal("ICForeignKeySource", e0);
  19224. shift(142); // 'from'
  19225. lookahead1W(42); // S^WS | '(:' | 'collection'
  19226. whitespace();
  19227. parse_ICForeignKeyValues();
  19228. eventHandler.endNonterminal("ICForeignKeySource", e0);
  19229. }
  19230. function parse_ICForeignKeyTarget()
  19231. {
  19232. eventHandler.startNonterminal("ICForeignKeyTarget", e0);
  19233. shift(253); // 'to'
  19234. lookahead1W(42); // S^WS | '(:' | 'collection'
  19235. whitespace();
  19236. parse_ICForeignKeyValues();
  19237. eventHandler.endNonterminal("ICForeignKeyTarget", e0);
  19238. }
  19239. function parse_ICForeignKeyValues()
  19240. {
  19241. eventHandler.startNonterminal("ICForeignKeyValues", e0);
  19242. shift(96); // 'collection'
  19243. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  19244. whitespace();
  19245. parse_EQName();
  19246. lookahead1W(65); // S^WS | '(:' | 'node'
  19247. shift(194); // 'node'
  19248. lookahead1W(21); // S^WS | '$' | '(:'
  19249. whitespace();
  19250. parse_VarRef();
  19251. lookahead1W(60); // S^WS | '(:' | 'key'
  19252. shift(171); // 'key'
  19253. lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  19254. whitespace();
  19255. parse_PathExpr();
  19256. eventHandler.endNonterminal("ICForeignKeyValues", e0);
  19257. }
  19258. function try_Comment()
  19259. {
  19260. shiftT(37); // '(:'
  19261. for (;;)
  19262. {
  19263. lookahead1(92); // CommentContents | '(:' | ':)'
  19264. if (l1 == 51) // ':)'
  19265. {
  19266. break;
  19267. }
  19268. switch (l1)
  19269. {
  19270. case 24: // CommentContents
  19271. shiftT(24); // CommentContents
  19272. break;
  19273. default:
  19274. try_Comment();
  19275. }
  19276. }
  19277. shiftT(51); // ':)'
  19278. }
  19279. function try_Whitespace()
  19280. {
  19281. switch (l1)
  19282. {
  19283. case 22: // S^WS
  19284. shiftT(22); // S^WS
  19285. break;
  19286. default:
  19287. try_Comment();
  19288. }
  19289. }
  19290. function parse_EQName()
  19291. {
  19292. eventHandler.startNonterminal("EQName", e0);
  19293. lookahead1(240); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  19294. switch (l1)
  19295. {
  19296. case 83: // 'attribute'
  19297. shift(83); // 'attribute'
  19298. break;
  19299. case 97: // 'comment'
  19300. shift(97); // 'comment'
  19301. break;
  19302. case 121: // 'document-node'
  19303. shift(121); // 'document-node'
  19304. break;
  19305. case 122: // 'element'
  19306. shift(122); // 'element'
  19307. break;
  19308. case 125: // 'empty-sequence'
  19309. shift(125); // 'empty-sequence'
  19310. break;
  19311. case 147: // 'function'
  19312. shift(147); // 'function'
  19313. break;
  19314. case 154: // 'if'
  19315. shift(154); // 'if'
  19316. break;
  19317. case 167: // 'item'
  19318. shift(167); // 'item'
  19319. break;
  19320. case 188: // 'namespace-node'
  19321. shift(188); // 'namespace-node'
  19322. break;
  19323. case 194: // 'node'
  19324. shift(194); // 'node'
  19325. break;
  19326. case 220: // 'processing-instruction'
  19327. shift(220); // 'processing-instruction'
  19328. break;
  19329. case 230: // 'schema-attribute'
  19330. shift(230); // 'schema-attribute'
  19331. break;
  19332. case 231: // 'schema-element'
  19333. shift(231); // 'schema-element'
  19334. break;
  19335. case 248: // 'switch'
  19336. shift(248); // 'switch'
  19337. break;
  19338. case 249: // 'text'
  19339. shift(249); // 'text'
  19340. break;
  19341. case 259: // 'typeswitch'
  19342. shift(259); // 'typeswitch'
  19343. break;
  19344. case 79: // 'array'
  19345. shift(79); // 'array'
  19346. break;
  19347. case 169: // 'json-item'
  19348. shift(169); // 'json-item'
  19349. break;
  19350. case 247: // 'structured-item'
  19351. shift(247); // 'structured-item'
  19352. break;
  19353. default:
  19354. parse_FunctionName();
  19355. }
  19356. eventHandler.endNonterminal("EQName", e0);
  19357. }
  19358. function try_EQName()
  19359. {
  19360. lookahead1(240); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  19361. switch (l1)
  19362. {
  19363. case 83: // 'attribute'
  19364. shiftT(83); // 'attribute'
  19365. break;
  19366. case 97: // 'comment'
  19367. shiftT(97); // 'comment'
  19368. break;
  19369. case 121: // 'document-node'
  19370. shiftT(121); // 'document-node'
  19371. break;
  19372. case 122: // 'element'
  19373. shiftT(122); // 'element'
  19374. break;
  19375. case 125: // 'empty-sequence'
  19376. shiftT(125); // 'empty-sequence'
  19377. break;
  19378. case 147: // 'function'
  19379. shiftT(147); // 'function'
  19380. break;
  19381. case 154: // 'if'
  19382. shiftT(154); // 'if'
  19383. break;
  19384. case 167: // 'item'
  19385. shiftT(167); // 'item'
  19386. break;
  19387. case 188: // 'namespace-node'
  19388. shiftT(188); // 'namespace-node'
  19389. break;
  19390. case 194: // 'node'
  19391. shiftT(194); // 'node'
  19392. break;
  19393. case 220: // 'processing-instruction'
  19394. shiftT(220); // 'processing-instruction'
  19395. break;
  19396. case 230: // 'schema-attribute'
  19397. shiftT(230); // 'schema-attribute'
  19398. break;
  19399. case 231: // 'schema-element'
  19400. shiftT(231); // 'schema-element'
  19401. break;
  19402. case 248: // 'switch'
  19403. shiftT(248); // 'switch'
  19404. break;
  19405. case 249: // 'text'
  19406. shiftT(249); // 'text'
  19407. break;
  19408. case 259: // 'typeswitch'
  19409. shiftT(259); // 'typeswitch'
  19410. break;
  19411. case 79: // 'array'
  19412. shiftT(79); // 'array'
  19413. break;
  19414. case 169: // 'json-item'
  19415. shiftT(169); // 'json-item'
  19416. break;
  19417. case 247: // 'structured-item'
  19418. shiftT(247); // 'structured-item'
  19419. break;
  19420. default:
  19421. try_FunctionName();
  19422. }
  19423. }
  19424. function parse_FunctionName()
  19425. {
  19426. eventHandler.startNonterminal("FunctionName", e0);
  19427. switch (l1)
  19428. {
  19429. case 6: // EQName^Token
  19430. shift(6); // EQName^Token
  19431. break;
  19432. case 71: // 'after'
  19433. shift(71); // 'after'
  19434. break;
  19435. case 74: // 'ancestor'
  19436. shift(74); // 'ancestor'
  19437. break;
  19438. case 75: // 'ancestor-or-self'
  19439. shift(75); // 'ancestor-or-self'
  19440. break;
  19441. case 76: // 'and'
  19442. shift(76); // 'and'
  19443. break;
  19444. case 80: // 'as'
  19445. shift(80); // 'as'
  19446. break;
  19447. case 81: // 'ascending'
  19448. shift(81); // 'ascending'
  19449. break;
  19450. case 85: // 'before'
  19451. shift(85); // 'before'
  19452. break;
  19453. case 89: // 'case'
  19454. shift(89); // 'case'
  19455. break;
  19456. case 90: // 'cast'
  19457. shift(90); // 'cast'
  19458. break;
  19459. case 91: // 'castable'
  19460. shift(91); // 'castable'
  19461. break;
  19462. case 94: // 'child'
  19463. shift(94); // 'child'
  19464. break;
  19465. case 95: // 'collation'
  19466. shift(95); // 'collation'
  19467. break;
  19468. case 104: // 'copy'
  19469. shift(104); // 'copy'
  19470. break;
  19471. case 106: // 'count'
  19472. shift(106); // 'count'
  19473. break;
  19474. case 109: // 'declare'
  19475. shift(109); // 'declare'
  19476. break;
  19477. case 110: // 'default'
  19478. shift(110); // 'default'
  19479. break;
  19480. case 111: // 'delete'
  19481. shift(111); // 'delete'
  19482. break;
  19483. case 112: // 'descendant'
  19484. shift(112); // 'descendant'
  19485. break;
  19486. case 113: // 'descendant-or-self'
  19487. shift(113); // 'descendant-or-self'
  19488. break;
  19489. case 114: // 'descending'
  19490. shift(114); // 'descending'
  19491. break;
  19492. case 119: // 'div'
  19493. shift(119); // 'div'
  19494. break;
  19495. case 120: // 'document'
  19496. shift(120); // 'document'
  19497. break;
  19498. case 123: // 'else'
  19499. shift(123); // 'else'
  19500. break;
  19501. case 124: // 'empty'
  19502. shift(124); // 'empty'
  19503. break;
  19504. case 127: // 'end'
  19505. shift(127); // 'end'
  19506. break;
  19507. case 129: // 'eq'
  19508. shift(129); // 'eq'
  19509. break;
  19510. case 130: // 'every'
  19511. shift(130); // 'every'
  19512. break;
  19513. case 132: // 'except'
  19514. shift(132); // 'except'
  19515. break;
  19516. case 136: // 'first'
  19517. shift(136); // 'first'
  19518. break;
  19519. case 137: // 'following'
  19520. shift(137); // 'following'
  19521. break;
  19522. case 138: // 'following-sibling'
  19523. shift(138); // 'following-sibling'
  19524. break;
  19525. case 139: // 'for'
  19526. shift(139); // 'for'
  19527. break;
  19528. case 148: // 'ge'
  19529. shift(148); // 'ge'
  19530. break;
  19531. case 150: // 'group'
  19532. shift(150); // 'group'
  19533. break;
  19534. case 152: // 'gt'
  19535. shift(152); // 'gt'
  19536. break;
  19537. case 153: // 'idiv'
  19538. shift(153); // 'idiv'
  19539. break;
  19540. case 155: // 'import'
  19541. shift(155); // 'import'
  19542. break;
  19543. case 161: // 'insert'
  19544. shift(161); // 'insert'
  19545. break;
  19546. case 162: // 'instance'
  19547. shift(162); // 'instance'
  19548. break;
  19549. case 164: // 'intersect'
  19550. shift(164); // 'intersect'
  19551. break;
  19552. case 165: // 'into'
  19553. shift(165); // 'into'
  19554. break;
  19555. case 166: // 'is'
  19556. shift(166); // 'is'
  19557. break;
  19558. case 173: // 'last'
  19559. shift(173); // 'last'
  19560. break;
  19561. case 175: // 'le'
  19562. shift(175); // 'le'
  19563. break;
  19564. case 177: // 'let'
  19565. shift(177); // 'let'
  19566. break;
  19567. case 181: // 'lt'
  19568. shift(181); // 'lt'
  19569. break;
  19570. case 183: // 'mod'
  19571. shift(183); // 'mod'
  19572. break;
  19573. case 184: // 'modify'
  19574. shift(184); // 'modify'
  19575. break;
  19576. case 185: // 'module'
  19577. shift(185); // 'module'
  19578. break;
  19579. case 187: // 'namespace'
  19580. shift(187); // 'namespace'
  19581. break;
  19582. case 189: // 'ne'
  19583. shift(189); // 'ne'
  19584. break;
  19585. case 202: // 'only'
  19586. shift(202); // 'only'
  19587. break;
  19588. case 204: // 'or'
  19589. shift(204); // 'or'
  19590. break;
  19591. case 205: // 'order'
  19592. shift(205); // 'order'
  19593. break;
  19594. case 206: // 'ordered'
  19595. shift(206); // 'ordered'
  19596. break;
  19597. case 210: // 'parent'
  19598. shift(210); // 'parent'
  19599. break;
  19600. case 216: // 'preceding'
  19601. shift(216); // 'preceding'
  19602. break;
  19603. case 217: // 'preceding-sibling'
  19604. shift(217); // 'preceding-sibling'
  19605. break;
  19606. case 222: // 'rename'
  19607. shift(222); // 'rename'
  19608. break;
  19609. case 223: // 'replace'
  19610. shift(223); // 'replace'
  19611. break;
  19612. case 224: // 'return'
  19613. shift(224); // 'return'
  19614. break;
  19615. case 228: // 'satisfies'
  19616. shift(228); // 'satisfies'
  19617. break;
  19618. case 234: // 'self'
  19619. shift(234); // 'self'
  19620. break;
  19621. case 240: // 'some'
  19622. shift(240); // 'some'
  19623. break;
  19624. case 241: // 'stable'
  19625. shift(241); // 'stable'
  19626. break;
  19627. case 242: // 'start'
  19628. shift(242); // 'start'
  19629. break;
  19630. case 253: // 'to'
  19631. shift(253); // 'to'
  19632. break;
  19633. case 254: // 'treat'
  19634. shift(254); // 'treat'
  19635. break;
  19636. case 256: // 'try'
  19637. shift(256); // 'try'
  19638. break;
  19639. case 260: // 'union'
  19640. shift(260); // 'union'
  19641. break;
  19642. case 262: // 'unordered'
  19643. shift(262); // 'unordered'
  19644. break;
  19645. case 266: // 'validate'
  19646. shift(266); // 'validate'
  19647. break;
  19648. case 272: // 'where'
  19649. shift(272); // 'where'
  19650. break;
  19651. case 276: // 'with'
  19652. shift(276); // 'with'
  19653. break;
  19654. case 170: // 'jsoniq'
  19655. shift(170); // 'jsoniq'
  19656. break;
  19657. case 73: // 'allowing'
  19658. shift(73); // 'allowing'
  19659. break;
  19660. case 82: // 'at'
  19661. shift(82); // 'at'
  19662. break;
  19663. case 84: // 'base-uri'
  19664. shift(84); // 'base-uri'
  19665. break;
  19666. case 86: // 'boundary-space'
  19667. shift(86); // 'boundary-space'
  19668. break;
  19669. case 87: // 'break'
  19670. shift(87); // 'break'
  19671. break;
  19672. case 92: // 'catch'
  19673. shift(92); // 'catch'
  19674. break;
  19675. case 99: // 'construction'
  19676. shift(99); // 'construction'
  19677. break;
  19678. case 102: // 'context'
  19679. shift(102); // 'context'
  19680. break;
  19681. case 103: // 'continue'
  19682. shift(103); // 'continue'
  19683. break;
  19684. case 105: // 'copy-namespaces'
  19685. shift(105); // 'copy-namespaces'
  19686. break;
  19687. case 107: // 'decimal-format'
  19688. shift(107); // 'decimal-format'
  19689. break;
  19690. case 126: // 'encoding'
  19691. shift(126); // 'encoding'
  19692. break;
  19693. case 133: // 'exit'
  19694. shift(133); // 'exit'
  19695. break;
  19696. case 134: // 'external'
  19697. shift(134); // 'external'
  19698. break;
  19699. case 143: // 'ft-option'
  19700. shift(143); // 'ft-option'
  19701. break;
  19702. case 156: // 'in'
  19703. shift(156); // 'in'
  19704. break;
  19705. case 157: // 'index'
  19706. shift(157); // 'index'
  19707. break;
  19708. case 163: // 'integrity'
  19709. shift(163); // 'integrity'
  19710. break;
  19711. case 174: // 'lax'
  19712. shift(174); // 'lax'
  19713. break;
  19714. case 195: // 'nodes'
  19715. shift(195); // 'nodes'
  19716. break;
  19717. case 203: // 'option'
  19718. shift(203); // 'option'
  19719. break;
  19720. case 207: // 'ordering'
  19721. shift(207); // 'ordering'
  19722. break;
  19723. case 226: // 'revalidation'
  19724. shift(226); // 'revalidation'
  19725. break;
  19726. case 229: // 'schema'
  19727. shift(229); // 'schema'
  19728. break;
  19729. case 232: // 'score'
  19730. shift(232); // 'score'
  19731. break;
  19732. case 239: // 'sliding'
  19733. shift(239); // 'sliding'
  19734. break;
  19735. case 245: // 'strict'
  19736. shift(245); // 'strict'
  19737. break;
  19738. case 257: // 'tumbling'
  19739. shift(257); // 'tumbling'
  19740. break;
  19741. case 258: // 'type'
  19742. shift(258); // 'type'
  19743. break;
  19744. case 263: // 'updating'
  19745. shift(263); // 'updating'
  19746. break;
  19747. case 267: // 'value'
  19748. shift(267); // 'value'
  19749. break;
  19750. case 268: // 'variable'
  19751. shift(268); // 'variable'
  19752. break;
  19753. case 269: // 'version'
  19754. shift(269); // 'version'
  19755. break;
  19756. case 273: // 'while'
  19757. shift(273); // 'while'
  19758. break;
  19759. case 98: // 'constraint'
  19760. shift(98); // 'constraint'
  19761. break;
  19762. case 179: // 'loop'
  19763. shift(179); // 'loop'
  19764. break;
  19765. case 225: // 'returning'
  19766. shift(225); // 'returning'
  19767. break;
  19768. case 78: // 'append'
  19769. shift(78); // 'append'
  19770. break;
  19771. case 135: // 'false'
  19772. shift(135); // 'false'
  19773. break;
  19774. case 142: // 'from'
  19775. shift(142); // 'from'
  19776. break;
  19777. case 197: // 'null'
  19778. shift(197); // 'null'
  19779. break;
  19780. case 168: // 'json'
  19781. shift(168); // 'json'
  19782. break;
  19783. case 198: // 'object'
  19784. shift(198); // 'object'
  19785. break;
  19786. case 233: // 'select'
  19787. shift(233); // 'select'
  19788. break;
  19789. default:
  19790. shift(255); // 'true'
  19791. }
  19792. eventHandler.endNonterminal("FunctionName", e0);
  19793. }
  19794. function try_FunctionName()
  19795. {
  19796. switch (l1)
  19797. {
  19798. case 6: // EQName^Token
  19799. shiftT(6); // EQName^Token
  19800. break;
  19801. case 71: // 'after'
  19802. shiftT(71); // 'after'
  19803. break;
  19804. case 74: // 'ancestor'
  19805. shiftT(74); // 'ancestor'
  19806. break;
  19807. case 75: // 'ancestor-or-self'
  19808. shiftT(75); // 'ancestor-or-self'
  19809. break;
  19810. case 76: // 'and'
  19811. shiftT(76); // 'and'
  19812. break;
  19813. case 80: // 'as'
  19814. shiftT(80); // 'as'
  19815. break;
  19816. case 81: // 'ascending'
  19817. shiftT(81); // 'ascending'
  19818. break;
  19819. case 85: // 'before'
  19820. shiftT(85); // 'before'
  19821. break;
  19822. case 89: // 'case'
  19823. shiftT(89); // 'case'
  19824. break;
  19825. case 90: // 'cast'
  19826. shiftT(90); // 'cast'
  19827. break;
  19828. case 91: // 'castable'
  19829. shiftT(91); // 'castable'
  19830. break;
  19831. case 94: // 'child'
  19832. shiftT(94); // 'child'
  19833. break;
  19834. case 95: // 'collation'
  19835. shiftT(95); // 'collation'
  19836. break;
  19837. case 104: // 'copy'
  19838. shiftT(104); // 'copy'
  19839. break;
  19840. case 106: // 'count'
  19841. shiftT(106); // 'count'
  19842. break;
  19843. case 109: // 'declare'
  19844. shiftT(109); // 'declare'
  19845. break;
  19846. case 110: // 'default'
  19847. shiftT(110); // 'default'
  19848. break;
  19849. case 111: // 'delete'
  19850. shiftT(111); // 'delete'
  19851. break;
  19852. case 112: // 'descendant'
  19853. shiftT(112); // 'descendant'
  19854. break;
  19855. case 113: // 'descendant-or-self'
  19856. shiftT(113); // 'descendant-or-self'
  19857. break;
  19858. case 114: // 'descending'
  19859. shiftT(114); // 'descending'
  19860. break;
  19861. case 119: // 'div'
  19862. shiftT(119); // 'div'
  19863. break;
  19864. case 120: // 'document'
  19865. shiftT(120); // 'document'
  19866. break;
  19867. case 123: // 'else'
  19868. shiftT(123); // 'else'
  19869. break;
  19870. case 124: // 'empty'
  19871. shiftT(124); // 'empty'
  19872. break;
  19873. case 127: // 'end'
  19874. shiftT(127); // 'end'
  19875. break;
  19876. case 129: // 'eq'
  19877. shiftT(129); // 'eq'
  19878. break;
  19879. case 130: // 'every'
  19880. shiftT(130); // 'every'
  19881. break;
  19882. case 132: // 'except'
  19883. shiftT(132); // 'except'
  19884. break;
  19885. case 136: // 'first'
  19886. shiftT(136); // 'first'
  19887. break;
  19888. case 137: // 'following'
  19889. shiftT(137); // 'following'
  19890. break;
  19891. case 138: // 'following-sibling'
  19892. shiftT(138); // 'following-sibling'
  19893. break;
  19894. case 139: // 'for'
  19895. shiftT(139); // 'for'
  19896. break;
  19897. case 148: // 'ge'
  19898. shiftT(148); // 'ge'
  19899. break;
  19900. case 150: // 'group'
  19901. shiftT(150); // 'group'
  19902. break;
  19903. case 152: // 'gt'
  19904. shiftT(152); // 'gt'
  19905. break;
  19906. case 153: // 'idiv'
  19907. shiftT(153); // 'idiv'
  19908. break;
  19909. case 155: // 'import'
  19910. shiftT(155); // 'import'
  19911. break;
  19912. case 161: // 'insert'
  19913. shiftT(161); // 'insert'
  19914. break;
  19915. case 162: // 'instance'
  19916. shiftT(162); // 'instance'
  19917. break;
  19918. case 164: // 'intersect'
  19919. shiftT(164); // 'intersect'
  19920. break;
  19921. case 165: // 'into'
  19922. shiftT(165); // 'into'
  19923. break;
  19924. case 166: // 'is'
  19925. shiftT(166); // 'is'
  19926. break;
  19927. case 173: // 'last'
  19928. shiftT(173); // 'last'
  19929. break;
  19930. case 175: // 'le'
  19931. shiftT(175); // 'le'
  19932. break;
  19933. case 177: // 'let'
  19934. shiftT(177); // 'let'
  19935. break;
  19936. case 181: // 'lt'
  19937. shiftT(181); // 'lt'
  19938. break;
  19939. case 183: // 'mod'
  19940. shiftT(183); // 'mod'
  19941. break;
  19942. case 184: // 'modify'
  19943. shiftT(184); // 'modify'
  19944. break;
  19945. case 185: // 'module'
  19946. shiftT(185); // 'module'
  19947. break;
  19948. case 187: // 'namespace'
  19949. shiftT(187); // 'namespace'
  19950. break;
  19951. case 189: // 'ne'
  19952. shiftT(189); // 'ne'
  19953. break;
  19954. case 202: // 'only'
  19955. shiftT(202); // 'only'
  19956. break;
  19957. case 204: // 'or'
  19958. shiftT(204); // 'or'
  19959. break;
  19960. case 205: // 'order'
  19961. shiftT(205); // 'order'
  19962. break;
  19963. case 206: // 'ordered'
  19964. shiftT(206); // 'ordered'
  19965. break;
  19966. case 210: // 'parent'
  19967. shiftT(210); // 'parent'
  19968. break;
  19969. case 216: // 'preceding'
  19970. shiftT(216); // 'preceding'
  19971. break;
  19972. case 217: // 'preceding-sibling'
  19973. shiftT(217); // 'preceding-sibling'
  19974. break;
  19975. case 222: // 'rename'
  19976. shiftT(222); // 'rename'
  19977. break;
  19978. case 223: // 'replace'
  19979. shiftT(223); // 'replace'
  19980. break;
  19981. case 224: // 'return'
  19982. shiftT(224); // 'return'
  19983. break;
  19984. case 228: // 'satisfies'
  19985. shiftT(228); // 'satisfies'
  19986. break;
  19987. case 234: // 'self'
  19988. shiftT(234); // 'self'
  19989. break;
  19990. case 240: // 'some'
  19991. shiftT(240); // 'some'
  19992. break;
  19993. case 241: // 'stable'
  19994. shiftT(241); // 'stable'
  19995. break;
  19996. case 242: // 'start'
  19997. shiftT(242); // 'start'
  19998. break;
  19999. case 253: // 'to'
  20000. shiftT(253); // 'to'
  20001. break;
  20002. case 254: // 'treat'
  20003. shiftT(254); // 'treat'
  20004. break;
  20005. case 256: // 'try'
  20006. shiftT(256); // 'try'
  20007. break;
  20008. case 260: // 'union'
  20009. shiftT(260); // 'union'
  20010. break;
  20011. case 262: // 'unordered'
  20012. shiftT(262); // 'unordered'
  20013. break;
  20014. case 266: // 'validate'
  20015. shiftT(266); // 'validate'
  20016. break;
  20017. case 272: // 'where'
  20018. shiftT(272); // 'where'
  20019. break;
  20020. case 276: // 'with'
  20021. shiftT(276); // 'with'
  20022. break;
  20023. case 170: // 'jsoniq'
  20024. shiftT(170); // 'jsoniq'
  20025. break;
  20026. case 73: // 'allowing'
  20027. shiftT(73); // 'allowing'
  20028. break;
  20029. case 82: // 'at'
  20030. shiftT(82); // 'at'
  20031. break;
  20032. case 84: // 'base-uri'
  20033. shiftT(84); // 'base-uri'
  20034. break;
  20035. case 86: // 'boundary-space'
  20036. shiftT(86); // 'boundary-space'
  20037. break;
  20038. case 87: // 'break'
  20039. shiftT(87); // 'break'
  20040. break;
  20041. case 92: // 'catch'
  20042. shiftT(92); // 'catch'
  20043. break;
  20044. case 99: // 'construction'
  20045. shiftT(99); // 'construction'
  20046. break;
  20047. case 102: // 'context'
  20048. shiftT(102); // 'context'
  20049. break;
  20050. case 103: // 'continue'
  20051. shiftT(103); // 'continue'
  20052. break;
  20053. case 105: // 'copy-namespaces'
  20054. shiftT(105); // 'copy-namespaces'
  20055. break;
  20056. case 107: // 'decimal-format'
  20057. shiftT(107); // 'decimal-format'
  20058. break;
  20059. case 126: // 'encoding'
  20060. shiftT(126); // 'encoding'
  20061. break;
  20062. case 133: // 'exit'
  20063. shiftT(133); // 'exit'
  20064. break;
  20065. case 134: // 'external'
  20066. shiftT(134); // 'external'
  20067. break;
  20068. case 143: // 'ft-option'
  20069. shiftT(143); // 'ft-option'
  20070. break;
  20071. case 156: // 'in'
  20072. shiftT(156); // 'in'
  20073. break;
  20074. case 157: // 'index'
  20075. shiftT(157); // 'index'
  20076. break;
  20077. case 163: // 'integrity'
  20078. shiftT(163); // 'integrity'
  20079. break;
  20080. case 174: // 'lax'
  20081. shiftT(174); // 'lax'
  20082. break;
  20083. case 195: // 'nodes'
  20084. shiftT(195); // 'nodes'
  20085. break;
  20086. case 203: // 'option'
  20087. shiftT(203); // 'option'
  20088. break;
  20089. case 207: // 'ordering'
  20090. shiftT(207); // 'ordering'
  20091. break;
  20092. case 226: // 'revalidation'
  20093. shiftT(226); // 'revalidation'
  20094. break;
  20095. case 229: // 'schema'
  20096. shiftT(229); // 'schema'
  20097. break;
  20098. case 232: // 'score'
  20099. shiftT(232); // 'score'
  20100. break;
  20101. case 239: // 'sliding'
  20102. shiftT(239); // 'sliding'
  20103. break;
  20104. case 245: // 'strict'
  20105. shiftT(245); // 'strict'
  20106. break;
  20107. case 257: // 'tumbling'
  20108. shiftT(257); // 'tumbling'
  20109. break;
  20110. case 258: // 'type'
  20111. shiftT(258); // 'type'
  20112. break;
  20113. case 263: // 'updating'
  20114. shiftT(263); // 'updating'
  20115. break;
  20116. case 267: // 'value'
  20117. shiftT(267); // 'value'
  20118. break;
  20119. case 268: // 'variable'
  20120. shiftT(268); // 'variable'
  20121. break;
  20122. case 269: // 'version'
  20123. shiftT(269); // 'version'
  20124. break;
  20125. case 273: // 'while'
  20126. shiftT(273); // 'while'
  20127. break;
  20128. case 98: // 'constraint'
  20129. shiftT(98); // 'constraint'
  20130. break;
  20131. case 179: // 'loop'
  20132. shiftT(179); // 'loop'
  20133. break;
  20134. case 225: // 'returning'
  20135. shiftT(225); // 'returning'
  20136. break;
  20137. case 78: // 'append'
  20138. shiftT(78); // 'append'
  20139. break;
  20140. case 135: // 'false'
  20141. shiftT(135); // 'false'
  20142. break;
  20143. case 142: // 'from'
  20144. shiftT(142); // 'from'
  20145. break;
  20146. case 197: // 'null'
  20147. shiftT(197); // 'null'
  20148. break;
  20149. case 168: // 'json'
  20150. shiftT(168); // 'json'
  20151. break;
  20152. case 198: // 'object'
  20153. shiftT(198); // 'object'
  20154. break;
  20155. case 233: // 'select'
  20156. shiftT(233); // 'select'
  20157. break;
  20158. default:
  20159. shiftT(255); // 'true'
  20160. }
  20161. }
  20162. function parse_NCName()
  20163. {
  20164. eventHandler.startNonterminal("NCName", e0);
  20165. switch (l1)
  20166. {
  20167. case 19: // NCName^Token
  20168. shift(19); // NCName^Token
  20169. break;
  20170. case 71: // 'after'
  20171. shift(71); // 'after'
  20172. break;
  20173. case 76: // 'and'
  20174. shift(76); // 'and'
  20175. break;
  20176. case 80: // 'as'
  20177. shift(80); // 'as'
  20178. break;
  20179. case 81: // 'ascending'
  20180. shift(81); // 'ascending'
  20181. break;
  20182. case 85: // 'before'
  20183. shift(85); // 'before'
  20184. break;
  20185. case 89: // 'case'
  20186. shift(89); // 'case'
  20187. break;
  20188. case 90: // 'cast'
  20189. shift(90); // 'cast'
  20190. break;
  20191. case 91: // 'castable'
  20192. shift(91); // 'castable'
  20193. break;
  20194. case 95: // 'collation'
  20195. shift(95); // 'collation'
  20196. break;
  20197. case 106: // 'count'
  20198. shift(106); // 'count'
  20199. break;
  20200. case 110: // 'default'
  20201. shift(110); // 'default'
  20202. break;
  20203. case 114: // 'descending'
  20204. shift(114); // 'descending'
  20205. break;
  20206. case 119: // 'div'
  20207. shift(119); // 'div'
  20208. break;
  20209. case 123: // 'else'
  20210. shift(123); // 'else'
  20211. break;
  20212. case 124: // 'empty'
  20213. shift(124); // 'empty'
  20214. break;
  20215. case 127: // 'end'
  20216. shift(127); // 'end'
  20217. break;
  20218. case 129: // 'eq'
  20219. shift(129); // 'eq'
  20220. break;
  20221. case 132: // 'except'
  20222. shift(132); // 'except'
  20223. break;
  20224. case 139: // 'for'
  20225. shift(139); // 'for'
  20226. break;
  20227. case 148: // 'ge'
  20228. shift(148); // 'ge'
  20229. break;
  20230. case 150: // 'group'
  20231. shift(150); // 'group'
  20232. break;
  20233. case 152: // 'gt'
  20234. shift(152); // 'gt'
  20235. break;
  20236. case 153: // 'idiv'
  20237. shift(153); // 'idiv'
  20238. break;
  20239. case 162: // 'instance'
  20240. shift(162); // 'instance'
  20241. break;
  20242. case 164: // 'intersect'
  20243. shift(164); // 'intersect'
  20244. break;
  20245. case 165: // 'into'
  20246. shift(165); // 'into'
  20247. break;
  20248. case 166: // 'is'
  20249. shift(166); // 'is'
  20250. break;
  20251. case 175: // 'le'
  20252. shift(175); // 'le'
  20253. break;
  20254. case 177: // 'let'
  20255. shift(177); // 'let'
  20256. break;
  20257. case 181: // 'lt'
  20258. shift(181); // 'lt'
  20259. break;
  20260. case 183: // 'mod'
  20261. shift(183); // 'mod'
  20262. break;
  20263. case 184: // 'modify'
  20264. shift(184); // 'modify'
  20265. break;
  20266. case 189: // 'ne'
  20267. shift(189); // 'ne'
  20268. break;
  20269. case 202: // 'only'
  20270. shift(202); // 'only'
  20271. break;
  20272. case 204: // 'or'
  20273. shift(204); // 'or'
  20274. break;
  20275. case 205: // 'order'
  20276. shift(205); // 'order'
  20277. break;
  20278. case 224: // 'return'
  20279. shift(224); // 'return'
  20280. break;
  20281. case 228: // 'satisfies'
  20282. shift(228); // 'satisfies'
  20283. break;
  20284. case 241: // 'stable'
  20285. shift(241); // 'stable'
  20286. break;
  20287. case 242: // 'start'
  20288. shift(242); // 'start'
  20289. break;
  20290. case 253: // 'to'
  20291. shift(253); // 'to'
  20292. break;
  20293. case 254: // 'treat'
  20294. shift(254); // 'treat'
  20295. break;
  20296. case 260: // 'union'
  20297. shift(260); // 'union'
  20298. break;
  20299. case 272: // 'where'
  20300. shift(272); // 'where'
  20301. break;
  20302. case 276: // 'with'
  20303. shift(276); // 'with'
  20304. break;
  20305. case 74: // 'ancestor'
  20306. shift(74); // 'ancestor'
  20307. break;
  20308. case 75: // 'ancestor-or-self'
  20309. shift(75); // 'ancestor-or-self'
  20310. break;
  20311. case 83: // 'attribute'
  20312. shift(83); // 'attribute'
  20313. break;
  20314. case 94: // 'child'
  20315. shift(94); // 'child'
  20316. break;
  20317. case 97: // 'comment'
  20318. shift(97); // 'comment'
  20319. break;
  20320. case 104: // 'copy'
  20321. shift(104); // 'copy'
  20322. break;
  20323. case 109: // 'declare'
  20324. shift(109); // 'declare'
  20325. break;
  20326. case 111: // 'delete'
  20327. shift(111); // 'delete'
  20328. break;
  20329. case 112: // 'descendant'
  20330. shift(112); // 'descendant'
  20331. break;
  20332. case 113: // 'descendant-or-self'
  20333. shift(113); // 'descendant-or-self'
  20334. break;
  20335. case 120: // 'document'
  20336. shift(120); // 'document'
  20337. break;
  20338. case 121: // 'document-node'
  20339. shift(121); // 'document-node'
  20340. break;
  20341. case 122: // 'element'
  20342. shift(122); // 'element'
  20343. break;
  20344. case 125: // 'empty-sequence'
  20345. shift(125); // 'empty-sequence'
  20346. break;
  20347. case 130: // 'every'
  20348. shift(130); // 'every'
  20349. break;
  20350. case 136: // 'first'
  20351. shift(136); // 'first'
  20352. break;
  20353. case 137: // 'following'
  20354. shift(137); // 'following'
  20355. break;
  20356. case 138: // 'following-sibling'
  20357. shift(138); // 'following-sibling'
  20358. break;
  20359. case 147: // 'function'
  20360. shift(147); // 'function'
  20361. break;
  20362. case 154: // 'if'
  20363. shift(154); // 'if'
  20364. break;
  20365. case 155: // 'import'
  20366. shift(155); // 'import'
  20367. break;
  20368. case 161: // 'insert'
  20369. shift(161); // 'insert'
  20370. break;
  20371. case 167: // 'item'
  20372. shift(167); // 'item'
  20373. break;
  20374. case 173: // 'last'
  20375. shift(173); // 'last'
  20376. break;
  20377. case 185: // 'module'
  20378. shift(185); // 'module'
  20379. break;
  20380. case 187: // 'namespace'
  20381. shift(187); // 'namespace'
  20382. break;
  20383. case 188: // 'namespace-node'
  20384. shift(188); // 'namespace-node'
  20385. break;
  20386. case 194: // 'node'
  20387. shift(194); // 'node'
  20388. break;
  20389. case 206: // 'ordered'
  20390. shift(206); // 'ordered'
  20391. break;
  20392. case 210: // 'parent'
  20393. shift(210); // 'parent'
  20394. break;
  20395. case 216: // 'preceding'
  20396. shift(216); // 'preceding'
  20397. break;
  20398. case 217: // 'preceding-sibling'
  20399. shift(217); // 'preceding-sibling'
  20400. break;
  20401. case 220: // 'processing-instruction'
  20402. shift(220); // 'processing-instruction'
  20403. break;
  20404. case 222: // 'rename'
  20405. shift(222); // 'rename'
  20406. break;
  20407. case 223: // 'replace'
  20408. shift(223); // 'replace'
  20409. break;
  20410. case 230: // 'schema-attribute'
  20411. shift(230); // 'schema-attribute'
  20412. break;
  20413. case 231: // 'schema-element'
  20414. shift(231); // 'schema-element'
  20415. break;
  20416. case 234: // 'self'
  20417. shift(234); // 'self'
  20418. break;
  20419. case 240: // 'some'
  20420. shift(240); // 'some'
  20421. break;
  20422. case 248: // 'switch'
  20423. shift(248); // 'switch'
  20424. break;
  20425. case 249: // 'text'
  20426. shift(249); // 'text'
  20427. break;
  20428. case 256: // 'try'
  20429. shift(256); // 'try'
  20430. break;
  20431. case 259: // 'typeswitch'
  20432. shift(259); // 'typeswitch'
  20433. break;
  20434. case 262: // 'unordered'
  20435. shift(262); // 'unordered'
  20436. break;
  20437. case 266: // 'validate'
  20438. shift(266); // 'validate'
  20439. break;
  20440. case 268: // 'variable'
  20441. shift(268); // 'variable'
  20442. break;
  20443. case 170: // 'jsoniq'
  20444. shift(170); // 'jsoniq'
  20445. break;
  20446. case 73: // 'allowing'
  20447. shift(73); // 'allowing'
  20448. break;
  20449. case 82: // 'at'
  20450. shift(82); // 'at'
  20451. break;
  20452. case 84: // 'base-uri'
  20453. shift(84); // 'base-uri'
  20454. break;
  20455. case 86: // 'boundary-space'
  20456. shift(86); // 'boundary-space'
  20457. break;
  20458. case 87: // 'break'
  20459. shift(87); // 'break'
  20460. break;
  20461. case 92: // 'catch'
  20462. shift(92); // 'catch'
  20463. break;
  20464. case 99: // 'construction'
  20465. shift(99); // 'construction'
  20466. break;
  20467. case 102: // 'context'
  20468. shift(102); // 'context'
  20469. break;
  20470. case 103: // 'continue'
  20471. shift(103); // 'continue'
  20472. break;
  20473. case 105: // 'copy-namespaces'
  20474. shift(105); // 'copy-namespaces'
  20475. break;
  20476. case 107: // 'decimal-format'
  20477. shift(107); // 'decimal-format'
  20478. break;
  20479. case 126: // 'encoding'
  20480. shift(126); // 'encoding'
  20481. break;
  20482. case 133: // 'exit'
  20483. shift(133); // 'exit'
  20484. break;
  20485. case 134: // 'external'
  20486. shift(134); // 'external'
  20487. break;
  20488. case 143: // 'ft-option'
  20489. shift(143); // 'ft-option'
  20490. break;
  20491. case 156: // 'in'
  20492. shift(156); // 'in'
  20493. break;
  20494. case 157: // 'index'
  20495. shift(157); // 'index'
  20496. break;
  20497. case 163: // 'integrity'
  20498. shift(163); // 'integrity'
  20499. break;
  20500. case 174: // 'lax'
  20501. shift(174); // 'lax'
  20502. break;
  20503. case 195: // 'nodes'
  20504. shift(195); // 'nodes'
  20505. break;
  20506. case 203: // 'option'
  20507. shift(203); // 'option'
  20508. break;
  20509. case 207: // 'ordering'
  20510. shift(207); // 'ordering'
  20511. break;
  20512. case 226: // 'revalidation'
  20513. shift(226); // 'revalidation'
  20514. break;
  20515. case 229: // 'schema'
  20516. shift(229); // 'schema'
  20517. break;
  20518. case 232: // 'score'
  20519. shift(232); // 'score'
  20520. break;
  20521. case 239: // 'sliding'
  20522. shift(239); // 'sliding'
  20523. break;
  20524. case 245: // 'strict'
  20525. shift(245); // 'strict'
  20526. break;
  20527. case 257: // 'tumbling'
  20528. shift(257); // 'tumbling'
  20529. break;
  20530. case 258: // 'type'
  20531. shift(258); // 'type'
  20532. break;
  20533. case 263: // 'updating'
  20534. shift(263); // 'updating'
  20535. break;
  20536. case 267: // 'value'
  20537. shift(267); // 'value'
  20538. break;
  20539. case 269: // 'version'
  20540. shift(269); // 'version'
  20541. break;
  20542. case 273: // 'while'
  20543. shift(273); // 'while'
  20544. break;
  20545. case 98: // 'constraint'
  20546. shift(98); // 'constraint'
  20547. break;
  20548. case 179: // 'loop'
  20549. shift(179); // 'loop'
  20550. break;
  20551. case 225: // 'returning'
  20552. shift(225); // 'returning'
  20553. break;
  20554. case 78: // 'append'
  20555. shift(78); // 'append'
  20556. break;
  20557. case 135: // 'false'
  20558. shift(135); // 'false'
  20559. break;
  20560. case 142: // 'from'
  20561. shift(142); // 'from'
  20562. break;
  20563. case 197: // 'null'
  20564. shift(197); // 'null'
  20565. break;
  20566. case 168: // 'json'
  20567. shift(168); // 'json'
  20568. break;
  20569. case 198: // 'object'
  20570. shift(198); // 'object'
  20571. break;
  20572. case 233: // 'select'
  20573. shift(233); // 'select'
  20574. break;
  20575. default:
  20576. shift(255); // 'true'
  20577. }
  20578. eventHandler.endNonterminal("NCName", e0);
  20579. }
  20580. function try_NCName()
  20581. {
  20582. switch (l1)
  20583. {
  20584. case 19: // NCName^Token
  20585. shiftT(19); // NCName^Token
  20586. break;
  20587. case 71: // 'after'
  20588. shiftT(71); // 'after'
  20589. break;
  20590. case 76: // 'and'
  20591. shiftT(76); // 'and'
  20592. break;
  20593. case 80: // 'as'
  20594. shiftT(80); // 'as'
  20595. break;
  20596. case 81: // 'ascending'
  20597. shiftT(81); // 'ascending'
  20598. break;
  20599. case 85: // 'before'
  20600. shiftT(85); // 'before'
  20601. break;
  20602. case 89: // 'case'
  20603. shiftT(89); // 'case'
  20604. break;
  20605. case 90: // 'cast'
  20606. shiftT(90); // 'cast'
  20607. break;
  20608. case 91: // 'castable'
  20609. shiftT(91); // 'castable'
  20610. break;
  20611. case 95: // 'collation'
  20612. shiftT(95); // 'collation'
  20613. break;
  20614. case 106: // 'count'
  20615. shiftT(106); // 'count'
  20616. break;
  20617. case 110: // 'default'
  20618. shiftT(110); // 'default'
  20619. break;
  20620. case 114: // 'descending'
  20621. shiftT(114); // 'descending'
  20622. break;
  20623. case 119: // 'div'
  20624. shiftT(119); // 'div'
  20625. break;
  20626. case 123: // 'else'
  20627. shiftT(123); // 'else'
  20628. break;
  20629. case 124: // 'empty'
  20630. shiftT(124); // 'empty'
  20631. break;
  20632. case 127: // 'end'
  20633. shiftT(127); // 'end'
  20634. break;
  20635. case 129: // 'eq'
  20636. shiftT(129); // 'eq'
  20637. break;
  20638. case 132: // 'except'
  20639. shiftT(132); // 'except'
  20640. break;
  20641. case 139: // 'for'
  20642. shiftT(139); // 'for'
  20643. break;
  20644. case 148: // 'ge'
  20645. shiftT(148); // 'ge'
  20646. break;
  20647. case 150: // 'group'
  20648. shiftT(150); // 'group'
  20649. break;
  20650. case 152: // 'gt'
  20651. shiftT(152); // 'gt'
  20652. break;
  20653. case 153: // 'idiv'
  20654. shiftT(153); // 'idiv'
  20655. break;
  20656. case 162: // 'instance'
  20657. shiftT(162); // 'instance'
  20658. break;
  20659. case 164: // 'intersect'
  20660. shiftT(164); // 'intersect'
  20661. break;
  20662. case 165: // 'into'
  20663. shiftT(165); // 'into'
  20664. break;
  20665. case 166: // 'is'
  20666. shiftT(166); // 'is'
  20667. break;
  20668. case 175: // 'le'
  20669. shiftT(175); // 'le'
  20670. break;
  20671. case 177: // 'let'
  20672. shiftT(177); // 'let'
  20673. break;
  20674. case 181: // 'lt'
  20675. shiftT(181); // 'lt'
  20676. break;
  20677. case 183: // 'mod'
  20678. shiftT(183); // 'mod'
  20679. break;
  20680. case 184: // 'modify'
  20681. shiftT(184); // 'modify'
  20682. break;
  20683. case 189: // 'ne'
  20684. shiftT(189); // 'ne'
  20685. break;
  20686. case 202: // 'only'
  20687. shiftT(202); // 'only'
  20688. break;
  20689. case 204: // 'or'
  20690. shiftT(204); // 'or'
  20691. break;
  20692. case 205: // 'order'
  20693. shiftT(205); // 'order'
  20694. break;
  20695. case 224: // 'return'
  20696. shiftT(224); // 'return'
  20697. break;
  20698. case 228: // 'satisfies'
  20699. shiftT(228); // 'satisfies'
  20700. break;
  20701. case 241: // 'stable'
  20702. shiftT(241); // 'stable'
  20703. break;
  20704. case 242: // 'start'
  20705. shiftT(242); // 'start'
  20706. break;
  20707. case 253: // 'to'
  20708. shiftT(253); // 'to'
  20709. break;
  20710. case 254: // 'treat'
  20711. shiftT(254); // 'treat'
  20712. break;
  20713. case 260: // 'union'
  20714. shiftT(260); // 'union'
  20715. break;
  20716. case 272: // 'where'
  20717. shiftT(272); // 'where'
  20718. break;
  20719. case 276: // 'with'
  20720. shiftT(276); // 'with'
  20721. break;
  20722. case 74: // 'ancestor'
  20723. shiftT(74); // 'ancestor'
  20724. break;
  20725. case 75: // 'ancestor-or-self'
  20726. shiftT(75); // 'ancestor-or-self'
  20727. break;
  20728. case 83: // 'attribute'
  20729. shiftT(83); // 'attribute'
  20730. break;
  20731. case 94: // 'child'
  20732. shiftT(94); // 'child'
  20733. break;
  20734. case 97: // 'comment'
  20735. shiftT(97); // 'comment'
  20736. break;
  20737. case 104: // 'copy'
  20738. shiftT(104); // 'copy'
  20739. break;
  20740. case 109: // 'declare'
  20741. shiftT(109); // 'declare'
  20742. break;
  20743. case 111: // 'delete'
  20744. shiftT(111); // 'delete'
  20745. break;
  20746. case 112: // 'descendant'
  20747. shiftT(112); // 'descendant'
  20748. break;
  20749. case 113: // 'descendant-or-self'
  20750. shiftT(113); // 'descendant-or-self'
  20751. break;
  20752. case 120: // 'document'
  20753. shiftT(120); // 'document'
  20754. break;
  20755. case 121: // 'document-node'
  20756. shiftT(121); // 'document-node'
  20757. break;
  20758. case 122: // 'element'
  20759. shiftT(122); // 'element'
  20760. break;
  20761. case 125: // 'empty-sequence'
  20762. shiftT(125); // 'empty-sequence'
  20763. break;
  20764. case 130: // 'every'
  20765. shiftT(130); // 'every'
  20766. break;
  20767. case 136: // 'first'
  20768. shiftT(136); // 'first'
  20769. break;
  20770. case 137: // 'following'
  20771. shiftT(137); // 'following'
  20772. break;
  20773. case 138: // 'following-sibling'
  20774. shiftT(138); // 'following-sibling'
  20775. break;
  20776. case 147: // 'function'
  20777. shiftT(147); // 'function'
  20778. break;
  20779. case 154: // 'if'
  20780. shiftT(154); // 'if'
  20781. break;
  20782. case 155: // 'import'
  20783. shiftT(155); // 'import'
  20784. break;
  20785. case 161: // 'insert'
  20786. shiftT(161); // 'insert'
  20787. break;
  20788. case 167: // 'item'
  20789. shiftT(167); // 'item'
  20790. break;
  20791. case 173: // 'last'
  20792. shiftT(173); // 'last'
  20793. break;
  20794. case 185: // 'module'
  20795. shiftT(185); // 'module'
  20796. break;
  20797. case 187: // 'namespace'
  20798. shiftT(187); // 'namespace'
  20799. break;
  20800. case 188: // 'namespace-node'
  20801. shiftT(188); // 'namespace-node'
  20802. break;
  20803. case 194: // 'node'
  20804. shiftT(194); // 'node'
  20805. break;
  20806. case 206: // 'ordered'
  20807. shiftT(206); // 'ordered'
  20808. break;
  20809. case 210: // 'parent'
  20810. shiftT(210); // 'parent'
  20811. break;
  20812. case 216: // 'preceding'
  20813. shiftT(216); // 'preceding'
  20814. break;
  20815. case 217: // 'preceding-sibling'
  20816. shiftT(217); // 'preceding-sibling'
  20817. break;
  20818. case 220: // 'processing-instruction'
  20819. shiftT(220); // 'processing-instruction'
  20820. break;
  20821. case 222: // 'rename'
  20822. shiftT(222); // 'rename'
  20823. break;
  20824. case 223: // 'replace'
  20825. shiftT(223); // 'replace'
  20826. break;
  20827. case 230: // 'schema-attribute'
  20828. shiftT(230); // 'schema-attribute'
  20829. break;
  20830. case 231: // 'schema-element'
  20831. shiftT(231); // 'schema-element'
  20832. break;
  20833. case 234: // 'self'
  20834. shiftT(234); // 'self'
  20835. break;
  20836. case 240: // 'some'
  20837. shiftT(240); // 'some'
  20838. break;
  20839. case 248: // 'switch'
  20840. shiftT(248); // 'switch'
  20841. break;
  20842. case 249: // 'text'
  20843. shiftT(249); // 'text'
  20844. break;
  20845. case 256: // 'try'
  20846. shiftT(256); // 'try'
  20847. break;
  20848. case 259: // 'typeswitch'
  20849. shiftT(259); // 'typeswitch'
  20850. break;
  20851. case 262: // 'unordered'
  20852. shiftT(262); // 'unordered'
  20853. break;
  20854. case 266: // 'validate'
  20855. shiftT(266); // 'validate'
  20856. break;
  20857. case 268: // 'variable'
  20858. shiftT(268); // 'variable'
  20859. break;
  20860. case 170: // 'jsoniq'
  20861. shiftT(170); // 'jsoniq'
  20862. break;
  20863. case 73: // 'allowing'
  20864. shiftT(73); // 'allowing'
  20865. break;
  20866. case 82: // 'at'
  20867. shiftT(82); // 'at'
  20868. break;
  20869. case 84: // 'base-uri'
  20870. shiftT(84); // 'base-uri'
  20871. break;
  20872. case 86: // 'boundary-space'
  20873. shiftT(86); // 'boundary-space'
  20874. break;
  20875. case 87: // 'break'
  20876. shiftT(87); // 'break'
  20877. break;
  20878. case 92: // 'catch'
  20879. shiftT(92); // 'catch'
  20880. break;
  20881. case 99: // 'construction'
  20882. shiftT(99); // 'construction'
  20883. break;
  20884. case 102: // 'context'
  20885. shiftT(102); // 'context'
  20886. break;
  20887. case 103: // 'continue'
  20888. shiftT(103); // 'continue'
  20889. break;
  20890. case 105: // 'copy-namespaces'
  20891. shiftT(105); // 'copy-namespaces'
  20892. break;
  20893. case 107: // 'decimal-format'
  20894. shiftT(107); // 'decimal-format'
  20895. break;
  20896. case 126: // 'encoding'
  20897. shiftT(126); // 'encoding'
  20898. break;
  20899. case 133: // 'exit'
  20900. shiftT(133); // 'exit'
  20901. break;
  20902. case 134: // 'external'
  20903. shiftT(134); // 'external'
  20904. break;
  20905. case 143: // 'ft-option'
  20906. shiftT(143); // 'ft-option'
  20907. break;
  20908. case 156: // 'in'
  20909. shiftT(156); // 'in'
  20910. break;
  20911. case 157: // 'index'
  20912. shiftT(157); // 'index'
  20913. break;
  20914. case 163: // 'integrity'
  20915. shiftT(163); // 'integrity'
  20916. break;
  20917. case 174: // 'lax'
  20918. shiftT(174); // 'lax'
  20919. break;
  20920. case 195: // 'nodes'
  20921. shiftT(195); // 'nodes'
  20922. break;
  20923. case 203: // 'option'
  20924. shiftT(203); // 'option'
  20925. break;
  20926. case 207: // 'ordering'
  20927. shiftT(207); // 'ordering'
  20928. break;
  20929. case 226: // 'revalidation'
  20930. shiftT(226); // 'revalidation'
  20931. break;
  20932. case 229: // 'schema'
  20933. shiftT(229); // 'schema'
  20934. break;
  20935. case 232: // 'score'
  20936. shiftT(232); // 'score'
  20937. break;
  20938. case 239: // 'sliding'
  20939. shiftT(239); // 'sliding'
  20940. break;
  20941. case 245: // 'strict'
  20942. shiftT(245); // 'strict'
  20943. break;
  20944. case 257: // 'tumbling'
  20945. shiftT(257); // 'tumbling'
  20946. break;
  20947. case 258: // 'type'
  20948. shiftT(258); // 'type'
  20949. break;
  20950. case 263: // 'updating'
  20951. shiftT(263); // 'updating'
  20952. break;
  20953. case 267: // 'value'
  20954. shiftT(267); // 'value'
  20955. break;
  20956. case 269: // 'version'
  20957. shiftT(269); // 'version'
  20958. break;
  20959. case 273: // 'while'
  20960. shiftT(273); // 'while'
  20961. break;
  20962. case 98: // 'constraint'
  20963. shiftT(98); // 'constraint'
  20964. break;
  20965. case 179: // 'loop'
  20966. shiftT(179); // 'loop'
  20967. break;
  20968. case 225: // 'returning'
  20969. shiftT(225); // 'returning'
  20970. break;
  20971. case 78: // 'append'
  20972. shiftT(78); // 'append'
  20973. break;
  20974. case 135: // 'false'
  20975. shiftT(135); // 'false'
  20976. break;
  20977. case 142: // 'from'
  20978. shiftT(142); // 'from'
  20979. break;
  20980. case 197: // 'null'
  20981. shiftT(197); // 'null'
  20982. break;
  20983. case 168: // 'json'
  20984. shiftT(168); // 'json'
  20985. break;
  20986. case 198: // 'object'
  20987. shiftT(198); // 'object'
  20988. break;
  20989. case 233: // 'select'
  20990. shiftT(233); // 'select'
  20991. break;
  20992. default:
  20993. shiftT(255); // 'true'
  20994. }
  20995. }
  20996. function parse_MainModule()
  20997. {
  20998. eventHandler.startNonterminal("MainModule", e0);
  20999. parse_Prolog();
  21000. whitespace();
  21001. parse_Program();
  21002. eventHandler.endNonterminal("MainModule", e0);
  21003. }
  21004. function parse_Program()
  21005. {
  21006. eventHandler.startNonterminal("Program", e0);
  21007. parse_StatementsAndOptionalExpr();
  21008. eventHandler.endNonterminal("Program", e0);
  21009. }
  21010. function parse_Statements()
  21011. {
  21012. eventHandler.startNonterminal("Statements", e0);
  21013. for (;;)
  21014. {
  21015. lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21016. switch (l1)
  21017. {
  21018. case 35: // '('
  21019. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21020. break;
  21021. case 36: // '(#'
  21022. lookahead2(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  21023. break;
  21024. case 47: // '/'
  21025. lookahead2W(285); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21026. break;
  21027. case 48: // '//'
  21028. lookahead2W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21029. break;
  21030. case 55: // '<'
  21031. lookahead2(4); // QName
  21032. break;
  21033. case 56: // '<!--'
  21034. lookahead2(1); // DirCommentContents
  21035. break;
  21036. case 60: // '<?'
  21037. lookahead2(3); // PITarget
  21038. break;
  21039. case 69: // '['
  21040. lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21041. break;
  21042. case 78: // 'append'
  21043. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21044. break;
  21045. case 133: // 'exit'
  21046. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  21047. break;
  21048. case 139: // 'for'
  21049. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  21050. break;
  21051. case 161: // 'insert'
  21052. lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21053. break;
  21054. case 177: // 'let'
  21055. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  21056. break;
  21057. case 187: // 'namespace'
  21058. lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  21059. break;
  21060. case 220: // 'processing-instruction'
  21061. lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  21062. break;
  21063. case 223: // 'replace'
  21064. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  21065. break;
  21066. case 266: // 'validate'
  21067. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  21068. break;
  21069. case 281: // '{'
  21070. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21071. break;
  21072. case 283: // '{|'
  21073. lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21074. break;
  21075. case 31: // '$'
  21076. case 33: // '%'
  21077. lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  21078. break;
  21079. case 83: // 'attribute'
  21080. case 122: // 'element'
  21081. lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  21082. break;
  21083. case 87: // 'break'
  21084. case 103: // 'continue'
  21085. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  21086. break;
  21087. case 97: // 'comment'
  21088. case 249: // 'text'
  21089. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  21090. break;
  21091. case 111: // 'delete'
  21092. case 222: // 'rename'
  21093. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21094. break;
  21095. case 41: // '+'
  21096. case 43: // '-'
  21097. case 196: // 'not'
  21098. lookahead2W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21099. break;
  21100. case 135: // 'false'
  21101. case 197: // 'null'
  21102. case 255: // 'true'
  21103. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' |
  21104. break;
  21105. case 104: // 'copy'
  21106. case 130: // 'every'
  21107. case 240: // 'some'
  21108. case 268: // 'variable'
  21109. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  21110. break;
  21111. case 120: // 'document'
  21112. case 206: // 'ordered'
  21113. case 256: // 'try'
  21114. case 262: // 'unordered'
  21115. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  21116. break;
  21117. case 8: // IntegerLiteral
  21118. case 9: // DecimalLiteral
  21119. case 10: // DoubleLiteral
  21120. case 11: // StringLiteral
  21121. case 32: // '$$'
  21122. lookahead2W(209); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' | '//' |
  21123. break;
  21124. case 79: // 'array'
  21125. case 121: // 'document-node'
  21126. case 125: // 'empty-sequence'
  21127. case 167: // 'item'
  21128. case 169: // 'json-item'
  21129. case 188: // 'namespace-node'
  21130. case 194: // 'node'
  21131. case 230: // 'schema-attribute'
  21132. case 231: // 'schema-element'
  21133. case 247: // 'structured-item'
  21134. lookahead2W(20); // S^WS | '#' | '(:'
  21135. break;
  21136. case 6: // EQName^Token
  21137. case 71: // 'after'
  21138. case 73: // 'allowing'
  21139. case 74: // 'ancestor'
  21140. case 75: // 'ancestor-or-self'
  21141. case 76: // 'and'
  21142. case 80: // 'as'
  21143. case 81: // 'ascending'
  21144. case 82: // 'at'
  21145. case 84: // 'base-uri'
  21146. case 85: // 'before'
  21147. case 86: // 'boundary-space'
  21148. case 89: // 'case'
  21149. case 90: // 'cast'
  21150. case 91: // 'castable'
  21151. case 92: // 'catch'
  21152. case 94: // 'child'
  21153. case 95: // 'collation'
  21154. case 98: // 'constraint'
  21155. case 99: // 'construction'
  21156. case 102: // 'context'
  21157. case 105: // 'copy-namespaces'
  21158. case 106: // 'count'
  21159. case 107: // 'decimal-format'
  21160. case 109: // 'declare'
  21161. case 110: // 'default'
  21162. case 112: // 'descendant'
  21163. case 113: // 'descendant-or-self'
  21164. case 114: // 'descending'
  21165. case 119: // 'div'
  21166. case 123: // 'else'
  21167. case 124: // 'empty'
  21168. case 126: // 'encoding'
  21169. case 127: // 'end'
  21170. case 129: // 'eq'
  21171. case 132: // 'except'
  21172. case 134: // 'external'
  21173. case 136: // 'first'
  21174. case 137: // 'following'
  21175. case 138: // 'following-sibling'
  21176. case 142: // 'from'
  21177. case 143: // 'ft-option'
  21178. case 147: // 'function'
  21179. case 148: // 'ge'
  21180. case 150: // 'group'
  21181. case 152: // 'gt'
  21182. case 153: // 'idiv'
  21183. case 154: // 'if'
  21184. case 155: // 'import'
  21185. case 156: // 'in'
  21186. case 157: // 'index'
  21187. case 162: // 'instance'
  21188. case 163: // 'integrity'
  21189. case 164: // 'intersect'
  21190. case 165: // 'into'
  21191. case 166: // 'is'
  21192. case 168: // 'json'
  21193. case 170: // 'jsoniq'
  21194. case 173: // 'last'
  21195. case 174: // 'lax'
  21196. case 175: // 'le'
  21197. case 179: // 'loop'
  21198. case 181: // 'lt'
  21199. case 183: // 'mod'
  21200. case 184: // 'modify'
  21201. case 185: // 'module'
  21202. case 189: // 'ne'
  21203. case 195: // 'nodes'
  21204. case 198: // 'object'
  21205. case 202: // 'only'
  21206. case 203: // 'option'
  21207. case 204: // 'or'
  21208. case 205: // 'order'
  21209. case 207: // 'ordering'
  21210. case 210: // 'parent'
  21211. case 216: // 'preceding'
  21212. case 217: // 'preceding-sibling'
  21213. case 224: // 'return'
  21214. case 225: // 'returning'
  21215. case 226: // 'revalidation'
  21216. case 228: // 'satisfies'
  21217. case 229: // 'schema'
  21218. case 232: // 'score'
  21219. case 233: // 'select'
  21220. case 234: // 'self'
  21221. case 239: // 'sliding'
  21222. case 241: // 'stable'
  21223. case 242: // 'start'
  21224. case 245: // 'strict'
  21225. case 248: // 'switch'
  21226. case 253: // 'to'
  21227. case 254: // 'treat'
  21228. case 257: // 'tumbling'
  21229. case 258: // 'type'
  21230. case 259: // 'typeswitch'
  21231. case 260: // 'union'
  21232. case 263: // 'updating'
  21233. case 267: // 'value'
  21234. case 269: // 'version'
  21235. case 272: // 'where'
  21236. case 273: // 'while'
  21237. case 276: // 'with'
  21238. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  21239. break;
  21240. default:
  21241. lk = l1;
  21242. }
  21243. if (lk != 25 // EOF
  21244. && lk != 54 // ';'
  21245. && lk != 287 // '}'
  21246. && lk != 12808 // IntegerLiteral EOF
  21247. && lk != 12809 // DecimalLiteral EOF
  21248. && lk != 12810 // DoubleLiteral EOF
  21249. && lk != 12811 // StringLiteral EOF
  21250. && lk != 12832 // '$$' EOF
  21251. && lk != 12847 // '/' EOF
  21252. && lk != 12935 // 'false' EOF
  21253. && lk != 12997 // 'null' EOF
  21254. && lk != 13055 // 'true' EOF
  21255. && lk != 16140 // 'variable' '$'
  21256. && lk != 21512 // IntegerLiteral ','
  21257. && lk != 21513 // DecimalLiteral ','
  21258. && lk != 21514 // DoubleLiteral ','
  21259. && lk != 21515 // StringLiteral ','
  21260. && lk != 21536 // '$$' ','
  21261. && lk != 21551 // '/' ','
  21262. && lk != 21639 // 'false' ','
  21263. && lk != 21701 // 'null' ','
  21264. && lk != 21759 // 'true' ','
  21265. && lk != 27656 // IntegerLiteral ';'
  21266. && lk != 27657 // DecimalLiteral ';'
  21267. && lk != 27658 // DoubleLiteral ';'
  21268. && lk != 27659 // StringLiteral ';'
  21269. && lk != 27680 // '$$' ';'
  21270. && lk != 27695 // '/' ';'
  21271. && lk != 27783 // 'false' ';'
  21272. && lk != 27845 // 'null' ';'
  21273. && lk != 27903 // 'true' ';'
  21274. && lk != 91735 // 'break' 'loop'
  21275. && lk != 91751 // 'continue' 'loop'
  21276. && lk != 115333 // 'exit' 'returning'
  21277. && lk != 146952 // IntegerLiteral '}'
  21278. && lk != 146953 // DecimalLiteral '}'
  21279. && lk != 146954 // DoubleLiteral '}'
  21280. && lk != 146955 // StringLiteral '}'
  21281. && lk != 146976 // '$$' '}'
  21282. && lk != 146991 // '/' '}'
  21283. && lk != 147079 // 'false' '}'
  21284. && lk != 147141 // 'null' '}'
  21285. && lk != 147199) // 'true' '}'
  21286. {
  21287. lk = memoized(8, e0);
  21288. if (lk == 0)
  21289. {
  21290. var b0A = b0; var e0A = e0; var l1A = l1;
  21291. var b1A = b1; var e1A = e1; var l2A = l2;
  21292. var b2A = b2; var e2A = e2;
  21293. try
  21294. {
  21295. try_Statement();
  21296. lk = -1;
  21297. }
  21298. catch (p1A)
  21299. {
  21300. lk = -2;
  21301. }
  21302. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21303. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21304. b2 = b2A; e2 = e2A; end = e2A; }}
  21305. memoize(8, e0, lk);
  21306. }
  21307. }
  21308. if (lk != -1
  21309. && lk != 54 // ';'
  21310. && lk != 16140 // 'variable' '$'
  21311. && lk != 27656 // IntegerLiteral ';'
  21312. && lk != 27657 // DecimalLiteral ';'
  21313. && lk != 27658 // DoubleLiteral ';'
  21314. && lk != 27659 // StringLiteral ';'
  21315. && lk != 27680 // '$$' ';'
  21316. && lk != 27695 // '/' ';'
  21317. && lk != 27783 // 'false' ';'
  21318. && lk != 27845 // 'null' ';'
  21319. && lk != 27903 // 'true' ';'
  21320. && lk != 91735 // 'break' 'loop'
  21321. && lk != 91751 // 'continue' 'loop'
  21322. && lk != 115333) // 'exit' 'returning'
  21323. {
  21324. break;
  21325. }
  21326. whitespace();
  21327. parse_Statement();
  21328. }
  21329. eventHandler.endNonterminal("Statements", e0);
  21330. }
  21331. function try_Statements()
  21332. {
  21333. for (;;)
  21334. {
  21335. lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21336. switch (l1)
  21337. {
  21338. case 35: // '('
  21339. lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21340. break;
  21341. case 36: // '(#'
  21342. lookahead2(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  21343. break;
  21344. case 47: // '/'
  21345. lookahead2W(285); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21346. break;
  21347. case 48: // '//'
  21348. lookahead2W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21349. break;
  21350. case 55: // '<'
  21351. lookahead2(4); // QName
  21352. break;
  21353. case 56: // '<!--'
  21354. lookahead2(1); // DirCommentContents
  21355. break;
  21356. case 60: // '<?'
  21357. lookahead2(3); // PITarget
  21358. break;
  21359. case 69: // '['
  21360. lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21361. break;
  21362. case 78: // 'append'
  21363. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21364. break;
  21365. case 133: // 'exit'
  21366. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  21367. break;
  21368. case 139: // 'for'
  21369. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  21370. break;
  21371. case 161: // 'insert'
  21372. lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21373. break;
  21374. case 177: // 'let'
  21375. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  21376. break;
  21377. case 187: // 'namespace'
  21378. lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  21379. break;
  21380. case 220: // 'processing-instruction'
  21381. lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  21382. break;
  21383. case 223: // 'replace'
  21384. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  21385. break;
  21386. case 266: // 'validate'
  21387. lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
  21388. break;
  21389. case 281: // '{'
  21390. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21391. break;
  21392. case 283: // '{|'
  21393. lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21394. break;
  21395. case 31: // '$'
  21396. case 33: // '%'
  21397. lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  21398. break;
  21399. case 83: // 'attribute'
  21400. case 122: // 'element'
  21401. lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  21402. break;
  21403. case 87: // 'break'
  21404. case 103: // 'continue'
  21405. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  21406. break;
  21407. case 97: // 'comment'
  21408. case 249: // 'text'
  21409. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  21410. break;
  21411. case 111: // 'delete'
  21412. case 222: // 'rename'
  21413. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21414. break;
  21415. case 41: // '+'
  21416. case 43: // '-'
  21417. case 196: // 'not'
  21418. lookahead2W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21419. break;
  21420. case 135: // 'false'
  21421. case 197: // 'null'
  21422. case 255: // 'true'
  21423. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' |
  21424. break;
  21425. case 104: // 'copy'
  21426. case 130: // 'every'
  21427. case 240: // 'some'
  21428. case 268: // 'variable'
  21429. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  21430. break;
  21431. case 120: // 'document'
  21432. case 206: // 'ordered'
  21433. case 256: // 'try'
  21434. case 262: // 'unordered'
  21435. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  21436. break;
  21437. case 8: // IntegerLiteral
  21438. case 9: // DecimalLiteral
  21439. case 10: // DoubleLiteral
  21440. case 11: // StringLiteral
  21441. case 32: // '$$'
  21442. lookahead2W(209); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' | '//' |
  21443. break;
  21444. case 79: // 'array'
  21445. case 121: // 'document-node'
  21446. case 125: // 'empty-sequence'
  21447. case 167: // 'item'
  21448. case 169: // 'json-item'
  21449. case 188: // 'namespace-node'
  21450. case 194: // 'node'
  21451. case 230: // 'schema-attribute'
  21452. case 231: // 'schema-element'
  21453. case 247: // 'structured-item'
  21454. lookahead2W(20); // S^WS | '#' | '(:'
  21455. break;
  21456. case 6: // EQName^Token
  21457. case 71: // 'after'
  21458. case 73: // 'allowing'
  21459. case 74: // 'ancestor'
  21460. case 75: // 'ancestor-or-self'
  21461. case 76: // 'and'
  21462. case 80: // 'as'
  21463. case 81: // 'ascending'
  21464. case 82: // 'at'
  21465. case 84: // 'base-uri'
  21466. case 85: // 'before'
  21467. case 86: // 'boundary-space'
  21468. case 89: // 'case'
  21469. case 90: // 'cast'
  21470. case 91: // 'castable'
  21471. case 92: // 'catch'
  21472. case 94: // 'child'
  21473. case 95: // 'collation'
  21474. case 98: // 'constraint'
  21475. case 99: // 'construction'
  21476. case 102: // 'context'
  21477. case 105: // 'copy-namespaces'
  21478. case 106: // 'count'
  21479. case 107: // 'decimal-format'
  21480. case 109: // 'declare'
  21481. case 110: // 'default'
  21482. case 112: // 'descendant'
  21483. case 113: // 'descendant-or-self'
  21484. case 114: // 'descending'
  21485. case 119: // 'div'
  21486. case 123: // 'else'
  21487. case 124: // 'empty'
  21488. case 126: // 'encoding'
  21489. case 127: // 'end'
  21490. case 129: // 'eq'
  21491. case 132: // 'except'
  21492. case 134: // 'external'
  21493. case 136: // 'first'
  21494. case 137: // 'following'
  21495. case 138: // 'following-sibling'
  21496. case 142: // 'from'
  21497. case 143: // 'ft-option'
  21498. case 147: // 'function'
  21499. case 148: // 'ge'
  21500. case 150: // 'group'
  21501. case 152: // 'gt'
  21502. case 153: // 'idiv'
  21503. case 154: // 'if'
  21504. case 155: // 'import'
  21505. case 156: // 'in'
  21506. case 157: // 'index'
  21507. case 162: // 'instance'
  21508. case 163: // 'integrity'
  21509. case 164: // 'intersect'
  21510. case 165: // 'into'
  21511. case 166: // 'is'
  21512. case 168: // 'json'
  21513. case 170: // 'jsoniq'
  21514. case 173: // 'last'
  21515. case 174: // 'lax'
  21516. case 175: // 'le'
  21517. case 179: // 'loop'
  21518. case 181: // 'lt'
  21519. case 183: // 'mod'
  21520. case 184: // 'modify'
  21521. case 185: // 'module'
  21522. case 189: // 'ne'
  21523. case 195: // 'nodes'
  21524. case 198: // 'object'
  21525. case 202: // 'only'
  21526. case 203: // 'option'
  21527. case 204: // 'or'
  21528. case 205: // 'order'
  21529. case 207: // 'ordering'
  21530. case 210: // 'parent'
  21531. case 216: // 'preceding'
  21532. case 217: // 'preceding-sibling'
  21533. case 224: // 'return'
  21534. case 225: // 'returning'
  21535. case 226: // 'revalidation'
  21536. case 228: // 'satisfies'
  21537. case 229: // 'schema'
  21538. case 232: // 'score'
  21539. case 233: // 'select'
  21540. case 234: // 'self'
  21541. case 239: // 'sliding'
  21542. case 241: // 'stable'
  21543. case 242: // 'start'
  21544. case 245: // 'strict'
  21545. case 248: // 'switch'
  21546. case 253: // 'to'
  21547. case 254: // 'treat'
  21548. case 257: // 'tumbling'
  21549. case 258: // 'type'
  21550. case 259: // 'typeswitch'
  21551. case 260: // 'union'
  21552. case 263: // 'updating'
  21553. case 267: // 'value'
  21554. case 269: // 'version'
  21555. case 272: // 'where'
  21556. case 273: // 'while'
  21557. case 276: // 'with'
  21558. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  21559. break;
  21560. default:
  21561. lk = l1;
  21562. }
  21563. if (lk != 25 // EOF
  21564. && lk != 54 // ';'
  21565. && lk != 287 // '}'
  21566. && lk != 12808 // IntegerLiteral EOF
  21567. && lk != 12809 // DecimalLiteral EOF
  21568. && lk != 12810 // DoubleLiteral EOF
  21569. && lk != 12811 // StringLiteral EOF
  21570. && lk != 12832 // '$$' EOF
  21571. && lk != 12847 // '/' EOF
  21572. && lk != 12935 // 'false' EOF
  21573. && lk != 12997 // 'null' EOF
  21574. && lk != 13055 // 'true' EOF
  21575. && lk != 16140 // 'variable' '$'
  21576. && lk != 21512 // IntegerLiteral ','
  21577. && lk != 21513 // DecimalLiteral ','
  21578. && lk != 21514 // DoubleLiteral ','
  21579. && lk != 21515 // StringLiteral ','
  21580. && lk != 21536 // '$$' ','
  21581. && lk != 21551 // '/' ','
  21582. && lk != 21639 // 'false' ','
  21583. && lk != 21701 // 'null' ','
  21584. && lk != 21759 // 'true' ','
  21585. && lk != 27656 // IntegerLiteral ';'
  21586. && lk != 27657 // DecimalLiteral ';'
  21587. && lk != 27658 // DoubleLiteral ';'
  21588. && lk != 27659 // StringLiteral ';'
  21589. && lk != 27680 // '$$' ';'
  21590. && lk != 27695 // '/' ';'
  21591. && lk != 27783 // 'false' ';'
  21592. && lk != 27845 // 'null' ';'
  21593. && lk != 27903 // 'true' ';'
  21594. && lk != 91735 // 'break' 'loop'
  21595. && lk != 91751 // 'continue' 'loop'
  21596. && lk != 115333 // 'exit' 'returning'
  21597. && lk != 146952 // IntegerLiteral '}'
  21598. && lk != 146953 // DecimalLiteral '}'
  21599. && lk != 146954 // DoubleLiteral '}'
  21600. && lk != 146955 // StringLiteral '}'
  21601. && lk != 146976 // '$$' '}'
  21602. && lk != 146991 // '/' '}'
  21603. && lk != 147079 // 'false' '}'
  21604. && lk != 147141 // 'null' '}'
  21605. && lk != 147199) // 'true' '}'
  21606. {
  21607. lk = memoized(8, e0);
  21608. if (lk == 0)
  21609. {
  21610. var b0A = b0; var e0A = e0; var l1A = l1;
  21611. var b1A = b1; var e1A = e1; var l2A = l2;
  21612. var b2A = b2; var e2A = e2;
  21613. try
  21614. {
  21615. try_Statement();
  21616. memoize(8, e0A, -1);
  21617. continue;
  21618. }
  21619. catch (p1A)
  21620. {
  21621. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21622. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21623. b2 = b2A; e2 = e2A; end = e2A; }}
  21624. memoize(8, e0A, -2);
  21625. break;
  21626. }
  21627. }
  21628. }
  21629. if (lk != -1
  21630. && lk != 54 // ';'
  21631. && lk != 16140 // 'variable' '$'
  21632. && lk != 27656 // IntegerLiteral ';'
  21633. && lk != 27657 // DecimalLiteral ';'
  21634. && lk != 27658 // DoubleLiteral ';'
  21635. && lk != 27659 // StringLiteral ';'
  21636. && lk != 27680 // '$$' ';'
  21637. && lk != 27695 // '/' ';'
  21638. && lk != 27783 // 'false' ';'
  21639. && lk != 27845 // 'null' ';'
  21640. && lk != 27903 // 'true' ';'
  21641. && lk != 91735 // 'break' 'loop'
  21642. && lk != 91751 // 'continue' 'loop'
  21643. && lk != 115333) // 'exit' 'returning'
  21644. {
  21645. break;
  21646. }
  21647. try_Statement();
  21648. }
  21649. }
  21650. function parse_StatementsAndExpr()
  21651. {
  21652. eventHandler.startNonterminal("StatementsAndExpr", e0);
  21653. parse_Statements();
  21654. whitespace();
  21655. parse_Expr();
  21656. eventHandler.endNonterminal("StatementsAndExpr", e0);
  21657. }
  21658. function try_StatementsAndExpr()
  21659. {
  21660. try_Statements();
  21661. try_Expr();
  21662. }
  21663. function parse_StatementsAndOptionalExpr()
  21664. {
  21665. eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
  21666. parse_Statements();
  21667. if (l1 != 25 // EOF
  21668. && l1 != 287) // '}'
  21669. {
  21670. whitespace();
  21671. parse_Expr();
  21672. }
  21673. eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
  21674. }
  21675. function try_StatementsAndOptionalExpr()
  21676. {
  21677. try_Statements();
  21678. if (l1 != 25 // EOF
  21679. && l1 != 287) // '}'
  21680. {
  21681. try_Expr();
  21682. }
  21683. }
  21684. function parse_Statement()
  21685. {
  21686. eventHandler.startNonterminal("Statement", e0);
  21687. switch (l1)
  21688. {
  21689. case 133: // 'exit'
  21690. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  21691. break;
  21692. case 139: // 'for'
  21693. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  21694. break;
  21695. case 177: // 'let'
  21696. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  21697. break;
  21698. case 256: // 'try'
  21699. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  21700. break;
  21701. case 268: // 'variable'
  21702. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  21703. break;
  21704. case 281: // '{'
  21705. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  21706. break;
  21707. case 31: // '$'
  21708. case 33: // '%'
  21709. lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  21710. break;
  21711. case 87: // 'break'
  21712. case 103: // 'continue'
  21713. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  21714. break;
  21715. case 154: // 'if'
  21716. case 248: // 'switch'
  21717. case 259: // 'typeswitch'
  21718. case 273: // 'while'
  21719. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  21720. break;
  21721. default:
  21722. lk = l1;
  21723. }
  21724. if (lk != 6 // EQName^Token
  21725. && lk != 8 // IntegerLiteral
  21726. && lk != 9 // DecimalLiteral
  21727. && lk != 10 // DoubleLiteral
  21728. && lk != 11 // StringLiteral
  21729. && lk != 32 // '$$'
  21730. && lk != 35 // '('
  21731. && lk != 36 // '(#'
  21732. && lk != 41 // '+'
  21733. && lk != 43 // '-'
  21734. && lk != 47 // '/'
  21735. && lk != 48 // '//'
  21736. && lk != 54 // ';'
  21737. && lk != 55 // '<'
  21738. && lk != 56 // '<!--'
  21739. && lk != 60 // '<?'
  21740. && lk != 69 // '['
  21741. && lk != 71 // 'after'
  21742. && lk != 73 // 'allowing'
  21743. && lk != 74 // 'ancestor'
  21744. && lk != 75 // 'ancestor-or-self'
  21745. && lk != 76 // 'and'
  21746. && lk != 78 // 'append'
  21747. && lk != 79 // 'array'
  21748. && lk != 80 // 'as'
  21749. && lk != 81 // 'ascending'
  21750. && lk != 82 // 'at'
  21751. && lk != 83 // 'attribute'
  21752. && lk != 84 // 'base-uri'
  21753. && lk != 85 // 'before'
  21754. && lk != 86 // 'boundary-space'
  21755. && lk != 89 // 'case'
  21756. && lk != 90 // 'cast'
  21757. && lk != 91 // 'castable'
  21758. && lk != 92 // 'catch'
  21759. && lk != 94 // 'child'
  21760. && lk != 95 // 'collation'
  21761. && lk != 97 // 'comment'
  21762. && lk != 98 // 'constraint'
  21763. && lk != 99 // 'construction'
  21764. && lk != 102 // 'context'
  21765. && lk != 104 // 'copy'
  21766. && lk != 105 // 'copy-namespaces'
  21767. && lk != 106 // 'count'
  21768. && lk != 107 // 'decimal-format'
  21769. && lk != 109 // 'declare'
  21770. && lk != 110 // 'default'
  21771. && lk != 111 // 'delete'
  21772. && lk != 112 // 'descendant'
  21773. && lk != 113 // 'descendant-or-self'
  21774. && lk != 114 // 'descending'
  21775. && lk != 119 // 'div'
  21776. && lk != 120 // 'document'
  21777. && lk != 121 // 'document-node'
  21778. && lk != 122 // 'element'
  21779. && lk != 123 // 'else'
  21780. && lk != 124 // 'empty'
  21781. && lk != 125 // 'empty-sequence'
  21782. && lk != 126 // 'encoding'
  21783. && lk != 127 // 'end'
  21784. && lk != 129 // 'eq'
  21785. && lk != 130 // 'every'
  21786. && lk != 132 // 'except'
  21787. && lk != 134 // 'external'
  21788. && lk != 135 // 'false'
  21789. && lk != 136 // 'first'
  21790. && lk != 137 // 'following'
  21791. && lk != 138 // 'following-sibling'
  21792. && lk != 142 // 'from'
  21793. && lk != 143 // 'ft-option'
  21794. && lk != 147 // 'function'
  21795. && lk != 148 // 'ge'
  21796. && lk != 150 // 'group'
  21797. && lk != 152 // 'gt'
  21798. && lk != 153 // 'idiv'
  21799. && lk != 155 // 'import'
  21800. && lk != 156 // 'in'
  21801. && lk != 157 // 'index'
  21802. && lk != 161 // 'insert'
  21803. && lk != 162 // 'instance'
  21804. && lk != 163 // 'integrity'
  21805. && lk != 164 // 'intersect'
  21806. && lk != 165 // 'into'
  21807. && lk != 166 // 'is'
  21808. && lk != 167 // 'item'
  21809. && lk != 168 // 'json'
  21810. && lk != 169 // 'json-item'
  21811. && lk != 170 // 'jsoniq'
  21812. && lk != 173 // 'last'
  21813. && lk != 174 // 'lax'
  21814. && lk != 175 // 'le'
  21815. && lk != 179 // 'loop'
  21816. && lk != 181 // 'lt'
  21817. && lk != 183 // 'mod'
  21818. && lk != 184 // 'modify'
  21819. && lk != 185 // 'module'
  21820. && lk != 187 // 'namespace'
  21821. && lk != 188 // 'namespace-node'
  21822. && lk != 189 // 'ne'
  21823. && lk != 194 // 'node'
  21824. && lk != 195 // 'nodes'
  21825. && lk != 196 // 'not'
  21826. && lk != 197 // 'null'
  21827. && lk != 198 // 'object'
  21828. && lk != 202 // 'only'
  21829. && lk != 203 // 'option'
  21830. && lk != 204 // 'or'
  21831. && lk != 205 // 'order'
  21832. && lk != 206 // 'ordered'
  21833. && lk != 207 // 'ordering'
  21834. && lk != 210 // 'parent'
  21835. && lk != 216 // 'preceding'
  21836. && lk != 217 // 'preceding-sibling'
  21837. && lk != 220 // 'processing-instruction'
  21838. && lk != 222 // 'rename'
  21839. && lk != 223 // 'replace'
  21840. && lk != 224 // 'return'
  21841. && lk != 225 // 'returning'
  21842. && lk != 226 // 'revalidation'
  21843. && lk != 228 // 'satisfies'
  21844. && lk != 229 // 'schema'
  21845. && lk != 230 // 'schema-attribute'
  21846. && lk != 231 // 'schema-element'
  21847. && lk != 232 // 'score'
  21848. && lk != 233 // 'select'
  21849. && lk != 234 // 'self'
  21850. && lk != 239 // 'sliding'
  21851. && lk != 240 // 'some'
  21852. && lk != 241 // 'stable'
  21853. && lk != 242 // 'start'
  21854. && lk != 245 // 'strict'
  21855. && lk != 247 // 'structured-item'
  21856. && lk != 249 // 'text'
  21857. && lk != 253 // 'to'
  21858. && lk != 254 // 'treat'
  21859. && lk != 255 // 'true'
  21860. && lk != 257 // 'tumbling'
  21861. && lk != 258 // 'type'
  21862. && lk != 260 // 'union'
  21863. && lk != 262 // 'unordered'
  21864. && lk != 263 // 'updating'
  21865. && lk != 266 // 'validate'
  21866. && lk != 267 // 'value'
  21867. && lk != 269 // 'version'
  21868. && lk != 272 // 'where'
  21869. && lk != 276 // 'with'
  21870. && lk != 283 // '{|'
  21871. && lk != 10009 // '{' NCName^Token
  21872. && lk != 14935 // 'break' '#'
  21873. && lk != 14951 // 'continue' '#'
  21874. && lk != 14981 // 'exit' '#'
  21875. && lk != 14987 // 'for' '#'
  21876. && lk != 15002 // 'if' '#'
  21877. && lk != 15025 // 'let' '#'
  21878. && lk != 15096 // 'switch' '#'
  21879. && lk != 15104 // 'try' '#'
  21880. && lk != 15107 // 'typeswitch' '#'
  21881. && lk != 15116 // 'variable' '#'
  21882. && lk != 15121 // 'while' '#'
  21883. && lk != 16011 // 'for' '$'
  21884. && lk != 16049 // 'let' '$'
  21885. && lk != 16140 // 'variable' '$'
  21886. && lk != 18007 // 'break' '('
  21887. && lk != 18023 // 'continue' '('
  21888. && lk != 18053 // 'exit' '('
  21889. && lk != 18059 // 'for' '('
  21890. && lk != 18074 // 'if' '('
  21891. && lk != 18097 // 'let' '('
  21892. && lk != 18168 // 'switch' '('
  21893. && lk != 18176 // 'try' '('
  21894. && lk != 18179 // 'typeswitch' '('
  21895. && lk != 18188 // 'variable' '('
  21896. && lk != 91735 // 'break' 'loop'
  21897. && lk != 91751 // 'continue' 'loop'
  21898. && lk != 115333 // 'exit' 'returning'
  21899. && lk != 118961 // 'let' 'score'
  21900. && lk != 122507 // 'for' 'sliding'
  21901. && lk != 131723 // 'for' 'tumbling'
  21902. && lk != 144128 // 'try' '{'
  21903. && lk != 147225) // '{' '}'
  21904. {
  21905. lk = memoized(9, e0);
  21906. if (lk == 0)
  21907. {
  21908. var b0A = b0; var e0A = e0; var l1A = l1;
  21909. var b1A = b1; var e1A = e1; var l2A = l2;
  21910. var b2A = b2; var e2A = e2;
  21911. try
  21912. {
  21913. try_ApplyStatement();
  21914. lk = -1;
  21915. }
  21916. catch (p1A)
  21917. {
  21918. try
  21919. {
  21920. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21921. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21922. b2 = b2A; e2 = e2A; end = e2A; }}
  21923. try_AssignStatement();
  21924. lk = -2;
  21925. }
  21926. catch (p2A)
  21927. {
  21928. try
  21929. {
  21930. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21931. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21932. b2 = b2A; e2 = e2A; end = e2A; }}
  21933. try_BlockStatement();
  21934. lk = -3;
  21935. }
  21936. catch (p3A)
  21937. {
  21938. try
  21939. {
  21940. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21941. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21942. b2 = b2A; e2 = e2A; end = e2A; }}
  21943. try_VarDeclStatement();
  21944. lk = -12;
  21945. }
  21946. catch (p12A)
  21947. {
  21948. lk = -13;
  21949. }
  21950. }
  21951. }
  21952. }
  21953. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  21954. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  21955. b2 = b2A; e2 = e2A; end = e2A; }}
  21956. memoize(9, e0, lk);
  21957. }
  21958. }
  21959. switch (lk)
  21960. {
  21961. case -2:
  21962. parse_AssignStatement();
  21963. break;
  21964. case -3:
  21965. parse_BlockStatement();
  21966. break;
  21967. case 91735: // 'break' 'loop'
  21968. parse_BreakStatement();
  21969. break;
  21970. case 91751: // 'continue' 'loop'
  21971. parse_ContinueStatement();
  21972. break;
  21973. case 115333: // 'exit' 'returning'
  21974. parse_ExitStatement();
  21975. break;
  21976. case 16011: // 'for' '$'
  21977. case 16049: // 'let' '$'
  21978. case 118961: // 'let' 'score'
  21979. case 122507: // 'for' 'sliding'
  21980. case 131723: // 'for' 'tumbling'
  21981. parse_FLWORStatement();
  21982. break;
  21983. case 18074: // 'if' '('
  21984. parse_IfStatement();
  21985. break;
  21986. case 18168: // 'switch' '('
  21987. parse_SwitchStatement();
  21988. break;
  21989. case 144128: // 'try' '{'
  21990. parse_TryCatchStatement();
  21991. break;
  21992. case 18179: // 'typeswitch' '('
  21993. parse_TypeswitchStatement();
  21994. break;
  21995. case -12:
  21996. case 16140: // 'variable' '$'
  21997. parse_VarDeclStatement();
  21998. break;
  21999. case -13:
  22000. parse_WhileStatement();
  22001. break;
  22002. case 54: // ';'
  22003. parse_VoidStatement();
  22004. break;
  22005. default:
  22006. parse_ApplyStatement();
  22007. }
  22008. eventHandler.endNonterminal("Statement", e0);
  22009. }
  22010. function try_Statement()
  22011. {
  22012. switch (l1)
  22013. {
  22014. case 133: // 'exit'
  22015. lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
  22016. break;
  22017. case 139: // 'for'
  22018. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  22019. break;
  22020. case 177: // 'let'
  22021. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  22022. break;
  22023. case 256: // 'try'
  22024. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  22025. break;
  22026. case 268: // 'variable'
  22027. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  22028. break;
  22029. case 281: // '{'
  22030. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22031. break;
  22032. case 31: // '$'
  22033. case 33: // '%'
  22034. lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  22035. break;
  22036. case 87: // 'break'
  22037. case 103: // 'continue'
  22038. lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
  22039. break;
  22040. case 154: // 'if'
  22041. case 248: // 'switch'
  22042. case 259: // 'typeswitch'
  22043. case 273: // 'while'
  22044. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  22045. break;
  22046. default:
  22047. lk = l1;
  22048. }
  22049. if (lk != 6 // EQName^Token
  22050. && lk != 8 // IntegerLiteral
  22051. && lk != 9 // DecimalLiteral
  22052. && lk != 10 // DoubleLiteral
  22053. && lk != 11 // StringLiteral
  22054. && lk != 32 // '$$'
  22055. && lk != 35 // '('
  22056. && lk != 36 // '(#'
  22057. && lk != 41 // '+'
  22058. && lk != 43 // '-'
  22059. && lk != 47 // '/'
  22060. && lk != 48 // '//'
  22061. && lk != 54 // ';'
  22062. && lk != 55 // '<'
  22063. && lk != 56 // '<!--'
  22064. && lk != 60 // '<?'
  22065. && lk != 69 // '['
  22066. && lk != 71 // 'after'
  22067. && lk != 73 // 'allowing'
  22068. && lk != 74 // 'ancestor'
  22069. && lk != 75 // 'ancestor-or-self'
  22070. && lk != 76 // 'and'
  22071. && lk != 78 // 'append'
  22072. && lk != 79 // 'array'
  22073. && lk != 80 // 'as'
  22074. && lk != 81 // 'ascending'
  22075. && lk != 82 // 'at'
  22076. && lk != 83 // 'attribute'
  22077. && lk != 84 // 'base-uri'
  22078. && lk != 85 // 'before'
  22079. && lk != 86 // 'boundary-space'
  22080. && lk != 89 // 'case'
  22081. && lk != 90 // 'cast'
  22082. && lk != 91 // 'castable'
  22083. && lk != 92 // 'catch'
  22084. && lk != 94 // 'child'
  22085. && lk != 95 // 'collation'
  22086. && lk != 97 // 'comment'
  22087. && lk != 98 // 'constraint'
  22088. && lk != 99 // 'construction'
  22089. && lk != 102 // 'context'
  22090. && lk != 104 // 'copy'
  22091. && lk != 105 // 'copy-namespaces'
  22092. && lk != 106 // 'count'
  22093. && lk != 107 // 'decimal-format'
  22094. && lk != 109 // 'declare'
  22095. && lk != 110 // 'default'
  22096. && lk != 111 // 'delete'
  22097. && lk != 112 // 'descendant'
  22098. && lk != 113 // 'descendant-or-self'
  22099. && lk != 114 // 'descending'
  22100. && lk != 119 // 'div'
  22101. && lk != 120 // 'document'
  22102. && lk != 121 // 'document-node'
  22103. && lk != 122 // 'element'
  22104. && lk != 123 // 'else'
  22105. && lk != 124 // 'empty'
  22106. && lk != 125 // 'empty-sequence'
  22107. && lk != 126 // 'encoding'
  22108. && lk != 127 // 'end'
  22109. && lk != 129 // 'eq'
  22110. && lk != 130 // 'every'
  22111. && lk != 132 // 'except'
  22112. && lk != 134 // 'external'
  22113. && lk != 135 // 'false'
  22114. && lk != 136 // 'first'
  22115. && lk != 137 // 'following'
  22116. && lk != 138 // 'following-sibling'
  22117. && lk != 142 // 'from'
  22118. && lk != 143 // 'ft-option'
  22119. && lk != 147 // 'function'
  22120. && lk != 148 // 'ge'
  22121. && lk != 150 // 'group'
  22122. && lk != 152 // 'gt'
  22123. && lk != 153 // 'idiv'
  22124. && lk != 155 // 'import'
  22125. && lk != 156 // 'in'
  22126. && lk != 157 // 'index'
  22127. && lk != 161 // 'insert'
  22128. && lk != 162 // 'instance'
  22129. && lk != 163 // 'integrity'
  22130. && lk != 164 // 'intersect'
  22131. && lk != 165 // 'into'
  22132. && lk != 166 // 'is'
  22133. && lk != 167 // 'item'
  22134. && lk != 168 // 'json'
  22135. && lk != 169 // 'json-item'
  22136. && lk != 170 // 'jsoniq'
  22137. && lk != 173 // 'last'
  22138. && lk != 174 // 'lax'
  22139. && lk != 175 // 'le'
  22140. && lk != 179 // 'loop'
  22141. && lk != 181 // 'lt'
  22142. && lk != 183 // 'mod'
  22143. && lk != 184 // 'modify'
  22144. && lk != 185 // 'module'
  22145. && lk != 187 // 'namespace'
  22146. && lk != 188 // 'namespace-node'
  22147. && lk != 189 // 'ne'
  22148. && lk != 194 // 'node'
  22149. && lk != 195 // 'nodes'
  22150. && lk != 196 // 'not'
  22151. && lk != 197 // 'null'
  22152. && lk != 198 // 'object'
  22153. && lk != 202 // 'only'
  22154. && lk != 203 // 'option'
  22155. && lk != 204 // 'or'
  22156. && lk != 205 // 'order'
  22157. && lk != 206 // 'ordered'
  22158. && lk != 207 // 'ordering'
  22159. && lk != 210 // 'parent'
  22160. && lk != 216 // 'preceding'
  22161. && lk != 217 // 'preceding-sibling'
  22162. && lk != 220 // 'processing-instruction'
  22163. && lk != 222 // 'rename'
  22164. && lk != 223 // 'replace'
  22165. && lk != 224 // 'return'
  22166. && lk != 225 // 'returning'
  22167. && lk != 226 // 'revalidation'
  22168. && lk != 228 // 'satisfies'
  22169. && lk != 229 // 'schema'
  22170. && lk != 230 // 'schema-attribute'
  22171. && lk != 231 // 'schema-element'
  22172. && lk != 232 // 'score'
  22173. && lk != 233 // 'select'
  22174. && lk != 234 // 'self'
  22175. && lk != 239 // 'sliding'
  22176. && lk != 240 // 'some'
  22177. && lk != 241 // 'stable'
  22178. && lk != 242 // 'start'
  22179. && lk != 245 // 'strict'
  22180. && lk != 247 // 'structured-item'
  22181. && lk != 249 // 'text'
  22182. && lk != 253 // 'to'
  22183. && lk != 254 // 'treat'
  22184. && lk != 255 // 'true'
  22185. && lk != 257 // 'tumbling'
  22186. && lk != 258 // 'type'
  22187. && lk != 260 // 'union'
  22188. && lk != 262 // 'unordered'
  22189. && lk != 263 // 'updating'
  22190. && lk != 266 // 'validate'
  22191. && lk != 267 // 'value'
  22192. && lk != 269 // 'version'
  22193. && lk != 272 // 'where'
  22194. && lk != 276 // 'with'
  22195. && lk != 283 // '{|'
  22196. && lk != 10009 // '{' NCName^Token
  22197. && lk != 14935 // 'break' '#'
  22198. && lk != 14951 // 'continue' '#'
  22199. && lk != 14981 // 'exit' '#'
  22200. && lk != 14987 // 'for' '#'
  22201. && lk != 15002 // 'if' '#'
  22202. && lk != 15025 // 'let' '#'
  22203. && lk != 15096 // 'switch' '#'
  22204. && lk != 15104 // 'try' '#'
  22205. && lk != 15107 // 'typeswitch' '#'
  22206. && lk != 15116 // 'variable' '#'
  22207. && lk != 15121 // 'while' '#'
  22208. && lk != 16011 // 'for' '$'
  22209. && lk != 16049 // 'let' '$'
  22210. && lk != 16140 // 'variable' '$'
  22211. && lk != 18007 // 'break' '('
  22212. && lk != 18023 // 'continue' '('
  22213. && lk != 18053 // 'exit' '('
  22214. && lk != 18059 // 'for' '('
  22215. && lk != 18074 // 'if' '('
  22216. && lk != 18097 // 'let' '('
  22217. && lk != 18168 // 'switch' '('
  22218. && lk != 18176 // 'try' '('
  22219. && lk != 18179 // 'typeswitch' '('
  22220. && lk != 18188 // 'variable' '('
  22221. && lk != 91735 // 'break' 'loop'
  22222. && lk != 91751 // 'continue' 'loop'
  22223. && lk != 115333 // 'exit' 'returning'
  22224. && lk != 118961 // 'let' 'score'
  22225. && lk != 122507 // 'for' 'sliding'
  22226. && lk != 131723 // 'for' 'tumbling'
  22227. && lk != 144128 // 'try' '{'
  22228. && lk != 147225) // '{' '}'
  22229. {
  22230. lk = memoized(9, e0);
  22231. if (lk == 0)
  22232. {
  22233. var b0A = b0; var e0A = e0; var l1A = l1;
  22234. var b1A = b1; var e1A = e1; var l2A = l2;
  22235. var b2A = b2; var e2A = e2;
  22236. try
  22237. {
  22238. try_ApplyStatement();
  22239. memoize(9, e0A, -1);
  22240. lk = -15;
  22241. }
  22242. catch (p1A)
  22243. {
  22244. try
  22245. {
  22246. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  22247. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  22248. b2 = b2A; e2 = e2A; end = e2A; }}
  22249. try_AssignStatement();
  22250. memoize(9, e0A, -2);
  22251. lk = -15;
  22252. }
  22253. catch (p2A)
  22254. {
  22255. try
  22256. {
  22257. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  22258. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  22259. b2 = b2A; e2 = e2A; end = e2A; }}
  22260. try_BlockStatement();
  22261. memoize(9, e0A, -3);
  22262. lk = -15;
  22263. }
  22264. catch (p3A)
  22265. {
  22266. try
  22267. {
  22268. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  22269. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  22270. b2 = b2A; e2 = e2A; end = e2A; }}
  22271. try_VarDeclStatement();
  22272. memoize(9, e0A, -12);
  22273. lk = -15;
  22274. }
  22275. catch (p12A)
  22276. {
  22277. lk = -13;
  22278. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  22279. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  22280. b2 = b2A; e2 = e2A; end = e2A; }}
  22281. memoize(9, e0A, -13);
  22282. }
  22283. }
  22284. }
  22285. }
  22286. }
  22287. }
  22288. switch (lk)
  22289. {
  22290. case -2:
  22291. try_AssignStatement();
  22292. break;
  22293. case -3:
  22294. try_BlockStatement();
  22295. break;
  22296. case 91735: // 'break' 'loop'
  22297. try_BreakStatement();
  22298. break;
  22299. case 91751: // 'continue' 'loop'
  22300. try_ContinueStatement();
  22301. break;
  22302. case 115333: // 'exit' 'returning'
  22303. try_ExitStatement();
  22304. break;
  22305. case 16011: // 'for' '$'
  22306. case 16049: // 'let' '$'
  22307. case 118961: // 'let' 'score'
  22308. case 122507: // 'for' 'sliding'
  22309. case 131723: // 'for' 'tumbling'
  22310. try_FLWORStatement();
  22311. break;
  22312. case 18074: // 'if' '('
  22313. try_IfStatement();
  22314. break;
  22315. case 18168: // 'switch' '('
  22316. try_SwitchStatement();
  22317. break;
  22318. case 144128: // 'try' '{'
  22319. try_TryCatchStatement();
  22320. break;
  22321. case 18179: // 'typeswitch' '('
  22322. try_TypeswitchStatement();
  22323. break;
  22324. case -12:
  22325. case 16140: // 'variable' '$'
  22326. try_VarDeclStatement();
  22327. break;
  22328. case -13:
  22329. try_WhileStatement();
  22330. break;
  22331. case 54: // ';'
  22332. try_VoidStatement();
  22333. break;
  22334. case -15:
  22335. break;
  22336. default:
  22337. try_ApplyStatement();
  22338. }
  22339. }
  22340. function parse_ApplyStatement()
  22341. {
  22342. eventHandler.startNonterminal("ApplyStatement", e0);
  22343. parse_ExprSimple();
  22344. shift(54); // ';'
  22345. eventHandler.endNonterminal("ApplyStatement", e0);
  22346. }
  22347. function try_ApplyStatement()
  22348. {
  22349. try_ExprSimple();
  22350. shiftT(54); // ';'
  22351. }
  22352. function parse_AssignStatement()
  22353. {
  22354. eventHandler.startNonterminal("AssignStatement", e0);
  22355. shift(31); // '$'
  22356. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  22357. whitespace();
  22358. parse_VarName();
  22359. lookahead1W(28); // S^WS | '(:' | ':='
  22360. shift(53); // ':='
  22361. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22362. whitespace();
  22363. parse_ExprSingle();
  22364. shift(54); // ';'
  22365. eventHandler.endNonterminal("AssignStatement", e0);
  22366. }
  22367. function try_AssignStatement()
  22368. {
  22369. shiftT(31); // '$'
  22370. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  22371. try_VarName();
  22372. lookahead1W(28); // S^WS | '(:' | ':='
  22373. shiftT(53); // ':='
  22374. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22375. try_ExprSingle();
  22376. shiftT(54); // ';'
  22377. }
  22378. function parse_BlockStatement()
  22379. {
  22380. eventHandler.startNonterminal("BlockStatement", e0);
  22381. shift(281); // '{'
  22382. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22383. whitespace();
  22384. parse_Statement();
  22385. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22386. whitespace();
  22387. parse_Statements();
  22388. shift(287); // '}'
  22389. eventHandler.endNonterminal("BlockStatement", e0);
  22390. }
  22391. function try_BlockStatement()
  22392. {
  22393. shiftT(281); // '{'
  22394. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22395. try_Statement();
  22396. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22397. try_Statements();
  22398. shiftT(287); // '}'
  22399. }
  22400. function parse_BreakStatement()
  22401. {
  22402. eventHandler.startNonterminal("BreakStatement", e0);
  22403. shift(87); // 'break'
  22404. lookahead1W(62); // S^WS | '(:' | 'loop'
  22405. shift(179); // 'loop'
  22406. lookahead1W(29); // S^WS | '(:' | ';'
  22407. shift(54); // ';'
  22408. eventHandler.endNonterminal("BreakStatement", e0);
  22409. }
  22410. function try_BreakStatement()
  22411. {
  22412. shiftT(87); // 'break'
  22413. lookahead1W(62); // S^WS | '(:' | 'loop'
  22414. shiftT(179); // 'loop'
  22415. lookahead1W(29); // S^WS | '(:' | ';'
  22416. shiftT(54); // ';'
  22417. }
  22418. function parse_ContinueStatement()
  22419. {
  22420. eventHandler.startNonterminal("ContinueStatement", e0);
  22421. shift(103); // 'continue'
  22422. lookahead1W(62); // S^WS | '(:' | 'loop'
  22423. shift(179); // 'loop'
  22424. lookahead1W(29); // S^WS | '(:' | ';'
  22425. shift(54); // ';'
  22426. eventHandler.endNonterminal("ContinueStatement", e0);
  22427. }
  22428. function try_ContinueStatement()
  22429. {
  22430. shiftT(103); // 'continue'
  22431. lookahead1W(62); // S^WS | '(:' | 'loop'
  22432. shiftT(179); // 'loop'
  22433. lookahead1W(29); // S^WS | '(:' | ';'
  22434. shiftT(54); // ';'
  22435. }
  22436. function parse_ExitStatement()
  22437. {
  22438. eventHandler.startNonterminal("ExitStatement", e0);
  22439. shift(133); // 'exit'
  22440. lookahead1W(74); // S^WS | '(:' | 'returning'
  22441. shift(225); // 'returning'
  22442. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22443. whitespace();
  22444. parse_ExprSingle();
  22445. shift(54); // ';'
  22446. eventHandler.endNonterminal("ExitStatement", e0);
  22447. }
  22448. function try_ExitStatement()
  22449. {
  22450. shiftT(133); // 'exit'
  22451. lookahead1W(74); // S^WS | '(:' | 'returning'
  22452. shiftT(225); // 'returning'
  22453. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22454. try_ExprSingle();
  22455. shiftT(54); // ';'
  22456. }
  22457. function parse_FLWORStatement()
  22458. {
  22459. eventHandler.startNonterminal("FLWORStatement", e0);
  22460. parse_InitialClause();
  22461. for (;;)
  22462. {
  22463. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  22464. if (l1 == 224) // 'return'
  22465. {
  22466. break;
  22467. }
  22468. whitespace();
  22469. parse_IntermediateClause();
  22470. }
  22471. whitespace();
  22472. parse_ReturnStatement();
  22473. eventHandler.endNonterminal("FLWORStatement", e0);
  22474. }
  22475. function try_FLWORStatement()
  22476. {
  22477. try_InitialClause();
  22478. for (;;)
  22479. {
  22480. lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  22481. if (l1 == 224) // 'return'
  22482. {
  22483. break;
  22484. }
  22485. try_IntermediateClause();
  22486. }
  22487. try_ReturnStatement();
  22488. }
  22489. function parse_ReturnStatement()
  22490. {
  22491. eventHandler.startNonterminal("ReturnStatement", e0);
  22492. shift(224); // 'return'
  22493. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22494. whitespace();
  22495. parse_Statement();
  22496. eventHandler.endNonterminal("ReturnStatement", e0);
  22497. }
  22498. function try_ReturnStatement()
  22499. {
  22500. shiftT(224); // 'return'
  22501. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22502. try_Statement();
  22503. }
  22504. function parse_IfStatement()
  22505. {
  22506. eventHandler.startNonterminal("IfStatement", e0);
  22507. shift(154); // 'if'
  22508. lookahead1W(22); // S^WS | '(' | '(:'
  22509. shift(35); // '('
  22510. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22511. whitespace();
  22512. parse_Expr();
  22513. shift(38); // ')'
  22514. lookahead1W(80); // S^WS | '(:' | 'then'
  22515. shift(250); // 'then'
  22516. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22517. whitespace();
  22518. parse_Statement();
  22519. lookahead1W(51); // S^WS | '(:' | 'else'
  22520. shift(123); // 'else'
  22521. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22522. whitespace();
  22523. parse_Statement();
  22524. eventHandler.endNonterminal("IfStatement", e0);
  22525. }
  22526. function try_IfStatement()
  22527. {
  22528. shiftT(154); // 'if'
  22529. lookahead1W(22); // S^WS | '(' | '(:'
  22530. shiftT(35); // '('
  22531. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22532. try_Expr();
  22533. shiftT(38); // ')'
  22534. lookahead1W(80); // S^WS | '(:' | 'then'
  22535. shiftT(250); // 'then'
  22536. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22537. try_Statement();
  22538. lookahead1W(51); // S^WS | '(:' | 'else'
  22539. shiftT(123); // 'else'
  22540. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22541. try_Statement();
  22542. }
  22543. function parse_SwitchStatement()
  22544. {
  22545. eventHandler.startNonterminal("SwitchStatement", e0);
  22546. shift(248); // 'switch'
  22547. lookahead1W(22); // S^WS | '(' | '(:'
  22548. shift(35); // '('
  22549. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22550. whitespace();
  22551. parse_Expr();
  22552. shift(38); // ')'
  22553. for (;;)
  22554. {
  22555. lookahead1W(38); // S^WS | '(:' | 'case'
  22556. whitespace();
  22557. parse_SwitchCaseStatement();
  22558. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  22559. if (l1 != 89) // 'case'
  22560. {
  22561. break;
  22562. }
  22563. }
  22564. shift(110); // 'default'
  22565. lookahead1W(73); // S^WS | '(:' | 'return'
  22566. shift(224); // 'return'
  22567. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22568. whitespace();
  22569. parse_Statement();
  22570. eventHandler.endNonterminal("SwitchStatement", e0);
  22571. }
  22572. function try_SwitchStatement()
  22573. {
  22574. shiftT(248); // 'switch'
  22575. lookahead1W(22); // S^WS | '(' | '(:'
  22576. shiftT(35); // '('
  22577. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22578. try_Expr();
  22579. shiftT(38); // ')'
  22580. for (;;)
  22581. {
  22582. lookahead1W(38); // S^WS | '(:' | 'case'
  22583. try_SwitchCaseStatement();
  22584. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  22585. if (l1 != 89) // 'case'
  22586. {
  22587. break;
  22588. }
  22589. }
  22590. shiftT(110); // 'default'
  22591. lookahead1W(73); // S^WS | '(:' | 'return'
  22592. shiftT(224); // 'return'
  22593. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22594. try_Statement();
  22595. }
  22596. function parse_SwitchCaseStatement()
  22597. {
  22598. eventHandler.startNonterminal("SwitchCaseStatement", e0);
  22599. for (;;)
  22600. {
  22601. shift(89); // 'case'
  22602. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22603. whitespace();
  22604. parse_SwitchCaseOperand();
  22605. if (l1 != 89) // 'case'
  22606. {
  22607. break;
  22608. }
  22609. }
  22610. shift(224); // 'return'
  22611. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22612. whitespace();
  22613. parse_Statement();
  22614. eventHandler.endNonterminal("SwitchCaseStatement", e0);
  22615. }
  22616. function try_SwitchCaseStatement()
  22617. {
  22618. for (;;)
  22619. {
  22620. shiftT(89); // 'case'
  22621. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22622. try_SwitchCaseOperand();
  22623. if (l1 != 89) // 'case'
  22624. {
  22625. break;
  22626. }
  22627. }
  22628. shiftT(224); // 'return'
  22629. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22630. try_Statement();
  22631. }
  22632. function parse_TryCatchStatement()
  22633. {
  22634. eventHandler.startNonterminal("TryCatchStatement", e0);
  22635. shift(256); // 'try'
  22636. lookahead1W(90); // S^WS | '(:' | '{'
  22637. whitespace();
  22638. parse_BlockStatement();
  22639. for (;;)
  22640. {
  22641. lookahead1W(39); // S^WS | '(:' | 'catch'
  22642. shift(92); // 'catch'
  22643. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  22644. whitespace();
  22645. parse_CatchErrorList();
  22646. whitespace();
  22647. parse_BlockStatement();
  22648. lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22649. switch (l1)
  22650. {
  22651. case 92: // 'catch'
  22652. lookahead2W(255); // Wildcard | EQName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' |
  22653. break;
  22654. default:
  22655. lk = l1;
  22656. }
  22657. if (lk != 2652 // 'catch' Wildcard
  22658. && lk != 3164 // 'catch' EQName^Token
  22659. && lk != 36444 // 'catch' 'after'
  22660. && lk != 37468 // 'catch' 'allowing'
  22661. && lk != 37980 // 'catch' 'ancestor'
  22662. && lk != 38492 // 'catch' 'ancestor-or-self'
  22663. && lk != 39004 // 'catch' 'and'
  22664. && lk != 40028 // 'catch' 'append'
  22665. && lk != 40540 // 'catch' 'array'
  22666. && lk != 41052 // 'catch' 'as'
  22667. && lk != 41564 // 'catch' 'ascending'
  22668. && lk != 42076 // 'catch' 'at'
  22669. && lk != 42588 // 'catch' 'attribute'
  22670. && lk != 43100 // 'catch' 'base-uri'
  22671. && lk != 43612 // 'catch' 'before'
  22672. && lk != 44124 // 'catch' 'boundary-space'
  22673. && lk != 44636 // 'catch' 'break'
  22674. && lk != 45660 // 'catch' 'case'
  22675. && lk != 46172 // 'catch' 'cast'
  22676. && lk != 46684 // 'catch' 'castable'
  22677. && lk != 47196 // 'catch' 'catch'
  22678. && lk != 48220 // 'catch' 'child'
  22679. && lk != 48732 // 'catch' 'collation'
  22680. && lk != 49756 // 'catch' 'comment'
  22681. && lk != 50268 // 'catch' 'constraint'
  22682. && lk != 50780 // 'catch' 'construction'
  22683. && lk != 52316 // 'catch' 'context'
  22684. && lk != 52828 // 'catch' 'continue'
  22685. && lk != 53340 // 'catch' 'copy'
  22686. && lk != 53852 // 'catch' 'copy-namespaces'
  22687. && lk != 54364 // 'catch' 'count'
  22688. && lk != 54876 // 'catch' 'decimal-format'
  22689. && lk != 55900 // 'catch' 'declare'
  22690. && lk != 56412 // 'catch' 'default'
  22691. && lk != 56924 // 'catch' 'delete'
  22692. && lk != 57436 // 'catch' 'descendant'
  22693. && lk != 57948 // 'catch' 'descendant-or-self'
  22694. && lk != 58460 // 'catch' 'descending'
  22695. && lk != 61020 // 'catch' 'div'
  22696. && lk != 61532 // 'catch' 'document'
  22697. && lk != 62044 // 'catch' 'document-node'
  22698. && lk != 62556 // 'catch' 'element'
  22699. && lk != 63068 // 'catch' 'else'
  22700. && lk != 63580 // 'catch' 'empty'
  22701. && lk != 64092 // 'catch' 'empty-sequence'
  22702. && lk != 64604 // 'catch' 'encoding'
  22703. && lk != 65116 // 'catch' 'end'
  22704. && lk != 66140 // 'catch' 'eq'
  22705. && lk != 66652 // 'catch' 'every'
  22706. && lk != 67676 // 'catch' 'except'
  22707. && lk != 68188 // 'catch' 'exit'
  22708. && lk != 68700 // 'catch' 'external'
  22709. && lk != 69212 // 'catch' 'false'
  22710. && lk != 69724 // 'catch' 'first'
  22711. && lk != 70236 // 'catch' 'following'
  22712. && lk != 70748 // 'catch' 'following-sibling'
  22713. && lk != 71260 // 'catch' 'for'
  22714. && lk != 72796 // 'catch' 'from'
  22715. && lk != 73308 // 'catch' 'ft-option'
  22716. && lk != 75356 // 'catch' 'function'
  22717. && lk != 75868 // 'catch' 'ge'
  22718. && lk != 76892 // 'catch' 'group'
  22719. && lk != 77916 // 'catch' 'gt'
  22720. && lk != 78428 // 'catch' 'idiv'
  22721. && lk != 78940 // 'catch' 'if'
  22722. && lk != 79452 // 'catch' 'import'
  22723. && lk != 79964 // 'catch' 'in'
  22724. && lk != 80476 // 'catch' 'index'
  22725. && lk != 82524 // 'catch' 'insert'
  22726. && lk != 83036 // 'catch' 'instance'
  22727. && lk != 83548 // 'catch' 'integrity'
  22728. && lk != 84060 // 'catch' 'intersect'
  22729. && lk != 84572 // 'catch' 'into'
  22730. && lk != 85084 // 'catch' 'is'
  22731. && lk != 85596 // 'catch' 'item'
  22732. && lk != 86108 // 'catch' 'json'
  22733. && lk != 86620 // 'catch' 'json-item'
  22734. && lk != 87132 // 'catch' 'jsoniq'
  22735. && lk != 88668 // 'catch' 'last'
  22736. && lk != 89180 // 'catch' 'lax'
  22737. && lk != 89692 // 'catch' 'le'
  22738. && lk != 90716 // 'catch' 'let'
  22739. && lk != 91740 // 'catch' 'loop'
  22740. && lk != 92764 // 'catch' 'lt'
  22741. && lk != 93788 // 'catch' 'mod'
  22742. && lk != 94300 // 'catch' 'modify'
  22743. && lk != 94812 // 'catch' 'module'
  22744. && lk != 95836 // 'catch' 'namespace'
  22745. && lk != 96348 // 'catch' 'namespace-node'
  22746. && lk != 96860 // 'catch' 'ne'
  22747. && lk != 99420 // 'catch' 'node'
  22748. && lk != 99932 // 'catch' 'nodes'
  22749. && lk != 100956 // 'catch' 'null'
  22750. && lk != 101468 // 'catch' 'object'
  22751. && lk != 103516 // 'catch' 'only'
  22752. && lk != 104028 // 'catch' 'option'
  22753. && lk != 104540 // 'catch' 'or'
  22754. && lk != 105052 // 'catch' 'order'
  22755. && lk != 105564 // 'catch' 'ordered'
  22756. && lk != 106076 // 'catch' 'ordering'
  22757. && lk != 107612 // 'catch' 'parent'
  22758. && lk != 110684 // 'catch' 'preceding'
  22759. && lk != 111196 // 'catch' 'preceding-sibling'
  22760. && lk != 112732 // 'catch' 'processing-instruction'
  22761. && lk != 113756 // 'catch' 'rename'
  22762. && lk != 114268 // 'catch' 'replace'
  22763. && lk != 114780 // 'catch' 'return'
  22764. && lk != 115292 // 'catch' 'returning'
  22765. && lk != 115804 // 'catch' 'revalidation'
  22766. && lk != 116828 // 'catch' 'satisfies'
  22767. && lk != 117340 // 'catch' 'schema'
  22768. && lk != 117852 // 'catch' 'schema-attribute'
  22769. && lk != 118364 // 'catch' 'schema-element'
  22770. && lk != 118876 // 'catch' 'score'
  22771. && lk != 119388 // 'catch' 'select'
  22772. && lk != 119900 // 'catch' 'self'
  22773. && lk != 122460 // 'catch' 'sliding'
  22774. && lk != 122972 // 'catch' 'some'
  22775. && lk != 123484 // 'catch' 'stable'
  22776. && lk != 123996 // 'catch' 'start'
  22777. && lk != 125532 // 'catch' 'strict'
  22778. && lk != 126556 // 'catch' 'structured-item'
  22779. && lk != 127068 // 'catch' 'switch'
  22780. && lk != 127580 // 'catch' 'text'
  22781. && lk != 129628 // 'catch' 'to'
  22782. && lk != 130140 // 'catch' 'treat'
  22783. && lk != 130652 // 'catch' 'true'
  22784. && lk != 131164 // 'catch' 'try'
  22785. && lk != 131676 // 'catch' 'tumbling'
  22786. && lk != 132188 // 'catch' 'type'
  22787. && lk != 132700 // 'catch' 'typeswitch'
  22788. && lk != 133212 // 'catch' 'union'
  22789. && lk != 134236 // 'catch' 'unordered'
  22790. && lk != 134748 // 'catch' 'updating'
  22791. && lk != 136284 // 'catch' 'validate'
  22792. && lk != 136796 // 'catch' 'value'
  22793. && lk != 137308 // 'catch' 'variable'
  22794. && lk != 137820 // 'catch' 'version'
  22795. && lk != 139356 // 'catch' 'where'
  22796. && lk != 139868 // 'catch' 'while'
  22797. && lk != 141404) // 'catch' 'with'
  22798. {
  22799. break;
  22800. }
  22801. }
  22802. eventHandler.endNonterminal("TryCatchStatement", e0);
  22803. }
  22804. function try_TryCatchStatement()
  22805. {
  22806. shiftT(256); // 'try'
  22807. lookahead1W(90); // S^WS | '(:' | '{'
  22808. try_BlockStatement();
  22809. for (;;)
  22810. {
  22811. lookahead1W(39); // S^WS | '(:' | 'catch'
  22812. shiftT(92); // 'catch'
  22813. lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  22814. try_CatchErrorList();
  22815. try_BlockStatement();
  22816. lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22817. switch (l1)
  22818. {
  22819. case 92: // 'catch'
  22820. lookahead2W(255); // Wildcard | EQName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' |
  22821. break;
  22822. default:
  22823. lk = l1;
  22824. }
  22825. if (lk != 2652 // 'catch' Wildcard
  22826. && lk != 3164 // 'catch' EQName^Token
  22827. && lk != 36444 // 'catch' 'after'
  22828. && lk != 37468 // 'catch' 'allowing'
  22829. && lk != 37980 // 'catch' 'ancestor'
  22830. && lk != 38492 // 'catch' 'ancestor-or-self'
  22831. && lk != 39004 // 'catch' 'and'
  22832. && lk != 40028 // 'catch' 'append'
  22833. && lk != 40540 // 'catch' 'array'
  22834. && lk != 41052 // 'catch' 'as'
  22835. && lk != 41564 // 'catch' 'ascending'
  22836. && lk != 42076 // 'catch' 'at'
  22837. && lk != 42588 // 'catch' 'attribute'
  22838. && lk != 43100 // 'catch' 'base-uri'
  22839. && lk != 43612 // 'catch' 'before'
  22840. && lk != 44124 // 'catch' 'boundary-space'
  22841. && lk != 44636 // 'catch' 'break'
  22842. && lk != 45660 // 'catch' 'case'
  22843. && lk != 46172 // 'catch' 'cast'
  22844. && lk != 46684 // 'catch' 'castable'
  22845. && lk != 47196 // 'catch' 'catch'
  22846. && lk != 48220 // 'catch' 'child'
  22847. && lk != 48732 // 'catch' 'collation'
  22848. && lk != 49756 // 'catch' 'comment'
  22849. && lk != 50268 // 'catch' 'constraint'
  22850. && lk != 50780 // 'catch' 'construction'
  22851. && lk != 52316 // 'catch' 'context'
  22852. && lk != 52828 // 'catch' 'continue'
  22853. && lk != 53340 // 'catch' 'copy'
  22854. && lk != 53852 // 'catch' 'copy-namespaces'
  22855. && lk != 54364 // 'catch' 'count'
  22856. && lk != 54876 // 'catch' 'decimal-format'
  22857. && lk != 55900 // 'catch' 'declare'
  22858. && lk != 56412 // 'catch' 'default'
  22859. && lk != 56924 // 'catch' 'delete'
  22860. && lk != 57436 // 'catch' 'descendant'
  22861. && lk != 57948 // 'catch' 'descendant-or-self'
  22862. && lk != 58460 // 'catch' 'descending'
  22863. && lk != 61020 // 'catch' 'div'
  22864. && lk != 61532 // 'catch' 'document'
  22865. && lk != 62044 // 'catch' 'document-node'
  22866. && lk != 62556 // 'catch' 'element'
  22867. && lk != 63068 // 'catch' 'else'
  22868. && lk != 63580 // 'catch' 'empty'
  22869. && lk != 64092 // 'catch' 'empty-sequence'
  22870. && lk != 64604 // 'catch' 'encoding'
  22871. && lk != 65116 // 'catch' 'end'
  22872. && lk != 66140 // 'catch' 'eq'
  22873. && lk != 66652 // 'catch' 'every'
  22874. && lk != 67676 // 'catch' 'except'
  22875. && lk != 68188 // 'catch' 'exit'
  22876. && lk != 68700 // 'catch' 'external'
  22877. && lk != 69212 // 'catch' 'false'
  22878. && lk != 69724 // 'catch' 'first'
  22879. && lk != 70236 // 'catch' 'following'
  22880. && lk != 70748 // 'catch' 'following-sibling'
  22881. && lk != 71260 // 'catch' 'for'
  22882. && lk != 72796 // 'catch' 'from'
  22883. && lk != 73308 // 'catch' 'ft-option'
  22884. && lk != 75356 // 'catch' 'function'
  22885. && lk != 75868 // 'catch' 'ge'
  22886. && lk != 76892 // 'catch' 'group'
  22887. && lk != 77916 // 'catch' 'gt'
  22888. && lk != 78428 // 'catch' 'idiv'
  22889. && lk != 78940 // 'catch' 'if'
  22890. && lk != 79452 // 'catch' 'import'
  22891. && lk != 79964 // 'catch' 'in'
  22892. && lk != 80476 // 'catch' 'index'
  22893. && lk != 82524 // 'catch' 'insert'
  22894. && lk != 83036 // 'catch' 'instance'
  22895. && lk != 83548 // 'catch' 'integrity'
  22896. && lk != 84060 // 'catch' 'intersect'
  22897. && lk != 84572 // 'catch' 'into'
  22898. && lk != 85084 // 'catch' 'is'
  22899. && lk != 85596 // 'catch' 'item'
  22900. && lk != 86108 // 'catch' 'json'
  22901. && lk != 86620 // 'catch' 'json-item'
  22902. && lk != 87132 // 'catch' 'jsoniq'
  22903. && lk != 88668 // 'catch' 'last'
  22904. && lk != 89180 // 'catch' 'lax'
  22905. && lk != 89692 // 'catch' 'le'
  22906. && lk != 90716 // 'catch' 'let'
  22907. && lk != 91740 // 'catch' 'loop'
  22908. && lk != 92764 // 'catch' 'lt'
  22909. && lk != 93788 // 'catch' 'mod'
  22910. && lk != 94300 // 'catch' 'modify'
  22911. && lk != 94812 // 'catch' 'module'
  22912. && lk != 95836 // 'catch' 'namespace'
  22913. && lk != 96348 // 'catch' 'namespace-node'
  22914. && lk != 96860 // 'catch' 'ne'
  22915. && lk != 99420 // 'catch' 'node'
  22916. && lk != 99932 // 'catch' 'nodes'
  22917. && lk != 100956 // 'catch' 'null'
  22918. && lk != 101468 // 'catch' 'object'
  22919. && lk != 103516 // 'catch' 'only'
  22920. && lk != 104028 // 'catch' 'option'
  22921. && lk != 104540 // 'catch' 'or'
  22922. && lk != 105052 // 'catch' 'order'
  22923. && lk != 105564 // 'catch' 'ordered'
  22924. && lk != 106076 // 'catch' 'ordering'
  22925. && lk != 107612 // 'catch' 'parent'
  22926. && lk != 110684 // 'catch' 'preceding'
  22927. && lk != 111196 // 'catch' 'preceding-sibling'
  22928. && lk != 112732 // 'catch' 'processing-instruction'
  22929. && lk != 113756 // 'catch' 'rename'
  22930. && lk != 114268 // 'catch' 'replace'
  22931. && lk != 114780 // 'catch' 'return'
  22932. && lk != 115292 // 'catch' 'returning'
  22933. && lk != 115804 // 'catch' 'revalidation'
  22934. && lk != 116828 // 'catch' 'satisfies'
  22935. && lk != 117340 // 'catch' 'schema'
  22936. && lk != 117852 // 'catch' 'schema-attribute'
  22937. && lk != 118364 // 'catch' 'schema-element'
  22938. && lk != 118876 // 'catch' 'score'
  22939. && lk != 119388 // 'catch' 'select'
  22940. && lk != 119900 // 'catch' 'self'
  22941. && lk != 122460 // 'catch' 'sliding'
  22942. && lk != 122972 // 'catch' 'some'
  22943. && lk != 123484 // 'catch' 'stable'
  22944. && lk != 123996 // 'catch' 'start'
  22945. && lk != 125532 // 'catch' 'strict'
  22946. && lk != 126556 // 'catch' 'structured-item'
  22947. && lk != 127068 // 'catch' 'switch'
  22948. && lk != 127580 // 'catch' 'text'
  22949. && lk != 129628 // 'catch' 'to'
  22950. && lk != 130140 // 'catch' 'treat'
  22951. && lk != 130652 // 'catch' 'true'
  22952. && lk != 131164 // 'catch' 'try'
  22953. && lk != 131676 // 'catch' 'tumbling'
  22954. && lk != 132188 // 'catch' 'type'
  22955. && lk != 132700 // 'catch' 'typeswitch'
  22956. && lk != 133212 // 'catch' 'union'
  22957. && lk != 134236 // 'catch' 'unordered'
  22958. && lk != 134748 // 'catch' 'updating'
  22959. && lk != 136284 // 'catch' 'validate'
  22960. && lk != 136796 // 'catch' 'value'
  22961. && lk != 137308 // 'catch' 'variable'
  22962. && lk != 137820 // 'catch' 'version'
  22963. && lk != 139356 // 'catch' 'where'
  22964. && lk != 139868 // 'catch' 'while'
  22965. && lk != 141404) // 'catch' 'with'
  22966. {
  22967. break;
  22968. }
  22969. }
  22970. }
  22971. function parse_TypeswitchStatement()
  22972. {
  22973. eventHandler.startNonterminal("TypeswitchStatement", e0);
  22974. shift(259); // 'typeswitch'
  22975. lookahead1W(22); // S^WS | '(' | '(:'
  22976. shift(35); // '('
  22977. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  22978. whitespace();
  22979. parse_Expr();
  22980. shift(38); // ')'
  22981. for (;;)
  22982. {
  22983. lookahead1W(38); // S^WS | '(:' | 'case'
  22984. whitespace();
  22985. parse_CaseStatement();
  22986. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  22987. if (l1 != 89) // 'case'
  22988. {
  22989. break;
  22990. }
  22991. }
  22992. shift(110); // 'default'
  22993. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  22994. if (l1 == 31) // '$'
  22995. {
  22996. shift(31); // '$'
  22997. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  22998. whitespace();
  22999. parse_VarName();
  23000. }
  23001. lookahead1W(73); // S^WS | '(:' | 'return'
  23002. shift(224); // 'return'
  23003. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23004. whitespace();
  23005. parse_Statement();
  23006. eventHandler.endNonterminal("TypeswitchStatement", e0);
  23007. }
  23008. function try_TypeswitchStatement()
  23009. {
  23010. shiftT(259); // 'typeswitch'
  23011. lookahead1W(22); // S^WS | '(' | '(:'
  23012. shiftT(35); // '('
  23013. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23014. try_Expr();
  23015. shiftT(38); // ')'
  23016. for (;;)
  23017. {
  23018. lookahead1W(38); // S^WS | '(:' | 'case'
  23019. try_CaseStatement();
  23020. lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
  23021. if (l1 != 89) // 'case'
  23022. {
  23023. break;
  23024. }
  23025. }
  23026. shiftT(110); // 'default'
  23027. lookahead1W(99); // S^WS | '$' | '(:' | 'return'
  23028. if (l1 == 31) // '$'
  23029. {
  23030. shiftT(31); // '$'
  23031. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23032. try_VarName();
  23033. }
  23034. lookahead1W(73); // S^WS | '(:' | 'return'
  23035. shiftT(224); // 'return'
  23036. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23037. try_Statement();
  23038. }
  23039. function parse_CaseStatement()
  23040. {
  23041. eventHandler.startNonterminal("CaseStatement", e0);
  23042. shift(89); // 'case'
  23043. lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  23044. if (l1 == 31) // '$'
  23045. {
  23046. shift(31); // '$'
  23047. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23048. whitespace();
  23049. parse_VarName();
  23050. lookahead1W(33); // S^WS | '(:' | 'as'
  23051. shift(80); // 'as'
  23052. }
  23053. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  23054. whitespace();
  23055. parse_SequenceType();
  23056. lookahead1W(73); // S^WS | '(:' | 'return'
  23057. shift(224); // 'return'
  23058. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23059. whitespace();
  23060. parse_Statement();
  23061. eventHandler.endNonterminal("CaseStatement", e0);
  23062. }
  23063. function try_CaseStatement()
  23064. {
  23065. shiftT(89); // 'case'
  23066. lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  23067. if (l1 == 31) // '$'
  23068. {
  23069. shiftT(31); // '$'
  23070. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23071. try_VarName();
  23072. lookahead1W(33); // S^WS | '(:' | 'as'
  23073. shiftT(80); // 'as'
  23074. }
  23075. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  23076. try_SequenceType();
  23077. lookahead1W(73); // S^WS | '(:' | 'return'
  23078. shiftT(224); // 'return'
  23079. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23080. try_Statement();
  23081. }
  23082. function parse_VarDeclStatement()
  23083. {
  23084. eventHandler.startNonterminal("VarDeclStatement", e0);
  23085. for (;;)
  23086. {
  23087. lookahead1W(102); // S^WS | '%' | '(:' | 'variable'
  23088. if (l1 != 33) // '%'
  23089. {
  23090. break;
  23091. }
  23092. whitespace();
  23093. parse_Annotation();
  23094. }
  23095. shift(268); // 'variable'
  23096. lookahead1W(21); // S^WS | '$' | '(:'
  23097. shift(31); // '$'
  23098. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23099. whitespace();
  23100. parse_VarName();
  23101. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  23102. if (l1 == 80) // 'as'
  23103. {
  23104. whitespace();
  23105. parse_TypeDeclaration();
  23106. }
  23107. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  23108. if (l1 == 53) // ':='
  23109. {
  23110. shift(53); // ':='
  23111. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23112. whitespace();
  23113. parse_ExprSingle();
  23114. }
  23115. for (;;)
  23116. {
  23117. if (l1 != 42) // ','
  23118. {
  23119. break;
  23120. }
  23121. shift(42); // ','
  23122. lookahead1W(21); // S^WS | '$' | '(:'
  23123. shift(31); // '$'
  23124. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23125. whitespace();
  23126. parse_VarName();
  23127. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  23128. if (l1 == 80) // 'as'
  23129. {
  23130. whitespace();
  23131. parse_TypeDeclaration();
  23132. }
  23133. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  23134. if (l1 == 53) // ':='
  23135. {
  23136. shift(53); // ':='
  23137. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23138. whitespace();
  23139. parse_ExprSingle();
  23140. }
  23141. }
  23142. shift(54); // ';'
  23143. eventHandler.endNonterminal("VarDeclStatement", e0);
  23144. }
  23145. function try_VarDeclStatement()
  23146. {
  23147. for (;;)
  23148. {
  23149. lookahead1W(102); // S^WS | '%' | '(:' | 'variable'
  23150. if (l1 != 33) // '%'
  23151. {
  23152. break;
  23153. }
  23154. try_Annotation();
  23155. }
  23156. shiftT(268); // 'variable'
  23157. lookahead1W(21); // S^WS | '$' | '(:'
  23158. shiftT(31); // '$'
  23159. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23160. try_VarName();
  23161. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  23162. if (l1 == 80) // 'as'
  23163. {
  23164. try_TypeDeclaration();
  23165. }
  23166. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  23167. if (l1 == 53) // ':='
  23168. {
  23169. shiftT(53); // ':='
  23170. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23171. try_ExprSingle();
  23172. }
  23173. for (;;)
  23174. {
  23175. if (l1 != 42) // ','
  23176. {
  23177. break;
  23178. }
  23179. shiftT(42); // ','
  23180. lookahead1W(21); // S^WS | '$' | '(:'
  23181. shiftT(31); // '$'
  23182. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  23183. try_VarName();
  23184. lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  23185. if (l1 == 80) // 'as'
  23186. {
  23187. try_TypeDeclaration();
  23188. }
  23189. lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
  23190. if (l1 == 53) // ':='
  23191. {
  23192. shiftT(53); // ':='
  23193. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23194. try_ExprSingle();
  23195. }
  23196. }
  23197. shiftT(54); // ';'
  23198. }
  23199. function parse_WhileStatement()
  23200. {
  23201. eventHandler.startNonterminal("WhileStatement", e0);
  23202. shift(273); // 'while'
  23203. lookahead1W(22); // S^WS | '(' | '(:'
  23204. shift(35); // '('
  23205. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23206. whitespace();
  23207. parse_Expr();
  23208. shift(38); // ')'
  23209. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23210. whitespace();
  23211. parse_Statement();
  23212. eventHandler.endNonterminal("WhileStatement", e0);
  23213. }
  23214. function try_WhileStatement()
  23215. {
  23216. shiftT(273); // 'while'
  23217. lookahead1W(22); // S^WS | '(' | '(:'
  23218. shiftT(35); // '('
  23219. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23220. try_Expr();
  23221. shiftT(38); // ')'
  23222. lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23223. try_Statement();
  23224. }
  23225. function parse_VoidStatement()
  23226. {
  23227. eventHandler.startNonterminal("VoidStatement", e0);
  23228. shift(54); // ';'
  23229. eventHandler.endNonterminal("VoidStatement", e0);
  23230. }
  23231. function try_VoidStatement()
  23232. {
  23233. shiftT(54); // ';'
  23234. }
  23235. function parse_ExprSingle()
  23236. {
  23237. eventHandler.startNonterminal("ExprSingle", e0);
  23238. switch (l1)
  23239. {
  23240. case 139: // 'for'
  23241. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  23242. break;
  23243. case 177: // 'let'
  23244. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  23245. break;
  23246. case 256: // 'try'
  23247. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  23248. break;
  23249. case 154: // 'if'
  23250. case 248: // 'switch'
  23251. case 259: // 'typeswitch'
  23252. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  23253. break;
  23254. default:
  23255. lk = l1;
  23256. }
  23257. switch (lk)
  23258. {
  23259. case 16011: // 'for' '$'
  23260. case 16049: // 'let' '$'
  23261. case 118961: // 'let' 'score'
  23262. case 122507: // 'for' 'sliding'
  23263. case 131723: // 'for' 'tumbling'
  23264. parse_FLWORExpr();
  23265. break;
  23266. case 18074: // 'if' '('
  23267. parse_IfExpr();
  23268. break;
  23269. case 18168: // 'switch' '('
  23270. parse_SwitchExpr();
  23271. break;
  23272. case 144128: // 'try' '{'
  23273. parse_TryCatchExpr();
  23274. break;
  23275. case 18179: // 'typeswitch' '('
  23276. parse_TypeswitchExpr();
  23277. break;
  23278. default:
  23279. parse_ExprSimple();
  23280. }
  23281. eventHandler.endNonterminal("ExprSingle", e0);
  23282. }
  23283. function try_ExprSingle()
  23284. {
  23285. switch (l1)
  23286. {
  23287. case 139: // 'for'
  23288. lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
  23289. break;
  23290. case 177: // 'let'
  23291. lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
  23292. break;
  23293. case 256: // 'try'
  23294. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  23295. break;
  23296. case 154: // 'if'
  23297. case 248: // 'switch'
  23298. case 259: // 'typeswitch'
  23299. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  23300. break;
  23301. default:
  23302. lk = l1;
  23303. }
  23304. switch (lk)
  23305. {
  23306. case 16011: // 'for' '$'
  23307. case 16049: // 'let' '$'
  23308. case 118961: // 'let' 'score'
  23309. case 122507: // 'for' 'sliding'
  23310. case 131723: // 'for' 'tumbling'
  23311. try_FLWORExpr();
  23312. break;
  23313. case 18074: // 'if' '('
  23314. try_IfExpr();
  23315. break;
  23316. case 18168: // 'switch' '('
  23317. try_SwitchExpr();
  23318. break;
  23319. case 144128: // 'try' '{'
  23320. try_TryCatchExpr();
  23321. break;
  23322. case 18179: // 'typeswitch' '('
  23323. try_TypeswitchExpr();
  23324. break;
  23325. default:
  23326. try_ExprSimple();
  23327. }
  23328. }
  23329. function parse_ExprSimple()
  23330. {
  23331. eventHandler.startNonterminal("ExprSimple", e0);
  23332. switch (l1)
  23333. {
  23334. case 78: // 'append'
  23335. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23336. break;
  23337. case 161: // 'insert'
  23338. lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23339. break;
  23340. case 223: // 'replace'
  23341. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  23342. break;
  23343. case 111: // 'delete'
  23344. case 222: // 'rename'
  23345. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  23346. break;
  23347. case 104: // 'copy'
  23348. case 130: // 'every'
  23349. case 240: // 'some'
  23350. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  23351. break;
  23352. default:
  23353. lk = l1;
  23354. }
  23355. if (lk == 17998 // 'append' '('
  23356. || lk == 18031 // 'delete' '('
  23357. || lk == 18081 // 'insert' '('
  23358. || lk == 18142 // 'rename' '('
  23359. || lk == 99439 // 'delete' 'node'
  23360. || lk == 99489 // 'insert' 'node'
  23361. || lk == 99550 // 'rename' 'node'
  23362. || lk == 99951 // 'delete' 'nodes'
  23363. || lk == 100001 // 'insert' 'nodes'
  23364. || lk == 136927) // 'replace' 'value'
  23365. {
  23366. lk = memoized(10, e0);
  23367. if (lk == 0)
  23368. {
  23369. var b0A = b0; var e0A = e0; var l1A = l1;
  23370. var b1A = b1; var e1A = e1; var l2A = l2;
  23371. var b2A = b2; var e2A = e2;
  23372. try
  23373. {
  23374. try_OrExpr();
  23375. lk = -2;
  23376. }
  23377. catch (p2A)
  23378. {
  23379. try
  23380. {
  23381. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23382. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23383. b2 = b2A; e2 = e2A; end = e2A; }}
  23384. try_InsertExpr();
  23385. lk = -3;
  23386. }
  23387. catch (p3A)
  23388. {
  23389. try
  23390. {
  23391. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23392. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23393. b2 = b2A; e2 = e2A; end = e2A; }}
  23394. try_DeleteExpr();
  23395. lk = -4;
  23396. }
  23397. catch (p4A)
  23398. {
  23399. try
  23400. {
  23401. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23402. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23403. b2 = b2A; e2 = e2A; end = e2A; }}
  23404. try_RenameExpr();
  23405. lk = -5;
  23406. }
  23407. catch (p5A)
  23408. {
  23409. try
  23410. {
  23411. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23412. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23413. b2 = b2A; e2 = e2A; end = e2A; }}
  23414. try_ReplaceExpr();
  23415. lk = -6;
  23416. }
  23417. catch (p6A)
  23418. {
  23419. try
  23420. {
  23421. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23422. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23423. b2 = b2A; e2 = e2A; end = e2A; }}
  23424. try_JSONDeleteExpr();
  23425. lk = -8;
  23426. }
  23427. catch (p8A)
  23428. {
  23429. try
  23430. {
  23431. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23432. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23433. b2 = b2A; e2 = e2A; end = e2A; }}
  23434. try_JSONInsertExpr();
  23435. lk = -9;
  23436. }
  23437. catch (p9A)
  23438. {
  23439. try
  23440. {
  23441. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23442. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23443. b2 = b2A; e2 = e2A; end = e2A; }}
  23444. try_JSONRenameExpr();
  23445. lk = -10;
  23446. }
  23447. catch (p10A)
  23448. {
  23449. try
  23450. {
  23451. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23452. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23453. b2 = b2A; e2 = e2A; end = e2A; }}
  23454. try_JSONReplaceExpr();
  23455. lk = -11;
  23456. }
  23457. catch (p11A)
  23458. {
  23459. lk = -12;
  23460. }
  23461. }
  23462. }
  23463. }
  23464. }
  23465. }
  23466. }
  23467. }
  23468. }
  23469. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  23470. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  23471. b2 = b2A; e2 = e2A; end = e2A; }}
  23472. memoize(10, e0, lk);
  23473. }
  23474. }
  23475. switch (lk)
  23476. {
  23477. case 16002: // 'every' '$'
  23478. case 16112: // 'some' '$'
  23479. parse_QuantifiedExpr();
  23480. break;
  23481. case -3:
  23482. parse_InsertExpr();
  23483. break;
  23484. case -4:
  23485. parse_DeleteExpr();
  23486. break;
  23487. case -5:
  23488. parse_RenameExpr();
  23489. break;
  23490. case -6:
  23491. case 99551: // 'replace' 'node'
  23492. parse_ReplaceExpr();
  23493. break;
  23494. case 15976: // 'copy' '$'
  23495. parse_TransformExpr();
  23496. break;
  23497. case -8:
  23498. case 3183: // 'delete' EQName^Token
  23499. case 4207: // 'delete' IntegerLiteral
  23500. case 4719: // 'delete' DecimalLiteral
  23501. case 5231: // 'delete' DoubleLiteral
  23502. case 5743: // 'delete' StringLiteral
  23503. case 15983: // 'delete' '$'
  23504. case 16495: // 'delete' '$$'
  23505. case 17007: // 'delete' '%'
  23506. case 28271: // 'delete' '<'
  23507. case 28783: // 'delete' '<!--'
  23508. case 30831: // 'delete' '<?'
  23509. case 35439: // 'delete' '['
  23510. case 36463: // 'delete' 'after'
  23511. case 37487: // 'delete' 'allowing'
  23512. case 37999: // 'delete' 'ancestor'
  23513. case 38511: // 'delete' 'ancestor-or-self'
  23514. case 39023: // 'delete' 'and'
  23515. case 40047: // 'delete' 'append'
  23516. case 40559: // 'delete' 'array'
  23517. case 41071: // 'delete' 'as'
  23518. case 41583: // 'delete' 'ascending'
  23519. case 42095: // 'delete' 'at'
  23520. case 42607: // 'delete' 'attribute'
  23521. case 43119: // 'delete' 'base-uri'
  23522. case 43631: // 'delete' 'before'
  23523. case 44143: // 'delete' 'boundary-space'
  23524. case 44655: // 'delete' 'break'
  23525. case 45679: // 'delete' 'case'
  23526. case 46191: // 'delete' 'cast'
  23527. case 46703: // 'delete' 'castable'
  23528. case 47215: // 'delete' 'catch'
  23529. case 48239: // 'delete' 'child'
  23530. case 48751: // 'delete' 'collation'
  23531. case 49775: // 'delete' 'comment'
  23532. case 50287: // 'delete' 'constraint'
  23533. case 50799: // 'delete' 'construction'
  23534. case 52335: // 'delete' 'context'
  23535. case 52847: // 'delete' 'continue'
  23536. case 53359: // 'delete' 'copy'
  23537. case 53871: // 'delete' 'copy-namespaces'
  23538. case 54383: // 'delete' 'count'
  23539. case 54895: // 'delete' 'decimal-format'
  23540. case 55919: // 'delete' 'declare'
  23541. case 56431: // 'delete' 'default'
  23542. case 56943: // 'delete' 'delete'
  23543. case 57455: // 'delete' 'descendant'
  23544. case 57967: // 'delete' 'descendant-or-self'
  23545. case 58479: // 'delete' 'descending'
  23546. case 61039: // 'delete' 'div'
  23547. case 61551: // 'delete' 'document'
  23548. case 62063: // 'delete' 'document-node'
  23549. case 62575: // 'delete' 'element'
  23550. case 63087: // 'delete' 'else'
  23551. case 63599: // 'delete' 'empty'
  23552. case 64111: // 'delete' 'empty-sequence'
  23553. case 64623: // 'delete' 'encoding'
  23554. case 65135: // 'delete' 'end'
  23555. case 66159: // 'delete' 'eq'
  23556. case 66671: // 'delete' 'every'
  23557. case 67695: // 'delete' 'except'
  23558. case 68207: // 'delete' 'exit'
  23559. case 68719: // 'delete' 'external'
  23560. case 69231: // 'delete' 'false'
  23561. case 69743: // 'delete' 'first'
  23562. case 70255: // 'delete' 'following'
  23563. case 70767: // 'delete' 'following-sibling'
  23564. case 71279: // 'delete' 'for'
  23565. case 72815: // 'delete' 'from'
  23566. case 73327: // 'delete' 'ft-option'
  23567. case 75375: // 'delete' 'function'
  23568. case 75887: // 'delete' 'ge'
  23569. case 76911: // 'delete' 'group'
  23570. case 77935: // 'delete' 'gt'
  23571. case 78447: // 'delete' 'idiv'
  23572. case 78959: // 'delete' 'if'
  23573. case 79471: // 'delete' 'import'
  23574. case 79983: // 'delete' 'in'
  23575. case 80495: // 'delete' 'index'
  23576. case 82543: // 'delete' 'insert'
  23577. case 83055: // 'delete' 'instance'
  23578. case 83567: // 'delete' 'integrity'
  23579. case 84079: // 'delete' 'intersect'
  23580. case 84591: // 'delete' 'into'
  23581. case 85103: // 'delete' 'is'
  23582. case 85615: // 'delete' 'item'
  23583. case 86127: // 'delete' 'json'
  23584. case 86639: // 'delete' 'json-item'
  23585. case 87151: // 'delete' 'jsoniq'
  23586. case 88687: // 'delete' 'last'
  23587. case 89199: // 'delete' 'lax'
  23588. case 89711: // 'delete' 'le'
  23589. case 90735: // 'delete' 'let'
  23590. case 91759: // 'delete' 'loop'
  23591. case 92783: // 'delete' 'lt'
  23592. case 93807: // 'delete' 'mod'
  23593. case 94319: // 'delete' 'modify'
  23594. case 94831: // 'delete' 'module'
  23595. case 95855: // 'delete' 'namespace'
  23596. case 96367: // 'delete' 'namespace-node'
  23597. case 96879: // 'delete' 'ne'
  23598. case 100975: // 'delete' 'null'
  23599. case 101487: // 'delete' 'object'
  23600. case 103535: // 'delete' 'only'
  23601. case 104047: // 'delete' 'option'
  23602. case 104559: // 'delete' 'or'
  23603. case 105071: // 'delete' 'order'
  23604. case 105583: // 'delete' 'ordered'
  23605. case 106095: // 'delete' 'ordering'
  23606. case 107631: // 'delete' 'parent'
  23607. case 110703: // 'delete' 'preceding'
  23608. case 111215: // 'delete' 'preceding-sibling'
  23609. case 112751: // 'delete' 'processing-instruction'
  23610. case 113775: // 'delete' 'rename'
  23611. case 114287: // 'delete' 'replace'
  23612. case 114799: // 'delete' 'return'
  23613. case 115311: // 'delete' 'returning'
  23614. case 115823: // 'delete' 'revalidation'
  23615. case 116847: // 'delete' 'satisfies'
  23616. case 117359: // 'delete' 'schema'
  23617. case 117871: // 'delete' 'schema-attribute'
  23618. case 118383: // 'delete' 'schema-element'
  23619. case 118895: // 'delete' 'score'
  23620. case 119407: // 'delete' 'select'
  23621. case 119919: // 'delete' 'self'
  23622. case 122479: // 'delete' 'sliding'
  23623. case 122991: // 'delete' 'some'
  23624. case 123503: // 'delete' 'stable'
  23625. case 124015: // 'delete' 'start'
  23626. case 125551: // 'delete' 'strict'
  23627. case 126575: // 'delete' 'structured-item'
  23628. case 127087: // 'delete' 'switch'
  23629. case 127599: // 'delete' 'text'
  23630. case 129647: // 'delete' 'to'
  23631. case 130159: // 'delete' 'treat'
  23632. case 130671: // 'delete' 'true'
  23633. case 131183: // 'delete' 'try'
  23634. case 131695: // 'delete' 'tumbling'
  23635. case 132207: // 'delete' 'type'
  23636. case 132719: // 'delete' 'typeswitch'
  23637. case 133231: // 'delete' 'union'
  23638. case 134255: // 'delete' 'unordered'
  23639. case 134767: // 'delete' 'updating'
  23640. case 136303: // 'delete' 'validate'
  23641. case 136815: // 'delete' 'value'
  23642. case 137327: // 'delete' 'variable'
  23643. case 137839: // 'delete' 'version'
  23644. case 139375: // 'delete' 'where'
  23645. case 139887: // 'delete' 'while'
  23646. case 141423: // 'delete' 'with'
  23647. case 143983: // 'delete' '{'
  23648. case 145007: // 'delete' '{|'
  23649. parse_JSONDeleteExpr();
  23650. break;
  23651. case -9:
  23652. case 3233: // 'insert' EQName^Token
  23653. case 4257: // 'insert' IntegerLiteral
  23654. case 4769: // 'insert' DecimalLiteral
  23655. case 5281: // 'insert' DoubleLiteral
  23656. case 5793: // 'insert' StringLiteral
  23657. case 9889: // 'insert' NCName^Token
  23658. case 16033: // 'insert' '$'
  23659. case 16545: // 'insert' '$$'
  23660. case 17057: // 'insert' '%'
  23661. case 18593: // 'insert' '(#'
  23662. case 21153: // 'insert' '+'
  23663. case 22177: // 'insert' '-'
  23664. case 24225: // 'insert' '/'
  23665. case 24737: // 'insert' '//'
  23666. case 28321: // 'insert' '<'
  23667. case 28833: // 'insert' '<!--'
  23668. case 30881: // 'insert' '<?'
  23669. case 35489: // 'insert' '['
  23670. case 36513: // 'insert' 'after'
  23671. case 37537: // 'insert' 'allowing'
  23672. case 38049: // 'insert' 'ancestor'
  23673. case 38561: // 'insert' 'ancestor-or-self'
  23674. case 39073: // 'insert' 'and'
  23675. case 40097: // 'insert' 'append'
  23676. case 40609: // 'insert' 'array'
  23677. case 41121: // 'insert' 'as'
  23678. case 41633: // 'insert' 'ascending'
  23679. case 42145: // 'insert' 'at'
  23680. case 42657: // 'insert' 'attribute'
  23681. case 43169: // 'insert' 'base-uri'
  23682. case 43681: // 'insert' 'before'
  23683. case 44193: // 'insert' 'boundary-space'
  23684. case 44705: // 'insert' 'break'
  23685. case 45729: // 'insert' 'case'
  23686. case 46241: // 'insert' 'cast'
  23687. case 46753: // 'insert' 'castable'
  23688. case 47265: // 'insert' 'catch'
  23689. case 48289: // 'insert' 'child'
  23690. case 48801: // 'insert' 'collation'
  23691. case 49825: // 'insert' 'comment'
  23692. case 50337: // 'insert' 'constraint'
  23693. case 50849: // 'insert' 'construction'
  23694. case 52385: // 'insert' 'context'
  23695. case 52897: // 'insert' 'continue'
  23696. case 53409: // 'insert' 'copy'
  23697. case 53921: // 'insert' 'copy-namespaces'
  23698. case 54433: // 'insert' 'count'
  23699. case 54945: // 'insert' 'decimal-format'
  23700. case 55969: // 'insert' 'declare'
  23701. case 56481: // 'insert' 'default'
  23702. case 56993: // 'insert' 'delete'
  23703. case 57505: // 'insert' 'descendant'
  23704. case 58017: // 'insert' 'descendant-or-self'
  23705. case 58529: // 'insert' 'descending'
  23706. case 61089: // 'insert' 'div'
  23707. case 61601: // 'insert' 'document'
  23708. case 62113: // 'insert' 'document-node'
  23709. case 62625: // 'insert' 'element'
  23710. case 63137: // 'insert' 'else'
  23711. case 63649: // 'insert' 'empty'
  23712. case 64161: // 'insert' 'empty-sequence'
  23713. case 64673: // 'insert' 'encoding'
  23714. case 65185: // 'insert' 'end'
  23715. case 66209: // 'insert' 'eq'
  23716. case 66721: // 'insert' 'every'
  23717. case 67745: // 'insert' 'except'
  23718. case 68257: // 'insert' 'exit'
  23719. case 68769: // 'insert' 'external'
  23720. case 69281: // 'insert' 'false'
  23721. case 69793: // 'insert' 'first'
  23722. case 70305: // 'insert' 'following'
  23723. case 70817: // 'insert' 'following-sibling'
  23724. case 71329: // 'insert' 'for'
  23725. case 72865: // 'insert' 'from'
  23726. case 73377: // 'insert' 'ft-option'
  23727. case 75425: // 'insert' 'function'
  23728. case 75937: // 'insert' 'ge'
  23729. case 76961: // 'insert' 'group'
  23730. case 77985: // 'insert' 'gt'
  23731. case 78497: // 'insert' 'idiv'
  23732. case 79009: // 'insert' 'if'
  23733. case 79521: // 'insert' 'import'
  23734. case 80033: // 'insert' 'in'
  23735. case 80545: // 'insert' 'index'
  23736. case 82593: // 'insert' 'insert'
  23737. case 83105: // 'insert' 'instance'
  23738. case 83617: // 'insert' 'integrity'
  23739. case 84129: // 'insert' 'intersect'
  23740. case 84641: // 'insert' 'into'
  23741. case 85153: // 'insert' 'is'
  23742. case 85665: // 'insert' 'item'
  23743. case 86177: // 'insert' 'json'
  23744. case 86689: // 'insert' 'json-item'
  23745. case 87201: // 'insert' 'jsoniq'
  23746. case 88737: // 'insert' 'last'
  23747. case 89249: // 'insert' 'lax'
  23748. case 89761: // 'insert' 'le'
  23749. case 90785: // 'insert' 'let'
  23750. case 91809: // 'insert' 'loop'
  23751. case 92833: // 'insert' 'lt'
  23752. case 93857: // 'insert' 'mod'
  23753. case 94369: // 'insert' 'modify'
  23754. case 94881: // 'insert' 'module'
  23755. case 95905: // 'insert' 'namespace'
  23756. case 96417: // 'insert' 'namespace-node'
  23757. case 96929: // 'insert' 'ne'
  23758. case 100513: // 'insert' 'not'
  23759. case 101025: // 'insert' 'null'
  23760. case 101537: // 'insert' 'object'
  23761. case 103585: // 'insert' 'only'
  23762. case 104097: // 'insert' 'option'
  23763. case 104609: // 'insert' 'or'
  23764. case 105121: // 'insert' 'order'
  23765. case 105633: // 'insert' 'ordered'
  23766. case 106145: // 'insert' 'ordering'
  23767. case 107681: // 'insert' 'parent'
  23768. case 110753: // 'insert' 'preceding'
  23769. case 111265: // 'insert' 'preceding-sibling'
  23770. case 112801: // 'insert' 'processing-instruction'
  23771. case 113825: // 'insert' 'rename'
  23772. case 114337: // 'insert' 'replace'
  23773. case 114849: // 'insert' 'return'
  23774. case 115361: // 'insert' 'returning'
  23775. case 115873: // 'insert' 'revalidation'
  23776. case 116897: // 'insert' 'satisfies'
  23777. case 117409: // 'insert' 'schema'
  23778. case 117921: // 'insert' 'schema-attribute'
  23779. case 118433: // 'insert' 'schema-element'
  23780. case 118945: // 'insert' 'score'
  23781. case 119457: // 'insert' 'select'
  23782. case 119969: // 'insert' 'self'
  23783. case 122529: // 'insert' 'sliding'
  23784. case 123041: // 'insert' 'some'
  23785. case 123553: // 'insert' 'stable'
  23786. case 124065: // 'insert' 'start'
  23787. case 125601: // 'insert' 'strict'
  23788. case 126625: // 'insert' 'structured-item'
  23789. case 127137: // 'insert' 'switch'
  23790. case 127649: // 'insert' 'text'
  23791. case 129697: // 'insert' 'to'
  23792. case 130209: // 'insert' 'treat'
  23793. case 130721: // 'insert' 'true'
  23794. case 131233: // 'insert' 'try'
  23795. case 131745: // 'insert' 'tumbling'
  23796. case 132257: // 'insert' 'type'
  23797. case 132769: // 'insert' 'typeswitch'
  23798. case 133281: // 'insert' 'union'
  23799. case 134305: // 'insert' 'unordered'
  23800. case 134817: // 'insert' 'updating'
  23801. case 136353: // 'insert' 'validate'
  23802. case 136865: // 'insert' 'value'
  23803. case 137377: // 'insert' 'variable'
  23804. case 137889: // 'insert' 'version'
  23805. case 139425: // 'insert' 'where'
  23806. case 139937: // 'insert' 'while'
  23807. case 141473: // 'insert' 'with'
  23808. case 144033: // 'insert' '{'
  23809. case 145057: // 'insert' '{|'
  23810. parse_JSONInsertExpr();
  23811. break;
  23812. case -10:
  23813. case 3294: // 'rename' EQName^Token
  23814. case 4318: // 'rename' IntegerLiteral
  23815. case 4830: // 'rename' DecimalLiteral
  23816. case 5342: // 'rename' DoubleLiteral
  23817. case 5854: // 'rename' StringLiteral
  23818. case 16094: // 'rename' '$'
  23819. case 16606: // 'rename' '$$'
  23820. case 17118: // 'rename' '%'
  23821. case 28382: // 'rename' '<'
  23822. case 28894: // 'rename' '<!--'
  23823. case 30942: // 'rename' '<?'
  23824. case 35550: // 'rename' '['
  23825. case 36574: // 'rename' 'after'
  23826. case 37598: // 'rename' 'allowing'
  23827. case 38110: // 'rename' 'ancestor'
  23828. case 38622: // 'rename' 'ancestor-or-self'
  23829. case 39134: // 'rename' 'and'
  23830. case 40158: // 'rename' 'append'
  23831. case 40670: // 'rename' 'array'
  23832. case 41182: // 'rename' 'as'
  23833. case 41694: // 'rename' 'ascending'
  23834. case 42206: // 'rename' 'at'
  23835. case 42718: // 'rename' 'attribute'
  23836. case 43230: // 'rename' 'base-uri'
  23837. case 43742: // 'rename' 'before'
  23838. case 44254: // 'rename' 'boundary-space'
  23839. case 44766: // 'rename' 'break'
  23840. case 45790: // 'rename' 'case'
  23841. case 46302: // 'rename' 'cast'
  23842. case 46814: // 'rename' 'castable'
  23843. case 47326: // 'rename' 'catch'
  23844. case 48350: // 'rename' 'child'
  23845. case 48862: // 'rename' 'collation'
  23846. case 49886: // 'rename' 'comment'
  23847. case 50398: // 'rename' 'constraint'
  23848. case 50910: // 'rename' 'construction'
  23849. case 52446: // 'rename' 'context'
  23850. case 52958: // 'rename' 'continue'
  23851. case 53470: // 'rename' 'copy'
  23852. case 53982: // 'rename' 'copy-namespaces'
  23853. case 54494: // 'rename' 'count'
  23854. case 55006: // 'rename' 'decimal-format'
  23855. case 56030: // 'rename' 'declare'
  23856. case 56542: // 'rename' 'default'
  23857. case 57054: // 'rename' 'delete'
  23858. case 57566: // 'rename' 'descendant'
  23859. case 58078: // 'rename' 'descendant-or-self'
  23860. case 58590: // 'rename' 'descending'
  23861. case 61150: // 'rename' 'div'
  23862. case 61662: // 'rename' 'document'
  23863. case 62174: // 'rename' 'document-node'
  23864. case 62686: // 'rename' 'element'
  23865. case 63198: // 'rename' 'else'
  23866. case 63710: // 'rename' 'empty'
  23867. case 64222: // 'rename' 'empty-sequence'
  23868. case 64734: // 'rename' 'encoding'
  23869. case 65246: // 'rename' 'end'
  23870. case 66270: // 'rename' 'eq'
  23871. case 66782: // 'rename' 'every'
  23872. case 67806: // 'rename' 'except'
  23873. case 68318: // 'rename' 'exit'
  23874. case 68830: // 'rename' 'external'
  23875. case 69342: // 'rename' 'false'
  23876. case 69854: // 'rename' 'first'
  23877. case 70366: // 'rename' 'following'
  23878. case 70878: // 'rename' 'following-sibling'
  23879. case 71390: // 'rename' 'for'
  23880. case 72926: // 'rename' 'from'
  23881. case 73438: // 'rename' 'ft-option'
  23882. case 75486: // 'rename' 'function'
  23883. case 75998: // 'rename' 'ge'
  23884. case 77022: // 'rename' 'group'
  23885. case 78046: // 'rename' 'gt'
  23886. case 78558: // 'rename' 'idiv'
  23887. case 79070: // 'rename' 'if'
  23888. case 79582: // 'rename' 'import'
  23889. case 80094: // 'rename' 'in'
  23890. case 80606: // 'rename' 'index'
  23891. case 82654: // 'rename' 'insert'
  23892. case 83166: // 'rename' 'instance'
  23893. case 83678: // 'rename' 'integrity'
  23894. case 84190: // 'rename' 'intersect'
  23895. case 84702: // 'rename' 'into'
  23896. case 85214: // 'rename' 'is'
  23897. case 85726: // 'rename' 'item'
  23898. case 86238: // 'rename' 'json'
  23899. case 86750: // 'rename' 'json-item'
  23900. case 87262: // 'rename' 'jsoniq'
  23901. case 88798: // 'rename' 'last'
  23902. case 89310: // 'rename' 'lax'
  23903. case 89822: // 'rename' 'le'
  23904. case 90846: // 'rename' 'let'
  23905. case 91870: // 'rename' 'loop'
  23906. case 92894: // 'rename' 'lt'
  23907. case 93918: // 'rename' 'mod'
  23908. case 94430: // 'rename' 'modify'
  23909. case 94942: // 'rename' 'module'
  23910. case 95966: // 'rename' 'namespace'
  23911. case 96478: // 'rename' 'namespace-node'
  23912. case 96990: // 'rename' 'ne'
  23913. case 100062: // 'rename' 'nodes'
  23914. case 101086: // 'rename' 'null'
  23915. case 101598: // 'rename' 'object'
  23916. case 103646: // 'rename' 'only'
  23917. case 104158: // 'rename' 'option'
  23918. case 104670: // 'rename' 'or'
  23919. case 105182: // 'rename' 'order'
  23920. case 105694: // 'rename' 'ordered'
  23921. case 106206: // 'rename' 'ordering'
  23922. case 107742: // 'rename' 'parent'
  23923. case 110814: // 'rename' 'preceding'
  23924. case 111326: // 'rename' 'preceding-sibling'
  23925. case 112862: // 'rename' 'processing-instruction'
  23926. case 113886: // 'rename' 'rename'
  23927. case 114398: // 'rename' 'replace'
  23928. case 114910: // 'rename' 'return'
  23929. case 115422: // 'rename' 'returning'
  23930. case 115934: // 'rename' 'revalidation'
  23931. case 116958: // 'rename' 'satisfies'
  23932. case 117470: // 'rename' 'schema'
  23933. case 117982: // 'rename' 'schema-attribute'
  23934. case 118494: // 'rename' 'schema-element'
  23935. case 119006: // 'rename' 'score'
  23936. case 119518: // 'rename' 'select'
  23937. case 120030: // 'rename' 'self'
  23938. case 122590: // 'rename' 'sliding'
  23939. case 123102: // 'rename' 'some'
  23940. case 123614: // 'rename' 'stable'
  23941. case 124126: // 'rename' 'start'
  23942. case 125662: // 'rename' 'strict'
  23943. case 126686: // 'rename' 'structured-item'
  23944. case 127198: // 'rename' 'switch'
  23945. case 127710: // 'rename' 'text'
  23946. case 129758: // 'rename' 'to'
  23947. case 130270: // 'rename' 'treat'
  23948. case 130782: // 'rename' 'true'
  23949. case 131294: // 'rename' 'try'
  23950. case 131806: // 'rename' 'tumbling'
  23951. case 132318: // 'rename' 'type'
  23952. case 132830: // 'rename' 'typeswitch'
  23953. case 133342: // 'rename' 'union'
  23954. case 134366: // 'rename' 'unordered'
  23955. case 134878: // 'rename' 'updating'
  23956. case 136414: // 'rename' 'validate'
  23957. case 136926: // 'rename' 'value'
  23958. case 137438: // 'rename' 'variable'
  23959. case 137950: // 'rename' 'version'
  23960. case 139486: // 'rename' 'where'
  23961. case 139998: // 'rename' 'while'
  23962. case 141534: // 'rename' 'with'
  23963. case 144094: // 'rename' '{'
  23964. case 145118: // 'rename' '{|'
  23965. parse_JSONRenameExpr();
  23966. break;
  23967. case -11:
  23968. parse_JSONReplaceExpr();
  23969. break;
  23970. case -12:
  23971. case 3150: // 'append' EQName^Token
  23972. case 4174: // 'append' IntegerLiteral
  23973. case 4686: // 'append' DecimalLiteral
  23974. case 5198: // 'append' DoubleLiteral
  23975. case 5710: // 'append' StringLiteral
  23976. case 15950: // 'append' '$'
  23977. case 16462: // 'append' '$$'
  23978. case 16974: // 'append' '%'
  23979. case 18510: // 'append' '(#'
  23980. case 21070: // 'append' '+'
  23981. case 22094: // 'append' '-'
  23982. case 24142: // 'append' '/'
  23983. case 24654: // 'append' '//'
  23984. case 28238: // 'append' '<'
  23985. case 28750: // 'append' '<!--'
  23986. case 30798: // 'append' '<?'
  23987. case 35406: // 'append' '['
  23988. case 36430: // 'append' 'after'
  23989. case 37454: // 'append' 'allowing'
  23990. case 37966: // 'append' 'ancestor'
  23991. case 38478: // 'append' 'ancestor-or-self'
  23992. case 38990: // 'append' 'and'
  23993. case 40014: // 'append' 'append'
  23994. case 40526: // 'append' 'array'
  23995. case 41038: // 'append' 'as'
  23996. case 41550: // 'append' 'ascending'
  23997. case 42062: // 'append' 'at'
  23998. case 42574: // 'append' 'attribute'
  23999. case 43086: // 'append' 'base-uri'
  24000. case 43598: // 'append' 'before'
  24001. case 44110: // 'append' 'boundary-space'
  24002. case 44622: // 'append' 'break'
  24003. case 45646: // 'append' 'case'
  24004. case 46158: // 'append' 'cast'
  24005. case 46670: // 'append' 'castable'
  24006. case 47182: // 'append' 'catch'
  24007. case 48206: // 'append' 'child'
  24008. case 48718: // 'append' 'collation'
  24009. case 49742: // 'append' 'comment'
  24010. case 50254: // 'append' 'constraint'
  24011. case 50766: // 'append' 'construction'
  24012. case 52302: // 'append' 'context'
  24013. case 52814: // 'append' 'continue'
  24014. case 53326: // 'append' 'copy'
  24015. case 53838: // 'append' 'copy-namespaces'
  24016. case 54350: // 'append' 'count'
  24017. case 54862: // 'append' 'decimal-format'
  24018. case 55886: // 'append' 'declare'
  24019. case 56398: // 'append' 'default'
  24020. case 56910: // 'append' 'delete'
  24021. case 57422: // 'append' 'descendant'
  24022. case 57934: // 'append' 'descendant-or-self'
  24023. case 58446: // 'append' 'descending'
  24024. case 61006: // 'append' 'div'
  24025. case 61518: // 'append' 'document'
  24026. case 62030: // 'append' 'document-node'
  24027. case 62542: // 'append' 'element'
  24028. case 63054: // 'append' 'else'
  24029. case 63566: // 'append' 'empty'
  24030. case 64078: // 'append' 'empty-sequence'
  24031. case 64590: // 'append' 'encoding'
  24032. case 65102: // 'append' 'end'
  24033. case 66126: // 'append' 'eq'
  24034. case 66638: // 'append' 'every'
  24035. case 67662: // 'append' 'except'
  24036. case 68174: // 'append' 'exit'
  24037. case 68686: // 'append' 'external'
  24038. case 69198: // 'append' 'false'
  24039. case 69710: // 'append' 'first'
  24040. case 70222: // 'append' 'following'
  24041. case 70734: // 'append' 'following-sibling'
  24042. case 71246: // 'append' 'for'
  24043. case 72782: // 'append' 'from'
  24044. case 73294: // 'append' 'ft-option'
  24045. case 75342: // 'append' 'function'
  24046. case 75854: // 'append' 'ge'
  24047. case 76878: // 'append' 'group'
  24048. case 77902: // 'append' 'gt'
  24049. case 78414: // 'append' 'idiv'
  24050. case 78926: // 'append' 'if'
  24051. case 79438: // 'append' 'import'
  24052. case 79950: // 'append' 'in'
  24053. case 80462: // 'append' 'index'
  24054. case 82510: // 'append' 'insert'
  24055. case 83022: // 'append' 'instance'
  24056. case 83534: // 'append' 'integrity'
  24057. case 84046: // 'append' 'intersect'
  24058. case 84558: // 'append' 'into'
  24059. case 85070: // 'append' 'is'
  24060. case 85582: // 'append' 'item'
  24061. case 86094: // 'append' 'json'
  24062. case 86606: // 'append' 'json-item'
  24063. case 87118: // 'append' 'jsoniq'
  24064. case 88654: // 'append' 'last'
  24065. case 89166: // 'append' 'lax'
  24066. case 89678: // 'append' 'le'
  24067. case 90702: // 'append' 'let'
  24068. case 91726: // 'append' 'loop'
  24069. case 92750: // 'append' 'lt'
  24070. case 93774: // 'append' 'mod'
  24071. case 94286: // 'append' 'modify'
  24072. case 94798: // 'append' 'module'
  24073. case 95822: // 'append' 'namespace'
  24074. case 96334: // 'append' 'namespace-node'
  24075. case 96846: // 'append' 'ne'
  24076. case 99406: // 'append' 'node'
  24077. case 99918: // 'append' 'nodes'
  24078. case 100430: // 'append' 'not'
  24079. case 100942: // 'append' 'null'
  24080. case 101454: // 'append' 'object'
  24081. case 103502: // 'append' 'only'
  24082. case 104014: // 'append' 'option'
  24083. case 104526: // 'append' 'or'
  24084. case 105038: // 'append' 'order'
  24085. case 105550: // 'append' 'ordered'
  24086. case 106062: // 'append' 'ordering'
  24087. case 107598: // 'append' 'parent'
  24088. case 110670: // 'append' 'preceding'
  24089. case 111182: // 'append' 'preceding-sibling'
  24090. case 112718: // 'append' 'processing-instruction'
  24091. case 113742: // 'append' 'rename'
  24092. case 114254: // 'append' 'replace'
  24093. case 114766: // 'append' 'return'
  24094. case 115278: // 'append' 'returning'
  24095. case 115790: // 'append' 'revalidation'
  24096. case 116814: // 'append' 'satisfies'
  24097. case 117326: // 'append' 'schema'
  24098. case 117838: // 'append' 'schema-attribute'
  24099. case 118350: // 'append' 'schema-element'
  24100. case 118862: // 'append' 'score'
  24101. case 119374: // 'append' 'select'
  24102. case 119886: // 'append' 'self'
  24103. case 122446: // 'append' 'sliding'
  24104. case 122958: // 'append' 'some'
  24105. case 123470: // 'append' 'stable'
  24106. case 123982: // 'append' 'start'
  24107. case 125518: // 'append' 'strict'
  24108. case 126542: // 'append' 'structured-item'
  24109. case 127054: // 'append' 'switch'
  24110. case 127566: // 'append' 'text'
  24111. case 129614: // 'append' 'to'
  24112. case 130126: // 'append' 'treat'
  24113. case 130638: // 'append' 'true'
  24114. case 131150: // 'append' 'try'
  24115. case 131662: // 'append' 'tumbling'
  24116. case 132174: // 'append' 'type'
  24117. case 132686: // 'append' 'typeswitch'
  24118. case 133198: // 'append' 'union'
  24119. case 134222: // 'append' 'unordered'
  24120. case 134734: // 'append' 'updating'
  24121. case 136270: // 'append' 'validate'
  24122. case 136782: // 'append' 'value'
  24123. case 137294: // 'append' 'variable'
  24124. case 137806: // 'append' 'version'
  24125. case 139342: // 'append' 'where'
  24126. case 139854: // 'append' 'while'
  24127. case 141390: // 'append' 'with'
  24128. case 143950: // 'append' '{'
  24129. case 144974: // 'append' '{|'
  24130. parse_JSONAppendExpr();
  24131. break;
  24132. default:
  24133. parse_OrExpr();
  24134. }
  24135. eventHandler.endNonterminal("ExprSimple", e0);
  24136. }
  24137. function try_ExprSimple()
  24138. {
  24139. switch (l1)
  24140. {
  24141. case 78: // 'append'
  24142. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24143. break;
  24144. case 161: // 'insert'
  24145. lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24146. break;
  24147. case 223: // 'replace'
  24148. lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
  24149. break;
  24150. case 111: // 'delete'
  24151. case 222: // 'rename'
  24152. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24153. break;
  24154. case 104: // 'copy'
  24155. case 130: // 'every'
  24156. case 240: // 'some'
  24157. lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
  24158. break;
  24159. default:
  24160. lk = l1;
  24161. }
  24162. if (lk == 17998 // 'append' '('
  24163. || lk == 18031 // 'delete' '('
  24164. || lk == 18081 // 'insert' '('
  24165. || lk == 18142 // 'rename' '('
  24166. || lk == 99439 // 'delete' 'node'
  24167. || lk == 99489 // 'insert' 'node'
  24168. || lk == 99550 // 'rename' 'node'
  24169. || lk == 99951 // 'delete' 'nodes'
  24170. || lk == 100001 // 'insert' 'nodes'
  24171. || lk == 136927) // 'replace' 'value'
  24172. {
  24173. lk = memoized(10, e0);
  24174. if (lk == 0)
  24175. {
  24176. var b0A = b0; var e0A = e0; var l1A = l1;
  24177. var b1A = b1; var e1A = e1; var l2A = l2;
  24178. var b2A = b2; var e2A = e2;
  24179. try
  24180. {
  24181. try_OrExpr();
  24182. memoize(10, e0A, -2);
  24183. lk = -13;
  24184. }
  24185. catch (p2A)
  24186. {
  24187. try
  24188. {
  24189. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24190. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24191. b2 = b2A; e2 = e2A; end = e2A; }}
  24192. try_InsertExpr();
  24193. memoize(10, e0A, -3);
  24194. lk = -13;
  24195. }
  24196. catch (p3A)
  24197. {
  24198. try
  24199. {
  24200. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24201. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24202. b2 = b2A; e2 = e2A; end = e2A; }}
  24203. try_DeleteExpr();
  24204. memoize(10, e0A, -4);
  24205. lk = -13;
  24206. }
  24207. catch (p4A)
  24208. {
  24209. try
  24210. {
  24211. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24212. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24213. b2 = b2A; e2 = e2A; end = e2A; }}
  24214. try_RenameExpr();
  24215. memoize(10, e0A, -5);
  24216. lk = -13;
  24217. }
  24218. catch (p5A)
  24219. {
  24220. try
  24221. {
  24222. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24223. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24224. b2 = b2A; e2 = e2A; end = e2A; }}
  24225. try_ReplaceExpr();
  24226. memoize(10, e0A, -6);
  24227. lk = -13;
  24228. }
  24229. catch (p6A)
  24230. {
  24231. try
  24232. {
  24233. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24234. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24235. b2 = b2A; e2 = e2A; end = e2A; }}
  24236. try_JSONDeleteExpr();
  24237. memoize(10, e0A, -8);
  24238. lk = -13;
  24239. }
  24240. catch (p8A)
  24241. {
  24242. try
  24243. {
  24244. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24245. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24246. b2 = b2A; e2 = e2A; end = e2A; }}
  24247. try_JSONInsertExpr();
  24248. memoize(10, e0A, -9);
  24249. lk = -13;
  24250. }
  24251. catch (p9A)
  24252. {
  24253. try
  24254. {
  24255. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24256. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24257. b2 = b2A; e2 = e2A; end = e2A; }}
  24258. try_JSONRenameExpr();
  24259. memoize(10, e0A, -10);
  24260. lk = -13;
  24261. }
  24262. catch (p10A)
  24263. {
  24264. try
  24265. {
  24266. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24267. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24268. b2 = b2A; e2 = e2A; end = e2A; }}
  24269. try_JSONReplaceExpr();
  24270. memoize(10, e0A, -11);
  24271. lk = -13;
  24272. }
  24273. catch (p11A)
  24274. {
  24275. lk = -12;
  24276. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24277. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24278. b2 = b2A; e2 = e2A; end = e2A; }}
  24279. memoize(10, e0A, -12);
  24280. }
  24281. }
  24282. }
  24283. }
  24284. }
  24285. }
  24286. }
  24287. }
  24288. }
  24289. }
  24290. }
  24291. switch (lk)
  24292. {
  24293. case 16002: // 'every' '$'
  24294. case 16112: // 'some' '$'
  24295. try_QuantifiedExpr();
  24296. break;
  24297. case -3:
  24298. try_InsertExpr();
  24299. break;
  24300. case -4:
  24301. try_DeleteExpr();
  24302. break;
  24303. case -5:
  24304. try_RenameExpr();
  24305. break;
  24306. case -6:
  24307. case 99551: // 'replace' 'node'
  24308. try_ReplaceExpr();
  24309. break;
  24310. case 15976: // 'copy' '$'
  24311. try_TransformExpr();
  24312. break;
  24313. case -8:
  24314. case 3183: // 'delete' EQName^Token
  24315. case 4207: // 'delete' IntegerLiteral
  24316. case 4719: // 'delete' DecimalLiteral
  24317. case 5231: // 'delete' DoubleLiteral
  24318. case 5743: // 'delete' StringLiteral
  24319. case 15983: // 'delete' '$'
  24320. case 16495: // 'delete' '$$'
  24321. case 17007: // 'delete' '%'
  24322. case 28271: // 'delete' '<'
  24323. case 28783: // 'delete' '<!--'
  24324. case 30831: // 'delete' '<?'
  24325. case 35439: // 'delete' '['
  24326. case 36463: // 'delete' 'after'
  24327. case 37487: // 'delete' 'allowing'
  24328. case 37999: // 'delete' 'ancestor'
  24329. case 38511: // 'delete' 'ancestor-or-self'
  24330. case 39023: // 'delete' 'and'
  24331. case 40047: // 'delete' 'append'
  24332. case 40559: // 'delete' 'array'
  24333. case 41071: // 'delete' 'as'
  24334. case 41583: // 'delete' 'ascending'
  24335. case 42095: // 'delete' 'at'
  24336. case 42607: // 'delete' 'attribute'
  24337. case 43119: // 'delete' 'base-uri'
  24338. case 43631: // 'delete' 'before'
  24339. case 44143: // 'delete' 'boundary-space'
  24340. case 44655: // 'delete' 'break'
  24341. case 45679: // 'delete' 'case'
  24342. case 46191: // 'delete' 'cast'
  24343. case 46703: // 'delete' 'castable'
  24344. case 47215: // 'delete' 'catch'
  24345. case 48239: // 'delete' 'child'
  24346. case 48751: // 'delete' 'collation'
  24347. case 49775: // 'delete' 'comment'
  24348. case 50287: // 'delete' 'constraint'
  24349. case 50799: // 'delete' 'construction'
  24350. case 52335: // 'delete' 'context'
  24351. case 52847: // 'delete' 'continue'
  24352. case 53359: // 'delete' 'copy'
  24353. case 53871: // 'delete' 'copy-namespaces'
  24354. case 54383: // 'delete' 'count'
  24355. case 54895: // 'delete' 'decimal-format'
  24356. case 55919: // 'delete' 'declare'
  24357. case 56431: // 'delete' 'default'
  24358. case 56943: // 'delete' 'delete'
  24359. case 57455: // 'delete' 'descendant'
  24360. case 57967: // 'delete' 'descendant-or-self'
  24361. case 58479: // 'delete' 'descending'
  24362. case 61039: // 'delete' 'div'
  24363. case 61551: // 'delete' 'document'
  24364. case 62063: // 'delete' 'document-node'
  24365. case 62575: // 'delete' 'element'
  24366. case 63087: // 'delete' 'else'
  24367. case 63599: // 'delete' 'empty'
  24368. case 64111: // 'delete' 'empty-sequence'
  24369. case 64623: // 'delete' 'encoding'
  24370. case 65135: // 'delete' 'end'
  24371. case 66159: // 'delete' 'eq'
  24372. case 66671: // 'delete' 'every'
  24373. case 67695: // 'delete' 'except'
  24374. case 68207: // 'delete' 'exit'
  24375. case 68719: // 'delete' 'external'
  24376. case 69231: // 'delete' 'false'
  24377. case 69743: // 'delete' 'first'
  24378. case 70255: // 'delete' 'following'
  24379. case 70767: // 'delete' 'following-sibling'
  24380. case 71279: // 'delete' 'for'
  24381. case 72815: // 'delete' 'from'
  24382. case 73327: // 'delete' 'ft-option'
  24383. case 75375: // 'delete' 'function'
  24384. case 75887: // 'delete' 'ge'
  24385. case 76911: // 'delete' 'group'
  24386. case 77935: // 'delete' 'gt'
  24387. case 78447: // 'delete' 'idiv'
  24388. case 78959: // 'delete' 'if'
  24389. case 79471: // 'delete' 'import'
  24390. case 79983: // 'delete' 'in'
  24391. case 80495: // 'delete' 'index'
  24392. case 82543: // 'delete' 'insert'
  24393. case 83055: // 'delete' 'instance'
  24394. case 83567: // 'delete' 'integrity'
  24395. case 84079: // 'delete' 'intersect'
  24396. case 84591: // 'delete' 'into'
  24397. case 85103: // 'delete' 'is'
  24398. case 85615: // 'delete' 'item'
  24399. case 86127: // 'delete' 'json'
  24400. case 86639: // 'delete' 'json-item'
  24401. case 87151: // 'delete' 'jsoniq'
  24402. case 88687: // 'delete' 'last'
  24403. case 89199: // 'delete' 'lax'
  24404. case 89711: // 'delete' 'le'
  24405. case 90735: // 'delete' 'let'
  24406. case 91759: // 'delete' 'loop'
  24407. case 92783: // 'delete' 'lt'
  24408. case 93807: // 'delete' 'mod'
  24409. case 94319: // 'delete' 'modify'
  24410. case 94831: // 'delete' 'module'
  24411. case 95855: // 'delete' 'namespace'
  24412. case 96367: // 'delete' 'namespace-node'
  24413. case 96879: // 'delete' 'ne'
  24414. case 100975: // 'delete' 'null'
  24415. case 101487: // 'delete' 'object'
  24416. case 103535: // 'delete' 'only'
  24417. case 104047: // 'delete' 'option'
  24418. case 104559: // 'delete' 'or'
  24419. case 105071: // 'delete' 'order'
  24420. case 105583: // 'delete' 'ordered'
  24421. case 106095: // 'delete' 'ordering'
  24422. case 107631: // 'delete' 'parent'
  24423. case 110703: // 'delete' 'preceding'
  24424. case 111215: // 'delete' 'preceding-sibling'
  24425. case 112751: // 'delete' 'processing-instruction'
  24426. case 113775: // 'delete' 'rename'
  24427. case 114287: // 'delete' 'replace'
  24428. case 114799: // 'delete' 'return'
  24429. case 115311: // 'delete' 'returning'
  24430. case 115823: // 'delete' 'revalidation'
  24431. case 116847: // 'delete' 'satisfies'
  24432. case 117359: // 'delete' 'schema'
  24433. case 117871: // 'delete' 'schema-attribute'
  24434. case 118383: // 'delete' 'schema-element'
  24435. case 118895: // 'delete' 'score'
  24436. case 119407: // 'delete' 'select'
  24437. case 119919: // 'delete' 'self'
  24438. case 122479: // 'delete' 'sliding'
  24439. case 122991: // 'delete' 'some'
  24440. case 123503: // 'delete' 'stable'
  24441. case 124015: // 'delete' 'start'
  24442. case 125551: // 'delete' 'strict'
  24443. case 126575: // 'delete' 'structured-item'
  24444. case 127087: // 'delete' 'switch'
  24445. case 127599: // 'delete' 'text'
  24446. case 129647: // 'delete' 'to'
  24447. case 130159: // 'delete' 'treat'
  24448. case 130671: // 'delete' 'true'
  24449. case 131183: // 'delete' 'try'
  24450. case 131695: // 'delete' 'tumbling'
  24451. case 132207: // 'delete' 'type'
  24452. case 132719: // 'delete' 'typeswitch'
  24453. case 133231: // 'delete' 'union'
  24454. case 134255: // 'delete' 'unordered'
  24455. case 134767: // 'delete' 'updating'
  24456. case 136303: // 'delete' 'validate'
  24457. case 136815: // 'delete' 'value'
  24458. case 137327: // 'delete' 'variable'
  24459. case 137839: // 'delete' 'version'
  24460. case 139375: // 'delete' 'where'
  24461. case 139887: // 'delete' 'while'
  24462. case 141423: // 'delete' 'with'
  24463. case 143983: // 'delete' '{'
  24464. case 145007: // 'delete' '{|'
  24465. try_JSONDeleteExpr();
  24466. break;
  24467. case -9:
  24468. case 3233: // 'insert' EQName^Token
  24469. case 4257: // 'insert' IntegerLiteral
  24470. case 4769: // 'insert' DecimalLiteral
  24471. case 5281: // 'insert' DoubleLiteral
  24472. case 5793: // 'insert' StringLiteral
  24473. case 9889: // 'insert' NCName^Token
  24474. case 16033: // 'insert' '$'
  24475. case 16545: // 'insert' '$$'
  24476. case 17057: // 'insert' '%'
  24477. case 18593: // 'insert' '(#'
  24478. case 21153: // 'insert' '+'
  24479. case 22177: // 'insert' '-'
  24480. case 24225: // 'insert' '/'
  24481. case 24737: // 'insert' '//'
  24482. case 28321: // 'insert' '<'
  24483. case 28833: // 'insert' '<!--'
  24484. case 30881: // 'insert' '<?'
  24485. case 35489: // 'insert' '['
  24486. case 36513: // 'insert' 'after'
  24487. case 37537: // 'insert' 'allowing'
  24488. case 38049: // 'insert' 'ancestor'
  24489. case 38561: // 'insert' 'ancestor-or-self'
  24490. case 39073: // 'insert' 'and'
  24491. case 40097: // 'insert' 'append'
  24492. case 40609: // 'insert' 'array'
  24493. case 41121: // 'insert' 'as'
  24494. case 41633: // 'insert' 'ascending'
  24495. case 42145: // 'insert' 'at'
  24496. case 42657: // 'insert' 'attribute'
  24497. case 43169: // 'insert' 'base-uri'
  24498. case 43681: // 'insert' 'before'
  24499. case 44193: // 'insert' 'boundary-space'
  24500. case 44705: // 'insert' 'break'
  24501. case 45729: // 'insert' 'case'
  24502. case 46241: // 'insert' 'cast'
  24503. case 46753: // 'insert' 'castable'
  24504. case 47265: // 'insert' 'catch'
  24505. case 48289: // 'insert' 'child'
  24506. case 48801: // 'insert' 'collation'
  24507. case 49825: // 'insert' 'comment'
  24508. case 50337: // 'insert' 'constraint'
  24509. case 50849: // 'insert' 'construction'
  24510. case 52385: // 'insert' 'context'
  24511. case 52897: // 'insert' 'continue'
  24512. case 53409: // 'insert' 'copy'
  24513. case 53921: // 'insert' 'copy-namespaces'
  24514. case 54433: // 'insert' 'count'
  24515. case 54945: // 'insert' 'decimal-format'
  24516. case 55969: // 'insert' 'declare'
  24517. case 56481: // 'insert' 'default'
  24518. case 56993: // 'insert' 'delete'
  24519. case 57505: // 'insert' 'descendant'
  24520. case 58017: // 'insert' 'descendant-or-self'
  24521. case 58529: // 'insert' 'descending'
  24522. case 61089: // 'insert' 'div'
  24523. case 61601: // 'insert' 'document'
  24524. case 62113: // 'insert' 'document-node'
  24525. case 62625: // 'insert' 'element'
  24526. case 63137: // 'insert' 'else'
  24527. case 63649: // 'insert' 'empty'
  24528. case 64161: // 'insert' 'empty-sequence'
  24529. case 64673: // 'insert' 'encoding'
  24530. case 65185: // 'insert' 'end'
  24531. case 66209: // 'insert' 'eq'
  24532. case 66721: // 'insert' 'every'
  24533. case 67745: // 'insert' 'except'
  24534. case 68257: // 'insert' 'exit'
  24535. case 68769: // 'insert' 'external'
  24536. case 69281: // 'insert' 'false'
  24537. case 69793: // 'insert' 'first'
  24538. case 70305: // 'insert' 'following'
  24539. case 70817: // 'insert' 'following-sibling'
  24540. case 71329: // 'insert' 'for'
  24541. case 72865: // 'insert' 'from'
  24542. case 73377: // 'insert' 'ft-option'
  24543. case 75425: // 'insert' 'function'
  24544. case 75937: // 'insert' 'ge'
  24545. case 76961: // 'insert' 'group'
  24546. case 77985: // 'insert' 'gt'
  24547. case 78497: // 'insert' 'idiv'
  24548. case 79009: // 'insert' 'if'
  24549. case 79521: // 'insert' 'import'
  24550. case 80033: // 'insert' 'in'
  24551. case 80545: // 'insert' 'index'
  24552. case 82593: // 'insert' 'insert'
  24553. case 83105: // 'insert' 'instance'
  24554. case 83617: // 'insert' 'integrity'
  24555. case 84129: // 'insert' 'intersect'
  24556. case 84641: // 'insert' 'into'
  24557. case 85153: // 'insert' 'is'
  24558. case 85665: // 'insert' 'item'
  24559. case 86177: // 'insert' 'json'
  24560. case 86689: // 'insert' 'json-item'
  24561. case 87201: // 'insert' 'jsoniq'
  24562. case 88737: // 'insert' 'last'
  24563. case 89249: // 'insert' 'lax'
  24564. case 89761: // 'insert' 'le'
  24565. case 90785: // 'insert' 'let'
  24566. case 91809: // 'insert' 'loop'
  24567. case 92833: // 'insert' 'lt'
  24568. case 93857: // 'insert' 'mod'
  24569. case 94369: // 'insert' 'modify'
  24570. case 94881: // 'insert' 'module'
  24571. case 95905: // 'insert' 'namespace'
  24572. case 96417: // 'insert' 'namespace-node'
  24573. case 96929: // 'insert' 'ne'
  24574. case 100513: // 'insert' 'not'
  24575. case 101025: // 'insert' 'null'
  24576. case 101537: // 'insert' 'object'
  24577. case 103585: // 'insert' 'only'
  24578. case 104097: // 'insert' 'option'
  24579. case 104609: // 'insert' 'or'
  24580. case 105121: // 'insert' 'order'
  24581. case 105633: // 'insert' 'ordered'
  24582. case 106145: // 'insert' 'ordering'
  24583. case 107681: // 'insert' 'parent'
  24584. case 110753: // 'insert' 'preceding'
  24585. case 111265: // 'insert' 'preceding-sibling'
  24586. case 112801: // 'insert' 'processing-instruction'
  24587. case 113825: // 'insert' 'rename'
  24588. case 114337: // 'insert' 'replace'
  24589. case 114849: // 'insert' 'return'
  24590. case 115361: // 'insert' 'returning'
  24591. case 115873: // 'insert' 'revalidation'
  24592. case 116897: // 'insert' 'satisfies'
  24593. case 117409: // 'insert' 'schema'
  24594. case 117921: // 'insert' 'schema-attribute'
  24595. case 118433: // 'insert' 'schema-element'
  24596. case 118945: // 'insert' 'score'
  24597. case 119457: // 'insert' 'select'
  24598. case 119969: // 'insert' 'self'
  24599. case 122529: // 'insert' 'sliding'
  24600. case 123041: // 'insert' 'some'
  24601. case 123553: // 'insert' 'stable'
  24602. case 124065: // 'insert' 'start'
  24603. case 125601: // 'insert' 'strict'
  24604. case 126625: // 'insert' 'structured-item'
  24605. case 127137: // 'insert' 'switch'
  24606. case 127649: // 'insert' 'text'
  24607. case 129697: // 'insert' 'to'
  24608. case 130209: // 'insert' 'treat'
  24609. case 130721: // 'insert' 'true'
  24610. case 131233: // 'insert' 'try'
  24611. case 131745: // 'insert' 'tumbling'
  24612. case 132257: // 'insert' 'type'
  24613. case 132769: // 'insert' 'typeswitch'
  24614. case 133281: // 'insert' 'union'
  24615. case 134305: // 'insert' 'unordered'
  24616. case 134817: // 'insert' 'updating'
  24617. case 136353: // 'insert' 'validate'
  24618. case 136865: // 'insert' 'value'
  24619. case 137377: // 'insert' 'variable'
  24620. case 137889: // 'insert' 'version'
  24621. case 139425: // 'insert' 'where'
  24622. case 139937: // 'insert' 'while'
  24623. case 141473: // 'insert' 'with'
  24624. case 144033: // 'insert' '{'
  24625. case 145057: // 'insert' '{|'
  24626. try_JSONInsertExpr();
  24627. break;
  24628. case -10:
  24629. case 3294: // 'rename' EQName^Token
  24630. case 4318: // 'rename' IntegerLiteral
  24631. case 4830: // 'rename' DecimalLiteral
  24632. case 5342: // 'rename' DoubleLiteral
  24633. case 5854: // 'rename' StringLiteral
  24634. case 16094: // 'rename' '$'
  24635. case 16606: // 'rename' '$$'
  24636. case 17118: // 'rename' '%'
  24637. case 28382: // 'rename' '<'
  24638. case 28894: // 'rename' '<!--'
  24639. case 30942: // 'rename' '<?'
  24640. case 35550: // 'rename' '['
  24641. case 36574: // 'rename' 'after'
  24642. case 37598: // 'rename' 'allowing'
  24643. case 38110: // 'rename' 'ancestor'
  24644. case 38622: // 'rename' 'ancestor-or-self'
  24645. case 39134: // 'rename' 'and'
  24646. case 40158: // 'rename' 'append'
  24647. case 40670: // 'rename' 'array'
  24648. case 41182: // 'rename' 'as'
  24649. case 41694: // 'rename' 'ascending'
  24650. case 42206: // 'rename' 'at'
  24651. case 42718: // 'rename' 'attribute'
  24652. case 43230: // 'rename' 'base-uri'
  24653. case 43742: // 'rename' 'before'
  24654. case 44254: // 'rename' 'boundary-space'
  24655. case 44766: // 'rename' 'break'
  24656. case 45790: // 'rename' 'case'
  24657. case 46302: // 'rename' 'cast'
  24658. case 46814: // 'rename' 'castable'
  24659. case 47326: // 'rename' 'catch'
  24660. case 48350: // 'rename' 'child'
  24661. case 48862: // 'rename' 'collation'
  24662. case 49886: // 'rename' 'comment'
  24663. case 50398: // 'rename' 'constraint'
  24664. case 50910: // 'rename' 'construction'
  24665. case 52446: // 'rename' 'context'
  24666. case 52958: // 'rename' 'continue'
  24667. case 53470: // 'rename' 'copy'
  24668. case 53982: // 'rename' 'copy-namespaces'
  24669. case 54494: // 'rename' 'count'
  24670. case 55006: // 'rename' 'decimal-format'
  24671. case 56030: // 'rename' 'declare'
  24672. case 56542: // 'rename' 'default'
  24673. case 57054: // 'rename' 'delete'
  24674. case 57566: // 'rename' 'descendant'
  24675. case 58078: // 'rename' 'descendant-or-self'
  24676. case 58590: // 'rename' 'descending'
  24677. case 61150: // 'rename' 'div'
  24678. case 61662: // 'rename' 'document'
  24679. case 62174: // 'rename' 'document-node'
  24680. case 62686: // 'rename' 'element'
  24681. case 63198: // 'rename' 'else'
  24682. case 63710: // 'rename' 'empty'
  24683. case 64222: // 'rename' 'empty-sequence'
  24684. case 64734: // 'rename' 'encoding'
  24685. case 65246: // 'rename' 'end'
  24686. case 66270: // 'rename' 'eq'
  24687. case 66782: // 'rename' 'every'
  24688. case 67806: // 'rename' 'except'
  24689. case 68318: // 'rename' 'exit'
  24690. case 68830: // 'rename' 'external'
  24691. case 69342: // 'rename' 'false'
  24692. case 69854: // 'rename' 'first'
  24693. case 70366: // 'rename' 'following'
  24694. case 70878: // 'rename' 'following-sibling'
  24695. case 71390: // 'rename' 'for'
  24696. case 72926: // 'rename' 'from'
  24697. case 73438: // 'rename' 'ft-option'
  24698. case 75486: // 'rename' 'function'
  24699. case 75998: // 'rename' 'ge'
  24700. case 77022: // 'rename' 'group'
  24701. case 78046: // 'rename' 'gt'
  24702. case 78558: // 'rename' 'idiv'
  24703. case 79070: // 'rename' 'if'
  24704. case 79582: // 'rename' 'import'
  24705. case 80094: // 'rename' 'in'
  24706. case 80606: // 'rename' 'index'
  24707. case 82654: // 'rename' 'insert'
  24708. case 83166: // 'rename' 'instance'
  24709. case 83678: // 'rename' 'integrity'
  24710. case 84190: // 'rename' 'intersect'
  24711. case 84702: // 'rename' 'into'
  24712. case 85214: // 'rename' 'is'
  24713. case 85726: // 'rename' 'item'
  24714. case 86238: // 'rename' 'json'
  24715. case 86750: // 'rename' 'json-item'
  24716. case 87262: // 'rename' 'jsoniq'
  24717. case 88798: // 'rename' 'last'
  24718. case 89310: // 'rename' 'lax'
  24719. case 89822: // 'rename' 'le'
  24720. case 90846: // 'rename' 'let'
  24721. case 91870: // 'rename' 'loop'
  24722. case 92894: // 'rename' 'lt'
  24723. case 93918: // 'rename' 'mod'
  24724. case 94430: // 'rename' 'modify'
  24725. case 94942: // 'rename' 'module'
  24726. case 95966: // 'rename' 'namespace'
  24727. case 96478: // 'rename' 'namespace-node'
  24728. case 96990: // 'rename' 'ne'
  24729. case 100062: // 'rename' 'nodes'
  24730. case 101086: // 'rename' 'null'
  24731. case 101598: // 'rename' 'object'
  24732. case 103646: // 'rename' 'only'
  24733. case 104158: // 'rename' 'option'
  24734. case 104670: // 'rename' 'or'
  24735. case 105182: // 'rename' 'order'
  24736. case 105694: // 'rename' 'ordered'
  24737. case 106206: // 'rename' 'ordering'
  24738. case 107742: // 'rename' 'parent'
  24739. case 110814: // 'rename' 'preceding'
  24740. case 111326: // 'rename' 'preceding-sibling'
  24741. case 112862: // 'rename' 'processing-instruction'
  24742. case 113886: // 'rename' 'rename'
  24743. case 114398: // 'rename' 'replace'
  24744. case 114910: // 'rename' 'return'
  24745. case 115422: // 'rename' 'returning'
  24746. case 115934: // 'rename' 'revalidation'
  24747. case 116958: // 'rename' 'satisfies'
  24748. case 117470: // 'rename' 'schema'
  24749. case 117982: // 'rename' 'schema-attribute'
  24750. case 118494: // 'rename' 'schema-element'
  24751. case 119006: // 'rename' 'score'
  24752. case 119518: // 'rename' 'select'
  24753. case 120030: // 'rename' 'self'
  24754. case 122590: // 'rename' 'sliding'
  24755. case 123102: // 'rename' 'some'
  24756. case 123614: // 'rename' 'stable'
  24757. case 124126: // 'rename' 'start'
  24758. case 125662: // 'rename' 'strict'
  24759. case 126686: // 'rename' 'structured-item'
  24760. case 127198: // 'rename' 'switch'
  24761. case 127710: // 'rename' 'text'
  24762. case 129758: // 'rename' 'to'
  24763. case 130270: // 'rename' 'treat'
  24764. case 130782: // 'rename' 'true'
  24765. case 131294: // 'rename' 'try'
  24766. case 131806: // 'rename' 'tumbling'
  24767. case 132318: // 'rename' 'type'
  24768. case 132830: // 'rename' 'typeswitch'
  24769. case 133342: // 'rename' 'union'
  24770. case 134366: // 'rename' 'unordered'
  24771. case 134878: // 'rename' 'updating'
  24772. case 136414: // 'rename' 'validate'
  24773. case 136926: // 'rename' 'value'
  24774. case 137438: // 'rename' 'variable'
  24775. case 137950: // 'rename' 'version'
  24776. case 139486: // 'rename' 'where'
  24777. case 139998: // 'rename' 'while'
  24778. case 141534: // 'rename' 'with'
  24779. case 144094: // 'rename' '{'
  24780. case 145118: // 'rename' '{|'
  24781. try_JSONRenameExpr();
  24782. break;
  24783. case -11:
  24784. try_JSONReplaceExpr();
  24785. break;
  24786. case -12:
  24787. case 3150: // 'append' EQName^Token
  24788. case 4174: // 'append' IntegerLiteral
  24789. case 4686: // 'append' DecimalLiteral
  24790. case 5198: // 'append' DoubleLiteral
  24791. case 5710: // 'append' StringLiteral
  24792. case 15950: // 'append' '$'
  24793. case 16462: // 'append' '$$'
  24794. case 16974: // 'append' '%'
  24795. case 18510: // 'append' '(#'
  24796. case 21070: // 'append' '+'
  24797. case 22094: // 'append' '-'
  24798. case 24142: // 'append' '/'
  24799. case 24654: // 'append' '//'
  24800. case 28238: // 'append' '<'
  24801. case 28750: // 'append' '<!--'
  24802. case 30798: // 'append' '<?'
  24803. case 35406: // 'append' '['
  24804. case 36430: // 'append' 'after'
  24805. case 37454: // 'append' 'allowing'
  24806. case 37966: // 'append' 'ancestor'
  24807. case 38478: // 'append' 'ancestor-or-self'
  24808. case 38990: // 'append' 'and'
  24809. case 40014: // 'append' 'append'
  24810. case 40526: // 'append' 'array'
  24811. case 41038: // 'append' 'as'
  24812. case 41550: // 'append' 'ascending'
  24813. case 42062: // 'append' 'at'
  24814. case 42574: // 'append' 'attribute'
  24815. case 43086: // 'append' 'base-uri'
  24816. case 43598: // 'append' 'before'
  24817. case 44110: // 'append' 'boundary-space'
  24818. case 44622: // 'append' 'break'
  24819. case 45646: // 'append' 'case'
  24820. case 46158: // 'append' 'cast'
  24821. case 46670: // 'append' 'castable'
  24822. case 47182: // 'append' 'catch'
  24823. case 48206: // 'append' 'child'
  24824. case 48718: // 'append' 'collation'
  24825. case 49742: // 'append' 'comment'
  24826. case 50254: // 'append' 'constraint'
  24827. case 50766: // 'append' 'construction'
  24828. case 52302: // 'append' 'context'
  24829. case 52814: // 'append' 'continue'
  24830. case 53326: // 'append' 'copy'
  24831. case 53838: // 'append' 'copy-namespaces'
  24832. case 54350: // 'append' 'count'
  24833. case 54862: // 'append' 'decimal-format'
  24834. case 55886: // 'append' 'declare'
  24835. case 56398: // 'append' 'default'
  24836. case 56910: // 'append' 'delete'
  24837. case 57422: // 'append' 'descendant'
  24838. case 57934: // 'append' 'descendant-or-self'
  24839. case 58446: // 'append' 'descending'
  24840. case 61006: // 'append' 'div'
  24841. case 61518: // 'append' 'document'
  24842. case 62030: // 'append' 'document-node'
  24843. case 62542: // 'append' 'element'
  24844. case 63054: // 'append' 'else'
  24845. case 63566: // 'append' 'empty'
  24846. case 64078: // 'append' 'empty-sequence'
  24847. case 64590: // 'append' 'encoding'
  24848. case 65102: // 'append' 'end'
  24849. case 66126: // 'append' 'eq'
  24850. case 66638: // 'append' 'every'
  24851. case 67662: // 'append' 'except'
  24852. case 68174: // 'append' 'exit'
  24853. case 68686: // 'append' 'external'
  24854. case 69198: // 'append' 'false'
  24855. case 69710: // 'append' 'first'
  24856. case 70222: // 'append' 'following'
  24857. case 70734: // 'append' 'following-sibling'
  24858. case 71246: // 'append' 'for'
  24859. case 72782: // 'append' 'from'
  24860. case 73294: // 'append' 'ft-option'
  24861. case 75342: // 'append' 'function'
  24862. case 75854: // 'append' 'ge'
  24863. case 76878: // 'append' 'group'
  24864. case 77902: // 'append' 'gt'
  24865. case 78414: // 'append' 'idiv'
  24866. case 78926: // 'append' 'if'
  24867. case 79438: // 'append' 'import'
  24868. case 79950: // 'append' 'in'
  24869. case 80462: // 'append' 'index'
  24870. case 82510: // 'append' 'insert'
  24871. case 83022: // 'append' 'instance'
  24872. case 83534: // 'append' 'integrity'
  24873. case 84046: // 'append' 'intersect'
  24874. case 84558: // 'append' 'into'
  24875. case 85070: // 'append' 'is'
  24876. case 85582: // 'append' 'item'
  24877. case 86094: // 'append' 'json'
  24878. case 86606: // 'append' 'json-item'
  24879. case 87118: // 'append' 'jsoniq'
  24880. case 88654: // 'append' 'last'
  24881. case 89166: // 'append' 'lax'
  24882. case 89678: // 'append' 'le'
  24883. case 90702: // 'append' 'let'
  24884. case 91726: // 'append' 'loop'
  24885. case 92750: // 'append' 'lt'
  24886. case 93774: // 'append' 'mod'
  24887. case 94286: // 'append' 'modify'
  24888. case 94798: // 'append' 'module'
  24889. case 95822: // 'append' 'namespace'
  24890. case 96334: // 'append' 'namespace-node'
  24891. case 96846: // 'append' 'ne'
  24892. case 99406: // 'append' 'node'
  24893. case 99918: // 'append' 'nodes'
  24894. case 100430: // 'append' 'not'
  24895. case 100942: // 'append' 'null'
  24896. case 101454: // 'append' 'object'
  24897. case 103502: // 'append' 'only'
  24898. case 104014: // 'append' 'option'
  24899. case 104526: // 'append' 'or'
  24900. case 105038: // 'append' 'order'
  24901. case 105550: // 'append' 'ordered'
  24902. case 106062: // 'append' 'ordering'
  24903. case 107598: // 'append' 'parent'
  24904. case 110670: // 'append' 'preceding'
  24905. case 111182: // 'append' 'preceding-sibling'
  24906. case 112718: // 'append' 'processing-instruction'
  24907. case 113742: // 'append' 'rename'
  24908. case 114254: // 'append' 'replace'
  24909. case 114766: // 'append' 'return'
  24910. case 115278: // 'append' 'returning'
  24911. case 115790: // 'append' 'revalidation'
  24912. case 116814: // 'append' 'satisfies'
  24913. case 117326: // 'append' 'schema'
  24914. case 117838: // 'append' 'schema-attribute'
  24915. case 118350: // 'append' 'schema-element'
  24916. case 118862: // 'append' 'score'
  24917. case 119374: // 'append' 'select'
  24918. case 119886: // 'append' 'self'
  24919. case 122446: // 'append' 'sliding'
  24920. case 122958: // 'append' 'some'
  24921. case 123470: // 'append' 'stable'
  24922. case 123982: // 'append' 'start'
  24923. case 125518: // 'append' 'strict'
  24924. case 126542: // 'append' 'structured-item'
  24925. case 127054: // 'append' 'switch'
  24926. case 127566: // 'append' 'text'
  24927. case 129614: // 'append' 'to'
  24928. case 130126: // 'append' 'treat'
  24929. case 130638: // 'append' 'true'
  24930. case 131150: // 'append' 'try'
  24931. case 131662: // 'append' 'tumbling'
  24932. case 132174: // 'append' 'type'
  24933. case 132686: // 'append' 'typeswitch'
  24934. case 133198: // 'append' 'union'
  24935. case 134222: // 'append' 'unordered'
  24936. case 134734: // 'append' 'updating'
  24937. case 136270: // 'append' 'validate'
  24938. case 136782: // 'append' 'value'
  24939. case 137294: // 'append' 'variable'
  24940. case 137806: // 'append' 'version'
  24941. case 139342: // 'append' 'where'
  24942. case 139854: // 'append' 'while'
  24943. case 141390: // 'append' 'with'
  24944. case 143950: // 'append' '{'
  24945. case 144974: // 'append' '{|'
  24946. try_JSONAppendExpr();
  24947. break;
  24948. case -13:
  24949. break;
  24950. default:
  24951. try_OrExpr();
  24952. }
  24953. }
  24954. function parse_JSONDeleteExpr()
  24955. {
  24956. eventHandler.startNonterminal("JSONDeleteExpr", e0);
  24957. shift(111); // 'delete'
  24958. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24959. switch (l1)
  24960. {
  24961. case 168: // 'json'
  24962. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  24963. break;
  24964. default:
  24965. lk = l1;
  24966. }
  24967. if (lk == 18088) // 'json' '('
  24968. {
  24969. lk = memoized(11, e0);
  24970. if (lk == 0)
  24971. {
  24972. var b0A = b0; var e0A = e0; var l1A = l1;
  24973. var b1A = b1; var e1A = e1; var l2A = l2;
  24974. var b2A = b2; var e2A = e2;
  24975. try
  24976. {
  24977. shiftT(168); // 'json'
  24978. lk = -1;
  24979. }
  24980. catch (p1A)
  24981. {
  24982. lk = -2;
  24983. }
  24984. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  24985. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  24986. b2 = b2A; e2 = e2A; end = e2A; }}
  24987. memoize(11, e0, lk);
  24988. }
  24989. }
  24990. if (lk == -1
  24991. || lk == 3240 // 'json' EQName^Token
  24992. || lk == 4264 // 'json' IntegerLiteral
  24993. || lk == 4776 // 'json' DecimalLiteral
  24994. || lk == 5288 // 'json' DoubleLiteral
  24995. || lk == 5800 // 'json' StringLiteral
  24996. || lk == 16040 // 'json' '$'
  24997. || lk == 16552 // 'json' '$$'
  24998. || lk == 17064 // 'json' '%'
  24999. || lk == 28328 // 'json' '<'
  25000. || lk == 28840 // 'json' '<!--'
  25001. || lk == 30888 // 'json' '<?'
  25002. || lk == 35496 // 'json' '['
  25003. || lk == 36520 // 'json' 'after'
  25004. || lk == 37544 // 'json' 'allowing'
  25005. || lk == 38056 // 'json' 'ancestor'
  25006. || lk == 38568 // 'json' 'ancestor-or-self'
  25007. || lk == 39080 // 'json' 'and'
  25008. || lk == 40104 // 'json' 'append'
  25009. || lk == 40616 // 'json' 'array'
  25010. || lk == 41128 // 'json' 'as'
  25011. || lk == 41640 // 'json' 'ascending'
  25012. || lk == 42152 // 'json' 'at'
  25013. || lk == 42664 // 'json' 'attribute'
  25014. || lk == 43176 // 'json' 'base-uri'
  25015. || lk == 43688 // 'json' 'before'
  25016. || lk == 44200 // 'json' 'boundary-space'
  25017. || lk == 44712 // 'json' 'break'
  25018. || lk == 45736 // 'json' 'case'
  25019. || lk == 46248 // 'json' 'cast'
  25020. || lk == 46760 // 'json' 'castable'
  25021. || lk == 47272 // 'json' 'catch'
  25022. || lk == 48296 // 'json' 'child'
  25023. || lk == 48808 // 'json' 'collation'
  25024. || lk == 49832 // 'json' 'comment'
  25025. || lk == 50344 // 'json' 'constraint'
  25026. || lk == 50856 // 'json' 'construction'
  25027. || lk == 52392 // 'json' 'context'
  25028. || lk == 52904 // 'json' 'continue'
  25029. || lk == 53416 // 'json' 'copy'
  25030. || lk == 53928 // 'json' 'copy-namespaces'
  25031. || lk == 54440 // 'json' 'count'
  25032. || lk == 54952 // 'json' 'decimal-format'
  25033. || lk == 55976 // 'json' 'declare'
  25034. || lk == 56488 // 'json' 'default'
  25035. || lk == 57000 // 'json' 'delete'
  25036. || lk == 57512 // 'json' 'descendant'
  25037. || lk == 58024 // 'json' 'descendant-or-self'
  25038. || lk == 58536 // 'json' 'descending'
  25039. || lk == 61096 // 'json' 'div'
  25040. || lk == 61608 // 'json' 'document'
  25041. || lk == 62120 // 'json' 'document-node'
  25042. || lk == 62632 // 'json' 'element'
  25043. || lk == 63144 // 'json' 'else'
  25044. || lk == 63656 // 'json' 'empty'
  25045. || lk == 64168 // 'json' 'empty-sequence'
  25046. || lk == 64680 // 'json' 'encoding'
  25047. || lk == 65192 // 'json' 'end'
  25048. || lk == 66216 // 'json' 'eq'
  25049. || lk == 66728 // 'json' 'every'
  25050. || lk == 67752 // 'json' 'except'
  25051. || lk == 68264 // 'json' 'exit'
  25052. || lk == 68776 // 'json' 'external'
  25053. || lk == 69288 // 'json' 'false'
  25054. || lk == 69800 // 'json' 'first'
  25055. || lk == 70312 // 'json' 'following'
  25056. || lk == 70824 // 'json' 'following-sibling'
  25057. || lk == 71336 // 'json' 'for'
  25058. || lk == 72872 // 'json' 'from'
  25059. || lk == 73384 // 'json' 'ft-option'
  25060. || lk == 75432 // 'json' 'function'
  25061. || lk == 75944 // 'json' 'ge'
  25062. || lk == 76968 // 'json' 'group'
  25063. || lk == 77992 // 'json' 'gt'
  25064. || lk == 78504 // 'json' 'idiv'
  25065. || lk == 79016 // 'json' 'if'
  25066. || lk == 79528 // 'json' 'import'
  25067. || lk == 80040 // 'json' 'in'
  25068. || lk == 80552 // 'json' 'index'
  25069. || lk == 82600 // 'json' 'insert'
  25070. || lk == 83112 // 'json' 'instance'
  25071. || lk == 83624 // 'json' 'integrity'
  25072. || lk == 84136 // 'json' 'intersect'
  25073. || lk == 84648 // 'json' 'into'
  25074. || lk == 85160 // 'json' 'is'
  25075. || lk == 85672 // 'json' 'item'
  25076. || lk == 86184 // 'json' 'json'
  25077. || lk == 86696 // 'json' 'json-item'
  25078. || lk == 87208 // 'json' 'jsoniq'
  25079. || lk == 88744 // 'json' 'last'
  25080. || lk == 89256 // 'json' 'lax'
  25081. || lk == 89768 // 'json' 'le'
  25082. || lk == 90792 // 'json' 'let'
  25083. || lk == 91816 // 'json' 'loop'
  25084. || lk == 92840 // 'json' 'lt'
  25085. || lk == 93864 // 'json' 'mod'
  25086. || lk == 94376 // 'json' 'modify'
  25087. || lk == 94888 // 'json' 'module'
  25088. || lk == 95912 // 'json' 'namespace'
  25089. || lk == 96424 // 'json' 'namespace-node'
  25090. || lk == 96936 // 'json' 'ne'
  25091. || lk == 99496 // 'json' 'node'
  25092. || lk == 100008 // 'json' 'nodes'
  25093. || lk == 101032 // 'json' 'null'
  25094. || lk == 101544 // 'json' 'object'
  25095. || lk == 103592 // 'json' 'only'
  25096. || lk == 104104 // 'json' 'option'
  25097. || lk == 104616 // 'json' 'or'
  25098. || lk == 105128 // 'json' 'order'
  25099. || lk == 105640 // 'json' 'ordered'
  25100. || lk == 106152 // 'json' 'ordering'
  25101. || lk == 107688 // 'json' 'parent'
  25102. || lk == 110760 // 'json' 'preceding'
  25103. || lk == 111272 // 'json' 'preceding-sibling'
  25104. || lk == 112808 // 'json' 'processing-instruction'
  25105. || lk == 113832 // 'json' 'rename'
  25106. || lk == 114344 // 'json' 'replace'
  25107. || lk == 114856 // 'json' 'return'
  25108. || lk == 115368 // 'json' 'returning'
  25109. || lk == 115880 // 'json' 'revalidation'
  25110. || lk == 116904 // 'json' 'satisfies'
  25111. || lk == 117416 // 'json' 'schema'
  25112. || lk == 117928 // 'json' 'schema-attribute'
  25113. || lk == 118440 // 'json' 'schema-element'
  25114. || lk == 118952 // 'json' 'score'
  25115. || lk == 119464 // 'json' 'select'
  25116. || lk == 119976 // 'json' 'self'
  25117. || lk == 122536 // 'json' 'sliding'
  25118. || lk == 123048 // 'json' 'some'
  25119. || lk == 123560 // 'json' 'stable'
  25120. || lk == 124072 // 'json' 'start'
  25121. || lk == 125608 // 'json' 'strict'
  25122. || lk == 126632 // 'json' 'structured-item'
  25123. || lk == 127144 // 'json' 'switch'
  25124. || lk == 127656 // 'json' 'text'
  25125. || lk == 129704 // 'json' 'to'
  25126. || lk == 130216 // 'json' 'treat'
  25127. || lk == 130728 // 'json' 'true'
  25128. || lk == 131240 // 'json' 'try'
  25129. || lk == 131752 // 'json' 'tumbling'
  25130. || lk == 132264 // 'json' 'type'
  25131. || lk == 132776 // 'json' 'typeswitch'
  25132. || lk == 133288 // 'json' 'union'
  25133. || lk == 134312 // 'json' 'unordered'
  25134. || lk == 134824 // 'json' 'updating'
  25135. || lk == 136360 // 'json' 'validate'
  25136. || lk == 136872 // 'json' 'value'
  25137. || lk == 137384 // 'json' 'variable'
  25138. || lk == 137896 // 'json' 'version'
  25139. || lk == 139432 // 'json' 'where'
  25140. || lk == 139944 // 'json' 'while'
  25141. || lk == 141480 // 'json' 'with'
  25142. || lk == 144040 // 'json' '{'
  25143. || lk == 145064) // 'json' '{|'
  25144. {
  25145. shift(168); // 'json'
  25146. }
  25147. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25148. whitespace();
  25149. parse_PostfixExpr();
  25150. eventHandler.endNonterminal("JSONDeleteExpr", e0);
  25151. }
  25152. function try_JSONDeleteExpr()
  25153. {
  25154. shiftT(111); // 'delete'
  25155. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25156. switch (l1)
  25157. {
  25158. case 168: // 'json'
  25159. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25160. break;
  25161. default:
  25162. lk = l1;
  25163. }
  25164. if (lk == 18088) // 'json' '('
  25165. {
  25166. lk = memoized(11, e0);
  25167. if (lk == 0)
  25168. {
  25169. var b0A = b0; var e0A = e0; var l1A = l1;
  25170. var b1A = b1; var e1A = e1; var l2A = l2;
  25171. var b2A = b2; var e2A = e2;
  25172. try
  25173. {
  25174. shiftT(168); // 'json'
  25175. memoize(11, e0A, -1);
  25176. }
  25177. catch (p1A)
  25178. {
  25179. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  25180. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  25181. b2 = b2A; e2 = e2A; end = e2A; }}
  25182. memoize(11, e0A, -2);
  25183. }
  25184. lk = -2;
  25185. }
  25186. }
  25187. if (lk == -1
  25188. || lk == 3240 // 'json' EQName^Token
  25189. || lk == 4264 // 'json' IntegerLiteral
  25190. || lk == 4776 // 'json' DecimalLiteral
  25191. || lk == 5288 // 'json' DoubleLiteral
  25192. || lk == 5800 // 'json' StringLiteral
  25193. || lk == 16040 // 'json' '$'
  25194. || lk == 16552 // 'json' '$$'
  25195. || lk == 17064 // 'json' '%'
  25196. || lk == 28328 // 'json' '<'
  25197. || lk == 28840 // 'json' '<!--'
  25198. || lk == 30888 // 'json' '<?'
  25199. || lk == 35496 // 'json' '['
  25200. || lk == 36520 // 'json' 'after'
  25201. || lk == 37544 // 'json' 'allowing'
  25202. || lk == 38056 // 'json' 'ancestor'
  25203. || lk == 38568 // 'json' 'ancestor-or-self'
  25204. || lk == 39080 // 'json' 'and'
  25205. || lk == 40104 // 'json' 'append'
  25206. || lk == 40616 // 'json' 'array'
  25207. || lk == 41128 // 'json' 'as'
  25208. || lk == 41640 // 'json' 'ascending'
  25209. || lk == 42152 // 'json' 'at'
  25210. || lk == 42664 // 'json' 'attribute'
  25211. || lk == 43176 // 'json' 'base-uri'
  25212. || lk == 43688 // 'json' 'before'
  25213. || lk == 44200 // 'json' 'boundary-space'
  25214. || lk == 44712 // 'json' 'break'
  25215. || lk == 45736 // 'json' 'case'
  25216. || lk == 46248 // 'json' 'cast'
  25217. || lk == 46760 // 'json' 'castable'
  25218. || lk == 47272 // 'json' 'catch'
  25219. || lk == 48296 // 'json' 'child'
  25220. || lk == 48808 // 'json' 'collation'
  25221. || lk == 49832 // 'json' 'comment'
  25222. || lk == 50344 // 'json' 'constraint'
  25223. || lk == 50856 // 'json' 'construction'
  25224. || lk == 52392 // 'json' 'context'
  25225. || lk == 52904 // 'json' 'continue'
  25226. || lk == 53416 // 'json' 'copy'
  25227. || lk == 53928 // 'json' 'copy-namespaces'
  25228. || lk == 54440 // 'json' 'count'
  25229. || lk == 54952 // 'json' 'decimal-format'
  25230. || lk == 55976 // 'json' 'declare'
  25231. || lk == 56488 // 'json' 'default'
  25232. || lk == 57000 // 'json' 'delete'
  25233. || lk == 57512 // 'json' 'descendant'
  25234. || lk == 58024 // 'json' 'descendant-or-self'
  25235. || lk == 58536 // 'json' 'descending'
  25236. || lk == 61096 // 'json' 'div'
  25237. || lk == 61608 // 'json' 'document'
  25238. || lk == 62120 // 'json' 'document-node'
  25239. || lk == 62632 // 'json' 'element'
  25240. || lk == 63144 // 'json' 'else'
  25241. || lk == 63656 // 'json' 'empty'
  25242. || lk == 64168 // 'json' 'empty-sequence'
  25243. || lk == 64680 // 'json' 'encoding'
  25244. || lk == 65192 // 'json' 'end'
  25245. || lk == 66216 // 'json' 'eq'
  25246. || lk == 66728 // 'json' 'every'
  25247. || lk == 67752 // 'json' 'except'
  25248. || lk == 68264 // 'json' 'exit'
  25249. || lk == 68776 // 'json' 'external'
  25250. || lk == 69288 // 'json' 'false'
  25251. || lk == 69800 // 'json' 'first'
  25252. || lk == 70312 // 'json' 'following'
  25253. || lk == 70824 // 'json' 'following-sibling'
  25254. || lk == 71336 // 'json' 'for'
  25255. || lk == 72872 // 'json' 'from'
  25256. || lk == 73384 // 'json' 'ft-option'
  25257. || lk == 75432 // 'json' 'function'
  25258. || lk == 75944 // 'json' 'ge'
  25259. || lk == 76968 // 'json' 'group'
  25260. || lk == 77992 // 'json' 'gt'
  25261. || lk == 78504 // 'json' 'idiv'
  25262. || lk == 79016 // 'json' 'if'
  25263. || lk == 79528 // 'json' 'import'
  25264. || lk == 80040 // 'json' 'in'
  25265. || lk == 80552 // 'json' 'index'
  25266. || lk == 82600 // 'json' 'insert'
  25267. || lk == 83112 // 'json' 'instance'
  25268. || lk == 83624 // 'json' 'integrity'
  25269. || lk == 84136 // 'json' 'intersect'
  25270. || lk == 84648 // 'json' 'into'
  25271. || lk == 85160 // 'json' 'is'
  25272. || lk == 85672 // 'json' 'item'
  25273. || lk == 86184 // 'json' 'json'
  25274. || lk == 86696 // 'json' 'json-item'
  25275. || lk == 87208 // 'json' 'jsoniq'
  25276. || lk == 88744 // 'json' 'last'
  25277. || lk == 89256 // 'json' 'lax'
  25278. || lk == 89768 // 'json' 'le'
  25279. || lk == 90792 // 'json' 'let'
  25280. || lk == 91816 // 'json' 'loop'
  25281. || lk == 92840 // 'json' 'lt'
  25282. || lk == 93864 // 'json' 'mod'
  25283. || lk == 94376 // 'json' 'modify'
  25284. || lk == 94888 // 'json' 'module'
  25285. || lk == 95912 // 'json' 'namespace'
  25286. || lk == 96424 // 'json' 'namespace-node'
  25287. || lk == 96936 // 'json' 'ne'
  25288. || lk == 99496 // 'json' 'node'
  25289. || lk == 100008 // 'json' 'nodes'
  25290. || lk == 101032 // 'json' 'null'
  25291. || lk == 101544 // 'json' 'object'
  25292. || lk == 103592 // 'json' 'only'
  25293. || lk == 104104 // 'json' 'option'
  25294. || lk == 104616 // 'json' 'or'
  25295. || lk == 105128 // 'json' 'order'
  25296. || lk == 105640 // 'json' 'ordered'
  25297. || lk == 106152 // 'json' 'ordering'
  25298. || lk == 107688 // 'json' 'parent'
  25299. || lk == 110760 // 'json' 'preceding'
  25300. || lk == 111272 // 'json' 'preceding-sibling'
  25301. || lk == 112808 // 'json' 'processing-instruction'
  25302. || lk == 113832 // 'json' 'rename'
  25303. || lk == 114344 // 'json' 'replace'
  25304. || lk == 114856 // 'json' 'return'
  25305. || lk == 115368 // 'json' 'returning'
  25306. || lk == 115880 // 'json' 'revalidation'
  25307. || lk == 116904 // 'json' 'satisfies'
  25308. || lk == 117416 // 'json' 'schema'
  25309. || lk == 117928 // 'json' 'schema-attribute'
  25310. || lk == 118440 // 'json' 'schema-element'
  25311. || lk == 118952 // 'json' 'score'
  25312. || lk == 119464 // 'json' 'select'
  25313. || lk == 119976 // 'json' 'self'
  25314. || lk == 122536 // 'json' 'sliding'
  25315. || lk == 123048 // 'json' 'some'
  25316. || lk == 123560 // 'json' 'stable'
  25317. || lk == 124072 // 'json' 'start'
  25318. || lk == 125608 // 'json' 'strict'
  25319. || lk == 126632 // 'json' 'structured-item'
  25320. || lk == 127144 // 'json' 'switch'
  25321. || lk == 127656 // 'json' 'text'
  25322. || lk == 129704 // 'json' 'to'
  25323. || lk == 130216 // 'json' 'treat'
  25324. || lk == 130728 // 'json' 'true'
  25325. || lk == 131240 // 'json' 'try'
  25326. || lk == 131752 // 'json' 'tumbling'
  25327. || lk == 132264 // 'json' 'type'
  25328. || lk == 132776 // 'json' 'typeswitch'
  25329. || lk == 133288 // 'json' 'union'
  25330. || lk == 134312 // 'json' 'unordered'
  25331. || lk == 134824 // 'json' 'updating'
  25332. || lk == 136360 // 'json' 'validate'
  25333. || lk == 136872 // 'json' 'value'
  25334. || lk == 137384 // 'json' 'variable'
  25335. || lk == 137896 // 'json' 'version'
  25336. || lk == 139432 // 'json' 'where'
  25337. || lk == 139944 // 'json' 'while'
  25338. || lk == 141480 // 'json' 'with'
  25339. || lk == 144040 // 'json' '{'
  25340. || lk == 145064) // 'json' '{|'
  25341. {
  25342. shiftT(168); // 'json'
  25343. }
  25344. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25345. try_PostfixExpr();
  25346. }
  25347. function parse_JSONInsertExpr()
  25348. {
  25349. eventHandler.startNonterminal("JSONInsertExpr", e0);
  25350. switch (l1)
  25351. {
  25352. case 161: // 'insert'
  25353. lookahead2W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25354. break;
  25355. default:
  25356. lk = l1;
  25357. }
  25358. if (lk != 9889) // 'insert' NCName^Token
  25359. {
  25360. lk = memoized(12, e0);
  25361. if (lk == 0)
  25362. {
  25363. var b0A = b0; var e0A = e0; var l1A = l1;
  25364. var b1A = b1; var e1A = e1; var l2A = l2;
  25365. var b2A = b2; var e2A = e2;
  25366. try
  25367. {
  25368. shiftT(161); // 'insert'
  25369. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25370. switch (l1)
  25371. {
  25372. case 168: // 'json'
  25373. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25374. break;
  25375. default:
  25376. lk = l1;
  25377. }
  25378. if (lk == 18088) // 'json' '('
  25379. {
  25380. lk = memoized(13, e0);
  25381. if (lk == 0)
  25382. {
  25383. var b0B = b0; var e0B = e0; var l1B = l1;
  25384. var b1B = b1; var e1B = e1; var l2B = l2;
  25385. var b2B = b2; var e2B = e2;
  25386. try
  25387. {
  25388. shiftT(168); // 'json'
  25389. memoize(13, e0B, -1);
  25390. }
  25391. catch (p1B)
  25392. {
  25393. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  25394. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  25395. b2 = b2B; e2 = e2B; end = e2B; }}
  25396. memoize(13, e0B, -2);
  25397. }
  25398. lk = -2;
  25399. }
  25400. }
  25401. if (lk == -1
  25402. || lk == 3240 // 'json' EQName^Token
  25403. || lk == 4264 // 'json' IntegerLiteral
  25404. || lk == 4776 // 'json' DecimalLiteral
  25405. || lk == 5288 // 'json' DoubleLiteral
  25406. || lk == 5800 // 'json' StringLiteral
  25407. || lk == 16040 // 'json' '$'
  25408. || lk == 16552 // 'json' '$$'
  25409. || lk == 17064 // 'json' '%'
  25410. || lk == 18600 // 'json' '(#'
  25411. || lk == 21160 // 'json' '+'
  25412. || lk == 22184 // 'json' '-'
  25413. || lk == 24232 // 'json' '/'
  25414. || lk == 24744 // 'json' '//'
  25415. || lk == 28328 // 'json' '<'
  25416. || lk == 28840 // 'json' '<!--'
  25417. || lk == 30888 // 'json' '<?'
  25418. || lk == 35496 // 'json' '['
  25419. || lk == 36520 // 'json' 'after'
  25420. || lk == 37544 // 'json' 'allowing'
  25421. || lk == 38056 // 'json' 'ancestor'
  25422. || lk == 38568 // 'json' 'ancestor-or-self'
  25423. || lk == 39080 // 'json' 'and'
  25424. || lk == 40104 // 'json' 'append'
  25425. || lk == 40616 // 'json' 'array'
  25426. || lk == 41128 // 'json' 'as'
  25427. || lk == 41640 // 'json' 'ascending'
  25428. || lk == 42152 // 'json' 'at'
  25429. || lk == 42664 // 'json' 'attribute'
  25430. || lk == 43176 // 'json' 'base-uri'
  25431. || lk == 43688 // 'json' 'before'
  25432. || lk == 44200 // 'json' 'boundary-space'
  25433. || lk == 44712 // 'json' 'break'
  25434. || lk == 45736 // 'json' 'case'
  25435. || lk == 46248 // 'json' 'cast'
  25436. || lk == 46760 // 'json' 'castable'
  25437. || lk == 47272 // 'json' 'catch'
  25438. || lk == 48296 // 'json' 'child'
  25439. || lk == 48808 // 'json' 'collation'
  25440. || lk == 49832 // 'json' 'comment'
  25441. || lk == 50344 // 'json' 'constraint'
  25442. || lk == 50856 // 'json' 'construction'
  25443. || lk == 52392 // 'json' 'context'
  25444. || lk == 52904 // 'json' 'continue'
  25445. || lk == 53416 // 'json' 'copy'
  25446. || lk == 53928 // 'json' 'copy-namespaces'
  25447. || lk == 54440 // 'json' 'count'
  25448. || lk == 54952 // 'json' 'decimal-format'
  25449. || lk == 55976 // 'json' 'declare'
  25450. || lk == 56488 // 'json' 'default'
  25451. || lk == 57000 // 'json' 'delete'
  25452. || lk == 57512 // 'json' 'descendant'
  25453. || lk == 58024 // 'json' 'descendant-or-self'
  25454. || lk == 58536 // 'json' 'descending'
  25455. || lk == 61096 // 'json' 'div'
  25456. || lk == 61608 // 'json' 'document'
  25457. || lk == 62120 // 'json' 'document-node'
  25458. || lk == 62632 // 'json' 'element'
  25459. || lk == 63144 // 'json' 'else'
  25460. || lk == 63656 // 'json' 'empty'
  25461. || lk == 64168 // 'json' 'empty-sequence'
  25462. || lk == 64680 // 'json' 'encoding'
  25463. || lk == 65192 // 'json' 'end'
  25464. || lk == 66216 // 'json' 'eq'
  25465. || lk == 66728 // 'json' 'every'
  25466. || lk == 67752 // 'json' 'except'
  25467. || lk == 68264 // 'json' 'exit'
  25468. || lk == 68776 // 'json' 'external'
  25469. || lk == 69288 // 'json' 'false'
  25470. || lk == 69800 // 'json' 'first'
  25471. || lk == 70312 // 'json' 'following'
  25472. || lk == 70824 // 'json' 'following-sibling'
  25473. || lk == 71336 // 'json' 'for'
  25474. || lk == 72872 // 'json' 'from'
  25475. || lk == 73384 // 'json' 'ft-option'
  25476. || lk == 75432 // 'json' 'function'
  25477. || lk == 75944 // 'json' 'ge'
  25478. || lk == 76968 // 'json' 'group'
  25479. || lk == 77992 // 'json' 'gt'
  25480. || lk == 78504 // 'json' 'idiv'
  25481. || lk == 79016 // 'json' 'if'
  25482. || lk == 79528 // 'json' 'import'
  25483. || lk == 80040 // 'json' 'in'
  25484. || lk == 80552 // 'json' 'index'
  25485. || lk == 82600 // 'json' 'insert'
  25486. || lk == 83112 // 'json' 'instance'
  25487. || lk == 83624 // 'json' 'integrity'
  25488. || lk == 84136 // 'json' 'intersect'
  25489. || lk == 84648 // 'json' 'into'
  25490. || lk == 85160 // 'json' 'is'
  25491. || lk == 85672 // 'json' 'item'
  25492. || lk == 86184 // 'json' 'json'
  25493. || lk == 86696 // 'json' 'json-item'
  25494. || lk == 87208 // 'json' 'jsoniq'
  25495. || lk == 88744 // 'json' 'last'
  25496. || lk == 89256 // 'json' 'lax'
  25497. || lk == 89768 // 'json' 'le'
  25498. || lk == 90792 // 'json' 'let'
  25499. || lk == 91816 // 'json' 'loop'
  25500. || lk == 92840 // 'json' 'lt'
  25501. || lk == 93864 // 'json' 'mod'
  25502. || lk == 94376 // 'json' 'modify'
  25503. || lk == 94888 // 'json' 'module'
  25504. || lk == 95912 // 'json' 'namespace'
  25505. || lk == 96424 // 'json' 'namespace-node'
  25506. || lk == 96936 // 'json' 'ne'
  25507. || lk == 99496 // 'json' 'node'
  25508. || lk == 100008 // 'json' 'nodes'
  25509. || lk == 100520 // 'json' 'not'
  25510. || lk == 101032 // 'json' 'null'
  25511. || lk == 101544 // 'json' 'object'
  25512. || lk == 103592 // 'json' 'only'
  25513. || lk == 104104 // 'json' 'option'
  25514. || lk == 104616 // 'json' 'or'
  25515. || lk == 105128 // 'json' 'order'
  25516. || lk == 105640 // 'json' 'ordered'
  25517. || lk == 106152 // 'json' 'ordering'
  25518. || lk == 107688 // 'json' 'parent'
  25519. || lk == 110760 // 'json' 'preceding'
  25520. || lk == 111272 // 'json' 'preceding-sibling'
  25521. || lk == 112808 // 'json' 'processing-instruction'
  25522. || lk == 113832 // 'json' 'rename'
  25523. || lk == 114344 // 'json' 'replace'
  25524. || lk == 114856 // 'json' 'return'
  25525. || lk == 115368 // 'json' 'returning'
  25526. || lk == 115880 // 'json' 'revalidation'
  25527. || lk == 116904 // 'json' 'satisfies'
  25528. || lk == 117416 // 'json' 'schema'
  25529. || lk == 117928 // 'json' 'schema-attribute'
  25530. || lk == 118440 // 'json' 'schema-element'
  25531. || lk == 118952 // 'json' 'score'
  25532. || lk == 119464 // 'json' 'select'
  25533. || lk == 119976 // 'json' 'self'
  25534. || lk == 122536 // 'json' 'sliding'
  25535. || lk == 123048 // 'json' 'some'
  25536. || lk == 123560 // 'json' 'stable'
  25537. || lk == 124072 // 'json' 'start'
  25538. || lk == 125608 // 'json' 'strict'
  25539. || lk == 126632 // 'json' 'structured-item'
  25540. || lk == 127144 // 'json' 'switch'
  25541. || lk == 127656 // 'json' 'text'
  25542. || lk == 129704 // 'json' 'to'
  25543. || lk == 130216 // 'json' 'treat'
  25544. || lk == 130728 // 'json' 'true'
  25545. || lk == 131240 // 'json' 'try'
  25546. || lk == 131752 // 'json' 'tumbling'
  25547. || lk == 132264 // 'json' 'type'
  25548. || lk == 132776 // 'json' 'typeswitch'
  25549. || lk == 133288 // 'json' 'union'
  25550. || lk == 134312 // 'json' 'unordered'
  25551. || lk == 134824 // 'json' 'updating'
  25552. || lk == 136360 // 'json' 'validate'
  25553. || lk == 136872 // 'json' 'value'
  25554. || lk == 137384 // 'json' 'variable'
  25555. || lk == 137896 // 'json' 'version'
  25556. || lk == 139432 // 'json' 'where'
  25557. || lk == 139944 // 'json' 'while'
  25558. || lk == 141480 // 'json' 'with'
  25559. || lk == 144040 // 'json' '{'
  25560. || lk == 145064) // 'json' '{|'
  25561. {
  25562. shiftT(168); // 'json'
  25563. }
  25564. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25565. try_ExprSingle();
  25566. shiftT(165); // 'into'
  25567. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25568. try_ExprSingle();
  25569. switch (l1)
  25570. {
  25571. case 82: // 'at'
  25572. lookahead2W(72); // S^WS | '(:' | 'position'
  25573. break;
  25574. default:
  25575. lk = l1;
  25576. }
  25577. if (lk == 110162) // 'at' 'position'
  25578. {
  25579. lk = memoized(14, e0);
  25580. if (lk == 0)
  25581. {
  25582. var b0B = b0; var e0B = e0; var l1B = l1;
  25583. var b1B = b1; var e1B = e1; var l2B = l2;
  25584. var b2B = b2; var e2B = e2;
  25585. try
  25586. {
  25587. shiftT(82); // 'at'
  25588. lookahead1W(72); // S^WS | '(:' | 'position'
  25589. shiftT(215); // 'position'
  25590. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25591. try_ExprSingle();
  25592. memoize(14, e0B, -1);
  25593. }
  25594. catch (p1B)
  25595. {
  25596. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  25597. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  25598. b2 = b2B; e2 = e2B; end = e2B; }}
  25599. memoize(14, e0B, -2);
  25600. }
  25601. lk = -2;
  25602. }
  25603. }
  25604. if (lk == -1)
  25605. {
  25606. shiftT(82); // 'at'
  25607. lookahead1W(72); // S^WS | '(:' | 'position'
  25608. shiftT(215); // 'position'
  25609. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25610. try_ExprSingle();
  25611. }
  25612. lk = -1;
  25613. }
  25614. catch (p1A)
  25615. {
  25616. lk = -2;
  25617. }
  25618. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  25619. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  25620. b2 = b2A; e2 = e2A; end = e2A; }}
  25621. memoize(12, e0, lk);
  25622. }
  25623. }
  25624. switch (lk)
  25625. {
  25626. case -1:
  25627. shift(161); // 'insert'
  25628. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25629. switch (l1)
  25630. {
  25631. case 168: // 'json'
  25632. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25633. break;
  25634. default:
  25635. lk = l1;
  25636. }
  25637. if (lk == 18088) // 'json' '('
  25638. {
  25639. lk = memoized(13, e0);
  25640. if (lk == 0)
  25641. {
  25642. var b0B = b0; var e0B = e0; var l1B = l1;
  25643. var b1B = b1; var e1B = e1; var l2B = l2;
  25644. var b2B = b2; var e2B = e2;
  25645. try
  25646. {
  25647. shiftT(168); // 'json'
  25648. lk = -1;
  25649. }
  25650. catch (p1B)
  25651. {
  25652. lk = -2;
  25653. }
  25654. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  25655. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  25656. b2 = b2B; e2 = e2B; end = e2B; }}
  25657. memoize(13, e0, lk);
  25658. }
  25659. }
  25660. if (lk == -1
  25661. || lk == 3240 // 'json' EQName^Token
  25662. || lk == 4264 // 'json' IntegerLiteral
  25663. || lk == 4776 // 'json' DecimalLiteral
  25664. || lk == 5288 // 'json' DoubleLiteral
  25665. || lk == 5800 // 'json' StringLiteral
  25666. || lk == 16040 // 'json' '$'
  25667. || lk == 16552 // 'json' '$$'
  25668. || lk == 17064 // 'json' '%'
  25669. || lk == 18600 // 'json' '(#'
  25670. || lk == 21160 // 'json' '+'
  25671. || lk == 22184 // 'json' '-'
  25672. || lk == 24232 // 'json' '/'
  25673. || lk == 24744 // 'json' '//'
  25674. || lk == 28328 // 'json' '<'
  25675. || lk == 28840 // 'json' '<!--'
  25676. || lk == 30888 // 'json' '<?'
  25677. || lk == 35496 // 'json' '['
  25678. || lk == 36520 // 'json' 'after'
  25679. || lk == 37544 // 'json' 'allowing'
  25680. || lk == 38056 // 'json' 'ancestor'
  25681. || lk == 38568 // 'json' 'ancestor-or-self'
  25682. || lk == 39080 // 'json' 'and'
  25683. || lk == 40104 // 'json' 'append'
  25684. || lk == 40616 // 'json' 'array'
  25685. || lk == 41128 // 'json' 'as'
  25686. || lk == 41640 // 'json' 'ascending'
  25687. || lk == 42152 // 'json' 'at'
  25688. || lk == 42664 // 'json' 'attribute'
  25689. || lk == 43176 // 'json' 'base-uri'
  25690. || lk == 43688 // 'json' 'before'
  25691. || lk == 44200 // 'json' 'boundary-space'
  25692. || lk == 44712 // 'json' 'break'
  25693. || lk == 45736 // 'json' 'case'
  25694. || lk == 46248 // 'json' 'cast'
  25695. || lk == 46760 // 'json' 'castable'
  25696. || lk == 47272 // 'json' 'catch'
  25697. || lk == 48296 // 'json' 'child'
  25698. || lk == 48808 // 'json' 'collation'
  25699. || lk == 49832 // 'json' 'comment'
  25700. || lk == 50344 // 'json' 'constraint'
  25701. || lk == 50856 // 'json' 'construction'
  25702. || lk == 52392 // 'json' 'context'
  25703. || lk == 52904 // 'json' 'continue'
  25704. || lk == 53416 // 'json' 'copy'
  25705. || lk == 53928 // 'json' 'copy-namespaces'
  25706. || lk == 54440 // 'json' 'count'
  25707. || lk == 54952 // 'json' 'decimal-format'
  25708. || lk == 55976 // 'json' 'declare'
  25709. || lk == 56488 // 'json' 'default'
  25710. || lk == 57000 // 'json' 'delete'
  25711. || lk == 57512 // 'json' 'descendant'
  25712. || lk == 58024 // 'json' 'descendant-or-self'
  25713. || lk == 58536 // 'json' 'descending'
  25714. || lk == 61096 // 'json' 'div'
  25715. || lk == 61608 // 'json' 'document'
  25716. || lk == 62120 // 'json' 'document-node'
  25717. || lk == 62632 // 'json' 'element'
  25718. || lk == 63144 // 'json' 'else'
  25719. || lk == 63656 // 'json' 'empty'
  25720. || lk == 64168 // 'json' 'empty-sequence'
  25721. || lk == 64680 // 'json' 'encoding'
  25722. || lk == 65192 // 'json' 'end'
  25723. || lk == 66216 // 'json' 'eq'
  25724. || lk == 66728 // 'json' 'every'
  25725. || lk == 67752 // 'json' 'except'
  25726. || lk == 68264 // 'json' 'exit'
  25727. || lk == 68776 // 'json' 'external'
  25728. || lk == 69288 // 'json' 'false'
  25729. || lk == 69800 // 'json' 'first'
  25730. || lk == 70312 // 'json' 'following'
  25731. || lk == 70824 // 'json' 'following-sibling'
  25732. || lk == 71336 // 'json' 'for'
  25733. || lk == 72872 // 'json' 'from'
  25734. || lk == 73384 // 'json' 'ft-option'
  25735. || lk == 75432 // 'json' 'function'
  25736. || lk == 75944 // 'json' 'ge'
  25737. || lk == 76968 // 'json' 'group'
  25738. || lk == 77992 // 'json' 'gt'
  25739. || lk == 78504 // 'json' 'idiv'
  25740. || lk == 79016 // 'json' 'if'
  25741. || lk == 79528 // 'json' 'import'
  25742. || lk == 80040 // 'json' 'in'
  25743. || lk == 80552 // 'json' 'index'
  25744. || lk == 82600 // 'json' 'insert'
  25745. || lk == 83112 // 'json' 'instance'
  25746. || lk == 83624 // 'json' 'integrity'
  25747. || lk == 84136 // 'json' 'intersect'
  25748. || lk == 84648 // 'json' 'into'
  25749. || lk == 85160 // 'json' 'is'
  25750. || lk == 85672 // 'json' 'item'
  25751. || lk == 86184 // 'json' 'json'
  25752. || lk == 86696 // 'json' 'json-item'
  25753. || lk == 87208 // 'json' 'jsoniq'
  25754. || lk == 88744 // 'json' 'last'
  25755. || lk == 89256 // 'json' 'lax'
  25756. || lk == 89768 // 'json' 'le'
  25757. || lk == 90792 // 'json' 'let'
  25758. || lk == 91816 // 'json' 'loop'
  25759. || lk == 92840 // 'json' 'lt'
  25760. || lk == 93864 // 'json' 'mod'
  25761. || lk == 94376 // 'json' 'modify'
  25762. || lk == 94888 // 'json' 'module'
  25763. || lk == 95912 // 'json' 'namespace'
  25764. || lk == 96424 // 'json' 'namespace-node'
  25765. || lk == 96936 // 'json' 'ne'
  25766. || lk == 99496 // 'json' 'node'
  25767. || lk == 100008 // 'json' 'nodes'
  25768. || lk == 100520 // 'json' 'not'
  25769. || lk == 101032 // 'json' 'null'
  25770. || lk == 101544 // 'json' 'object'
  25771. || lk == 103592 // 'json' 'only'
  25772. || lk == 104104 // 'json' 'option'
  25773. || lk == 104616 // 'json' 'or'
  25774. || lk == 105128 // 'json' 'order'
  25775. || lk == 105640 // 'json' 'ordered'
  25776. || lk == 106152 // 'json' 'ordering'
  25777. || lk == 107688 // 'json' 'parent'
  25778. || lk == 110760 // 'json' 'preceding'
  25779. || lk == 111272 // 'json' 'preceding-sibling'
  25780. || lk == 112808 // 'json' 'processing-instruction'
  25781. || lk == 113832 // 'json' 'rename'
  25782. || lk == 114344 // 'json' 'replace'
  25783. || lk == 114856 // 'json' 'return'
  25784. || lk == 115368 // 'json' 'returning'
  25785. || lk == 115880 // 'json' 'revalidation'
  25786. || lk == 116904 // 'json' 'satisfies'
  25787. || lk == 117416 // 'json' 'schema'
  25788. || lk == 117928 // 'json' 'schema-attribute'
  25789. || lk == 118440 // 'json' 'schema-element'
  25790. || lk == 118952 // 'json' 'score'
  25791. || lk == 119464 // 'json' 'select'
  25792. || lk == 119976 // 'json' 'self'
  25793. || lk == 122536 // 'json' 'sliding'
  25794. || lk == 123048 // 'json' 'some'
  25795. || lk == 123560 // 'json' 'stable'
  25796. || lk == 124072 // 'json' 'start'
  25797. || lk == 125608 // 'json' 'strict'
  25798. || lk == 126632 // 'json' 'structured-item'
  25799. || lk == 127144 // 'json' 'switch'
  25800. || lk == 127656 // 'json' 'text'
  25801. || lk == 129704 // 'json' 'to'
  25802. || lk == 130216 // 'json' 'treat'
  25803. || lk == 130728 // 'json' 'true'
  25804. || lk == 131240 // 'json' 'try'
  25805. || lk == 131752 // 'json' 'tumbling'
  25806. || lk == 132264 // 'json' 'type'
  25807. || lk == 132776 // 'json' 'typeswitch'
  25808. || lk == 133288 // 'json' 'union'
  25809. || lk == 134312 // 'json' 'unordered'
  25810. || lk == 134824 // 'json' 'updating'
  25811. || lk == 136360 // 'json' 'validate'
  25812. || lk == 136872 // 'json' 'value'
  25813. || lk == 137384 // 'json' 'variable'
  25814. || lk == 137896 // 'json' 'version'
  25815. || lk == 139432 // 'json' 'where'
  25816. || lk == 139944 // 'json' 'while'
  25817. || lk == 141480 // 'json' 'with'
  25818. || lk == 144040 // 'json' '{'
  25819. || lk == 145064) // 'json' '{|'
  25820. {
  25821. shift(168); // 'json'
  25822. }
  25823. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25824. whitespace();
  25825. parse_ExprSingle();
  25826. shift(165); // 'into'
  25827. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25828. whitespace();
  25829. parse_ExprSingle();
  25830. switch (l1)
  25831. {
  25832. case 82: // 'at'
  25833. lookahead2W(72); // S^WS | '(:' | 'position'
  25834. break;
  25835. default:
  25836. lk = l1;
  25837. }
  25838. if (lk == 110162) // 'at' 'position'
  25839. {
  25840. lk = memoized(14, e0);
  25841. if (lk == 0)
  25842. {
  25843. var b0B = b0; var e0B = e0; var l1B = l1;
  25844. var b1B = b1; var e1B = e1; var l2B = l2;
  25845. var b2B = b2; var e2B = e2;
  25846. try
  25847. {
  25848. shiftT(82); // 'at'
  25849. lookahead1W(72); // S^WS | '(:' | 'position'
  25850. shiftT(215); // 'position'
  25851. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25852. try_ExprSingle();
  25853. lk = -1;
  25854. }
  25855. catch (p1B)
  25856. {
  25857. lk = -2;
  25858. }
  25859. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  25860. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  25861. b2 = b2B; e2 = e2B; end = e2B; }}
  25862. memoize(14, e0, lk);
  25863. }
  25864. }
  25865. if (lk == -1)
  25866. {
  25867. shift(82); // 'at'
  25868. lookahead1W(72); // S^WS | '(:' | 'position'
  25869. shift(215); // 'position'
  25870. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25871. whitespace();
  25872. parse_ExprSingle();
  25873. }
  25874. break;
  25875. default:
  25876. shift(161); // 'insert'
  25877. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25878. switch (l1)
  25879. {
  25880. case 168: // 'json'
  25881. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  25882. break;
  25883. default:
  25884. lk = l1;
  25885. }
  25886. if (lk == 18088) // 'json' '('
  25887. {
  25888. lk = memoized(15, e0);
  25889. if (lk == 0)
  25890. {
  25891. var b0B = b0; var e0B = e0; var l1B = l1;
  25892. var b1B = b1; var e1B = e1; var l2B = l2;
  25893. var b2B = b2; var e2B = e2;
  25894. try
  25895. {
  25896. shiftT(168); // 'json'
  25897. lk = -1;
  25898. }
  25899. catch (p1B)
  25900. {
  25901. lk = -2;
  25902. }
  25903. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  25904. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  25905. b2 = b2B; e2 = e2B; end = e2B; }}
  25906. memoize(15, e0, lk);
  25907. }
  25908. }
  25909. if (lk == -1
  25910. || lk == 3240 // 'json' EQName^Token
  25911. || lk == 4264 // 'json' IntegerLiteral
  25912. || lk == 4776 // 'json' DecimalLiteral
  25913. || lk == 5288 // 'json' DoubleLiteral
  25914. || lk == 5800 // 'json' StringLiteral
  25915. || lk == 9896 // 'json' NCName^Token
  25916. || lk == 16040 // 'json' '$'
  25917. || lk == 16552 // 'json' '$$'
  25918. || lk == 17064 // 'json' '%'
  25919. || lk == 18600 // 'json' '(#'
  25920. || lk == 21160 // 'json' '+'
  25921. || lk == 22184 // 'json' '-'
  25922. || lk == 24232 // 'json' '/'
  25923. || lk == 24744 // 'json' '//'
  25924. || lk == 28328 // 'json' '<'
  25925. || lk == 28840 // 'json' '<!--'
  25926. || lk == 30888 // 'json' '<?'
  25927. || lk == 35496 // 'json' '['
  25928. || lk == 36520 // 'json' 'after'
  25929. || lk == 37544 // 'json' 'allowing'
  25930. || lk == 38056 // 'json' 'ancestor'
  25931. || lk == 38568 // 'json' 'ancestor-or-self'
  25932. || lk == 39080 // 'json' 'and'
  25933. || lk == 40104 // 'json' 'append'
  25934. || lk == 40616 // 'json' 'array'
  25935. || lk == 41128 // 'json' 'as'
  25936. || lk == 41640 // 'json' 'ascending'
  25937. || lk == 42152 // 'json' 'at'
  25938. || lk == 42664 // 'json' 'attribute'
  25939. || lk == 43176 // 'json' 'base-uri'
  25940. || lk == 43688 // 'json' 'before'
  25941. || lk == 44200 // 'json' 'boundary-space'
  25942. || lk == 44712 // 'json' 'break'
  25943. || lk == 45736 // 'json' 'case'
  25944. || lk == 46248 // 'json' 'cast'
  25945. || lk == 46760 // 'json' 'castable'
  25946. || lk == 47272 // 'json' 'catch'
  25947. || lk == 48296 // 'json' 'child'
  25948. || lk == 48808 // 'json' 'collation'
  25949. || lk == 49832 // 'json' 'comment'
  25950. || lk == 50344 // 'json' 'constraint'
  25951. || lk == 50856 // 'json' 'construction'
  25952. || lk == 52392 // 'json' 'context'
  25953. || lk == 52904 // 'json' 'continue'
  25954. || lk == 53416 // 'json' 'copy'
  25955. || lk == 53928 // 'json' 'copy-namespaces'
  25956. || lk == 54440 // 'json' 'count'
  25957. || lk == 54952 // 'json' 'decimal-format'
  25958. || lk == 55976 // 'json' 'declare'
  25959. || lk == 56488 // 'json' 'default'
  25960. || lk == 57000 // 'json' 'delete'
  25961. || lk == 57512 // 'json' 'descendant'
  25962. || lk == 58024 // 'json' 'descendant-or-self'
  25963. || lk == 58536 // 'json' 'descending'
  25964. || lk == 61096 // 'json' 'div'
  25965. || lk == 61608 // 'json' 'document'
  25966. || lk == 62120 // 'json' 'document-node'
  25967. || lk == 62632 // 'json' 'element'
  25968. || lk == 63144 // 'json' 'else'
  25969. || lk == 63656 // 'json' 'empty'
  25970. || lk == 64168 // 'json' 'empty-sequence'
  25971. || lk == 64680 // 'json' 'encoding'
  25972. || lk == 65192 // 'json' 'end'
  25973. || lk == 66216 // 'json' 'eq'
  25974. || lk == 66728 // 'json' 'every'
  25975. || lk == 67752 // 'json' 'except'
  25976. || lk == 68264 // 'json' 'exit'
  25977. || lk == 68776 // 'json' 'external'
  25978. || lk == 69288 // 'json' 'false'
  25979. || lk == 69800 // 'json' 'first'
  25980. || lk == 70312 // 'json' 'following'
  25981. || lk == 70824 // 'json' 'following-sibling'
  25982. || lk == 71336 // 'json' 'for'
  25983. || lk == 72872 // 'json' 'from'
  25984. || lk == 73384 // 'json' 'ft-option'
  25985. || lk == 75432 // 'json' 'function'
  25986. || lk == 75944 // 'json' 'ge'
  25987. || lk == 76968 // 'json' 'group'
  25988. || lk == 77992 // 'json' 'gt'
  25989. || lk == 78504 // 'json' 'idiv'
  25990. || lk == 79016 // 'json' 'if'
  25991. || lk == 79528 // 'json' 'import'
  25992. || lk == 80040 // 'json' 'in'
  25993. || lk == 80552 // 'json' 'index'
  25994. || lk == 82600 // 'json' 'insert'
  25995. || lk == 83112 // 'json' 'instance'
  25996. || lk == 83624 // 'json' 'integrity'
  25997. || lk == 84136 // 'json' 'intersect'
  25998. || lk == 84648 // 'json' 'into'
  25999. || lk == 85160 // 'json' 'is'
  26000. || lk == 85672 // 'json' 'item'
  26001. || lk == 86184 // 'json' 'json'
  26002. || lk == 86696 // 'json' 'json-item'
  26003. || lk == 87208 // 'json' 'jsoniq'
  26004. || lk == 88744 // 'json' 'last'
  26005. || lk == 89256 // 'json' 'lax'
  26006. || lk == 89768 // 'json' 'le'
  26007. || lk == 90792 // 'json' 'let'
  26008. || lk == 91816 // 'json' 'loop'
  26009. || lk == 92840 // 'json' 'lt'
  26010. || lk == 93864 // 'json' 'mod'
  26011. || lk == 94376 // 'json' 'modify'
  26012. || lk == 94888 // 'json' 'module'
  26013. || lk == 95912 // 'json' 'namespace'
  26014. || lk == 96424 // 'json' 'namespace-node'
  26015. || lk == 96936 // 'json' 'ne'
  26016. || lk == 99496 // 'json' 'node'
  26017. || lk == 100008 // 'json' 'nodes'
  26018. || lk == 100520 // 'json' 'not'
  26019. || lk == 101032 // 'json' 'null'
  26020. || lk == 101544 // 'json' 'object'
  26021. || lk == 103592 // 'json' 'only'
  26022. || lk == 104104 // 'json' 'option'
  26023. || lk == 104616 // 'json' 'or'
  26024. || lk == 105128 // 'json' 'order'
  26025. || lk == 105640 // 'json' 'ordered'
  26026. || lk == 106152 // 'json' 'ordering'
  26027. || lk == 107688 // 'json' 'parent'
  26028. || lk == 110760 // 'json' 'preceding'
  26029. || lk == 111272 // 'json' 'preceding-sibling'
  26030. || lk == 112808 // 'json' 'processing-instruction'
  26031. || lk == 113832 // 'json' 'rename'
  26032. || lk == 114344 // 'json' 'replace'
  26033. || lk == 114856 // 'json' 'return'
  26034. || lk == 115368 // 'json' 'returning'
  26035. || lk == 115880 // 'json' 'revalidation'
  26036. || lk == 116904 // 'json' 'satisfies'
  26037. || lk == 117416 // 'json' 'schema'
  26038. || lk == 117928 // 'json' 'schema-attribute'
  26039. || lk == 118440 // 'json' 'schema-element'
  26040. || lk == 118952 // 'json' 'score'
  26041. || lk == 119464 // 'json' 'select'
  26042. || lk == 119976 // 'json' 'self'
  26043. || lk == 122536 // 'json' 'sliding'
  26044. || lk == 123048 // 'json' 'some'
  26045. || lk == 123560 // 'json' 'stable'
  26046. || lk == 124072 // 'json' 'start'
  26047. || lk == 125608 // 'json' 'strict'
  26048. || lk == 126632 // 'json' 'structured-item'
  26049. || lk == 127144 // 'json' 'switch'
  26050. || lk == 127656 // 'json' 'text'
  26051. || lk == 129704 // 'json' 'to'
  26052. || lk == 130216 // 'json' 'treat'
  26053. || lk == 130728 // 'json' 'true'
  26054. || lk == 131240 // 'json' 'try'
  26055. || lk == 131752 // 'json' 'tumbling'
  26056. || lk == 132264 // 'json' 'type'
  26057. || lk == 132776 // 'json' 'typeswitch'
  26058. || lk == 133288 // 'json' 'union'
  26059. || lk == 134312 // 'json' 'unordered'
  26060. || lk == 134824 // 'json' 'updating'
  26061. || lk == 136360 // 'json' 'validate'
  26062. || lk == 136872 // 'json' 'value'
  26063. || lk == 137384 // 'json' 'variable'
  26064. || lk == 137896 // 'json' 'version'
  26065. || lk == 139432 // 'json' 'where'
  26066. || lk == 139944 // 'json' 'while'
  26067. || lk == 141480 // 'json' 'with'
  26068. || lk == 144040 // 'json' '{'
  26069. || lk == 145064) // 'json' '{|'
  26070. {
  26071. shift(168); // 'json'
  26072. }
  26073. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26074. whitespace();
  26075. parse_PairConstructorList();
  26076. shift(165); // 'into'
  26077. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26078. whitespace();
  26079. parse_ExprSingle();
  26080. }
  26081. eventHandler.endNonterminal("JSONInsertExpr", e0);
  26082. }
  26083. function try_JSONInsertExpr()
  26084. {
  26085. switch (l1)
  26086. {
  26087. case 161: // 'insert'
  26088. lookahead2W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26089. break;
  26090. default:
  26091. lk = l1;
  26092. }
  26093. if (lk != 9889) // 'insert' NCName^Token
  26094. {
  26095. lk = memoized(12, e0);
  26096. if (lk == 0)
  26097. {
  26098. var b0A = b0; var e0A = e0; var l1A = l1;
  26099. var b1A = b1; var e1A = e1; var l2A = l2;
  26100. var b2A = b2; var e2A = e2;
  26101. try
  26102. {
  26103. shiftT(161); // 'insert'
  26104. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26105. switch (l1)
  26106. {
  26107. case 168: // 'json'
  26108. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26109. break;
  26110. default:
  26111. lk = l1;
  26112. }
  26113. if (lk == 18088) // 'json' '('
  26114. {
  26115. lk = memoized(13, e0);
  26116. if (lk == 0)
  26117. {
  26118. var b0B = b0; var e0B = e0; var l1B = l1;
  26119. var b1B = b1; var e1B = e1; var l2B = l2;
  26120. var b2B = b2; var e2B = e2;
  26121. try
  26122. {
  26123. shiftT(168); // 'json'
  26124. memoize(13, e0B, -1);
  26125. }
  26126. catch (p1B)
  26127. {
  26128. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  26129. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  26130. b2 = b2B; e2 = e2B; end = e2B; }}
  26131. memoize(13, e0B, -2);
  26132. }
  26133. lk = -2;
  26134. }
  26135. }
  26136. if (lk == -1
  26137. || lk == 3240 // 'json' EQName^Token
  26138. || lk == 4264 // 'json' IntegerLiteral
  26139. || lk == 4776 // 'json' DecimalLiteral
  26140. || lk == 5288 // 'json' DoubleLiteral
  26141. || lk == 5800 // 'json' StringLiteral
  26142. || lk == 16040 // 'json' '$'
  26143. || lk == 16552 // 'json' '$$'
  26144. || lk == 17064 // 'json' '%'
  26145. || lk == 18600 // 'json' '(#'
  26146. || lk == 21160 // 'json' '+'
  26147. || lk == 22184 // 'json' '-'
  26148. || lk == 24232 // 'json' '/'
  26149. || lk == 24744 // 'json' '//'
  26150. || lk == 28328 // 'json' '<'
  26151. || lk == 28840 // 'json' '<!--'
  26152. || lk == 30888 // 'json' '<?'
  26153. || lk == 35496 // 'json' '['
  26154. || lk == 36520 // 'json' 'after'
  26155. || lk == 37544 // 'json' 'allowing'
  26156. || lk == 38056 // 'json' 'ancestor'
  26157. || lk == 38568 // 'json' 'ancestor-or-self'
  26158. || lk == 39080 // 'json' 'and'
  26159. || lk == 40104 // 'json' 'append'
  26160. || lk == 40616 // 'json' 'array'
  26161. || lk == 41128 // 'json' 'as'
  26162. || lk == 41640 // 'json' 'ascending'
  26163. || lk == 42152 // 'json' 'at'
  26164. || lk == 42664 // 'json' 'attribute'
  26165. || lk == 43176 // 'json' 'base-uri'
  26166. || lk == 43688 // 'json' 'before'
  26167. || lk == 44200 // 'json' 'boundary-space'
  26168. || lk == 44712 // 'json' 'break'
  26169. || lk == 45736 // 'json' 'case'
  26170. || lk == 46248 // 'json' 'cast'
  26171. || lk == 46760 // 'json' 'castable'
  26172. || lk == 47272 // 'json' 'catch'
  26173. || lk == 48296 // 'json' 'child'
  26174. || lk == 48808 // 'json' 'collation'
  26175. || lk == 49832 // 'json' 'comment'
  26176. || lk == 50344 // 'json' 'constraint'
  26177. || lk == 50856 // 'json' 'construction'
  26178. || lk == 52392 // 'json' 'context'
  26179. || lk == 52904 // 'json' 'continue'
  26180. || lk == 53416 // 'json' 'copy'
  26181. || lk == 53928 // 'json' 'copy-namespaces'
  26182. || lk == 54440 // 'json' 'count'
  26183. || lk == 54952 // 'json' 'decimal-format'
  26184. || lk == 55976 // 'json' 'declare'
  26185. || lk == 56488 // 'json' 'default'
  26186. || lk == 57000 // 'json' 'delete'
  26187. || lk == 57512 // 'json' 'descendant'
  26188. || lk == 58024 // 'json' 'descendant-or-self'
  26189. || lk == 58536 // 'json' 'descending'
  26190. || lk == 61096 // 'json' 'div'
  26191. || lk == 61608 // 'json' 'document'
  26192. || lk == 62120 // 'json' 'document-node'
  26193. || lk == 62632 // 'json' 'element'
  26194. || lk == 63144 // 'json' 'else'
  26195. || lk == 63656 // 'json' 'empty'
  26196. || lk == 64168 // 'json' 'empty-sequence'
  26197. || lk == 64680 // 'json' 'encoding'
  26198. || lk == 65192 // 'json' 'end'
  26199. || lk == 66216 // 'json' 'eq'
  26200. || lk == 66728 // 'json' 'every'
  26201. || lk == 67752 // 'json' 'except'
  26202. || lk == 68264 // 'json' 'exit'
  26203. || lk == 68776 // 'json' 'external'
  26204. || lk == 69288 // 'json' 'false'
  26205. || lk == 69800 // 'json' 'first'
  26206. || lk == 70312 // 'json' 'following'
  26207. || lk == 70824 // 'json' 'following-sibling'
  26208. || lk == 71336 // 'json' 'for'
  26209. || lk == 72872 // 'json' 'from'
  26210. || lk == 73384 // 'json' 'ft-option'
  26211. || lk == 75432 // 'json' 'function'
  26212. || lk == 75944 // 'json' 'ge'
  26213. || lk == 76968 // 'json' 'group'
  26214. || lk == 77992 // 'json' 'gt'
  26215. || lk == 78504 // 'json' 'idiv'
  26216. || lk == 79016 // 'json' 'if'
  26217. || lk == 79528 // 'json' 'import'
  26218. || lk == 80040 // 'json' 'in'
  26219. || lk == 80552 // 'json' 'index'
  26220. || lk == 82600 // 'json' 'insert'
  26221. || lk == 83112 // 'json' 'instance'
  26222. || lk == 83624 // 'json' 'integrity'
  26223. || lk == 84136 // 'json' 'intersect'
  26224. || lk == 84648 // 'json' 'into'
  26225. || lk == 85160 // 'json' 'is'
  26226. || lk == 85672 // 'json' 'item'
  26227. || lk == 86184 // 'json' 'json'
  26228. || lk == 86696 // 'json' 'json-item'
  26229. || lk == 87208 // 'json' 'jsoniq'
  26230. || lk == 88744 // 'json' 'last'
  26231. || lk == 89256 // 'json' 'lax'
  26232. || lk == 89768 // 'json' 'le'
  26233. || lk == 90792 // 'json' 'let'
  26234. || lk == 91816 // 'json' 'loop'
  26235. || lk == 92840 // 'json' 'lt'
  26236. || lk == 93864 // 'json' 'mod'
  26237. || lk == 94376 // 'json' 'modify'
  26238. || lk == 94888 // 'json' 'module'
  26239. || lk == 95912 // 'json' 'namespace'
  26240. || lk == 96424 // 'json' 'namespace-node'
  26241. || lk == 96936 // 'json' 'ne'
  26242. || lk == 99496 // 'json' 'node'
  26243. || lk == 100008 // 'json' 'nodes'
  26244. || lk == 100520 // 'json' 'not'
  26245. || lk == 101032 // 'json' 'null'
  26246. || lk == 101544 // 'json' 'object'
  26247. || lk == 103592 // 'json' 'only'
  26248. || lk == 104104 // 'json' 'option'
  26249. || lk == 104616 // 'json' 'or'
  26250. || lk == 105128 // 'json' 'order'
  26251. || lk == 105640 // 'json' 'ordered'
  26252. || lk == 106152 // 'json' 'ordering'
  26253. || lk == 107688 // 'json' 'parent'
  26254. || lk == 110760 // 'json' 'preceding'
  26255. || lk == 111272 // 'json' 'preceding-sibling'
  26256. || lk == 112808 // 'json' 'processing-instruction'
  26257. || lk == 113832 // 'json' 'rename'
  26258. || lk == 114344 // 'json' 'replace'
  26259. || lk == 114856 // 'json' 'return'
  26260. || lk == 115368 // 'json' 'returning'
  26261. || lk == 115880 // 'json' 'revalidation'
  26262. || lk == 116904 // 'json' 'satisfies'
  26263. || lk == 117416 // 'json' 'schema'
  26264. || lk == 117928 // 'json' 'schema-attribute'
  26265. || lk == 118440 // 'json' 'schema-element'
  26266. || lk == 118952 // 'json' 'score'
  26267. || lk == 119464 // 'json' 'select'
  26268. || lk == 119976 // 'json' 'self'
  26269. || lk == 122536 // 'json' 'sliding'
  26270. || lk == 123048 // 'json' 'some'
  26271. || lk == 123560 // 'json' 'stable'
  26272. || lk == 124072 // 'json' 'start'
  26273. || lk == 125608 // 'json' 'strict'
  26274. || lk == 126632 // 'json' 'structured-item'
  26275. || lk == 127144 // 'json' 'switch'
  26276. || lk == 127656 // 'json' 'text'
  26277. || lk == 129704 // 'json' 'to'
  26278. || lk == 130216 // 'json' 'treat'
  26279. || lk == 130728 // 'json' 'true'
  26280. || lk == 131240 // 'json' 'try'
  26281. || lk == 131752 // 'json' 'tumbling'
  26282. || lk == 132264 // 'json' 'type'
  26283. || lk == 132776 // 'json' 'typeswitch'
  26284. || lk == 133288 // 'json' 'union'
  26285. || lk == 134312 // 'json' 'unordered'
  26286. || lk == 134824 // 'json' 'updating'
  26287. || lk == 136360 // 'json' 'validate'
  26288. || lk == 136872 // 'json' 'value'
  26289. || lk == 137384 // 'json' 'variable'
  26290. || lk == 137896 // 'json' 'version'
  26291. || lk == 139432 // 'json' 'where'
  26292. || lk == 139944 // 'json' 'while'
  26293. || lk == 141480 // 'json' 'with'
  26294. || lk == 144040 // 'json' '{'
  26295. || lk == 145064) // 'json' '{|'
  26296. {
  26297. shiftT(168); // 'json'
  26298. }
  26299. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26300. try_ExprSingle();
  26301. shiftT(165); // 'into'
  26302. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26303. try_ExprSingle();
  26304. switch (l1)
  26305. {
  26306. case 82: // 'at'
  26307. lookahead2W(72); // S^WS | '(:' | 'position'
  26308. break;
  26309. default:
  26310. lk = l1;
  26311. }
  26312. if (lk == 110162) // 'at' 'position'
  26313. {
  26314. lk = memoized(14, e0);
  26315. if (lk == 0)
  26316. {
  26317. var b0B = b0; var e0B = e0; var l1B = l1;
  26318. var b1B = b1; var e1B = e1; var l2B = l2;
  26319. var b2B = b2; var e2B = e2;
  26320. try
  26321. {
  26322. shiftT(82); // 'at'
  26323. lookahead1W(72); // S^WS | '(:' | 'position'
  26324. shiftT(215); // 'position'
  26325. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26326. try_ExprSingle();
  26327. memoize(14, e0B, -1);
  26328. }
  26329. catch (p1B)
  26330. {
  26331. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  26332. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  26333. b2 = b2B; e2 = e2B; end = e2B; }}
  26334. memoize(14, e0B, -2);
  26335. }
  26336. lk = -2;
  26337. }
  26338. }
  26339. if (lk == -1)
  26340. {
  26341. shiftT(82); // 'at'
  26342. lookahead1W(72); // S^WS | '(:' | 'position'
  26343. shiftT(215); // 'position'
  26344. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26345. try_ExprSingle();
  26346. }
  26347. memoize(12, e0A, -1);
  26348. lk = -3;
  26349. }
  26350. catch (p1A)
  26351. {
  26352. lk = -2;
  26353. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  26354. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  26355. b2 = b2A; e2 = e2A; end = e2A; }}
  26356. memoize(12, e0A, -2);
  26357. }
  26358. }
  26359. }
  26360. switch (lk)
  26361. {
  26362. case -1:
  26363. shiftT(161); // 'insert'
  26364. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26365. switch (l1)
  26366. {
  26367. case 168: // 'json'
  26368. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26369. break;
  26370. default:
  26371. lk = l1;
  26372. }
  26373. if (lk == 18088) // 'json' '('
  26374. {
  26375. lk = memoized(13, e0);
  26376. if (lk == 0)
  26377. {
  26378. var b0B = b0; var e0B = e0; var l1B = l1;
  26379. var b1B = b1; var e1B = e1; var l2B = l2;
  26380. var b2B = b2; var e2B = e2;
  26381. try
  26382. {
  26383. shiftT(168); // 'json'
  26384. memoize(13, e0B, -1);
  26385. }
  26386. catch (p1B)
  26387. {
  26388. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  26389. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  26390. b2 = b2B; e2 = e2B; end = e2B; }}
  26391. memoize(13, e0B, -2);
  26392. }
  26393. lk = -2;
  26394. }
  26395. }
  26396. if (lk == -1
  26397. || lk == 3240 // 'json' EQName^Token
  26398. || lk == 4264 // 'json' IntegerLiteral
  26399. || lk == 4776 // 'json' DecimalLiteral
  26400. || lk == 5288 // 'json' DoubleLiteral
  26401. || lk == 5800 // 'json' StringLiteral
  26402. || lk == 16040 // 'json' '$'
  26403. || lk == 16552 // 'json' '$$'
  26404. || lk == 17064 // 'json' '%'
  26405. || lk == 18600 // 'json' '(#'
  26406. || lk == 21160 // 'json' '+'
  26407. || lk == 22184 // 'json' '-'
  26408. || lk == 24232 // 'json' '/'
  26409. || lk == 24744 // 'json' '//'
  26410. || lk == 28328 // 'json' '<'
  26411. || lk == 28840 // 'json' '<!--'
  26412. || lk == 30888 // 'json' '<?'
  26413. || lk == 35496 // 'json' '['
  26414. || lk == 36520 // 'json' 'after'
  26415. || lk == 37544 // 'json' 'allowing'
  26416. || lk == 38056 // 'json' 'ancestor'
  26417. || lk == 38568 // 'json' 'ancestor-or-self'
  26418. || lk == 39080 // 'json' 'and'
  26419. || lk == 40104 // 'json' 'append'
  26420. || lk == 40616 // 'json' 'array'
  26421. || lk == 41128 // 'json' 'as'
  26422. || lk == 41640 // 'json' 'ascending'
  26423. || lk == 42152 // 'json' 'at'
  26424. || lk == 42664 // 'json' 'attribute'
  26425. || lk == 43176 // 'json' 'base-uri'
  26426. || lk == 43688 // 'json' 'before'
  26427. || lk == 44200 // 'json' 'boundary-space'
  26428. || lk == 44712 // 'json' 'break'
  26429. || lk == 45736 // 'json' 'case'
  26430. || lk == 46248 // 'json' 'cast'
  26431. || lk == 46760 // 'json' 'castable'
  26432. || lk == 47272 // 'json' 'catch'
  26433. || lk == 48296 // 'json' 'child'
  26434. || lk == 48808 // 'json' 'collation'
  26435. || lk == 49832 // 'json' 'comment'
  26436. || lk == 50344 // 'json' 'constraint'
  26437. || lk == 50856 // 'json' 'construction'
  26438. || lk == 52392 // 'json' 'context'
  26439. || lk == 52904 // 'json' 'continue'
  26440. || lk == 53416 // 'json' 'copy'
  26441. || lk == 53928 // 'json' 'copy-namespaces'
  26442. || lk == 54440 // 'json' 'count'
  26443. || lk == 54952 // 'json' 'decimal-format'
  26444. || lk == 55976 // 'json' 'declare'
  26445. || lk == 56488 // 'json' 'default'
  26446. || lk == 57000 // 'json' 'delete'
  26447. || lk == 57512 // 'json' 'descendant'
  26448. || lk == 58024 // 'json' 'descendant-or-self'
  26449. || lk == 58536 // 'json' 'descending'
  26450. || lk == 61096 // 'json' 'div'
  26451. || lk == 61608 // 'json' 'document'
  26452. || lk == 62120 // 'json' 'document-node'
  26453. || lk == 62632 // 'json' 'element'
  26454. || lk == 63144 // 'json' 'else'
  26455. || lk == 63656 // 'json' 'empty'
  26456. || lk == 64168 // 'json' 'empty-sequence'
  26457. || lk == 64680 // 'json' 'encoding'
  26458. || lk == 65192 // 'json' 'end'
  26459. || lk == 66216 // 'json' 'eq'
  26460. || lk == 66728 // 'json' 'every'
  26461. || lk == 67752 // 'json' 'except'
  26462. || lk == 68264 // 'json' 'exit'
  26463. || lk == 68776 // 'json' 'external'
  26464. || lk == 69288 // 'json' 'false'
  26465. || lk == 69800 // 'json' 'first'
  26466. || lk == 70312 // 'json' 'following'
  26467. || lk == 70824 // 'json' 'following-sibling'
  26468. || lk == 71336 // 'json' 'for'
  26469. || lk == 72872 // 'json' 'from'
  26470. || lk == 73384 // 'json' 'ft-option'
  26471. || lk == 75432 // 'json' 'function'
  26472. || lk == 75944 // 'json' 'ge'
  26473. || lk == 76968 // 'json' 'group'
  26474. || lk == 77992 // 'json' 'gt'
  26475. || lk == 78504 // 'json' 'idiv'
  26476. || lk == 79016 // 'json' 'if'
  26477. || lk == 79528 // 'json' 'import'
  26478. || lk == 80040 // 'json' 'in'
  26479. || lk == 80552 // 'json' 'index'
  26480. || lk == 82600 // 'json' 'insert'
  26481. || lk == 83112 // 'json' 'instance'
  26482. || lk == 83624 // 'json' 'integrity'
  26483. || lk == 84136 // 'json' 'intersect'
  26484. || lk == 84648 // 'json' 'into'
  26485. || lk == 85160 // 'json' 'is'
  26486. || lk == 85672 // 'json' 'item'
  26487. || lk == 86184 // 'json' 'json'
  26488. || lk == 86696 // 'json' 'json-item'
  26489. || lk == 87208 // 'json' 'jsoniq'
  26490. || lk == 88744 // 'json' 'last'
  26491. || lk == 89256 // 'json' 'lax'
  26492. || lk == 89768 // 'json' 'le'
  26493. || lk == 90792 // 'json' 'let'
  26494. || lk == 91816 // 'json' 'loop'
  26495. || lk == 92840 // 'json' 'lt'
  26496. || lk == 93864 // 'json' 'mod'
  26497. || lk == 94376 // 'json' 'modify'
  26498. || lk == 94888 // 'json' 'module'
  26499. || lk == 95912 // 'json' 'namespace'
  26500. || lk == 96424 // 'json' 'namespace-node'
  26501. || lk == 96936 // 'json' 'ne'
  26502. || lk == 99496 // 'json' 'node'
  26503. || lk == 100008 // 'json' 'nodes'
  26504. || lk == 100520 // 'json' 'not'
  26505. || lk == 101032 // 'json' 'null'
  26506. || lk == 101544 // 'json' 'object'
  26507. || lk == 103592 // 'json' 'only'
  26508. || lk == 104104 // 'json' 'option'
  26509. || lk == 104616 // 'json' 'or'
  26510. || lk == 105128 // 'json' 'order'
  26511. || lk == 105640 // 'json' 'ordered'
  26512. || lk == 106152 // 'json' 'ordering'
  26513. || lk == 107688 // 'json' 'parent'
  26514. || lk == 110760 // 'json' 'preceding'
  26515. || lk == 111272 // 'json' 'preceding-sibling'
  26516. || lk == 112808 // 'json' 'processing-instruction'
  26517. || lk == 113832 // 'json' 'rename'
  26518. || lk == 114344 // 'json' 'replace'
  26519. || lk == 114856 // 'json' 'return'
  26520. || lk == 115368 // 'json' 'returning'
  26521. || lk == 115880 // 'json' 'revalidation'
  26522. || lk == 116904 // 'json' 'satisfies'
  26523. || lk == 117416 // 'json' 'schema'
  26524. || lk == 117928 // 'json' 'schema-attribute'
  26525. || lk == 118440 // 'json' 'schema-element'
  26526. || lk == 118952 // 'json' 'score'
  26527. || lk == 119464 // 'json' 'select'
  26528. || lk == 119976 // 'json' 'self'
  26529. || lk == 122536 // 'json' 'sliding'
  26530. || lk == 123048 // 'json' 'some'
  26531. || lk == 123560 // 'json' 'stable'
  26532. || lk == 124072 // 'json' 'start'
  26533. || lk == 125608 // 'json' 'strict'
  26534. || lk == 126632 // 'json' 'structured-item'
  26535. || lk == 127144 // 'json' 'switch'
  26536. || lk == 127656 // 'json' 'text'
  26537. || lk == 129704 // 'json' 'to'
  26538. || lk == 130216 // 'json' 'treat'
  26539. || lk == 130728 // 'json' 'true'
  26540. || lk == 131240 // 'json' 'try'
  26541. || lk == 131752 // 'json' 'tumbling'
  26542. || lk == 132264 // 'json' 'type'
  26543. || lk == 132776 // 'json' 'typeswitch'
  26544. || lk == 133288 // 'json' 'union'
  26545. || lk == 134312 // 'json' 'unordered'
  26546. || lk == 134824 // 'json' 'updating'
  26547. || lk == 136360 // 'json' 'validate'
  26548. || lk == 136872 // 'json' 'value'
  26549. || lk == 137384 // 'json' 'variable'
  26550. || lk == 137896 // 'json' 'version'
  26551. || lk == 139432 // 'json' 'where'
  26552. || lk == 139944 // 'json' 'while'
  26553. || lk == 141480 // 'json' 'with'
  26554. || lk == 144040 // 'json' '{'
  26555. || lk == 145064) // 'json' '{|'
  26556. {
  26557. shiftT(168); // 'json'
  26558. }
  26559. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26560. try_ExprSingle();
  26561. shiftT(165); // 'into'
  26562. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26563. try_ExprSingle();
  26564. switch (l1)
  26565. {
  26566. case 82: // 'at'
  26567. lookahead2W(72); // S^WS | '(:' | 'position'
  26568. break;
  26569. default:
  26570. lk = l1;
  26571. }
  26572. if (lk == 110162) // 'at' 'position'
  26573. {
  26574. lk = memoized(14, e0);
  26575. if (lk == 0)
  26576. {
  26577. var b0B = b0; var e0B = e0; var l1B = l1;
  26578. var b1B = b1; var e1B = e1; var l2B = l2;
  26579. var b2B = b2; var e2B = e2;
  26580. try
  26581. {
  26582. shiftT(82); // 'at'
  26583. lookahead1W(72); // S^WS | '(:' | 'position'
  26584. shiftT(215); // 'position'
  26585. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26586. try_ExprSingle();
  26587. memoize(14, e0B, -1);
  26588. }
  26589. catch (p1B)
  26590. {
  26591. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  26592. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  26593. b2 = b2B; e2 = e2B; end = e2B; }}
  26594. memoize(14, e0B, -2);
  26595. }
  26596. lk = -2;
  26597. }
  26598. }
  26599. if (lk == -1)
  26600. {
  26601. shiftT(82); // 'at'
  26602. lookahead1W(72); // S^WS | '(:' | 'position'
  26603. shiftT(215); // 'position'
  26604. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26605. try_ExprSingle();
  26606. }
  26607. break;
  26608. case -3:
  26609. break;
  26610. default:
  26611. shiftT(161); // 'insert'
  26612. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26613. switch (l1)
  26614. {
  26615. case 168: // 'json'
  26616. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26617. break;
  26618. default:
  26619. lk = l1;
  26620. }
  26621. if (lk == 18088) // 'json' '('
  26622. {
  26623. lk = memoized(15, e0);
  26624. if (lk == 0)
  26625. {
  26626. var b0B = b0; var e0B = e0; var l1B = l1;
  26627. var b1B = b1; var e1B = e1; var l2B = l2;
  26628. var b2B = b2; var e2B = e2;
  26629. try
  26630. {
  26631. shiftT(168); // 'json'
  26632. memoize(15, e0B, -1);
  26633. }
  26634. catch (p1B)
  26635. {
  26636. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  26637. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  26638. b2 = b2B; e2 = e2B; end = e2B; }}
  26639. memoize(15, e0B, -2);
  26640. }
  26641. lk = -2;
  26642. }
  26643. }
  26644. if (lk == -1
  26645. || lk == 3240 // 'json' EQName^Token
  26646. || lk == 4264 // 'json' IntegerLiteral
  26647. || lk == 4776 // 'json' DecimalLiteral
  26648. || lk == 5288 // 'json' DoubleLiteral
  26649. || lk == 5800 // 'json' StringLiteral
  26650. || lk == 9896 // 'json' NCName^Token
  26651. || lk == 16040 // 'json' '$'
  26652. || lk == 16552 // 'json' '$$'
  26653. || lk == 17064 // 'json' '%'
  26654. || lk == 18600 // 'json' '(#'
  26655. || lk == 21160 // 'json' '+'
  26656. || lk == 22184 // 'json' '-'
  26657. || lk == 24232 // 'json' '/'
  26658. || lk == 24744 // 'json' '//'
  26659. || lk == 28328 // 'json' '<'
  26660. || lk == 28840 // 'json' '<!--'
  26661. || lk == 30888 // 'json' '<?'
  26662. || lk == 35496 // 'json' '['
  26663. || lk == 36520 // 'json' 'after'
  26664. || lk == 37544 // 'json' 'allowing'
  26665. || lk == 38056 // 'json' 'ancestor'
  26666. || lk == 38568 // 'json' 'ancestor-or-self'
  26667. || lk == 39080 // 'json' 'and'
  26668. || lk == 40104 // 'json' 'append'
  26669. || lk == 40616 // 'json' 'array'
  26670. || lk == 41128 // 'json' 'as'
  26671. || lk == 41640 // 'json' 'ascending'
  26672. || lk == 42152 // 'json' 'at'
  26673. || lk == 42664 // 'json' 'attribute'
  26674. || lk == 43176 // 'json' 'base-uri'
  26675. || lk == 43688 // 'json' 'before'
  26676. || lk == 44200 // 'json' 'boundary-space'
  26677. || lk == 44712 // 'json' 'break'
  26678. || lk == 45736 // 'json' 'case'
  26679. || lk == 46248 // 'json' 'cast'
  26680. || lk == 46760 // 'json' 'castable'
  26681. || lk == 47272 // 'json' 'catch'
  26682. || lk == 48296 // 'json' 'child'
  26683. || lk == 48808 // 'json' 'collation'
  26684. || lk == 49832 // 'json' 'comment'
  26685. || lk == 50344 // 'json' 'constraint'
  26686. || lk == 50856 // 'json' 'construction'
  26687. || lk == 52392 // 'json' 'context'
  26688. || lk == 52904 // 'json' 'continue'
  26689. || lk == 53416 // 'json' 'copy'
  26690. || lk == 53928 // 'json' 'copy-namespaces'
  26691. || lk == 54440 // 'json' 'count'
  26692. || lk == 54952 // 'json' 'decimal-format'
  26693. || lk == 55976 // 'json' 'declare'
  26694. || lk == 56488 // 'json' 'default'
  26695. || lk == 57000 // 'json' 'delete'
  26696. || lk == 57512 // 'json' 'descendant'
  26697. || lk == 58024 // 'json' 'descendant-or-self'
  26698. || lk == 58536 // 'json' 'descending'
  26699. || lk == 61096 // 'json' 'div'
  26700. || lk == 61608 // 'json' 'document'
  26701. || lk == 62120 // 'json' 'document-node'
  26702. || lk == 62632 // 'json' 'element'
  26703. || lk == 63144 // 'json' 'else'
  26704. || lk == 63656 // 'json' 'empty'
  26705. || lk == 64168 // 'json' 'empty-sequence'
  26706. || lk == 64680 // 'json' 'encoding'
  26707. || lk == 65192 // 'json' 'end'
  26708. || lk == 66216 // 'json' 'eq'
  26709. || lk == 66728 // 'json' 'every'
  26710. || lk == 67752 // 'json' 'except'
  26711. || lk == 68264 // 'json' 'exit'
  26712. || lk == 68776 // 'json' 'external'
  26713. || lk == 69288 // 'json' 'false'
  26714. || lk == 69800 // 'json' 'first'
  26715. || lk == 70312 // 'json' 'following'
  26716. || lk == 70824 // 'json' 'following-sibling'
  26717. || lk == 71336 // 'json' 'for'
  26718. || lk == 72872 // 'json' 'from'
  26719. || lk == 73384 // 'json' 'ft-option'
  26720. || lk == 75432 // 'json' 'function'
  26721. || lk == 75944 // 'json' 'ge'
  26722. || lk == 76968 // 'json' 'group'
  26723. || lk == 77992 // 'json' 'gt'
  26724. || lk == 78504 // 'json' 'idiv'
  26725. || lk == 79016 // 'json' 'if'
  26726. || lk == 79528 // 'json' 'import'
  26727. || lk == 80040 // 'json' 'in'
  26728. || lk == 80552 // 'json' 'index'
  26729. || lk == 82600 // 'json' 'insert'
  26730. || lk == 83112 // 'json' 'instance'
  26731. || lk == 83624 // 'json' 'integrity'
  26732. || lk == 84136 // 'json' 'intersect'
  26733. || lk == 84648 // 'json' 'into'
  26734. || lk == 85160 // 'json' 'is'
  26735. || lk == 85672 // 'json' 'item'
  26736. || lk == 86184 // 'json' 'json'
  26737. || lk == 86696 // 'json' 'json-item'
  26738. || lk == 87208 // 'json' 'jsoniq'
  26739. || lk == 88744 // 'json' 'last'
  26740. || lk == 89256 // 'json' 'lax'
  26741. || lk == 89768 // 'json' 'le'
  26742. || lk == 90792 // 'json' 'let'
  26743. || lk == 91816 // 'json' 'loop'
  26744. || lk == 92840 // 'json' 'lt'
  26745. || lk == 93864 // 'json' 'mod'
  26746. || lk == 94376 // 'json' 'modify'
  26747. || lk == 94888 // 'json' 'module'
  26748. || lk == 95912 // 'json' 'namespace'
  26749. || lk == 96424 // 'json' 'namespace-node'
  26750. || lk == 96936 // 'json' 'ne'
  26751. || lk == 99496 // 'json' 'node'
  26752. || lk == 100008 // 'json' 'nodes'
  26753. || lk == 100520 // 'json' 'not'
  26754. || lk == 101032 // 'json' 'null'
  26755. || lk == 101544 // 'json' 'object'
  26756. || lk == 103592 // 'json' 'only'
  26757. || lk == 104104 // 'json' 'option'
  26758. || lk == 104616 // 'json' 'or'
  26759. || lk == 105128 // 'json' 'order'
  26760. || lk == 105640 // 'json' 'ordered'
  26761. || lk == 106152 // 'json' 'ordering'
  26762. || lk == 107688 // 'json' 'parent'
  26763. || lk == 110760 // 'json' 'preceding'
  26764. || lk == 111272 // 'json' 'preceding-sibling'
  26765. || lk == 112808 // 'json' 'processing-instruction'
  26766. || lk == 113832 // 'json' 'rename'
  26767. || lk == 114344 // 'json' 'replace'
  26768. || lk == 114856 // 'json' 'return'
  26769. || lk == 115368 // 'json' 'returning'
  26770. || lk == 115880 // 'json' 'revalidation'
  26771. || lk == 116904 // 'json' 'satisfies'
  26772. || lk == 117416 // 'json' 'schema'
  26773. || lk == 117928 // 'json' 'schema-attribute'
  26774. || lk == 118440 // 'json' 'schema-element'
  26775. || lk == 118952 // 'json' 'score'
  26776. || lk == 119464 // 'json' 'select'
  26777. || lk == 119976 // 'json' 'self'
  26778. || lk == 122536 // 'json' 'sliding'
  26779. || lk == 123048 // 'json' 'some'
  26780. || lk == 123560 // 'json' 'stable'
  26781. || lk == 124072 // 'json' 'start'
  26782. || lk == 125608 // 'json' 'strict'
  26783. || lk == 126632 // 'json' 'structured-item'
  26784. || lk == 127144 // 'json' 'switch'
  26785. || lk == 127656 // 'json' 'text'
  26786. || lk == 129704 // 'json' 'to'
  26787. || lk == 130216 // 'json' 'treat'
  26788. || lk == 130728 // 'json' 'true'
  26789. || lk == 131240 // 'json' 'try'
  26790. || lk == 131752 // 'json' 'tumbling'
  26791. || lk == 132264 // 'json' 'type'
  26792. || lk == 132776 // 'json' 'typeswitch'
  26793. || lk == 133288 // 'json' 'union'
  26794. || lk == 134312 // 'json' 'unordered'
  26795. || lk == 134824 // 'json' 'updating'
  26796. || lk == 136360 // 'json' 'validate'
  26797. || lk == 136872 // 'json' 'value'
  26798. || lk == 137384 // 'json' 'variable'
  26799. || lk == 137896 // 'json' 'version'
  26800. || lk == 139432 // 'json' 'where'
  26801. || lk == 139944 // 'json' 'while'
  26802. || lk == 141480 // 'json' 'with'
  26803. || lk == 144040 // 'json' '{'
  26804. || lk == 145064) // 'json' '{|'
  26805. {
  26806. shiftT(168); // 'json'
  26807. }
  26808. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26809. try_PairConstructorList();
  26810. shiftT(165); // 'into'
  26811. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26812. try_ExprSingle();
  26813. }
  26814. }
  26815. function parse_JSONRenameExpr()
  26816. {
  26817. eventHandler.startNonterminal("JSONRenameExpr", e0);
  26818. shift(222); // 'rename'
  26819. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26820. switch (l1)
  26821. {
  26822. case 168: // 'json'
  26823. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  26824. break;
  26825. default:
  26826. lk = l1;
  26827. }
  26828. if (lk == 18088) // 'json' '('
  26829. {
  26830. lk = memoized(16, e0);
  26831. if (lk == 0)
  26832. {
  26833. var b0A = b0; var e0A = e0; var l1A = l1;
  26834. var b1A = b1; var e1A = e1; var l2A = l2;
  26835. var b2A = b2; var e2A = e2;
  26836. try
  26837. {
  26838. shiftT(168); // 'json'
  26839. lk = -1;
  26840. }
  26841. catch (p1A)
  26842. {
  26843. lk = -2;
  26844. }
  26845. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  26846. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  26847. b2 = b2A; e2 = e2A; end = e2A; }}
  26848. memoize(16, e0, lk);
  26849. }
  26850. }
  26851. if (lk == -1
  26852. || lk == 3240 // 'json' EQName^Token
  26853. || lk == 4264 // 'json' IntegerLiteral
  26854. || lk == 4776 // 'json' DecimalLiteral
  26855. || lk == 5288 // 'json' DoubleLiteral
  26856. || lk == 5800 // 'json' StringLiteral
  26857. || lk == 16040 // 'json' '$'
  26858. || lk == 16552 // 'json' '$$'
  26859. || lk == 17064 // 'json' '%'
  26860. || lk == 28328 // 'json' '<'
  26861. || lk == 28840 // 'json' '<!--'
  26862. || lk == 30888 // 'json' '<?'
  26863. || lk == 35496 // 'json' '['
  26864. || lk == 36520 // 'json' 'after'
  26865. || lk == 37544 // 'json' 'allowing'
  26866. || lk == 38056 // 'json' 'ancestor'
  26867. || lk == 38568 // 'json' 'ancestor-or-self'
  26868. || lk == 39080 // 'json' 'and'
  26869. || lk == 40104 // 'json' 'append'
  26870. || lk == 40616 // 'json' 'array'
  26871. || lk == 41128 // 'json' 'as'
  26872. || lk == 41640 // 'json' 'ascending'
  26873. || lk == 42152 // 'json' 'at'
  26874. || lk == 42664 // 'json' 'attribute'
  26875. || lk == 43176 // 'json' 'base-uri'
  26876. || lk == 43688 // 'json' 'before'
  26877. || lk == 44200 // 'json' 'boundary-space'
  26878. || lk == 44712 // 'json' 'break'
  26879. || lk == 45736 // 'json' 'case'
  26880. || lk == 46248 // 'json' 'cast'
  26881. || lk == 46760 // 'json' 'castable'
  26882. || lk == 47272 // 'json' 'catch'
  26883. || lk == 48296 // 'json' 'child'
  26884. || lk == 48808 // 'json' 'collation'
  26885. || lk == 49832 // 'json' 'comment'
  26886. || lk == 50344 // 'json' 'constraint'
  26887. || lk == 50856 // 'json' 'construction'
  26888. || lk == 52392 // 'json' 'context'
  26889. || lk == 52904 // 'json' 'continue'
  26890. || lk == 53416 // 'json' 'copy'
  26891. || lk == 53928 // 'json' 'copy-namespaces'
  26892. || lk == 54440 // 'json' 'count'
  26893. || lk == 54952 // 'json' 'decimal-format'
  26894. || lk == 55976 // 'json' 'declare'
  26895. || lk == 56488 // 'json' 'default'
  26896. || lk == 57000 // 'json' 'delete'
  26897. || lk == 57512 // 'json' 'descendant'
  26898. || lk == 58024 // 'json' 'descendant-or-self'
  26899. || lk == 58536 // 'json' 'descending'
  26900. || lk == 61096 // 'json' 'div'
  26901. || lk == 61608 // 'json' 'document'
  26902. || lk == 62120 // 'json' 'document-node'
  26903. || lk == 62632 // 'json' 'element'
  26904. || lk == 63144 // 'json' 'else'
  26905. || lk == 63656 // 'json' 'empty'
  26906. || lk == 64168 // 'json' 'empty-sequence'
  26907. || lk == 64680 // 'json' 'encoding'
  26908. || lk == 65192 // 'json' 'end'
  26909. || lk == 66216 // 'json' 'eq'
  26910. || lk == 66728 // 'json' 'every'
  26911. || lk == 67752 // 'json' 'except'
  26912. || lk == 68264 // 'json' 'exit'
  26913. || lk == 68776 // 'json' 'external'
  26914. || lk == 69288 // 'json' 'false'
  26915. || lk == 69800 // 'json' 'first'
  26916. || lk == 70312 // 'json' 'following'
  26917. || lk == 70824 // 'json' 'following-sibling'
  26918. || lk == 71336 // 'json' 'for'
  26919. || lk == 72872 // 'json' 'from'
  26920. || lk == 73384 // 'json' 'ft-option'
  26921. || lk == 75432 // 'json' 'function'
  26922. || lk == 75944 // 'json' 'ge'
  26923. || lk == 76968 // 'json' 'group'
  26924. || lk == 77992 // 'json' 'gt'
  26925. || lk == 78504 // 'json' 'idiv'
  26926. || lk == 79016 // 'json' 'if'
  26927. || lk == 79528 // 'json' 'import'
  26928. || lk == 80040 // 'json' 'in'
  26929. || lk == 80552 // 'json' 'index'
  26930. || lk == 82600 // 'json' 'insert'
  26931. || lk == 83112 // 'json' 'instance'
  26932. || lk == 83624 // 'json' 'integrity'
  26933. || lk == 84136 // 'json' 'intersect'
  26934. || lk == 84648 // 'json' 'into'
  26935. || lk == 85160 // 'json' 'is'
  26936. || lk == 85672 // 'json' 'item'
  26937. || lk == 86184 // 'json' 'json'
  26938. || lk == 86696 // 'json' 'json-item'
  26939. || lk == 87208 // 'json' 'jsoniq'
  26940. || lk == 88744 // 'json' 'last'
  26941. || lk == 89256 // 'json' 'lax'
  26942. || lk == 89768 // 'json' 'le'
  26943. || lk == 90792 // 'json' 'let'
  26944. || lk == 91816 // 'json' 'loop'
  26945. || lk == 92840 // 'json' 'lt'
  26946. || lk == 93864 // 'json' 'mod'
  26947. || lk == 94376 // 'json' 'modify'
  26948. || lk == 94888 // 'json' 'module'
  26949. || lk == 95912 // 'json' 'namespace'
  26950. || lk == 96424 // 'json' 'namespace-node'
  26951. || lk == 96936 // 'json' 'ne'
  26952. || lk == 99496 // 'json' 'node'
  26953. || lk == 100008 // 'json' 'nodes'
  26954. || lk == 101032 // 'json' 'null'
  26955. || lk == 101544 // 'json' 'object'
  26956. || lk == 103592 // 'json' 'only'
  26957. || lk == 104104 // 'json' 'option'
  26958. || lk == 104616 // 'json' 'or'
  26959. || lk == 105128 // 'json' 'order'
  26960. || lk == 105640 // 'json' 'ordered'
  26961. || lk == 106152 // 'json' 'ordering'
  26962. || lk == 107688 // 'json' 'parent'
  26963. || lk == 110760 // 'json' 'preceding'
  26964. || lk == 111272 // 'json' 'preceding-sibling'
  26965. || lk == 112808 // 'json' 'processing-instruction'
  26966. || lk == 113832 // 'json' 'rename'
  26967. || lk == 114344 // 'json' 'replace'
  26968. || lk == 114856 // 'json' 'return'
  26969. || lk == 115368 // 'json' 'returning'
  26970. || lk == 115880 // 'json' 'revalidation'
  26971. || lk == 116904 // 'json' 'satisfies'
  26972. || lk == 117416 // 'json' 'schema'
  26973. || lk == 117928 // 'json' 'schema-attribute'
  26974. || lk == 118440 // 'json' 'schema-element'
  26975. || lk == 118952 // 'json' 'score'
  26976. || lk == 119464 // 'json' 'select'
  26977. || lk == 119976 // 'json' 'self'
  26978. || lk == 122536 // 'json' 'sliding'
  26979. || lk == 123048 // 'json' 'some'
  26980. || lk == 123560 // 'json' 'stable'
  26981. || lk == 124072 // 'json' 'start'
  26982. || lk == 125608 // 'json' 'strict'
  26983. || lk == 126632 // 'json' 'structured-item'
  26984. || lk == 127144 // 'json' 'switch'
  26985. || lk == 127656 // 'json' 'text'
  26986. || lk == 129704 // 'json' 'to'
  26987. || lk == 130216 // 'json' 'treat'
  26988. || lk == 130728 // 'json' 'true'
  26989. || lk == 131240 // 'json' 'try'
  26990. || lk == 131752 // 'json' 'tumbling'
  26991. || lk == 132264 // 'json' 'type'
  26992. || lk == 132776 // 'json' 'typeswitch'
  26993. || lk == 133288 // 'json' 'union'
  26994. || lk == 134312 // 'json' 'unordered'
  26995. || lk == 134824 // 'json' 'updating'
  26996. || lk == 136360 // 'json' 'validate'
  26997. || lk == 136872 // 'json' 'value'
  26998. || lk == 137384 // 'json' 'variable'
  26999. || lk == 137896 // 'json' 'version'
  27000. || lk == 139432 // 'json' 'where'
  27001. || lk == 139944 // 'json' 'while'
  27002. || lk == 141480 // 'json' 'with'
  27003. || lk == 144040 // 'json' '{'
  27004. || lk == 145064) // 'json' '{|'
  27005. {
  27006. shift(168); // 'json'
  27007. }
  27008. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27009. whitespace();
  27010. parse_PostfixExpr();
  27011. shift(80); // 'as'
  27012. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27013. whitespace();
  27014. parse_ExprSingle();
  27015. eventHandler.endNonterminal("JSONRenameExpr", e0);
  27016. }
  27017. function try_JSONRenameExpr()
  27018. {
  27019. shiftT(222); // 'rename'
  27020. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27021. switch (l1)
  27022. {
  27023. case 168: // 'json'
  27024. lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27025. break;
  27026. default:
  27027. lk = l1;
  27028. }
  27029. if (lk == 18088) // 'json' '('
  27030. {
  27031. lk = memoized(16, e0);
  27032. if (lk == 0)
  27033. {
  27034. var b0A = b0; var e0A = e0; var l1A = l1;
  27035. var b1A = b1; var e1A = e1; var l2A = l2;
  27036. var b2A = b2; var e2A = e2;
  27037. try
  27038. {
  27039. shiftT(168); // 'json'
  27040. memoize(16, e0A, -1);
  27041. }
  27042. catch (p1A)
  27043. {
  27044. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27045. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27046. b2 = b2A; e2 = e2A; end = e2A; }}
  27047. memoize(16, e0A, -2);
  27048. }
  27049. lk = -2;
  27050. }
  27051. }
  27052. if (lk == -1
  27053. || lk == 3240 // 'json' EQName^Token
  27054. || lk == 4264 // 'json' IntegerLiteral
  27055. || lk == 4776 // 'json' DecimalLiteral
  27056. || lk == 5288 // 'json' DoubleLiteral
  27057. || lk == 5800 // 'json' StringLiteral
  27058. || lk == 16040 // 'json' '$'
  27059. || lk == 16552 // 'json' '$$'
  27060. || lk == 17064 // 'json' '%'
  27061. || lk == 28328 // 'json' '<'
  27062. || lk == 28840 // 'json' '<!--'
  27063. || lk == 30888 // 'json' '<?'
  27064. || lk == 35496 // 'json' '['
  27065. || lk == 36520 // 'json' 'after'
  27066. || lk == 37544 // 'json' 'allowing'
  27067. || lk == 38056 // 'json' 'ancestor'
  27068. || lk == 38568 // 'json' 'ancestor-or-self'
  27069. || lk == 39080 // 'json' 'and'
  27070. || lk == 40104 // 'json' 'append'
  27071. || lk == 40616 // 'json' 'array'
  27072. || lk == 41128 // 'json' 'as'
  27073. || lk == 41640 // 'json' 'ascending'
  27074. || lk == 42152 // 'json' 'at'
  27075. || lk == 42664 // 'json' 'attribute'
  27076. || lk == 43176 // 'json' 'base-uri'
  27077. || lk == 43688 // 'json' 'before'
  27078. || lk == 44200 // 'json' 'boundary-space'
  27079. || lk == 44712 // 'json' 'break'
  27080. || lk == 45736 // 'json' 'case'
  27081. || lk == 46248 // 'json' 'cast'
  27082. || lk == 46760 // 'json' 'castable'
  27083. || lk == 47272 // 'json' 'catch'
  27084. || lk == 48296 // 'json' 'child'
  27085. || lk == 48808 // 'json' 'collation'
  27086. || lk == 49832 // 'json' 'comment'
  27087. || lk == 50344 // 'json' 'constraint'
  27088. || lk == 50856 // 'json' 'construction'
  27089. || lk == 52392 // 'json' 'context'
  27090. || lk == 52904 // 'json' 'continue'
  27091. || lk == 53416 // 'json' 'copy'
  27092. || lk == 53928 // 'json' 'copy-namespaces'
  27093. || lk == 54440 // 'json' 'count'
  27094. || lk == 54952 // 'json' 'decimal-format'
  27095. || lk == 55976 // 'json' 'declare'
  27096. || lk == 56488 // 'json' 'default'
  27097. || lk == 57000 // 'json' 'delete'
  27098. || lk == 57512 // 'json' 'descendant'
  27099. || lk == 58024 // 'json' 'descendant-or-self'
  27100. || lk == 58536 // 'json' 'descending'
  27101. || lk == 61096 // 'json' 'div'
  27102. || lk == 61608 // 'json' 'document'
  27103. || lk == 62120 // 'json' 'document-node'
  27104. || lk == 62632 // 'json' 'element'
  27105. || lk == 63144 // 'json' 'else'
  27106. || lk == 63656 // 'json' 'empty'
  27107. || lk == 64168 // 'json' 'empty-sequence'
  27108. || lk == 64680 // 'json' 'encoding'
  27109. || lk == 65192 // 'json' 'end'
  27110. || lk == 66216 // 'json' 'eq'
  27111. || lk == 66728 // 'json' 'every'
  27112. || lk == 67752 // 'json' 'except'
  27113. || lk == 68264 // 'json' 'exit'
  27114. || lk == 68776 // 'json' 'external'
  27115. || lk == 69288 // 'json' 'false'
  27116. || lk == 69800 // 'json' 'first'
  27117. || lk == 70312 // 'json' 'following'
  27118. || lk == 70824 // 'json' 'following-sibling'
  27119. || lk == 71336 // 'json' 'for'
  27120. || lk == 72872 // 'json' 'from'
  27121. || lk == 73384 // 'json' 'ft-option'
  27122. || lk == 75432 // 'json' 'function'
  27123. || lk == 75944 // 'json' 'ge'
  27124. || lk == 76968 // 'json' 'group'
  27125. || lk == 77992 // 'json' 'gt'
  27126. || lk == 78504 // 'json' 'idiv'
  27127. || lk == 79016 // 'json' 'if'
  27128. || lk == 79528 // 'json' 'import'
  27129. || lk == 80040 // 'json' 'in'
  27130. || lk == 80552 // 'json' 'index'
  27131. || lk == 82600 // 'json' 'insert'
  27132. || lk == 83112 // 'json' 'instance'
  27133. || lk == 83624 // 'json' 'integrity'
  27134. || lk == 84136 // 'json' 'intersect'
  27135. || lk == 84648 // 'json' 'into'
  27136. || lk == 85160 // 'json' 'is'
  27137. || lk == 85672 // 'json' 'item'
  27138. || lk == 86184 // 'json' 'json'
  27139. || lk == 86696 // 'json' 'json-item'
  27140. || lk == 87208 // 'json' 'jsoniq'
  27141. || lk == 88744 // 'json' 'last'
  27142. || lk == 89256 // 'json' 'lax'
  27143. || lk == 89768 // 'json' 'le'
  27144. || lk == 90792 // 'json' 'let'
  27145. || lk == 91816 // 'json' 'loop'
  27146. || lk == 92840 // 'json' 'lt'
  27147. || lk == 93864 // 'json' 'mod'
  27148. || lk == 94376 // 'json' 'modify'
  27149. || lk == 94888 // 'json' 'module'
  27150. || lk == 95912 // 'json' 'namespace'
  27151. || lk == 96424 // 'json' 'namespace-node'
  27152. || lk == 96936 // 'json' 'ne'
  27153. || lk == 99496 // 'json' 'node'
  27154. || lk == 100008 // 'json' 'nodes'
  27155. || lk == 101032 // 'json' 'null'
  27156. || lk == 101544 // 'json' 'object'
  27157. || lk == 103592 // 'json' 'only'
  27158. || lk == 104104 // 'json' 'option'
  27159. || lk == 104616 // 'json' 'or'
  27160. || lk == 105128 // 'json' 'order'
  27161. || lk == 105640 // 'json' 'ordered'
  27162. || lk == 106152 // 'json' 'ordering'
  27163. || lk == 107688 // 'json' 'parent'
  27164. || lk == 110760 // 'json' 'preceding'
  27165. || lk == 111272 // 'json' 'preceding-sibling'
  27166. || lk == 112808 // 'json' 'processing-instruction'
  27167. || lk == 113832 // 'json' 'rename'
  27168. || lk == 114344 // 'json' 'replace'
  27169. || lk == 114856 // 'json' 'return'
  27170. || lk == 115368 // 'json' 'returning'
  27171. || lk == 115880 // 'json' 'revalidation'
  27172. || lk == 116904 // 'json' 'satisfies'
  27173. || lk == 117416 // 'json' 'schema'
  27174. || lk == 117928 // 'json' 'schema-attribute'
  27175. || lk == 118440 // 'json' 'schema-element'
  27176. || lk == 118952 // 'json' 'score'
  27177. || lk == 119464 // 'json' 'select'
  27178. || lk == 119976 // 'json' 'self'
  27179. || lk == 122536 // 'json' 'sliding'
  27180. || lk == 123048 // 'json' 'some'
  27181. || lk == 123560 // 'json' 'stable'
  27182. || lk == 124072 // 'json' 'start'
  27183. || lk == 125608 // 'json' 'strict'
  27184. || lk == 126632 // 'json' 'structured-item'
  27185. || lk == 127144 // 'json' 'switch'
  27186. || lk == 127656 // 'json' 'text'
  27187. || lk == 129704 // 'json' 'to'
  27188. || lk == 130216 // 'json' 'treat'
  27189. || lk == 130728 // 'json' 'true'
  27190. || lk == 131240 // 'json' 'try'
  27191. || lk == 131752 // 'json' 'tumbling'
  27192. || lk == 132264 // 'json' 'type'
  27193. || lk == 132776 // 'json' 'typeswitch'
  27194. || lk == 133288 // 'json' 'union'
  27195. || lk == 134312 // 'json' 'unordered'
  27196. || lk == 134824 // 'json' 'updating'
  27197. || lk == 136360 // 'json' 'validate'
  27198. || lk == 136872 // 'json' 'value'
  27199. || lk == 137384 // 'json' 'variable'
  27200. || lk == 137896 // 'json' 'version'
  27201. || lk == 139432 // 'json' 'where'
  27202. || lk == 139944 // 'json' 'while'
  27203. || lk == 141480 // 'json' 'with'
  27204. || lk == 144040 // 'json' '{'
  27205. || lk == 145064) // 'json' '{|'
  27206. {
  27207. shiftT(168); // 'json'
  27208. }
  27209. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27210. try_PostfixExpr();
  27211. shiftT(80); // 'as'
  27212. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27213. try_ExprSingle();
  27214. }
  27215. function parse_JSONReplaceExpr()
  27216. {
  27217. eventHandler.startNonterminal("JSONReplaceExpr", e0);
  27218. shift(223); // 'replace'
  27219. lookahead1W(85); // S^WS | '(:' | 'value'
  27220. shift(267); // 'value'
  27221. lookahead1W(67); // S^WS | '(:' | 'of'
  27222. shift(200); // 'of'
  27223. lookahead1W(59); // S^WS | '(:' | 'json'
  27224. shift(168); // 'json'
  27225. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27226. whitespace();
  27227. parse_PostfixExpr();
  27228. shift(276); // 'with'
  27229. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27230. whitespace();
  27231. parse_ExprSingle();
  27232. eventHandler.endNonterminal("JSONReplaceExpr", e0);
  27233. }
  27234. function try_JSONReplaceExpr()
  27235. {
  27236. shiftT(223); // 'replace'
  27237. lookahead1W(85); // S^WS | '(:' | 'value'
  27238. shiftT(267); // 'value'
  27239. lookahead1W(67); // S^WS | '(:' | 'of'
  27240. shiftT(200); // 'of'
  27241. lookahead1W(59); // S^WS | '(:' | 'json'
  27242. shiftT(168); // 'json'
  27243. lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27244. try_PostfixExpr();
  27245. shiftT(276); // 'with'
  27246. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27247. try_ExprSingle();
  27248. }
  27249. function parse_JSONAppendExpr()
  27250. {
  27251. eventHandler.startNonterminal("JSONAppendExpr", e0);
  27252. shift(78); // 'append'
  27253. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27254. switch (l1)
  27255. {
  27256. case 168: // 'json'
  27257. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27258. break;
  27259. default:
  27260. lk = l1;
  27261. }
  27262. if (lk == 18088) // 'json' '('
  27263. {
  27264. lk = memoized(17, e0);
  27265. if (lk == 0)
  27266. {
  27267. var b0A = b0; var e0A = e0; var l1A = l1;
  27268. var b1A = b1; var e1A = e1; var l2A = l2;
  27269. var b2A = b2; var e2A = e2;
  27270. try
  27271. {
  27272. shiftT(168); // 'json'
  27273. lk = -1;
  27274. }
  27275. catch (p1A)
  27276. {
  27277. lk = -2;
  27278. }
  27279. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27280. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27281. b2 = b2A; e2 = e2A; end = e2A; }}
  27282. memoize(17, e0, lk);
  27283. }
  27284. }
  27285. if (lk == -1
  27286. || lk == 3240 // 'json' EQName^Token
  27287. || lk == 4264 // 'json' IntegerLiteral
  27288. || lk == 4776 // 'json' DecimalLiteral
  27289. || lk == 5288 // 'json' DoubleLiteral
  27290. || lk == 5800 // 'json' StringLiteral
  27291. || lk == 16040 // 'json' '$'
  27292. || lk == 16552 // 'json' '$$'
  27293. || lk == 17064 // 'json' '%'
  27294. || lk == 18600 // 'json' '(#'
  27295. || lk == 21160 // 'json' '+'
  27296. || lk == 22184 // 'json' '-'
  27297. || lk == 24232 // 'json' '/'
  27298. || lk == 24744 // 'json' '//'
  27299. || lk == 28328 // 'json' '<'
  27300. || lk == 28840 // 'json' '<!--'
  27301. || lk == 30888 // 'json' '<?'
  27302. || lk == 35496 // 'json' '['
  27303. || lk == 36520 // 'json' 'after'
  27304. || lk == 37544 // 'json' 'allowing'
  27305. || lk == 38056 // 'json' 'ancestor'
  27306. || lk == 38568 // 'json' 'ancestor-or-self'
  27307. || lk == 39080 // 'json' 'and'
  27308. || lk == 40104 // 'json' 'append'
  27309. || lk == 40616 // 'json' 'array'
  27310. || lk == 41128 // 'json' 'as'
  27311. || lk == 41640 // 'json' 'ascending'
  27312. || lk == 42152 // 'json' 'at'
  27313. || lk == 42664 // 'json' 'attribute'
  27314. || lk == 43176 // 'json' 'base-uri'
  27315. || lk == 43688 // 'json' 'before'
  27316. || lk == 44200 // 'json' 'boundary-space'
  27317. || lk == 44712 // 'json' 'break'
  27318. || lk == 45736 // 'json' 'case'
  27319. || lk == 46248 // 'json' 'cast'
  27320. || lk == 46760 // 'json' 'castable'
  27321. || lk == 47272 // 'json' 'catch'
  27322. || lk == 48296 // 'json' 'child'
  27323. || lk == 48808 // 'json' 'collation'
  27324. || lk == 49832 // 'json' 'comment'
  27325. || lk == 50344 // 'json' 'constraint'
  27326. || lk == 50856 // 'json' 'construction'
  27327. || lk == 52392 // 'json' 'context'
  27328. || lk == 52904 // 'json' 'continue'
  27329. || lk == 53416 // 'json' 'copy'
  27330. || lk == 53928 // 'json' 'copy-namespaces'
  27331. || lk == 54440 // 'json' 'count'
  27332. || lk == 54952 // 'json' 'decimal-format'
  27333. || lk == 55976 // 'json' 'declare'
  27334. || lk == 56488 // 'json' 'default'
  27335. || lk == 57000 // 'json' 'delete'
  27336. || lk == 57512 // 'json' 'descendant'
  27337. || lk == 58024 // 'json' 'descendant-or-self'
  27338. || lk == 58536 // 'json' 'descending'
  27339. || lk == 61096 // 'json' 'div'
  27340. || lk == 61608 // 'json' 'document'
  27341. || lk == 62120 // 'json' 'document-node'
  27342. || lk == 62632 // 'json' 'element'
  27343. || lk == 63144 // 'json' 'else'
  27344. || lk == 63656 // 'json' 'empty'
  27345. || lk == 64168 // 'json' 'empty-sequence'
  27346. || lk == 64680 // 'json' 'encoding'
  27347. || lk == 65192 // 'json' 'end'
  27348. || lk == 66216 // 'json' 'eq'
  27349. || lk == 66728 // 'json' 'every'
  27350. || lk == 67752 // 'json' 'except'
  27351. || lk == 68264 // 'json' 'exit'
  27352. || lk == 68776 // 'json' 'external'
  27353. || lk == 69288 // 'json' 'false'
  27354. || lk == 69800 // 'json' 'first'
  27355. || lk == 70312 // 'json' 'following'
  27356. || lk == 70824 // 'json' 'following-sibling'
  27357. || lk == 71336 // 'json' 'for'
  27358. || lk == 72872 // 'json' 'from'
  27359. || lk == 73384 // 'json' 'ft-option'
  27360. || lk == 75432 // 'json' 'function'
  27361. || lk == 75944 // 'json' 'ge'
  27362. || lk == 76968 // 'json' 'group'
  27363. || lk == 77992 // 'json' 'gt'
  27364. || lk == 78504 // 'json' 'idiv'
  27365. || lk == 79016 // 'json' 'if'
  27366. || lk == 79528 // 'json' 'import'
  27367. || lk == 80040 // 'json' 'in'
  27368. || lk == 80552 // 'json' 'index'
  27369. || lk == 82600 // 'json' 'insert'
  27370. || lk == 83112 // 'json' 'instance'
  27371. || lk == 83624 // 'json' 'integrity'
  27372. || lk == 84136 // 'json' 'intersect'
  27373. || lk == 84648 // 'json' 'into'
  27374. || lk == 85160 // 'json' 'is'
  27375. || lk == 85672 // 'json' 'item'
  27376. || lk == 86184 // 'json' 'json'
  27377. || lk == 86696 // 'json' 'json-item'
  27378. || lk == 87208 // 'json' 'jsoniq'
  27379. || lk == 88744 // 'json' 'last'
  27380. || lk == 89256 // 'json' 'lax'
  27381. || lk == 89768 // 'json' 'le'
  27382. || lk == 90792 // 'json' 'let'
  27383. || lk == 91816 // 'json' 'loop'
  27384. || lk == 92840 // 'json' 'lt'
  27385. || lk == 93864 // 'json' 'mod'
  27386. || lk == 94376 // 'json' 'modify'
  27387. || lk == 94888 // 'json' 'module'
  27388. || lk == 95912 // 'json' 'namespace'
  27389. || lk == 96424 // 'json' 'namespace-node'
  27390. || lk == 96936 // 'json' 'ne'
  27391. || lk == 99496 // 'json' 'node'
  27392. || lk == 100008 // 'json' 'nodes'
  27393. || lk == 100520 // 'json' 'not'
  27394. || lk == 101032 // 'json' 'null'
  27395. || lk == 101544 // 'json' 'object'
  27396. || lk == 103592 // 'json' 'only'
  27397. || lk == 104104 // 'json' 'option'
  27398. || lk == 104616 // 'json' 'or'
  27399. || lk == 105128 // 'json' 'order'
  27400. || lk == 105640 // 'json' 'ordered'
  27401. || lk == 106152 // 'json' 'ordering'
  27402. || lk == 107688 // 'json' 'parent'
  27403. || lk == 110760 // 'json' 'preceding'
  27404. || lk == 111272 // 'json' 'preceding-sibling'
  27405. || lk == 112808 // 'json' 'processing-instruction'
  27406. || lk == 113832 // 'json' 'rename'
  27407. || lk == 114344 // 'json' 'replace'
  27408. || lk == 114856 // 'json' 'return'
  27409. || lk == 115368 // 'json' 'returning'
  27410. || lk == 115880 // 'json' 'revalidation'
  27411. || lk == 116904 // 'json' 'satisfies'
  27412. || lk == 117416 // 'json' 'schema'
  27413. || lk == 117928 // 'json' 'schema-attribute'
  27414. || lk == 118440 // 'json' 'schema-element'
  27415. || lk == 118952 // 'json' 'score'
  27416. || lk == 119464 // 'json' 'select'
  27417. || lk == 119976 // 'json' 'self'
  27418. || lk == 122536 // 'json' 'sliding'
  27419. || lk == 123048 // 'json' 'some'
  27420. || lk == 123560 // 'json' 'stable'
  27421. || lk == 124072 // 'json' 'start'
  27422. || lk == 125608 // 'json' 'strict'
  27423. || lk == 126632 // 'json' 'structured-item'
  27424. || lk == 127144 // 'json' 'switch'
  27425. || lk == 127656 // 'json' 'text'
  27426. || lk == 129704 // 'json' 'to'
  27427. || lk == 130216 // 'json' 'treat'
  27428. || lk == 130728 // 'json' 'true'
  27429. || lk == 131240 // 'json' 'try'
  27430. || lk == 131752 // 'json' 'tumbling'
  27431. || lk == 132264 // 'json' 'type'
  27432. || lk == 132776 // 'json' 'typeswitch'
  27433. || lk == 133288 // 'json' 'union'
  27434. || lk == 134312 // 'json' 'unordered'
  27435. || lk == 134824 // 'json' 'updating'
  27436. || lk == 136360 // 'json' 'validate'
  27437. || lk == 136872 // 'json' 'value'
  27438. || lk == 137384 // 'json' 'variable'
  27439. || lk == 137896 // 'json' 'version'
  27440. || lk == 139432 // 'json' 'where'
  27441. || lk == 139944 // 'json' 'while'
  27442. || lk == 141480 // 'json' 'with'
  27443. || lk == 144040 // 'json' '{'
  27444. || lk == 145064) // 'json' '{|'
  27445. {
  27446. shift(168); // 'json'
  27447. }
  27448. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27449. whitespace();
  27450. parse_ExprSingle();
  27451. shift(165); // 'into'
  27452. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27453. whitespace();
  27454. parse_ExprSingle();
  27455. eventHandler.endNonterminal("JSONAppendExpr", e0);
  27456. }
  27457. function try_JSONAppendExpr()
  27458. {
  27459. shiftT(78); // 'append'
  27460. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27461. switch (l1)
  27462. {
  27463. case 168: // 'json'
  27464. lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27465. break;
  27466. default:
  27467. lk = l1;
  27468. }
  27469. if (lk == 18088) // 'json' '('
  27470. {
  27471. lk = memoized(17, e0);
  27472. if (lk == 0)
  27473. {
  27474. var b0A = b0; var e0A = e0; var l1A = l1;
  27475. var b1A = b1; var e1A = e1; var l2A = l2;
  27476. var b2A = b2; var e2A = e2;
  27477. try
  27478. {
  27479. shiftT(168); // 'json'
  27480. memoize(17, e0A, -1);
  27481. }
  27482. catch (p1A)
  27483. {
  27484. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27485. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27486. b2 = b2A; e2 = e2A; end = e2A; }}
  27487. memoize(17, e0A, -2);
  27488. }
  27489. lk = -2;
  27490. }
  27491. }
  27492. if (lk == -1
  27493. || lk == 3240 // 'json' EQName^Token
  27494. || lk == 4264 // 'json' IntegerLiteral
  27495. || lk == 4776 // 'json' DecimalLiteral
  27496. || lk == 5288 // 'json' DoubleLiteral
  27497. || lk == 5800 // 'json' StringLiteral
  27498. || lk == 16040 // 'json' '$'
  27499. || lk == 16552 // 'json' '$$'
  27500. || lk == 17064 // 'json' '%'
  27501. || lk == 18600 // 'json' '(#'
  27502. || lk == 21160 // 'json' '+'
  27503. || lk == 22184 // 'json' '-'
  27504. || lk == 24232 // 'json' '/'
  27505. || lk == 24744 // 'json' '//'
  27506. || lk == 28328 // 'json' '<'
  27507. || lk == 28840 // 'json' '<!--'
  27508. || lk == 30888 // 'json' '<?'
  27509. || lk == 35496 // 'json' '['
  27510. || lk == 36520 // 'json' 'after'
  27511. || lk == 37544 // 'json' 'allowing'
  27512. || lk == 38056 // 'json' 'ancestor'
  27513. || lk == 38568 // 'json' 'ancestor-or-self'
  27514. || lk == 39080 // 'json' 'and'
  27515. || lk == 40104 // 'json' 'append'
  27516. || lk == 40616 // 'json' 'array'
  27517. || lk == 41128 // 'json' 'as'
  27518. || lk == 41640 // 'json' 'ascending'
  27519. || lk == 42152 // 'json' 'at'
  27520. || lk == 42664 // 'json' 'attribute'
  27521. || lk == 43176 // 'json' 'base-uri'
  27522. || lk == 43688 // 'json' 'before'
  27523. || lk == 44200 // 'json' 'boundary-space'
  27524. || lk == 44712 // 'json' 'break'
  27525. || lk == 45736 // 'json' 'case'
  27526. || lk == 46248 // 'json' 'cast'
  27527. || lk == 46760 // 'json' 'castable'
  27528. || lk == 47272 // 'json' 'catch'
  27529. || lk == 48296 // 'json' 'child'
  27530. || lk == 48808 // 'json' 'collation'
  27531. || lk == 49832 // 'json' 'comment'
  27532. || lk == 50344 // 'json' 'constraint'
  27533. || lk == 50856 // 'json' 'construction'
  27534. || lk == 52392 // 'json' 'context'
  27535. || lk == 52904 // 'json' 'continue'
  27536. || lk == 53416 // 'json' 'copy'
  27537. || lk == 53928 // 'json' 'copy-namespaces'
  27538. || lk == 54440 // 'json' 'count'
  27539. || lk == 54952 // 'json' 'decimal-format'
  27540. || lk == 55976 // 'json' 'declare'
  27541. || lk == 56488 // 'json' 'default'
  27542. || lk == 57000 // 'json' 'delete'
  27543. || lk == 57512 // 'json' 'descendant'
  27544. || lk == 58024 // 'json' 'descendant-or-self'
  27545. || lk == 58536 // 'json' 'descending'
  27546. || lk == 61096 // 'json' 'div'
  27547. || lk == 61608 // 'json' 'document'
  27548. || lk == 62120 // 'json' 'document-node'
  27549. || lk == 62632 // 'json' 'element'
  27550. || lk == 63144 // 'json' 'else'
  27551. || lk == 63656 // 'json' 'empty'
  27552. || lk == 64168 // 'json' 'empty-sequence'
  27553. || lk == 64680 // 'json' 'encoding'
  27554. || lk == 65192 // 'json' 'end'
  27555. || lk == 66216 // 'json' 'eq'
  27556. || lk == 66728 // 'json' 'every'
  27557. || lk == 67752 // 'json' 'except'
  27558. || lk == 68264 // 'json' 'exit'
  27559. || lk == 68776 // 'json' 'external'
  27560. || lk == 69288 // 'json' 'false'
  27561. || lk == 69800 // 'json' 'first'
  27562. || lk == 70312 // 'json' 'following'
  27563. || lk == 70824 // 'json' 'following-sibling'
  27564. || lk == 71336 // 'json' 'for'
  27565. || lk == 72872 // 'json' 'from'
  27566. || lk == 73384 // 'json' 'ft-option'
  27567. || lk == 75432 // 'json' 'function'
  27568. || lk == 75944 // 'json' 'ge'
  27569. || lk == 76968 // 'json' 'group'
  27570. || lk == 77992 // 'json' 'gt'
  27571. || lk == 78504 // 'json' 'idiv'
  27572. || lk == 79016 // 'json' 'if'
  27573. || lk == 79528 // 'json' 'import'
  27574. || lk == 80040 // 'json' 'in'
  27575. || lk == 80552 // 'json' 'index'
  27576. || lk == 82600 // 'json' 'insert'
  27577. || lk == 83112 // 'json' 'instance'
  27578. || lk == 83624 // 'json' 'integrity'
  27579. || lk == 84136 // 'json' 'intersect'
  27580. || lk == 84648 // 'json' 'into'
  27581. || lk == 85160 // 'json' 'is'
  27582. || lk == 85672 // 'json' 'item'
  27583. || lk == 86184 // 'json' 'json'
  27584. || lk == 86696 // 'json' 'json-item'
  27585. || lk == 87208 // 'json' 'jsoniq'
  27586. || lk == 88744 // 'json' 'last'
  27587. || lk == 89256 // 'json' 'lax'
  27588. || lk == 89768 // 'json' 'le'
  27589. || lk == 90792 // 'json' 'let'
  27590. || lk == 91816 // 'json' 'loop'
  27591. || lk == 92840 // 'json' 'lt'
  27592. || lk == 93864 // 'json' 'mod'
  27593. || lk == 94376 // 'json' 'modify'
  27594. || lk == 94888 // 'json' 'module'
  27595. || lk == 95912 // 'json' 'namespace'
  27596. || lk == 96424 // 'json' 'namespace-node'
  27597. || lk == 96936 // 'json' 'ne'
  27598. || lk == 99496 // 'json' 'node'
  27599. || lk == 100008 // 'json' 'nodes'
  27600. || lk == 100520 // 'json' 'not'
  27601. || lk == 101032 // 'json' 'null'
  27602. || lk == 101544 // 'json' 'object'
  27603. || lk == 103592 // 'json' 'only'
  27604. || lk == 104104 // 'json' 'option'
  27605. || lk == 104616 // 'json' 'or'
  27606. || lk == 105128 // 'json' 'order'
  27607. || lk == 105640 // 'json' 'ordered'
  27608. || lk == 106152 // 'json' 'ordering'
  27609. || lk == 107688 // 'json' 'parent'
  27610. || lk == 110760 // 'json' 'preceding'
  27611. || lk == 111272 // 'json' 'preceding-sibling'
  27612. || lk == 112808 // 'json' 'processing-instruction'
  27613. || lk == 113832 // 'json' 'rename'
  27614. || lk == 114344 // 'json' 'replace'
  27615. || lk == 114856 // 'json' 'return'
  27616. || lk == 115368 // 'json' 'returning'
  27617. || lk == 115880 // 'json' 'revalidation'
  27618. || lk == 116904 // 'json' 'satisfies'
  27619. || lk == 117416 // 'json' 'schema'
  27620. || lk == 117928 // 'json' 'schema-attribute'
  27621. || lk == 118440 // 'json' 'schema-element'
  27622. || lk == 118952 // 'json' 'score'
  27623. || lk == 119464 // 'json' 'select'
  27624. || lk == 119976 // 'json' 'self'
  27625. || lk == 122536 // 'json' 'sliding'
  27626. || lk == 123048 // 'json' 'some'
  27627. || lk == 123560 // 'json' 'stable'
  27628. || lk == 124072 // 'json' 'start'
  27629. || lk == 125608 // 'json' 'strict'
  27630. || lk == 126632 // 'json' 'structured-item'
  27631. || lk == 127144 // 'json' 'switch'
  27632. || lk == 127656 // 'json' 'text'
  27633. || lk == 129704 // 'json' 'to'
  27634. || lk == 130216 // 'json' 'treat'
  27635. || lk == 130728 // 'json' 'true'
  27636. || lk == 131240 // 'json' 'try'
  27637. || lk == 131752 // 'json' 'tumbling'
  27638. || lk == 132264 // 'json' 'type'
  27639. || lk == 132776 // 'json' 'typeswitch'
  27640. || lk == 133288 // 'json' 'union'
  27641. || lk == 134312 // 'json' 'unordered'
  27642. || lk == 134824 // 'json' 'updating'
  27643. || lk == 136360 // 'json' 'validate'
  27644. || lk == 136872 // 'json' 'value'
  27645. || lk == 137384 // 'json' 'variable'
  27646. || lk == 137896 // 'json' 'version'
  27647. || lk == 139432 // 'json' 'where'
  27648. || lk == 139944 // 'json' 'while'
  27649. || lk == 141480 // 'json' 'with'
  27650. || lk == 144040 // 'json' '{'
  27651. || lk == 145064) // 'json' '{|'
  27652. {
  27653. shiftT(168); // 'json'
  27654. }
  27655. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27656. try_ExprSingle();
  27657. shiftT(165); // 'into'
  27658. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27659. try_ExprSingle();
  27660. }
  27661. function parse_CommonContent()
  27662. {
  27663. eventHandler.startNonterminal("CommonContent", e0);
  27664. switch (l1)
  27665. {
  27666. case 12: // PredefinedEntityRef
  27667. shift(12); // PredefinedEntityRef
  27668. break;
  27669. case 23: // CharRef
  27670. shift(23); // CharRef
  27671. break;
  27672. case 282: // '{{'
  27673. shift(282); // '{{'
  27674. break;
  27675. case 288: // '}}'
  27676. shift(288); // '}}'
  27677. break;
  27678. default:
  27679. parse_BlockExpr();
  27680. }
  27681. eventHandler.endNonterminal("CommonContent", e0);
  27682. }
  27683. function try_CommonContent()
  27684. {
  27685. switch (l1)
  27686. {
  27687. case 12: // PredefinedEntityRef
  27688. shiftT(12); // PredefinedEntityRef
  27689. break;
  27690. case 23: // CharRef
  27691. shiftT(23); // CharRef
  27692. break;
  27693. case 282: // '{{'
  27694. shiftT(282); // '{{'
  27695. break;
  27696. case 288: // '}}'
  27697. shiftT(288); // '}}'
  27698. break;
  27699. default:
  27700. try_BlockExpr();
  27701. }
  27702. }
  27703. function parse_ContentExpr()
  27704. {
  27705. eventHandler.startNonterminal("ContentExpr", e0);
  27706. parse_StatementsAndExpr();
  27707. eventHandler.endNonterminal("ContentExpr", e0);
  27708. }
  27709. function try_ContentExpr()
  27710. {
  27711. try_StatementsAndExpr();
  27712. }
  27713. function parse_CompDocConstructor()
  27714. {
  27715. eventHandler.startNonterminal("CompDocConstructor", e0);
  27716. shift(120); // 'document'
  27717. lookahead1W(90); // S^WS | '(:' | '{'
  27718. whitespace();
  27719. parse_BlockExpr();
  27720. eventHandler.endNonterminal("CompDocConstructor", e0);
  27721. }
  27722. function try_CompDocConstructor()
  27723. {
  27724. shiftT(120); // 'document'
  27725. lookahead1W(90); // S^WS | '(:' | '{'
  27726. try_BlockExpr();
  27727. }
  27728. function parse_CompAttrConstructor()
  27729. {
  27730. eventHandler.startNonterminal("CompAttrConstructor", e0);
  27731. shift(83); // 'attribute'
  27732. lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27733. switch (l1)
  27734. {
  27735. case 281: // '{'
  27736. shift(281); // '{'
  27737. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27738. whitespace();
  27739. parse_Expr();
  27740. shift(287); // '}'
  27741. break;
  27742. default:
  27743. whitespace();
  27744. parse_EQName();
  27745. }
  27746. lookahead1W(90); // S^WS | '(:' | '{'
  27747. switch (l1)
  27748. {
  27749. case 281: // '{'
  27750. lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27751. break;
  27752. default:
  27753. lk = l1;
  27754. }
  27755. if (lk == 147225) // '{' '}'
  27756. {
  27757. lk = memoized(18, e0);
  27758. if (lk == 0)
  27759. {
  27760. var b0A = b0; var e0A = e0; var l1A = l1;
  27761. var b1A = b1; var e1A = e1; var l2A = l2;
  27762. var b2A = b2; var e2A = e2;
  27763. try
  27764. {
  27765. shiftT(281); // '{'
  27766. lookahead1W(91); // S^WS | '(:' | '}'
  27767. shiftT(287); // '}'
  27768. lk = -1;
  27769. }
  27770. catch (p1A)
  27771. {
  27772. lk = -2;
  27773. }
  27774. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27775. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27776. b2 = b2A; e2 = e2A; end = e2A; }}
  27777. memoize(18, e0, lk);
  27778. }
  27779. }
  27780. switch (lk)
  27781. {
  27782. case -1:
  27783. shift(281); // '{'
  27784. lookahead1W(91); // S^WS | '(:' | '}'
  27785. shift(287); // '}'
  27786. break;
  27787. default:
  27788. whitespace();
  27789. parse_BlockExpr();
  27790. }
  27791. eventHandler.endNonterminal("CompAttrConstructor", e0);
  27792. }
  27793. function try_CompAttrConstructor()
  27794. {
  27795. shiftT(83); // 'attribute'
  27796. lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27797. switch (l1)
  27798. {
  27799. case 281: // '{'
  27800. shiftT(281); // '{'
  27801. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27802. try_Expr();
  27803. shiftT(287); // '}'
  27804. break;
  27805. default:
  27806. try_EQName();
  27807. }
  27808. lookahead1W(90); // S^WS | '(:' | '{'
  27809. switch (l1)
  27810. {
  27811. case 281: // '{'
  27812. lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27813. break;
  27814. default:
  27815. lk = l1;
  27816. }
  27817. if (lk == 147225) // '{' '}'
  27818. {
  27819. lk = memoized(18, e0);
  27820. if (lk == 0)
  27821. {
  27822. var b0A = b0; var e0A = e0; var l1A = l1;
  27823. var b1A = b1; var e1A = e1; var l2A = l2;
  27824. var b2A = b2; var e2A = e2;
  27825. try
  27826. {
  27827. shiftT(281); // '{'
  27828. lookahead1W(91); // S^WS | '(:' | '}'
  27829. shiftT(287); // '}'
  27830. memoize(18, e0A, -1);
  27831. lk = -3;
  27832. }
  27833. catch (p1A)
  27834. {
  27835. lk = -2;
  27836. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27837. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27838. b2 = b2A; e2 = e2A; end = e2A; }}
  27839. memoize(18, e0A, -2);
  27840. }
  27841. }
  27842. }
  27843. switch (lk)
  27844. {
  27845. case -1:
  27846. shiftT(281); // '{'
  27847. lookahead1W(91); // S^WS | '(:' | '}'
  27848. shiftT(287); // '}'
  27849. break;
  27850. case -3:
  27851. break;
  27852. default:
  27853. try_BlockExpr();
  27854. }
  27855. }
  27856. function parse_CompPIConstructor()
  27857. {
  27858. eventHandler.startNonterminal("CompPIConstructor", e0);
  27859. shift(220); // 'processing-instruction'
  27860. lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27861. switch (l1)
  27862. {
  27863. case 281: // '{'
  27864. shift(281); // '{'
  27865. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27866. whitespace();
  27867. parse_Expr();
  27868. shift(287); // '}'
  27869. break;
  27870. default:
  27871. whitespace();
  27872. parse_NCName();
  27873. }
  27874. lookahead1W(90); // S^WS | '(:' | '{'
  27875. switch (l1)
  27876. {
  27877. case 281: // '{'
  27878. lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27879. break;
  27880. default:
  27881. lk = l1;
  27882. }
  27883. if (lk == 147225) // '{' '}'
  27884. {
  27885. lk = memoized(19, e0);
  27886. if (lk == 0)
  27887. {
  27888. var b0A = b0; var e0A = e0; var l1A = l1;
  27889. var b1A = b1; var e1A = e1; var l2A = l2;
  27890. var b2A = b2; var e2A = e2;
  27891. try
  27892. {
  27893. shiftT(281); // '{'
  27894. lookahead1W(91); // S^WS | '(:' | '}'
  27895. shiftT(287); // '}'
  27896. lk = -1;
  27897. }
  27898. catch (p1A)
  27899. {
  27900. lk = -2;
  27901. }
  27902. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27903. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27904. b2 = b2A; e2 = e2A; end = e2A; }}
  27905. memoize(19, e0, lk);
  27906. }
  27907. }
  27908. switch (lk)
  27909. {
  27910. case -1:
  27911. shift(281); // '{'
  27912. lookahead1W(91); // S^WS | '(:' | '}'
  27913. shift(287); // '}'
  27914. break;
  27915. default:
  27916. whitespace();
  27917. parse_BlockExpr();
  27918. }
  27919. eventHandler.endNonterminal("CompPIConstructor", e0);
  27920. }
  27921. function try_CompPIConstructor()
  27922. {
  27923. shiftT(220); // 'processing-instruction'
  27924. lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  27925. switch (l1)
  27926. {
  27927. case 281: // '{'
  27928. shiftT(281); // '{'
  27929. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27930. try_Expr();
  27931. shiftT(287); // '}'
  27932. break;
  27933. default:
  27934. try_NCName();
  27935. }
  27936. lookahead1W(90); // S^WS | '(:' | '{'
  27937. switch (l1)
  27938. {
  27939. case 281: // '{'
  27940. lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  27941. break;
  27942. default:
  27943. lk = l1;
  27944. }
  27945. if (lk == 147225) // '{' '}'
  27946. {
  27947. lk = memoized(19, e0);
  27948. if (lk == 0)
  27949. {
  27950. var b0A = b0; var e0A = e0; var l1A = l1;
  27951. var b1A = b1; var e1A = e1; var l2A = l2;
  27952. var b2A = b2; var e2A = e2;
  27953. try
  27954. {
  27955. shiftT(281); // '{'
  27956. lookahead1W(91); // S^WS | '(:' | '}'
  27957. shiftT(287); // '}'
  27958. memoize(19, e0A, -1);
  27959. lk = -3;
  27960. }
  27961. catch (p1A)
  27962. {
  27963. lk = -2;
  27964. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  27965. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  27966. b2 = b2A; e2 = e2A; end = e2A; }}
  27967. memoize(19, e0A, -2);
  27968. }
  27969. }
  27970. }
  27971. switch (lk)
  27972. {
  27973. case -1:
  27974. shiftT(281); // '{'
  27975. lookahead1W(91); // S^WS | '(:' | '}'
  27976. shiftT(287); // '}'
  27977. break;
  27978. case -3:
  27979. break;
  27980. default:
  27981. try_BlockExpr();
  27982. }
  27983. }
  27984. function parse_CompCommentConstructor()
  27985. {
  27986. eventHandler.startNonterminal("CompCommentConstructor", e0);
  27987. shift(97); // 'comment'
  27988. lookahead1W(90); // S^WS | '(:' | '{'
  27989. whitespace();
  27990. parse_BlockExpr();
  27991. eventHandler.endNonterminal("CompCommentConstructor", e0);
  27992. }
  27993. function try_CompCommentConstructor()
  27994. {
  27995. shiftT(97); // 'comment'
  27996. lookahead1W(90); // S^WS | '(:' | '{'
  27997. try_BlockExpr();
  27998. }
  27999. function parse_CompTextConstructor()
  28000. {
  28001. eventHandler.startNonterminal("CompTextConstructor", e0);
  28002. shift(249); // 'text'
  28003. lookahead1W(90); // S^WS | '(:' | '{'
  28004. whitespace();
  28005. parse_BlockExpr();
  28006. eventHandler.endNonterminal("CompTextConstructor", e0);
  28007. }
  28008. function try_CompTextConstructor()
  28009. {
  28010. shiftT(249); // 'text'
  28011. lookahead1W(90); // S^WS | '(:' | '{'
  28012. try_BlockExpr();
  28013. }
  28014. function parse_PrimaryExpr()
  28015. {
  28016. eventHandler.startNonterminal("PrimaryExpr", e0);
  28017. switch (l1)
  28018. {
  28019. case 187: // 'namespace'
  28020. lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28021. break;
  28022. case 220: // 'processing-instruction'
  28023. lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28024. break;
  28025. case 281: // '{'
  28026. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  28027. break;
  28028. case 83: // 'attribute'
  28029. case 122: // 'element'
  28030. lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28031. break;
  28032. case 97: // 'comment'
  28033. case 249: // 'text'
  28034. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  28035. break;
  28036. case 120: // 'document'
  28037. case 206: // 'ordered'
  28038. case 262: // 'unordered'
  28039. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  28040. break;
  28041. case 135: // 'false'
  28042. case 197: // 'null'
  28043. case 255: // 'true'
  28044. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  28045. break;
  28046. case 6: // EQName^Token
  28047. case 71: // 'after'
  28048. case 73: // 'allowing'
  28049. case 74: // 'ancestor'
  28050. case 75: // 'ancestor-or-self'
  28051. case 76: // 'and'
  28052. case 78: // 'append'
  28053. case 80: // 'as'
  28054. case 81: // 'ascending'
  28055. case 82: // 'at'
  28056. case 84: // 'base-uri'
  28057. case 85: // 'before'
  28058. case 86: // 'boundary-space'
  28059. case 87: // 'break'
  28060. case 89: // 'case'
  28061. case 90: // 'cast'
  28062. case 91: // 'castable'
  28063. case 92: // 'catch'
  28064. case 94: // 'child'
  28065. case 95: // 'collation'
  28066. case 98: // 'constraint'
  28067. case 99: // 'construction'
  28068. case 102: // 'context'
  28069. case 103: // 'continue'
  28070. case 104: // 'copy'
  28071. case 105: // 'copy-namespaces'
  28072. case 106: // 'count'
  28073. case 107: // 'decimal-format'
  28074. case 109: // 'declare'
  28075. case 110: // 'default'
  28076. case 111: // 'delete'
  28077. case 112: // 'descendant'
  28078. case 113: // 'descendant-or-self'
  28079. case 114: // 'descending'
  28080. case 119: // 'div'
  28081. case 123: // 'else'
  28082. case 124: // 'empty'
  28083. case 126: // 'encoding'
  28084. case 127: // 'end'
  28085. case 129: // 'eq'
  28086. case 130: // 'every'
  28087. case 132: // 'except'
  28088. case 133: // 'exit'
  28089. case 134: // 'external'
  28090. case 136: // 'first'
  28091. case 137: // 'following'
  28092. case 138: // 'following-sibling'
  28093. case 139: // 'for'
  28094. case 142: // 'from'
  28095. case 143: // 'ft-option'
  28096. case 148: // 'ge'
  28097. case 150: // 'group'
  28098. case 152: // 'gt'
  28099. case 153: // 'idiv'
  28100. case 155: // 'import'
  28101. case 156: // 'in'
  28102. case 157: // 'index'
  28103. case 161: // 'insert'
  28104. case 162: // 'instance'
  28105. case 163: // 'integrity'
  28106. case 164: // 'intersect'
  28107. case 165: // 'into'
  28108. case 166: // 'is'
  28109. case 168: // 'json'
  28110. case 170: // 'jsoniq'
  28111. case 173: // 'last'
  28112. case 174: // 'lax'
  28113. case 175: // 'le'
  28114. case 177: // 'let'
  28115. case 179: // 'loop'
  28116. case 181: // 'lt'
  28117. case 183: // 'mod'
  28118. case 184: // 'modify'
  28119. case 185: // 'module'
  28120. case 189: // 'ne'
  28121. case 195: // 'nodes'
  28122. case 198: // 'object'
  28123. case 202: // 'only'
  28124. case 203: // 'option'
  28125. case 204: // 'or'
  28126. case 205: // 'order'
  28127. case 207: // 'ordering'
  28128. case 210: // 'parent'
  28129. case 216: // 'preceding'
  28130. case 217: // 'preceding-sibling'
  28131. case 222: // 'rename'
  28132. case 223: // 'replace'
  28133. case 224: // 'return'
  28134. case 225: // 'returning'
  28135. case 226: // 'revalidation'
  28136. case 228: // 'satisfies'
  28137. case 229: // 'schema'
  28138. case 232: // 'score'
  28139. case 233: // 'select'
  28140. case 234: // 'self'
  28141. case 239: // 'sliding'
  28142. case 240: // 'some'
  28143. case 241: // 'stable'
  28144. case 242: // 'start'
  28145. case 245: // 'strict'
  28146. case 253: // 'to'
  28147. case 254: // 'treat'
  28148. case 256: // 'try'
  28149. case 257: // 'tumbling'
  28150. case 258: // 'type'
  28151. case 260: // 'union'
  28152. case 263: // 'updating'
  28153. case 266: // 'validate'
  28154. case 267: // 'value'
  28155. case 268: // 'variable'
  28156. case 269: // 'version'
  28157. case 272: // 'where'
  28158. case 273: // 'while'
  28159. case 276: // 'with'
  28160. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  28161. break;
  28162. default:
  28163. lk = l1;
  28164. }
  28165. if (lk == 3353 // '{' EQName^Token
  28166. || lk == 4377 // '{' IntegerLiteral
  28167. || lk == 4889 // '{' DecimalLiteral
  28168. || lk == 5401 // '{' DoubleLiteral
  28169. || lk == 5913 // '{' StringLiteral
  28170. || lk == 16153 // '{' '$'
  28171. || lk == 16665 // '{' '$$'
  28172. || lk == 17177 // '{' '%'
  28173. || lk == 18055 // 'false' '('
  28174. || lk == 18117 // 'null' '('
  28175. || lk == 18175 // 'true' '('
  28176. || lk == 18201 // '{' '('
  28177. || lk == 18713 // '{' '(#'
  28178. || lk == 21273 // '{' '+'
  28179. || lk == 22297 // '{' '-'
  28180. || lk == 24345 // '{' '/'
  28181. || lk == 24857 // '{' '//'
  28182. || lk == 28441 // '{' '<'
  28183. || lk == 28953 // '{' '<!--'
  28184. || lk == 31001 // '{' '<?'
  28185. || lk == 35609 // '{' '['
  28186. || lk == 36633 // '{' 'after'
  28187. || lk == 37657 // '{' 'allowing'
  28188. || lk == 38169 // '{' 'ancestor'
  28189. || lk == 38681 // '{' 'ancestor-or-self'
  28190. || lk == 39193 // '{' 'and'
  28191. || lk == 40217 // '{' 'append'
  28192. || lk == 40729 // '{' 'array'
  28193. || lk == 41241 // '{' 'as'
  28194. || lk == 41753 // '{' 'ascending'
  28195. || lk == 42265 // '{' 'at'
  28196. || lk == 42777 // '{' 'attribute'
  28197. || lk == 43289 // '{' 'base-uri'
  28198. || lk == 43801 // '{' 'before'
  28199. || lk == 44313 // '{' 'boundary-space'
  28200. || lk == 44825 // '{' 'break'
  28201. || lk == 45849 // '{' 'case'
  28202. || lk == 46361 // '{' 'cast'
  28203. || lk == 46873 // '{' 'castable'
  28204. || lk == 47385 // '{' 'catch'
  28205. || lk == 48409 // '{' 'child'
  28206. || lk == 48921 // '{' 'collation'
  28207. || lk == 49945 // '{' 'comment'
  28208. || lk == 50457 // '{' 'constraint'
  28209. || lk == 50969 // '{' 'construction'
  28210. || lk == 52505 // '{' 'context'
  28211. || lk == 53017 // '{' 'continue'
  28212. || lk == 53529 // '{' 'copy'
  28213. || lk == 54041 // '{' 'copy-namespaces'
  28214. || lk == 54553 // '{' 'count'
  28215. || lk == 55065 // '{' 'decimal-format'
  28216. || lk == 56089 // '{' 'declare'
  28217. || lk == 56601 // '{' 'default'
  28218. || lk == 57113 // '{' 'delete'
  28219. || lk == 57625 // '{' 'descendant'
  28220. || lk == 58137 // '{' 'descendant-or-self'
  28221. || lk == 58649 // '{' 'descending'
  28222. || lk == 61209 // '{' 'div'
  28223. || lk == 61721 // '{' 'document'
  28224. || lk == 62233 // '{' 'document-node'
  28225. || lk == 62745 // '{' 'element'
  28226. || lk == 63257 // '{' 'else'
  28227. || lk == 63769 // '{' 'empty'
  28228. || lk == 64281 // '{' 'empty-sequence'
  28229. || lk == 64793 // '{' 'encoding'
  28230. || lk == 65305 // '{' 'end'
  28231. || lk == 66329 // '{' 'eq'
  28232. || lk == 66841 // '{' 'every'
  28233. || lk == 67865 // '{' 'except'
  28234. || lk == 68377 // '{' 'exit'
  28235. || lk == 68889 // '{' 'external'
  28236. || lk == 69401 // '{' 'false'
  28237. || lk == 69913 // '{' 'first'
  28238. || lk == 70425 // '{' 'following'
  28239. || lk == 70937 // '{' 'following-sibling'
  28240. || lk == 71449 // '{' 'for'
  28241. || lk == 72985 // '{' 'from'
  28242. || lk == 73497 // '{' 'ft-option'
  28243. || lk == 75545 // '{' 'function'
  28244. || lk == 76057 // '{' 'ge'
  28245. || lk == 77081 // '{' 'group'
  28246. || lk == 78105 // '{' 'gt'
  28247. || lk == 78617 // '{' 'idiv'
  28248. || lk == 79129 // '{' 'if'
  28249. || lk == 79641 // '{' 'import'
  28250. || lk == 80153 // '{' 'in'
  28251. || lk == 80665 // '{' 'index'
  28252. || lk == 82713 // '{' 'insert'
  28253. || lk == 83225 // '{' 'instance'
  28254. || lk == 83737 // '{' 'integrity'
  28255. || lk == 84249 // '{' 'intersect'
  28256. || lk == 84761 // '{' 'into'
  28257. || lk == 85273 // '{' 'is'
  28258. || lk == 85785 // '{' 'item'
  28259. || lk == 86297 // '{' 'json'
  28260. || lk == 86809 // '{' 'json-item'
  28261. || lk == 87321 // '{' 'jsoniq'
  28262. || lk == 88857 // '{' 'last'
  28263. || lk == 89369 // '{' 'lax'
  28264. || lk == 89881 // '{' 'le'
  28265. || lk == 90905 // '{' 'let'
  28266. || lk == 91929 // '{' 'loop'
  28267. || lk == 92953 // '{' 'lt'
  28268. || lk == 93977 // '{' 'mod'
  28269. || lk == 94489 // '{' 'modify'
  28270. || lk == 95001 // '{' 'module'
  28271. || lk == 96025 // '{' 'namespace'
  28272. || lk == 96537 // '{' 'namespace-node'
  28273. || lk == 97049 // '{' 'ne'
  28274. || lk == 99609 // '{' 'node'
  28275. || lk == 100121 // '{' 'nodes'
  28276. || lk == 100633 // '{' 'not'
  28277. || lk == 101145 // '{' 'null'
  28278. || lk == 101657 // '{' 'object'
  28279. || lk == 103705 // '{' 'only'
  28280. || lk == 104217 // '{' 'option'
  28281. || lk == 104729 // '{' 'or'
  28282. || lk == 105241 // '{' 'order'
  28283. || lk == 105753 // '{' 'ordered'
  28284. || lk == 106265 // '{' 'ordering'
  28285. || lk == 107801 // '{' 'parent'
  28286. || lk == 110873 // '{' 'preceding'
  28287. || lk == 111385 // '{' 'preceding-sibling'
  28288. || lk == 112921 // '{' 'processing-instruction'
  28289. || lk == 113945 // '{' 'rename'
  28290. || lk == 114457 // '{' 'replace'
  28291. || lk == 114969 // '{' 'return'
  28292. || lk == 115481 // '{' 'returning'
  28293. || lk == 115993 // '{' 'revalidation'
  28294. || lk == 117017 // '{' 'satisfies'
  28295. || lk == 117529 // '{' 'schema'
  28296. || lk == 118041 // '{' 'schema-attribute'
  28297. || lk == 118553 // '{' 'schema-element'
  28298. || lk == 119065 // '{' 'score'
  28299. || lk == 119577 // '{' 'select'
  28300. || lk == 120089 // '{' 'self'
  28301. || lk == 122649 // '{' 'sliding'
  28302. || lk == 123161 // '{' 'some'
  28303. || lk == 123673 // '{' 'stable'
  28304. || lk == 124185 // '{' 'start'
  28305. || lk == 125721 // '{' 'strict'
  28306. || lk == 126745 // '{' 'structured-item'
  28307. || lk == 127257 // '{' 'switch'
  28308. || lk == 127769 // '{' 'text'
  28309. || lk == 129817 // '{' 'to'
  28310. || lk == 130329 // '{' 'treat'
  28311. || lk == 130841 // '{' 'true'
  28312. || lk == 131353 // '{' 'try'
  28313. || lk == 131865 // '{' 'tumbling'
  28314. || lk == 132377 // '{' 'type'
  28315. || lk == 132889 // '{' 'typeswitch'
  28316. || lk == 133401 // '{' 'union'
  28317. || lk == 134425 // '{' 'unordered'
  28318. || lk == 134937 // '{' 'updating'
  28319. || lk == 136473 // '{' 'validate'
  28320. || lk == 136985 // '{' 'value'
  28321. || lk == 137497 // '{' 'variable'
  28322. || lk == 138009 // '{' 'version'
  28323. || lk == 139545 // '{' 'where'
  28324. || lk == 140057 // '{' 'while'
  28325. || lk == 141593 // '{' 'with'
  28326. || lk == 144153 // '{' '{'
  28327. || lk == 145177 // '{' '{|'
  28328. || lk == 147225) // '{' '}'
  28329. {
  28330. lk = memoized(20, e0);
  28331. if (lk == 0)
  28332. {
  28333. var b0A = b0; var e0A = e0; var l1A = l1;
  28334. var b1A = b1; var e1A = e1; var l2A = l2;
  28335. var b2A = b2; var e2A = e2;
  28336. try
  28337. {
  28338. try_Literal();
  28339. lk = -1;
  28340. }
  28341. catch (p1A)
  28342. {
  28343. try
  28344. {
  28345. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  28346. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  28347. b2 = b2A; e2 = e2A; end = e2A; }}
  28348. try_FunctionCall();
  28349. lk = -5;
  28350. }
  28351. catch (p5A)
  28352. {
  28353. try
  28354. {
  28355. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  28356. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  28357. b2 = b2A; e2 = e2A; end = e2A; }}
  28358. try_BlockExpr();
  28359. lk = -10;
  28360. }
  28361. catch (p10A)
  28362. {
  28363. lk = -11;
  28364. }
  28365. }
  28366. }
  28367. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  28368. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  28369. b2 = b2A; e2 = e2A; end = e2A; }}
  28370. memoize(20, e0, lk);
  28371. }
  28372. }
  28373. switch (lk)
  28374. {
  28375. case -1:
  28376. case 8: // IntegerLiteral
  28377. case 9: // DecimalLiteral
  28378. case 10: // DoubleLiteral
  28379. case 11: // StringLiteral
  28380. case 12935: // 'false' EOF
  28381. case 12997: // 'null' EOF
  28382. case 13055: // 'true' EOF
  28383. case 13447: // 'false' '!'
  28384. case 13509: // 'null' '!'
  28385. case 13567: // 'true' '!'
  28386. case 13959: // 'false' '!='
  28387. case 14021: // 'null' '!='
  28388. case 14079: // 'true' '!='
  28389. case 19591: // 'false' ')'
  28390. case 19653: // 'null' ')'
  28391. case 19711: // 'true' ')'
  28392. case 20103: // 'false' '*'
  28393. case 20165: // 'null' '*'
  28394. case 20223: // 'true' '*'
  28395. case 21127: // 'false' '+'
  28396. case 21189: // 'null' '+'
  28397. case 21247: // 'true' '+'
  28398. case 21639: // 'false' ','
  28399. case 21701: // 'null' ','
  28400. case 21759: // 'true' ','
  28401. case 22151: // 'false' '-'
  28402. case 22213: // 'null' '-'
  28403. case 22271: // 'true' '-'
  28404. case 23175: // 'false' '.'
  28405. case 23237: // 'null' '.'
  28406. case 23295: // 'true' '.'
  28407. case 24199: // 'false' '/'
  28408. case 24261: // 'null' '/'
  28409. case 24319: // 'true' '/'
  28410. case 24711: // 'false' '//'
  28411. case 24773: // 'null' '//'
  28412. case 24831: // 'true' '//'
  28413. case 25735: // 'false' ':'
  28414. case 25797: // 'null' ':'
  28415. case 25855: // 'true' ':'
  28416. case 27783: // 'false' ';'
  28417. case 27845: // 'null' ';'
  28418. case 27903: // 'true' ';'
  28419. case 28295: // 'false' '<'
  28420. case 28357: // 'null' '<'
  28421. case 28415: // 'true' '<'
  28422. case 29831: // 'false' '<<'
  28423. case 29893: // 'null' '<<'
  28424. case 29951: // 'true' '<<'
  28425. case 30343: // 'false' '<='
  28426. case 30405: // 'null' '<='
  28427. case 30463: // 'true' '<='
  28428. case 31367: // 'false' '='
  28429. case 31429: // 'null' '='
  28430. case 31487: // 'true' '='
  28431. case 31879: // 'false' '>'
  28432. case 31941: // 'null' '>'
  28433. case 31999: // 'true' '>'
  28434. case 32391: // 'false' '>='
  28435. case 32453: // 'null' '>='
  28436. case 32511: // 'true' '>='
  28437. case 32903: // 'false' '>>'
  28438. case 32965: // 'null' '>>'
  28439. case 33023: // 'true' '>>'
  28440. case 35463: // 'false' '['
  28441. case 35525: // 'null' '['
  28442. case 35583: // 'true' '['
  28443. case 35975: // 'false' ']'
  28444. case 36037: // 'null' ']'
  28445. case 36095: // 'true' ']'
  28446. case 36487: // 'false' 'after'
  28447. case 36549: // 'null' 'after'
  28448. case 36607: // 'true' 'after'
  28449. case 39047: // 'false' 'and'
  28450. case 39109: // 'null' 'and'
  28451. case 39167: // 'true' 'and'
  28452. case 41095: // 'false' 'as'
  28453. case 41157: // 'null' 'as'
  28454. case 41215: // 'true' 'as'
  28455. case 41607: // 'false' 'ascending'
  28456. case 41669: // 'null' 'ascending'
  28457. case 41727: // 'true' 'ascending'
  28458. case 42119: // 'false' 'at'
  28459. case 42181: // 'null' 'at'
  28460. case 42239: // 'true' 'at'
  28461. case 43655: // 'false' 'before'
  28462. case 43717: // 'null' 'before'
  28463. case 43775: // 'true' 'before'
  28464. case 45191: // 'false' 'by'
  28465. case 45253: // 'null' 'by'
  28466. case 45311: // 'true' 'by'
  28467. case 45703: // 'false' 'case'
  28468. case 45765: // 'null' 'case'
  28469. case 45823: // 'true' 'case'
  28470. case 46215: // 'false' 'cast'
  28471. case 46277: // 'null' 'cast'
  28472. case 46335: // 'true' 'cast'
  28473. case 46727: // 'false' 'castable'
  28474. case 46789: // 'null' 'castable'
  28475. case 46847: // 'true' 'castable'
  28476. case 48775: // 'false' 'collation'
  28477. case 48837: // 'null' 'collation'
  28478. case 48895: // 'true' 'collation'
  28479. case 51335: // 'false' 'contains'
  28480. case 51397: // 'null' 'contains'
  28481. case 51455: // 'true' 'contains'
  28482. case 54407: // 'false' 'count'
  28483. case 54469: // 'null' 'count'
  28484. case 54527: // 'true' 'count'
  28485. case 56455: // 'false' 'default'
  28486. case 56517: // 'null' 'default'
  28487. case 56575: // 'true' 'default'
  28488. case 58503: // 'false' 'descending'
  28489. case 58565: // 'null' 'descending'
  28490. case 58623: // 'true' 'descending'
  28491. case 61063: // 'false' 'div'
  28492. case 61125: // 'null' 'div'
  28493. case 61183: // 'true' 'div'
  28494. case 63111: // 'false' 'else'
  28495. case 63173: // 'null' 'else'
  28496. case 63231: // 'true' 'else'
  28497. case 63623: // 'false' 'empty'
  28498. case 63685: // 'null' 'empty'
  28499. case 63743: // 'true' 'empty'
  28500. case 65159: // 'false' 'end'
  28501. case 65221: // 'null' 'end'
  28502. case 65279: // 'true' 'end'
  28503. case 66183: // 'false' 'eq'
  28504. case 66245: // 'null' 'eq'
  28505. case 66303: // 'true' 'eq'
  28506. case 67719: // 'false' 'except'
  28507. case 67781: // 'null' 'except'
  28508. case 67839: // 'true' 'except'
  28509. case 71303: // 'false' 'for'
  28510. case 71365: // 'null' 'for'
  28511. case 71423: // 'true' 'for'
  28512. case 75911: // 'false' 'ge'
  28513. case 75973: // 'null' 'ge'
  28514. case 76031: // 'true' 'ge'
  28515. case 76935: // 'false' 'group'
  28516. case 76997: // 'null' 'group'
  28517. case 77055: // 'true' 'group'
  28518. case 77959: // 'false' 'gt'
  28519. case 78021: // 'null' 'gt'
  28520. case 78079: // 'true' 'gt'
  28521. case 78471: // 'false' 'idiv'
  28522. case 78533: // 'null' 'idiv'
  28523. case 78591: // 'true' 'idiv'
  28524. case 83079: // 'false' 'instance'
  28525. case 83141: // 'null' 'instance'
  28526. case 83199: // 'true' 'instance'
  28527. case 84103: // 'false' 'intersect'
  28528. case 84165: // 'null' 'intersect'
  28529. case 84223: // 'true' 'intersect'
  28530. case 84615: // 'false' 'into'
  28531. case 84677: // 'null' 'into'
  28532. case 84735: // 'true' 'into'
  28533. case 85127: // 'false' 'is'
  28534. case 85189: // 'null' 'is'
  28535. case 85247: // 'true' 'is'
  28536. case 89735: // 'false' 'le'
  28537. case 89797: // 'null' 'le'
  28538. case 89855: // 'true' 'le'
  28539. case 90759: // 'false' 'let'
  28540. case 90821: // 'null' 'let'
  28541. case 90879: // 'true' 'let'
  28542. case 92807: // 'false' 'lt'
  28543. case 92869: // 'null' 'lt'
  28544. case 92927: // 'true' 'lt'
  28545. case 93831: // 'false' 'mod'
  28546. case 93893: // 'null' 'mod'
  28547. case 93951: // 'true' 'mod'
  28548. case 94343: // 'false' 'modify'
  28549. case 94405: // 'null' 'modify'
  28550. case 94463: // 'true' 'modify'
  28551. case 96903: // 'false' 'ne'
  28552. case 96965: // 'null' 'ne'
  28553. case 97023: // 'true' 'ne'
  28554. case 103559: // 'false' 'only'
  28555. case 103621: // 'null' 'only'
  28556. case 103679: // 'true' 'only'
  28557. case 104583: // 'false' 'or'
  28558. case 104645: // 'null' 'or'
  28559. case 104703: // 'true' 'or'
  28560. case 105095: // 'false' 'order'
  28561. case 105157: // 'null' 'order'
  28562. case 105215: // 'true' 'order'
  28563. case 107143: // 'false' 'paragraphs'
  28564. case 107205: // 'null' 'paragraphs'
  28565. case 107263: // 'true' 'paragraphs'
  28566. case 114823: // 'false' 'return'
  28567. case 114885: // 'null' 'return'
  28568. case 114943: // 'true' 'return'
  28569. case 116871: // 'false' 'satisfies'
  28570. case 116933: // 'null' 'satisfies'
  28571. case 116991: // 'true' 'satisfies'
  28572. case 121479: // 'false' 'sentences'
  28573. case 121541: // 'null' 'sentences'
  28574. case 121599: // 'true' 'sentences'
  28575. case 123527: // 'false' 'stable'
  28576. case 123589: // 'null' 'stable'
  28577. case 123647: // 'true' 'stable'
  28578. case 124039: // 'false' 'start'
  28579. case 124101: // 'null' 'start'
  28580. case 124159: // 'true' 'start'
  28581. case 129159: // 'false' 'times'
  28582. case 129221: // 'null' 'times'
  28583. case 129279: // 'true' 'times'
  28584. case 129671: // 'false' 'to'
  28585. case 129733: // 'null' 'to'
  28586. case 129791: // 'true' 'to'
  28587. case 130183: // 'false' 'treat'
  28588. case 130245: // 'null' 'treat'
  28589. case 130303: // 'true' 'treat'
  28590. case 133255: // 'false' 'union'
  28591. case 133317: // 'null' 'union'
  28592. case 133375: // 'true' 'union'
  28593. case 139399: // 'false' 'where'
  28594. case 139461: // 'null' 'where'
  28595. case 139519: // 'true' 'where'
  28596. case 141447: // 'false' 'with'
  28597. case 141509: // 'null' 'with'
  28598. case 141567: // 'true' 'with'
  28599. case 142983: // 'false' 'words'
  28600. case 143045: // 'null' 'words'
  28601. case 143103: // 'true' 'words'
  28602. case 145543: // 'false' '|'
  28603. case 145605: // 'null' '|'
  28604. case 145663: // 'true' '|'
  28605. case 146055: // 'false' '||'
  28606. case 146117: // 'null' '||'
  28607. case 146175: // 'true' '||'
  28608. case 146567: // 'false' '|}'
  28609. case 146629: // 'null' '|}'
  28610. case 146687: // 'true' '|}'
  28611. case 147079: // 'false' '}'
  28612. case 147141: // 'null' '}'
  28613. case 147199: // 'true' '}'
  28614. parse_Literal();
  28615. break;
  28616. case 31: // '$'
  28617. parse_VarRef();
  28618. break;
  28619. case 35: // '('
  28620. parse_ParenthesizedExpr();
  28621. break;
  28622. case 32: // '$$'
  28623. parse_ContextItemExpr();
  28624. break;
  28625. case -5:
  28626. case 17926: // EQName^Token '('
  28627. case 17991: // 'after' '('
  28628. case 17993: // 'allowing' '('
  28629. case 17994: // 'ancestor' '('
  28630. case 17995: // 'ancestor-or-self' '('
  28631. case 17996: // 'and' '('
  28632. case 17998: // 'append' '('
  28633. case 18000: // 'as' '('
  28634. case 18001: // 'ascending' '('
  28635. case 18002: // 'at' '('
  28636. case 18004: // 'base-uri' '('
  28637. case 18005: // 'before' '('
  28638. case 18006: // 'boundary-space' '('
  28639. case 18007: // 'break' '('
  28640. case 18009: // 'case' '('
  28641. case 18010: // 'cast' '('
  28642. case 18011: // 'castable' '('
  28643. case 18012: // 'catch' '('
  28644. case 18014: // 'child' '('
  28645. case 18015: // 'collation' '('
  28646. case 18018: // 'constraint' '('
  28647. case 18019: // 'construction' '('
  28648. case 18022: // 'context' '('
  28649. case 18023: // 'continue' '('
  28650. case 18024: // 'copy' '('
  28651. case 18025: // 'copy-namespaces' '('
  28652. case 18026: // 'count' '('
  28653. case 18027: // 'decimal-format' '('
  28654. case 18029: // 'declare' '('
  28655. case 18030: // 'default' '('
  28656. case 18031: // 'delete' '('
  28657. case 18032: // 'descendant' '('
  28658. case 18033: // 'descendant-or-self' '('
  28659. case 18034: // 'descending' '('
  28660. case 18039: // 'div' '('
  28661. case 18040: // 'document' '('
  28662. case 18043: // 'else' '('
  28663. case 18044: // 'empty' '('
  28664. case 18046: // 'encoding' '('
  28665. case 18047: // 'end' '('
  28666. case 18049: // 'eq' '('
  28667. case 18050: // 'every' '('
  28668. case 18052: // 'except' '('
  28669. case 18053: // 'exit' '('
  28670. case 18054: // 'external' '('
  28671. case 18056: // 'first' '('
  28672. case 18057: // 'following' '('
  28673. case 18058: // 'following-sibling' '('
  28674. case 18059: // 'for' '('
  28675. case 18062: // 'from' '('
  28676. case 18063: // 'ft-option' '('
  28677. case 18068: // 'ge' '('
  28678. case 18070: // 'group' '('
  28679. case 18072: // 'gt' '('
  28680. case 18073: // 'idiv' '('
  28681. case 18075: // 'import' '('
  28682. case 18076: // 'in' '('
  28683. case 18077: // 'index' '('
  28684. case 18081: // 'insert' '('
  28685. case 18082: // 'instance' '('
  28686. case 18083: // 'integrity' '('
  28687. case 18084: // 'intersect' '('
  28688. case 18085: // 'into' '('
  28689. case 18086: // 'is' '('
  28690. case 18088: // 'json' '('
  28691. case 18090: // 'jsoniq' '('
  28692. case 18093: // 'last' '('
  28693. case 18094: // 'lax' '('
  28694. case 18095: // 'le' '('
  28695. case 18097: // 'let' '('
  28696. case 18099: // 'loop' '('
  28697. case 18101: // 'lt' '('
  28698. case 18103: // 'mod' '('
  28699. case 18104: // 'modify' '('
  28700. case 18105: // 'module' '('
  28701. case 18107: // 'namespace' '('
  28702. case 18109: // 'ne' '('
  28703. case 18115: // 'nodes' '('
  28704. case 18118: // 'object' '('
  28705. case 18122: // 'only' '('
  28706. case 18123: // 'option' '('
  28707. case 18124: // 'or' '('
  28708. case 18125: // 'order' '('
  28709. case 18126: // 'ordered' '('
  28710. case 18127: // 'ordering' '('
  28711. case 18130: // 'parent' '('
  28712. case 18136: // 'preceding' '('
  28713. case 18137: // 'preceding-sibling' '('
  28714. case 18142: // 'rename' '('
  28715. case 18143: // 'replace' '('
  28716. case 18144: // 'return' '('
  28717. case 18145: // 'returning' '('
  28718. case 18146: // 'revalidation' '('
  28719. case 18148: // 'satisfies' '('
  28720. case 18149: // 'schema' '('
  28721. case 18152: // 'score' '('
  28722. case 18153: // 'select' '('
  28723. case 18154: // 'self' '('
  28724. case 18159: // 'sliding' '('
  28725. case 18160: // 'some' '('
  28726. case 18161: // 'stable' '('
  28727. case 18162: // 'start' '('
  28728. case 18165: // 'strict' '('
  28729. case 18173: // 'to' '('
  28730. case 18174: // 'treat' '('
  28731. case 18176: // 'try' '('
  28732. case 18177: // 'tumbling' '('
  28733. case 18178: // 'type' '('
  28734. case 18180: // 'union' '('
  28735. case 18182: // 'unordered' '('
  28736. case 18183: // 'updating' '('
  28737. case 18186: // 'validate' '('
  28738. case 18187: // 'value' '('
  28739. case 18188: // 'variable' '('
  28740. case 18189: // 'version' '('
  28741. case 18192: // 'where' '('
  28742. case 18193: // 'while' '('
  28743. case 18196: // 'with' '('
  28744. parse_FunctionCall();
  28745. break;
  28746. case 144078: // 'ordered' '{'
  28747. parse_OrderedExpr();
  28748. break;
  28749. case 144134: // 'unordered' '{'
  28750. parse_UnorderedExpr();
  28751. break;
  28752. case 33: // '%'
  28753. case 79: // 'array'
  28754. case 121: // 'document-node'
  28755. case 125: // 'empty-sequence'
  28756. case 147: // 'function'
  28757. case 154: // 'if'
  28758. case 167: // 'item'
  28759. case 169: // 'json-item'
  28760. case 188: // 'namespace-node'
  28761. case 194: // 'node'
  28762. case 230: // 'schema-attribute'
  28763. case 231: // 'schema-element'
  28764. case 247: // 'structured-item'
  28765. case 248: // 'switch'
  28766. case 259: // 'typeswitch'
  28767. case 14854: // EQName^Token '#'
  28768. case 14919: // 'after' '#'
  28769. case 14921: // 'allowing' '#'
  28770. case 14922: // 'ancestor' '#'
  28771. case 14923: // 'ancestor-or-self' '#'
  28772. case 14924: // 'and' '#'
  28773. case 14926: // 'append' '#'
  28774. case 14928: // 'as' '#'
  28775. case 14929: // 'ascending' '#'
  28776. case 14930: // 'at' '#'
  28777. case 14931: // 'attribute' '#'
  28778. case 14932: // 'base-uri' '#'
  28779. case 14933: // 'before' '#'
  28780. case 14934: // 'boundary-space' '#'
  28781. case 14935: // 'break' '#'
  28782. case 14937: // 'case' '#'
  28783. case 14938: // 'cast' '#'
  28784. case 14939: // 'castable' '#'
  28785. case 14940: // 'catch' '#'
  28786. case 14942: // 'child' '#'
  28787. case 14943: // 'collation' '#'
  28788. case 14945: // 'comment' '#'
  28789. case 14946: // 'constraint' '#'
  28790. case 14947: // 'construction' '#'
  28791. case 14950: // 'context' '#'
  28792. case 14951: // 'continue' '#'
  28793. case 14952: // 'copy' '#'
  28794. case 14953: // 'copy-namespaces' '#'
  28795. case 14954: // 'count' '#'
  28796. case 14955: // 'decimal-format' '#'
  28797. case 14957: // 'declare' '#'
  28798. case 14958: // 'default' '#'
  28799. case 14959: // 'delete' '#'
  28800. case 14960: // 'descendant' '#'
  28801. case 14961: // 'descendant-or-self' '#'
  28802. case 14962: // 'descending' '#'
  28803. case 14967: // 'div' '#'
  28804. case 14968: // 'document' '#'
  28805. case 14970: // 'element' '#'
  28806. case 14971: // 'else' '#'
  28807. case 14972: // 'empty' '#'
  28808. case 14974: // 'encoding' '#'
  28809. case 14975: // 'end' '#'
  28810. case 14977: // 'eq' '#'
  28811. case 14978: // 'every' '#'
  28812. case 14980: // 'except' '#'
  28813. case 14981: // 'exit' '#'
  28814. case 14982: // 'external' '#'
  28815. case 14983: // 'false' '#'
  28816. case 14984: // 'first' '#'
  28817. case 14985: // 'following' '#'
  28818. case 14986: // 'following-sibling' '#'
  28819. case 14987: // 'for' '#'
  28820. case 14990: // 'from' '#'
  28821. case 14991: // 'ft-option' '#'
  28822. case 14996: // 'ge' '#'
  28823. case 14998: // 'group' '#'
  28824. case 15000: // 'gt' '#'
  28825. case 15001: // 'idiv' '#'
  28826. case 15003: // 'import' '#'
  28827. case 15004: // 'in' '#'
  28828. case 15005: // 'index' '#'
  28829. case 15009: // 'insert' '#'
  28830. case 15010: // 'instance' '#'
  28831. case 15011: // 'integrity' '#'
  28832. case 15012: // 'intersect' '#'
  28833. case 15013: // 'into' '#'
  28834. case 15014: // 'is' '#'
  28835. case 15016: // 'json' '#'
  28836. case 15018: // 'jsoniq' '#'
  28837. case 15021: // 'last' '#'
  28838. case 15022: // 'lax' '#'
  28839. case 15023: // 'le' '#'
  28840. case 15025: // 'let' '#'
  28841. case 15027: // 'loop' '#'
  28842. case 15029: // 'lt' '#'
  28843. case 15031: // 'mod' '#'
  28844. case 15032: // 'modify' '#'
  28845. case 15033: // 'module' '#'
  28846. case 15035: // 'namespace' '#'
  28847. case 15037: // 'ne' '#'
  28848. case 15043: // 'nodes' '#'
  28849. case 15045: // 'null' '#'
  28850. case 15046: // 'object' '#'
  28851. case 15050: // 'only' '#'
  28852. case 15051: // 'option' '#'
  28853. case 15052: // 'or' '#'
  28854. case 15053: // 'order' '#'
  28855. case 15054: // 'ordered' '#'
  28856. case 15055: // 'ordering' '#'
  28857. case 15058: // 'parent' '#'
  28858. case 15064: // 'preceding' '#'
  28859. case 15065: // 'preceding-sibling' '#'
  28860. case 15068: // 'processing-instruction' '#'
  28861. case 15070: // 'rename' '#'
  28862. case 15071: // 'replace' '#'
  28863. case 15072: // 'return' '#'
  28864. case 15073: // 'returning' '#'
  28865. case 15074: // 'revalidation' '#'
  28866. case 15076: // 'satisfies' '#'
  28867. case 15077: // 'schema' '#'
  28868. case 15080: // 'score' '#'
  28869. case 15081: // 'select' '#'
  28870. case 15082: // 'self' '#'
  28871. case 15087: // 'sliding' '#'
  28872. case 15088: // 'some' '#'
  28873. case 15089: // 'stable' '#'
  28874. case 15090: // 'start' '#'
  28875. case 15093: // 'strict' '#'
  28876. case 15097: // 'text' '#'
  28877. case 15101: // 'to' '#'
  28878. case 15102: // 'treat' '#'
  28879. case 15103: // 'true' '#'
  28880. case 15104: // 'try' '#'
  28881. case 15105: // 'tumbling' '#'
  28882. case 15106: // 'type' '#'
  28883. case 15108: // 'union' '#'
  28884. case 15110: // 'unordered' '#'
  28885. case 15111: // 'updating' '#'
  28886. case 15114: // 'validate' '#'
  28887. case 15115: // 'value' '#'
  28888. case 15116: // 'variable' '#'
  28889. case 15117: // 'version' '#'
  28890. case 15120: // 'where' '#'
  28891. case 15121: // 'while' '#'
  28892. case 15124: // 'with' '#'
  28893. parse_FunctionItemExpr();
  28894. break;
  28895. case -10:
  28896. case 27929: // '{' ';'
  28897. parse_BlockExpr();
  28898. break;
  28899. case -11:
  28900. case 10009: // '{' NCName^Token
  28901. parse_ObjectConstructor();
  28902. break;
  28903. case 69: // '['
  28904. parse_ArrayConstructor();
  28905. break;
  28906. case 283: // '{|'
  28907. parse_JSONSimpleObjectUnion();
  28908. break;
  28909. default:
  28910. parse_Constructor();
  28911. }
  28912. eventHandler.endNonterminal("PrimaryExpr", e0);
  28913. }
  28914. function try_PrimaryExpr()
  28915. {
  28916. switch (l1)
  28917. {
  28918. case 187: // 'namespace'
  28919. lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28920. break;
  28921. case 220: // 'processing-instruction'
  28922. lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28923. break;
  28924. case 281: // '{'
  28925. lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  28926. break;
  28927. case 83: // 'attribute'
  28928. case 122: // 'element'
  28929. lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  28930. break;
  28931. case 97: // 'comment'
  28932. case 249: // 'text'
  28933. lookahead2W(97); // S^WS | '#' | '(:' | '{'
  28934. break;
  28935. case 120: // 'document'
  28936. case 206: // 'ordered'
  28937. case 262: // 'unordered'
  28938. lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
  28939. break;
  28940. case 135: // 'false'
  28941. case 197: // 'null'
  28942. case 255: // 'true'
  28943. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
  28944. break;
  28945. case 6: // EQName^Token
  28946. case 71: // 'after'
  28947. case 73: // 'allowing'
  28948. case 74: // 'ancestor'
  28949. case 75: // 'ancestor-or-self'
  28950. case 76: // 'and'
  28951. case 78: // 'append'
  28952. case 80: // 'as'
  28953. case 81: // 'ascending'
  28954. case 82: // 'at'
  28955. case 84: // 'base-uri'
  28956. case 85: // 'before'
  28957. case 86: // 'boundary-space'
  28958. case 87: // 'break'
  28959. case 89: // 'case'
  28960. case 90: // 'cast'
  28961. case 91: // 'castable'
  28962. case 92: // 'catch'
  28963. case 94: // 'child'
  28964. case 95: // 'collation'
  28965. case 98: // 'constraint'
  28966. case 99: // 'construction'
  28967. case 102: // 'context'
  28968. case 103: // 'continue'
  28969. case 104: // 'copy'
  28970. case 105: // 'copy-namespaces'
  28971. case 106: // 'count'
  28972. case 107: // 'decimal-format'
  28973. case 109: // 'declare'
  28974. case 110: // 'default'
  28975. case 111: // 'delete'
  28976. case 112: // 'descendant'
  28977. case 113: // 'descendant-or-self'
  28978. case 114: // 'descending'
  28979. case 119: // 'div'
  28980. case 123: // 'else'
  28981. case 124: // 'empty'
  28982. case 126: // 'encoding'
  28983. case 127: // 'end'
  28984. case 129: // 'eq'
  28985. case 130: // 'every'
  28986. case 132: // 'except'
  28987. case 133: // 'exit'
  28988. case 134: // 'external'
  28989. case 136: // 'first'
  28990. case 137: // 'following'
  28991. case 138: // 'following-sibling'
  28992. case 139: // 'for'
  28993. case 142: // 'from'
  28994. case 143: // 'ft-option'
  28995. case 148: // 'ge'
  28996. case 150: // 'group'
  28997. case 152: // 'gt'
  28998. case 153: // 'idiv'
  28999. case 155: // 'import'
  29000. case 156: // 'in'
  29001. case 157: // 'index'
  29002. case 161: // 'insert'
  29003. case 162: // 'instance'
  29004. case 163: // 'integrity'
  29005. case 164: // 'intersect'
  29006. case 165: // 'into'
  29007. case 166: // 'is'
  29008. case 168: // 'json'
  29009. case 170: // 'jsoniq'
  29010. case 173: // 'last'
  29011. case 174: // 'lax'
  29012. case 175: // 'le'
  29013. case 177: // 'let'
  29014. case 179: // 'loop'
  29015. case 181: // 'lt'
  29016. case 183: // 'mod'
  29017. case 184: // 'modify'
  29018. case 185: // 'module'
  29019. case 189: // 'ne'
  29020. case 195: // 'nodes'
  29021. case 198: // 'object'
  29022. case 202: // 'only'
  29023. case 203: // 'option'
  29024. case 204: // 'or'
  29025. case 205: // 'order'
  29026. case 207: // 'ordering'
  29027. case 210: // 'parent'
  29028. case 216: // 'preceding'
  29029. case 217: // 'preceding-sibling'
  29030. case 222: // 'rename'
  29031. case 223: // 'replace'
  29032. case 224: // 'return'
  29033. case 225: // 'returning'
  29034. case 226: // 'revalidation'
  29035. case 228: // 'satisfies'
  29036. case 229: // 'schema'
  29037. case 232: // 'score'
  29038. case 233: // 'select'
  29039. case 234: // 'self'
  29040. case 239: // 'sliding'
  29041. case 240: // 'some'
  29042. case 241: // 'stable'
  29043. case 242: // 'start'
  29044. case 245: // 'strict'
  29045. case 253: // 'to'
  29046. case 254: // 'treat'
  29047. case 256: // 'try'
  29048. case 257: // 'tumbling'
  29049. case 258: // 'type'
  29050. case 260: // 'union'
  29051. case 263: // 'updating'
  29052. case 266: // 'validate'
  29053. case 267: // 'value'
  29054. case 268: // 'variable'
  29055. case 269: // 'version'
  29056. case 272: // 'where'
  29057. case 273: // 'while'
  29058. case 276: // 'with'
  29059. lookahead2W(95); // S^WS | '#' | '(' | '(:'
  29060. break;
  29061. default:
  29062. lk = l1;
  29063. }
  29064. if (lk == 3353 // '{' EQName^Token
  29065. || lk == 4377 // '{' IntegerLiteral
  29066. || lk == 4889 // '{' DecimalLiteral
  29067. || lk == 5401 // '{' DoubleLiteral
  29068. || lk == 5913 // '{' StringLiteral
  29069. || lk == 16153 // '{' '$'
  29070. || lk == 16665 // '{' '$$'
  29071. || lk == 17177 // '{' '%'
  29072. || lk == 18055 // 'false' '('
  29073. || lk == 18117 // 'null' '('
  29074. || lk == 18175 // 'true' '('
  29075. || lk == 18201 // '{' '('
  29076. || lk == 18713 // '{' '(#'
  29077. || lk == 21273 // '{' '+'
  29078. || lk == 22297 // '{' '-'
  29079. || lk == 24345 // '{' '/'
  29080. || lk == 24857 // '{' '//'
  29081. || lk == 28441 // '{' '<'
  29082. || lk == 28953 // '{' '<!--'
  29083. || lk == 31001 // '{' '<?'
  29084. || lk == 35609 // '{' '['
  29085. || lk == 36633 // '{' 'after'
  29086. || lk == 37657 // '{' 'allowing'
  29087. || lk == 38169 // '{' 'ancestor'
  29088. || lk == 38681 // '{' 'ancestor-or-self'
  29089. || lk == 39193 // '{' 'and'
  29090. || lk == 40217 // '{' 'append'
  29091. || lk == 40729 // '{' 'array'
  29092. || lk == 41241 // '{' 'as'
  29093. || lk == 41753 // '{' 'ascending'
  29094. || lk == 42265 // '{' 'at'
  29095. || lk == 42777 // '{' 'attribute'
  29096. || lk == 43289 // '{' 'base-uri'
  29097. || lk == 43801 // '{' 'before'
  29098. || lk == 44313 // '{' 'boundary-space'
  29099. || lk == 44825 // '{' 'break'
  29100. || lk == 45849 // '{' 'case'
  29101. || lk == 46361 // '{' 'cast'
  29102. || lk == 46873 // '{' 'castable'
  29103. || lk == 47385 // '{' 'catch'
  29104. || lk == 48409 // '{' 'child'
  29105. || lk == 48921 // '{' 'collation'
  29106. || lk == 49945 // '{' 'comment'
  29107. || lk == 50457 // '{' 'constraint'
  29108. || lk == 50969 // '{' 'construction'
  29109. || lk == 52505 // '{' 'context'
  29110. || lk == 53017 // '{' 'continue'
  29111. || lk == 53529 // '{' 'copy'
  29112. || lk == 54041 // '{' 'copy-namespaces'
  29113. || lk == 54553 // '{' 'count'
  29114. || lk == 55065 // '{' 'decimal-format'
  29115. || lk == 56089 // '{' 'declare'
  29116. || lk == 56601 // '{' 'default'
  29117. || lk == 57113 // '{' 'delete'
  29118. || lk == 57625 // '{' 'descendant'
  29119. || lk == 58137 // '{' 'descendant-or-self'
  29120. || lk == 58649 // '{' 'descending'
  29121. || lk == 61209 // '{' 'div'
  29122. || lk == 61721 // '{' 'document'
  29123. || lk == 62233 // '{' 'document-node'
  29124. || lk == 62745 // '{' 'element'
  29125. || lk == 63257 // '{' 'else'
  29126. || lk == 63769 // '{' 'empty'
  29127. || lk == 64281 // '{' 'empty-sequence'
  29128. || lk == 64793 // '{' 'encoding'
  29129. || lk == 65305 // '{' 'end'
  29130. || lk == 66329 // '{' 'eq'
  29131. || lk == 66841 // '{' 'every'
  29132. || lk == 67865 // '{' 'except'
  29133. || lk == 68377 // '{' 'exit'
  29134. || lk == 68889 // '{' 'external'
  29135. || lk == 69401 // '{' 'false'
  29136. || lk == 69913 // '{' 'first'
  29137. || lk == 70425 // '{' 'following'
  29138. || lk == 70937 // '{' 'following-sibling'
  29139. || lk == 71449 // '{' 'for'
  29140. || lk == 72985 // '{' 'from'
  29141. || lk == 73497 // '{' 'ft-option'
  29142. || lk == 75545 // '{' 'function'
  29143. || lk == 76057 // '{' 'ge'
  29144. || lk == 77081 // '{' 'group'
  29145. || lk == 78105 // '{' 'gt'
  29146. || lk == 78617 // '{' 'idiv'
  29147. || lk == 79129 // '{' 'if'
  29148. || lk == 79641 // '{' 'import'
  29149. || lk == 80153 // '{' 'in'
  29150. || lk == 80665 // '{' 'index'
  29151. || lk == 82713 // '{' 'insert'
  29152. || lk == 83225 // '{' 'instance'
  29153. || lk == 83737 // '{' 'integrity'
  29154. || lk == 84249 // '{' 'intersect'
  29155. || lk == 84761 // '{' 'into'
  29156. || lk == 85273 // '{' 'is'
  29157. || lk == 85785 // '{' 'item'
  29158. || lk == 86297 // '{' 'json'
  29159. || lk == 86809 // '{' 'json-item'
  29160. || lk == 87321 // '{' 'jsoniq'
  29161. || lk == 88857 // '{' 'last'
  29162. || lk == 89369 // '{' 'lax'
  29163. || lk == 89881 // '{' 'le'
  29164. || lk == 90905 // '{' 'let'
  29165. || lk == 91929 // '{' 'loop'
  29166. || lk == 92953 // '{' 'lt'
  29167. || lk == 93977 // '{' 'mod'
  29168. || lk == 94489 // '{' 'modify'
  29169. || lk == 95001 // '{' 'module'
  29170. || lk == 96025 // '{' 'namespace'
  29171. || lk == 96537 // '{' 'namespace-node'
  29172. || lk == 97049 // '{' 'ne'
  29173. || lk == 99609 // '{' 'node'
  29174. || lk == 100121 // '{' 'nodes'
  29175. || lk == 100633 // '{' 'not'
  29176. || lk == 101145 // '{' 'null'
  29177. || lk == 101657 // '{' 'object'
  29178. || lk == 103705 // '{' 'only'
  29179. || lk == 104217 // '{' 'option'
  29180. || lk == 104729 // '{' 'or'
  29181. || lk == 105241 // '{' 'order'
  29182. || lk == 105753 // '{' 'ordered'
  29183. || lk == 106265 // '{' 'ordering'
  29184. || lk == 107801 // '{' 'parent'
  29185. || lk == 110873 // '{' 'preceding'
  29186. || lk == 111385 // '{' 'preceding-sibling'
  29187. || lk == 112921 // '{' 'processing-instruction'
  29188. || lk == 113945 // '{' 'rename'
  29189. || lk == 114457 // '{' 'replace'
  29190. || lk == 114969 // '{' 'return'
  29191. || lk == 115481 // '{' 'returning'
  29192. || lk == 115993 // '{' 'revalidation'
  29193. || lk == 117017 // '{' 'satisfies'
  29194. || lk == 117529 // '{' 'schema'
  29195. || lk == 118041 // '{' 'schema-attribute'
  29196. || lk == 118553 // '{' 'schema-element'
  29197. || lk == 119065 // '{' 'score'
  29198. || lk == 119577 // '{' 'select'
  29199. || lk == 120089 // '{' 'self'
  29200. || lk == 122649 // '{' 'sliding'
  29201. || lk == 123161 // '{' 'some'
  29202. || lk == 123673 // '{' 'stable'
  29203. || lk == 124185 // '{' 'start'
  29204. || lk == 125721 // '{' 'strict'
  29205. || lk == 126745 // '{' 'structured-item'
  29206. || lk == 127257 // '{' 'switch'
  29207. || lk == 127769 // '{' 'text'
  29208. || lk == 129817 // '{' 'to'
  29209. || lk == 130329 // '{' 'treat'
  29210. || lk == 130841 // '{' 'true'
  29211. || lk == 131353 // '{' 'try'
  29212. || lk == 131865 // '{' 'tumbling'
  29213. || lk == 132377 // '{' 'type'
  29214. || lk == 132889 // '{' 'typeswitch'
  29215. || lk == 133401 // '{' 'union'
  29216. || lk == 134425 // '{' 'unordered'
  29217. || lk == 134937 // '{' 'updating'
  29218. || lk == 136473 // '{' 'validate'
  29219. || lk == 136985 // '{' 'value'
  29220. || lk == 137497 // '{' 'variable'
  29221. || lk == 138009 // '{' 'version'
  29222. || lk == 139545 // '{' 'where'
  29223. || lk == 140057 // '{' 'while'
  29224. || lk == 141593 // '{' 'with'
  29225. || lk == 144153 // '{' '{'
  29226. || lk == 145177 // '{' '{|'
  29227. || lk == 147225) // '{' '}'
  29228. {
  29229. lk = memoized(20, e0);
  29230. if (lk == 0)
  29231. {
  29232. var b0A = b0; var e0A = e0; var l1A = l1;
  29233. var b1A = b1; var e1A = e1; var l2A = l2;
  29234. var b2A = b2; var e2A = e2;
  29235. try
  29236. {
  29237. try_Literal();
  29238. memoize(20, e0A, -1);
  29239. lk = -14;
  29240. }
  29241. catch (p1A)
  29242. {
  29243. try
  29244. {
  29245. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  29246. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  29247. b2 = b2A; e2 = e2A; end = e2A; }}
  29248. try_FunctionCall();
  29249. memoize(20, e0A, -5);
  29250. lk = -14;
  29251. }
  29252. catch (p5A)
  29253. {
  29254. try
  29255. {
  29256. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  29257. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  29258. b2 = b2A; e2 = e2A; end = e2A; }}
  29259. try_BlockExpr();
  29260. memoize(20, e0A, -10);
  29261. lk = -14;
  29262. }
  29263. catch (p10A)
  29264. {
  29265. lk = -11;
  29266. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  29267. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  29268. b2 = b2A; e2 = e2A; end = e2A; }}
  29269. memoize(20, e0A, -11);
  29270. }
  29271. }
  29272. }
  29273. }
  29274. }
  29275. switch (lk)
  29276. {
  29277. case -1:
  29278. case 8: // IntegerLiteral
  29279. case 9: // DecimalLiteral
  29280. case 10: // DoubleLiteral
  29281. case 11: // StringLiteral
  29282. case 12935: // 'false' EOF
  29283. case 12997: // 'null' EOF
  29284. case 13055: // 'true' EOF
  29285. case 13447: // 'false' '!'
  29286. case 13509: // 'null' '!'
  29287. case 13567: // 'true' '!'
  29288. case 13959: // 'false' '!='
  29289. case 14021: // 'null' '!='
  29290. case 14079: // 'true' '!='
  29291. case 19591: // 'false' ')'
  29292. case 19653: // 'null' ')'
  29293. case 19711: // 'true' ')'
  29294. case 20103: // 'false' '*'
  29295. case 20165: // 'null' '*'
  29296. case 20223: // 'true' '*'
  29297. case 21127: // 'false' '+'
  29298. case 21189: // 'null' '+'
  29299. case 21247: // 'true' '+'
  29300. case 21639: // 'false' ','
  29301. case 21701: // 'null' ','
  29302. case 21759: // 'true' ','
  29303. case 22151: // 'false' '-'
  29304. case 22213: // 'null' '-'
  29305. case 22271: // 'true' '-'
  29306. case 23175: // 'false' '.'
  29307. case 23237: // 'null' '.'
  29308. case 23295: // 'true' '.'
  29309. case 24199: // 'false' '/'
  29310. case 24261: // 'null' '/'
  29311. case 24319: // 'true' '/'
  29312. case 24711: // 'false' '//'
  29313. case 24773: // 'null' '//'
  29314. case 24831: // 'true' '//'
  29315. case 25735: // 'false' ':'
  29316. case 25797: // 'null' ':'
  29317. case 25855: // 'true' ':'
  29318. case 27783: // 'false' ';'
  29319. case 27845: // 'null' ';'
  29320. case 27903: // 'true' ';'
  29321. case 28295: // 'false' '<'
  29322. case 28357: // 'null' '<'
  29323. case 28415: // 'true' '<'
  29324. case 29831: // 'false' '<<'
  29325. case 29893: // 'null' '<<'
  29326. case 29951: // 'true' '<<'
  29327. case 30343: // 'false' '<='
  29328. case 30405: // 'null' '<='
  29329. case 30463: // 'true' '<='
  29330. case 31367: // 'false' '='
  29331. case 31429: // 'null' '='
  29332. case 31487: // 'true' '='
  29333. case 31879: // 'false' '>'
  29334. case 31941: // 'null' '>'
  29335. case 31999: // 'true' '>'
  29336. case 32391: // 'false' '>='
  29337. case 32453: // 'null' '>='
  29338. case 32511: // 'true' '>='
  29339. case 32903: // 'false' '>>'
  29340. case 32965: // 'null' '>>'
  29341. case 33023: // 'true' '>>'
  29342. case 35463: // 'false' '['
  29343. case 35525: // 'null' '['
  29344. case 35583: // 'true' '['
  29345. case 35975: // 'false' ']'
  29346. case 36037: // 'null' ']'
  29347. case 36095: // 'true' ']'
  29348. case 36487: // 'false' 'after'
  29349. case 36549: // 'null' 'after'
  29350. case 36607: // 'true' 'after'
  29351. case 39047: // 'false' 'and'
  29352. case 39109: // 'null' 'and'
  29353. case 39167: // 'true' 'and'
  29354. case 41095: // 'false' 'as'
  29355. case 41157: // 'null' 'as'
  29356. case 41215: // 'true' 'as'
  29357. case 41607: // 'false' 'ascending'
  29358. case 41669: // 'null' 'ascending'
  29359. case 41727: // 'true' 'ascending'
  29360. case 42119: // 'false' 'at'
  29361. case 42181: // 'null' 'at'
  29362. case 42239: // 'true' 'at'
  29363. case 43655: // 'false' 'before'
  29364. case 43717: // 'null' 'before'
  29365. case 43775: // 'true' 'before'
  29366. case 45191: // 'false' 'by'
  29367. case 45253: // 'null' 'by'
  29368. case 45311: // 'true' 'by'
  29369. case 45703: // 'false' 'case'
  29370. case 45765: // 'null' 'case'
  29371. case 45823: // 'true' 'case'
  29372. case 46215: // 'false' 'cast'
  29373. case 46277: // 'null' 'cast'
  29374. case 46335: // 'true' 'cast'
  29375. case 46727: // 'false' 'castable'
  29376. case 46789: // 'null' 'castable'
  29377. case 46847: // 'true' 'castable'
  29378. case 48775: // 'false' 'collation'
  29379. case 48837: // 'null' 'collation'
  29380. case 48895: // 'true' 'collation'
  29381. case 51335: // 'false' 'contains'
  29382. case 51397: // 'null' 'contains'
  29383. case 51455: // 'true' 'contains'
  29384. case 54407: // 'false' 'count'
  29385. case 54469: // 'null' 'count'
  29386. case 54527: // 'true' 'count'
  29387. case 56455: // 'false' 'default'
  29388. case 56517: // 'null' 'default'
  29389. case 56575: // 'true' 'default'
  29390. case 58503: // 'false' 'descending'
  29391. case 58565: // 'null' 'descending'
  29392. case 58623: // 'true' 'descending'
  29393. case 61063: // 'false' 'div'
  29394. case 61125: // 'null' 'div'
  29395. case 61183: // 'true' 'div'
  29396. case 63111: // 'false' 'else'
  29397. case 63173: // 'null' 'else'
  29398. case 63231: // 'true' 'else'
  29399. case 63623: // 'false' 'empty'
  29400. case 63685: // 'null' 'empty'
  29401. case 63743: // 'true' 'empty'
  29402. case 65159: // 'false' 'end'
  29403. case 65221: // 'null' 'end'
  29404. case 65279: // 'true' 'end'
  29405. case 66183: // 'false' 'eq'
  29406. case 66245: // 'null' 'eq'
  29407. case 66303: // 'true' 'eq'
  29408. case 67719: // 'false' 'except'
  29409. case 67781: // 'null' 'except'
  29410. case 67839: // 'true' 'except'
  29411. case 71303: // 'false' 'for'
  29412. case 71365: // 'null' 'for'
  29413. case 71423: // 'true' 'for'
  29414. case 75911: // 'false' 'ge'
  29415. case 75973: // 'null' 'ge'
  29416. case 76031: // 'true' 'ge'
  29417. case 76935: // 'false' 'group'
  29418. case 76997: // 'null' 'group'
  29419. case 77055: // 'true' 'group'
  29420. case 77959: // 'false' 'gt'
  29421. case 78021: // 'null' 'gt'
  29422. case 78079: // 'true' 'gt'
  29423. case 78471: // 'false' 'idiv'
  29424. case 78533: // 'null' 'idiv'
  29425. case 78591: // 'true' 'idiv'
  29426. case 83079: // 'false' 'instance'
  29427. case 83141: // 'null' 'instance'
  29428. case 83199: // 'true' 'instance'
  29429. case 84103: // 'false' 'intersect'
  29430. case 84165: // 'null' 'intersect'
  29431. case 84223: // 'true' 'intersect'
  29432. case 84615: // 'false' 'into'
  29433. case 84677: // 'null' 'into'
  29434. case 84735: // 'true' 'into'
  29435. case 85127: // 'false' 'is'
  29436. case 85189: // 'null' 'is'
  29437. case 85247: // 'true' 'is'
  29438. case 89735: // 'false' 'le'
  29439. case 89797: // 'null' 'le'
  29440. case 89855: // 'true' 'le'
  29441. case 90759: // 'false' 'let'
  29442. case 90821: // 'null' 'let'
  29443. case 90879: // 'true' 'let'
  29444. case 92807: // 'false' 'lt'
  29445. case 92869: // 'null' 'lt'
  29446. case 92927: // 'true' 'lt'
  29447. case 93831: // 'false' 'mod'
  29448. case 93893: // 'null' 'mod'
  29449. case 93951: // 'true' 'mod'
  29450. case 94343: // 'false' 'modify'
  29451. case 94405: // 'null' 'modify'
  29452. case 94463: // 'true' 'modify'
  29453. case 96903: // 'false' 'ne'
  29454. case 96965: // 'null' 'ne'
  29455. case 97023: // 'true' 'ne'
  29456. case 103559: // 'false' 'only'
  29457. case 103621: // 'null' 'only'
  29458. case 103679: // 'true' 'only'
  29459. case 104583: // 'false' 'or'
  29460. case 104645: // 'null' 'or'
  29461. case 104703: // 'true' 'or'
  29462. case 105095: // 'false' 'order'
  29463. case 105157: // 'null' 'order'
  29464. case 105215: // 'true' 'order'
  29465. case 107143: // 'false' 'paragraphs'
  29466. case 107205: // 'null' 'paragraphs'
  29467. case 107263: // 'true' 'paragraphs'
  29468. case 114823: // 'false' 'return'
  29469. case 114885: // 'null' 'return'
  29470. case 114943: // 'true' 'return'
  29471. case 116871: // 'false' 'satisfies'
  29472. case 116933: // 'null' 'satisfies'
  29473. case 116991: // 'true' 'satisfies'
  29474. case 121479: // 'false' 'sentences'
  29475. case 121541: // 'null' 'sentences'
  29476. case 121599: // 'true' 'sentences'
  29477. case 123527: // 'false' 'stable'
  29478. case 123589: // 'null' 'stable'
  29479. case 123647: // 'true' 'stable'
  29480. case 124039: // 'false' 'start'
  29481. case 124101: // 'null' 'start'
  29482. case 124159: // 'true' 'start'
  29483. case 129159: // 'false' 'times'
  29484. case 129221: // 'null' 'times'
  29485. case 129279: // 'true' 'times'
  29486. case 129671: // 'false' 'to'
  29487. case 129733: // 'null' 'to'
  29488. case 129791: // 'true' 'to'
  29489. case 130183: // 'false' 'treat'
  29490. case 130245: // 'null' 'treat'
  29491. case 130303: // 'true' 'treat'
  29492. case 133255: // 'false' 'union'
  29493. case 133317: // 'null' 'union'
  29494. case 133375: // 'true' 'union'
  29495. case 139399: // 'false' 'where'
  29496. case 139461: // 'null' 'where'
  29497. case 139519: // 'true' 'where'
  29498. case 141447: // 'false' 'with'
  29499. case 141509: // 'null' 'with'
  29500. case 141567: // 'true' 'with'
  29501. case 142983: // 'false' 'words'
  29502. case 143045: // 'null' 'words'
  29503. case 143103: // 'true' 'words'
  29504. case 145543: // 'false' '|'
  29505. case 145605: // 'null' '|'
  29506. case 145663: // 'true' '|'
  29507. case 146055: // 'false' '||'
  29508. case 146117: // 'null' '||'
  29509. case 146175: // 'true' '||'
  29510. case 146567: // 'false' '|}'
  29511. case 146629: // 'null' '|}'
  29512. case 146687: // 'true' '|}'
  29513. case 147079: // 'false' '}'
  29514. case 147141: // 'null' '}'
  29515. case 147199: // 'true' '}'
  29516. try_Literal();
  29517. break;
  29518. case 31: // '$'
  29519. try_VarRef();
  29520. break;
  29521. case 35: // '('
  29522. try_ParenthesizedExpr();
  29523. break;
  29524. case 32: // '$$'
  29525. try_ContextItemExpr();
  29526. break;
  29527. case -5:
  29528. case 17926: // EQName^Token '('
  29529. case 17991: // 'after' '('
  29530. case 17993: // 'allowing' '('
  29531. case 17994: // 'ancestor' '('
  29532. case 17995: // 'ancestor-or-self' '('
  29533. case 17996: // 'and' '('
  29534. case 17998: // 'append' '('
  29535. case 18000: // 'as' '('
  29536. case 18001: // 'ascending' '('
  29537. case 18002: // 'at' '('
  29538. case 18004: // 'base-uri' '('
  29539. case 18005: // 'before' '('
  29540. case 18006: // 'boundary-space' '('
  29541. case 18007: // 'break' '('
  29542. case 18009: // 'case' '('
  29543. case 18010: // 'cast' '('
  29544. case 18011: // 'castable' '('
  29545. case 18012: // 'catch' '('
  29546. case 18014: // 'child' '('
  29547. case 18015: // 'collation' '('
  29548. case 18018: // 'constraint' '('
  29549. case 18019: // 'construction' '('
  29550. case 18022: // 'context' '('
  29551. case 18023: // 'continue' '('
  29552. case 18024: // 'copy' '('
  29553. case 18025: // 'copy-namespaces' '('
  29554. case 18026: // 'count' '('
  29555. case 18027: // 'decimal-format' '('
  29556. case 18029: // 'declare' '('
  29557. case 18030: // 'default' '('
  29558. case 18031: // 'delete' '('
  29559. case 18032: // 'descendant' '('
  29560. case 18033: // 'descendant-or-self' '('
  29561. case 18034: // 'descending' '('
  29562. case 18039: // 'div' '('
  29563. case 18040: // 'document' '('
  29564. case 18043: // 'else' '('
  29565. case 18044: // 'empty' '('
  29566. case 18046: // 'encoding' '('
  29567. case 18047: // 'end' '('
  29568. case 18049: // 'eq' '('
  29569. case 18050: // 'every' '('
  29570. case 18052: // 'except' '('
  29571. case 18053: // 'exit' '('
  29572. case 18054: // 'external' '('
  29573. case 18056: // 'first' '('
  29574. case 18057: // 'following' '('
  29575. case 18058: // 'following-sibling' '('
  29576. case 18059: // 'for' '('
  29577. case 18062: // 'from' '('
  29578. case 18063: // 'ft-option' '('
  29579. case 18068: // 'ge' '('
  29580. case 18070: // 'group' '('
  29581. case 18072: // 'gt' '('
  29582. case 18073: // 'idiv' '('
  29583. case 18075: // 'import' '('
  29584. case 18076: // 'in' '('
  29585. case 18077: // 'index' '('
  29586. case 18081: // 'insert' '('
  29587. case 18082: // 'instance' '('
  29588. case 18083: // 'integrity' '('
  29589. case 18084: // 'intersect' '('
  29590. case 18085: // 'into' '('
  29591. case 18086: // 'is' '('
  29592. case 18088: // 'json' '('
  29593. case 18090: // 'jsoniq' '('
  29594. case 18093: // 'last' '('
  29595. case 18094: // 'lax' '('
  29596. case 18095: // 'le' '('
  29597. case 18097: // 'let' '('
  29598. case 18099: // 'loop' '('
  29599. case 18101: // 'lt' '('
  29600. case 18103: // 'mod' '('
  29601. case 18104: // 'modify' '('
  29602. case 18105: // 'module' '('
  29603. case 18107: // 'namespace' '('
  29604. case 18109: // 'ne' '('
  29605. case 18115: // 'nodes' '('
  29606. case 18118: // 'object' '('
  29607. case 18122: // 'only' '('
  29608. case 18123: // 'option' '('
  29609. case 18124: // 'or' '('
  29610. case 18125: // 'order' '('
  29611. case 18126: // 'ordered' '('
  29612. case 18127: // 'ordering' '('
  29613. case 18130: // 'parent' '('
  29614. case 18136: // 'preceding' '('
  29615. case 18137: // 'preceding-sibling' '('
  29616. case 18142: // 'rename' '('
  29617. case 18143: // 'replace' '('
  29618. case 18144: // 'return' '('
  29619. case 18145: // 'returning' '('
  29620. case 18146: // 'revalidation' '('
  29621. case 18148: // 'satisfies' '('
  29622. case 18149: // 'schema' '('
  29623. case 18152: // 'score' '('
  29624. case 18153: // 'select' '('
  29625. case 18154: // 'self' '('
  29626. case 18159: // 'sliding' '('
  29627. case 18160: // 'some' '('
  29628. case 18161: // 'stable' '('
  29629. case 18162: // 'start' '('
  29630. case 18165: // 'strict' '('
  29631. case 18173: // 'to' '('
  29632. case 18174: // 'treat' '('
  29633. case 18176: // 'try' '('
  29634. case 18177: // 'tumbling' '('
  29635. case 18178: // 'type' '('
  29636. case 18180: // 'union' '('
  29637. case 18182: // 'unordered' '('
  29638. case 18183: // 'updating' '('
  29639. case 18186: // 'validate' '('
  29640. case 18187: // 'value' '('
  29641. case 18188: // 'variable' '('
  29642. case 18189: // 'version' '('
  29643. case 18192: // 'where' '('
  29644. case 18193: // 'while' '('
  29645. case 18196: // 'with' '('
  29646. try_FunctionCall();
  29647. break;
  29648. case 144078: // 'ordered' '{'
  29649. try_OrderedExpr();
  29650. break;
  29651. case 144134: // 'unordered' '{'
  29652. try_UnorderedExpr();
  29653. break;
  29654. case 33: // '%'
  29655. case 79: // 'array'
  29656. case 121: // 'document-node'
  29657. case 125: // 'empty-sequence'
  29658. case 147: // 'function'
  29659. case 154: // 'if'
  29660. case 167: // 'item'
  29661. case 169: // 'json-item'
  29662. case 188: // 'namespace-node'
  29663. case 194: // 'node'
  29664. case 230: // 'schema-attribute'
  29665. case 231: // 'schema-element'
  29666. case 247: // 'structured-item'
  29667. case 248: // 'switch'
  29668. case 259: // 'typeswitch'
  29669. case 14854: // EQName^Token '#'
  29670. case 14919: // 'after' '#'
  29671. case 14921: // 'allowing' '#'
  29672. case 14922: // 'ancestor' '#'
  29673. case 14923: // 'ancestor-or-self' '#'
  29674. case 14924: // 'and' '#'
  29675. case 14926: // 'append' '#'
  29676. case 14928: // 'as' '#'
  29677. case 14929: // 'ascending' '#'
  29678. case 14930: // 'at' '#'
  29679. case 14931: // 'attribute' '#'
  29680. case 14932: // 'base-uri' '#'
  29681. case 14933: // 'before' '#'
  29682. case 14934: // 'boundary-space' '#'
  29683. case 14935: // 'break' '#'
  29684. case 14937: // 'case' '#'
  29685. case 14938: // 'cast' '#'
  29686. case 14939: // 'castable' '#'
  29687. case 14940: // 'catch' '#'
  29688. case 14942: // 'child' '#'
  29689. case 14943: // 'collation' '#'
  29690. case 14945: // 'comment' '#'
  29691. case 14946: // 'constraint' '#'
  29692. case 14947: // 'construction' '#'
  29693. case 14950: // 'context' '#'
  29694. case 14951: // 'continue' '#'
  29695. case 14952: // 'copy' '#'
  29696. case 14953: // 'copy-namespaces' '#'
  29697. case 14954: // 'count' '#'
  29698. case 14955: // 'decimal-format' '#'
  29699. case 14957: // 'declare' '#'
  29700. case 14958: // 'default' '#'
  29701. case 14959: // 'delete' '#'
  29702. case 14960: // 'descendant' '#'
  29703. case 14961: // 'descendant-or-self' '#'
  29704. case 14962: // 'descending' '#'
  29705. case 14967: // 'div' '#'
  29706. case 14968: // 'document' '#'
  29707. case 14970: // 'element' '#'
  29708. case 14971: // 'else' '#'
  29709. case 14972: // 'empty' '#'
  29710. case 14974: // 'encoding' '#'
  29711. case 14975: // 'end' '#'
  29712. case 14977: // 'eq' '#'
  29713. case 14978: // 'every' '#'
  29714. case 14980: // 'except' '#'
  29715. case 14981: // 'exit' '#'
  29716. case 14982: // 'external' '#'
  29717. case 14983: // 'false' '#'
  29718. case 14984: // 'first' '#'
  29719. case 14985: // 'following' '#'
  29720. case 14986: // 'following-sibling' '#'
  29721. case 14987: // 'for' '#'
  29722. case 14990: // 'from' '#'
  29723. case 14991: // 'ft-option' '#'
  29724. case 14996: // 'ge' '#'
  29725. case 14998: // 'group' '#'
  29726. case 15000: // 'gt' '#'
  29727. case 15001: // 'idiv' '#'
  29728. case 15003: // 'import' '#'
  29729. case 15004: // 'in' '#'
  29730. case 15005: // 'index' '#'
  29731. case 15009: // 'insert' '#'
  29732. case 15010: // 'instance' '#'
  29733. case 15011: // 'integrity' '#'
  29734. case 15012: // 'intersect' '#'
  29735. case 15013: // 'into' '#'
  29736. case 15014: // 'is' '#'
  29737. case 15016: // 'json' '#'
  29738. case 15018: // 'jsoniq' '#'
  29739. case 15021: // 'last' '#'
  29740. case 15022: // 'lax' '#'
  29741. case 15023: // 'le' '#'
  29742. case 15025: // 'let' '#'
  29743. case 15027: // 'loop' '#'
  29744. case 15029: // 'lt' '#'
  29745. case 15031: // 'mod' '#'
  29746. case 15032: // 'modify' '#'
  29747. case 15033: // 'module' '#'
  29748. case 15035: // 'namespace' '#'
  29749. case 15037: // 'ne' '#'
  29750. case 15043: // 'nodes' '#'
  29751. case 15045: // 'null' '#'
  29752. case 15046: // 'object' '#'
  29753. case 15050: // 'only' '#'
  29754. case 15051: // 'option' '#'
  29755. case 15052: // 'or' '#'
  29756. case 15053: // 'order' '#'
  29757. case 15054: // 'ordered' '#'
  29758. case 15055: // 'ordering' '#'
  29759. case 15058: // 'parent' '#'
  29760. case 15064: // 'preceding' '#'
  29761. case 15065: // 'preceding-sibling' '#'
  29762. case 15068: // 'processing-instruction' '#'
  29763. case 15070: // 'rename' '#'
  29764. case 15071: // 'replace' '#'
  29765. case 15072: // 'return' '#'
  29766. case 15073: // 'returning' '#'
  29767. case 15074: // 'revalidation' '#'
  29768. case 15076: // 'satisfies' '#'
  29769. case 15077: // 'schema' '#'
  29770. case 15080: // 'score' '#'
  29771. case 15081: // 'select' '#'
  29772. case 15082: // 'self' '#'
  29773. case 15087: // 'sliding' '#'
  29774. case 15088: // 'some' '#'
  29775. case 15089: // 'stable' '#'
  29776. case 15090: // 'start' '#'
  29777. case 15093: // 'strict' '#'
  29778. case 15097: // 'text' '#'
  29779. case 15101: // 'to' '#'
  29780. case 15102: // 'treat' '#'
  29781. case 15103: // 'true' '#'
  29782. case 15104: // 'try' '#'
  29783. case 15105: // 'tumbling' '#'
  29784. case 15106: // 'type' '#'
  29785. case 15108: // 'union' '#'
  29786. case 15110: // 'unordered' '#'
  29787. case 15111: // 'updating' '#'
  29788. case 15114: // 'validate' '#'
  29789. case 15115: // 'value' '#'
  29790. case 15116: // 'variable' '#'
  29791. case 15117: // 'version' '#'
  29792. case 15120: // 'where' '#'
  29793. case 15121: // 'while' '#'
  29794. case 15124: // 'with' '#'
  29795. try_FunctionItemExpr();
  29796. break;
  29797. case -10:
  29798. case 27929: // '{' ';'
  29799. try_BlockExpr();
  29800. break;
  29801. case -11:
  29802. case 10009: // '{' NCName^Token
  29803. try_ObjectConstructor();
  29804. break;
  29805. case 69: // '['
  29806. try_ArrayConstructor();
  29807. break;
  29808. case 283: // '{|'
  29809. try_JSONSimpleObjectUnion();
  29810. break;
  29811. case -14:
  29812. break;
  29813. default:
  29814. try_Constructor();
  29815. }
  29816. }
  29817. function parse_JSONSimpleObjectUnion()
  29818. {
  29819. eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
  29820. shift(283); // '{|'
  29821. lookahead1W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29822. if (l1 != 286) // '|}'
  29823. {
  29824. whitespace();
  29825. parse_Expr();
  29826. }
  29827. shift(286); // '|}'
  29828. eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
  29829. }
  29830. function try_JSONSimpleObjectUnion()
  29831. {
  29832. shiftT(283); // '{|'
  29833. lookahead1W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29834. if (l1 != 286) // '|}'
  29835. {
  29836. try_Expr();
  29837. }
  29838. shiftT(286); // '|}'
  29839. }
  29840. function parse_ObjectConstructor()
  29841. {
  29842. eventHandler.startNonterminal("ObjectConstructor", e0);
  29843. shift(281); // '{'
  29844. lookahead1W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29845. if (l1 != 287) // '}'
  29846. {
  29847. whitespace();
  29848. parse_PairConstructorList();
  29849. }
  29850. shift(287); // '}'
  29851. eventHandler.endNonterminal("ObjectConstructor", e0);
  29852. }
  29853. function try_ObjectConstructor()
  29854. {
  29855. shiftT(281); // '{'
  29856. lookahead1W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29857. if (l1 != 287) // '}'
  29858. {
  29859. try_PairConstructorList();
  29860. }
  29861. shiftT(287); // '}'
  29862. }
  29863. function parse_PairConstructorList()
  29864. {
  29865. eventHandler.startNonterminal("PairConstructorList", e0);
  29866. parse_PairConstructor();
  29867. for (;;)
  29868. {
  29869. if (l1 != 42) // ','
  29870. {
  29871. break;
  29872. }
  29873. shift(42); // ','
  29874. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29875. whitespace();
  29876. parse_PairConstructor();
  29877. }
  29878. eventHandler.endNonterminal("PairConstructorList", e0);
  29879. }
  29880. function try_PairConstructorList()
  29881. {
  29882. try_PairConstructor();
  29883. for (;;)
  29884. {
  29885. if (l1 != 42) // ','
  29886. {
  29887. break;
  29888. }
  29889. shiftT(42); // ','
  29890. lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29891. try_PairConstructor();
  29892. }
  29893. }
  29894. function parse_PairConstructor()
  29895. {
  29896. eventHandler.startNonterminal("PairConstructor", e0);
  29897. switch (l1)
  29898. {
  29899. case 78: // 'append'
  29900. lookahead2W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29901. break;
  29902. case 139: // 'for'
  29903. lookahead2W(187); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'sliding' | 'tumbling'
  29904. break;
  29905. case 161: // 'insert'
  29906. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29907. break;
  29908. case 177: // 'let'
  29909. lookahead2W(178); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'score'
  29910. break;
  29911. case 187: // 'namespace'
  29912. lookahead2W(251); // NCName^Token | S^WS | '#' | '(' | '(:' | ':' | 'after' | 'allowing' |
  29913. break;
  29914. case 220: // 'processing-instruction'
  29915. lookahead2W(247); // NCName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  29916. break;
  29917. case 223: // 'replace'
  29918. lookahead2W(180); // S^WS | '#' | '(' | '(:' | ':' | 'node' | 'value'
  29919. break;
  29920. case 266: // 'validate'
  29921. lookahead2W(191); // S^WS | '#' | '(' | '(:' | ':' | 'lax' | 'strict' | 'type' | '{'
  29922. break;
  29923. case 83: // 'attribute'
  29924. case 122: // 'element'
  29925. lookahead2W(256); // EQName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  29926. break;
  29927. case 97: // 'comment'
  29928. case 249: // 'text'
  29929. lookahead2W(149); // S^WS | '#' | '(:' | ':' | '{'
  29930. break;
  29931. case 111: // 'delete'
  29932. case 222: // 'rename'
  29933. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  29934. break;
  29935. case 104: // 'copy'
  29936. case 130: // 'every'
  29937. case 240: // 'some'
  29938. lookahead2W(165); // S^WS | '#' | '$' | '(' | '(:' | ':'
  29939. break;
  29940. case 135: // 'false'
  29941. case 197: // 'null'
  29942. case 255: // 'true'
  29943. lookahead2W(208); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '.' | '/' | '//' | ':' |
  29944. break;
  29945. case 120: // 'document'
  29946. case 206: // 'ordered'
  29947. case 256: // 'try'
  29948. case 262: // 'unordered'
  29949. lookahead2W(167); // S^WS | '#' | '(' | '(:' | ':' | '{'
  29950. break;
  29951. case 121: // 'document-node'
  29952. case 125: // 'empty-sequence'
  29953. case 167: // 'item'
  29954. case 188: // 'namespace-node'
  29955. case 194: // 'node'
  29956. case 230: // 'schema-attribute'
  29957. case 231: // 'schema-element'
  29958. lookahead2W(96); // S^WS | '#' | '(:' | ':'
  29959. break;
  29960. case 71: // 'after'
  29961. case 73: // 'allowing'
  29962. case 74: // 'ancestor'
  29963. case 75: // 'ancestor-or-self'
  29964. case 76: // 'and'
  29965. case 80: // 'as'
  29966. case 81: // 'ascending'
  29967. case 82: // 'at'
  29968. case 84: // 'base-uri'
  29969. case 85: // 'before'
  29970. case 86: // 'boundary-space'
  29971. case 87: // 'break'
  29972. case 89: // 'case'
  29973. case 90: // 'cast'
  29974. case 91: // 'castable'
  29975. case 92: // 'catch'
  29976. case 94: // 'child'
  29977. case 95: // 'collation'
  29978. case 98: // 'constraint'
  29979. case 99: // 'construction'
  29980. case 102: // 'context'
  29981. case 103: // 'continue'
  29982. case 105: // 'copy-namespaces'
  29983. case 106: // 'count'
  29984. case 107: // 'decimal-format'
  29985. case 109: // 'declare'
  29986. case 110: // 'default'
  29987. case 112: // 'descendant'
  29988. case 113: // 'descendant-or-self'
  29989. case 114: // 'descending'
  29990. case 119: // 'div'
  29991. case 123: // 'else'
  29992. case 124: // 'empty'
  29993. case 126: // 'encoding'
  29994. case 127: // 'end'
  29995. case 129: // 'eq'
  29996. case 132: // 'except'
  29997. case 133: // 'exit'
  29998. case 134: // 'external'
  29999. case 136: // 'first'
  30000. case 137: // 'following'
  30001. case 138: // 'following-sibling'
  30002. case 142: // 'from'
  30003. case 143: // 'ft-option'
  30004. case 147: // 'function'
  30005. case 148: // 'ge'
  30006. case 150: // 'group'
  30007. case 152: // 'gt'
  30008. case 153: // 'idiv'
  30009. case 154: // 'if'
  30010. case 155: // 'import'
  30011. case 156: // 'in'
  30012. case 157: // 'index'
  30013. case 162: // 'instance'
  30014. case 163: // 'integrity'
  30015. case 164: // 'intersect'
  30016. case 165: // 'into'
  30017. case 166: // 'is'
  30018. case 168: // 'json'
  30019. case 170: // 'jsoniq'
  30020. case 173: // 'last'
  30021. case 174: // 'lax'
  30022. case 175: // 'le'
  30023. case 179: // 'loop'
  30024. case 181: // 'lt'
  30025. case 183: // 'mod'
  30026. case 184: // 'modify'
  30027. case 185: // 'module'
  30028. case 189: // 'ne'
  30029. case 195: // 'nodes'
  30030. case 198: // 'object'
  30031. case 202: // 'only'
  30032. case 203: // 'option'
  30033. case 204: // 'or'
  30034. case 205: // 'order'
  30035. case 207: // 'ordering'
  30036. case 210: // 'parent'
  30037. case 216: // 'preceding'
  30038. case 217: // 'preceding-sibling'
  30039. case 224: // 'return'
  30040. case 225: // 'returning'
  30041. case 226: // 'revalidation'
  30042. case 228: // 'satisfies'
  30043. case 229: // 'schema'
  30044. case 232: // 'score'
  30045. case 233: // 'select'
  30046. case 234: // 'self'
  30047. case 239: // 'sliding'
  30048. case 241: // 'stable'
  30049. case 242: // 'start'
  30050. case 245: // 'strict'
  30051. case 248: // 'switch'
  30052. case 253: // 'to'
  30053. case 254: // 'treat'
  30054. case 257: // 'tumbling'
  30055. case 258: // 'type'
  30056. case 259: // 'typeswitch'
  30057. case 260: // 'union'
  30058. case 263: // 'updating'
  30059. case 267: // 'value'
  30060. case 268: // 'variable'
  30061. case 269: // 'version'
  30062. case 272: // 'where'
  30063. case 273: // 'while'
  30064. case 276: // 'with'
  30065. lookahead2W(144); // S^WS | '#' | '(' | '(:' | ':'
  30066. break;
  30067. default:
  30068. lk = l1;
  30069. }
  30070. if (lk == 25735 // 'false' ':'
  30071. || lk == 25797 // 'null' ':'
  30072. || lk == 25855) // 'true' ':'
  30073. {
  30074. lk = memoized(21, e0);
  30075. if (lk == 0)
  30076. {
  30077. var b0A = b0; var e0A = e0; var l1A = l1;
  30078. var b1A = b1; var e1A = e1; var l2A = l2;
  30079. var b2A = b2; var e2A = e2;
  30080. try
  30081. {
  30082. try_ExprSingle();
  30083. lk = -1;
  30084. }
  30085. catch (p1A)
  30086. {
  30087. lk = -2;
  30088. }
  30089. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  30090. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  30091. b2 = b2A; e2 = e2A; end = e2A; }}
  30092. memoize(21, e0, lk);
  30093. }
  30094. }
  30095. switch (lk)
  30096. {
  30097. case -2:
  30098. case 19: // NCName^Token
  30099. case 25671: // 'after' ':'
  30100. case 25673: // 'allowing' ':'
  30101. case 25674: // 'ancestor' ':'
  30102. case 25675: // 'ancestor-or-self' ':'
  30103. case 25676: // 'and' ':'
  30104. case 25678: // 'append' ':'
  30105. case 25680: // 'as' ':'
  30106. case 25681: // 'ascending' ':'
  30107. case 25682: // 'at' ':'
  30108. case 25683: // 'attribute' ':'
  30109. case 25684: // 'base-uri' ':'
  30110. case 25685: // 'before' ':'
  30111. case 25686: // 'boundary-space' ':'
  30112. case 25687: // 'break' ':'
  30113. case 25689: // 'case' ':'
  30114. case 25690: // 'cast' ':'
  30115. case 25691: // 'castable' ':'
  30116. case 25692: // 'catch' ':'
  30117. case 25694: // 'child' ':'
  30118. case 25695: // 'collation' ':'
  30119. case 25697: // 'comment' ':'
  30120. case 25698: // 'constraint' ':'
  30121. case 25699: // 'construction' ':'
  30122. case 25702: // 'context' ':'
  30123. case 25703: // 'continue' ':'
  30124. case 25704: // 'copy' ':'
  30125. case 25705: // 'copy-namespaces' ':'
  30126. case 25706: // 'count' ':'
  30127. case 25707: // 'decimal-format' ':'
  30128. case 25709: // 'declare' ':'
  30129. case 25710: // 'default' ':'
  30130. case 25711: // 'delete' ':'
  30131. case 25712: // 'descendant' ':'
  30132. case 25713: // 'descendant-or-self' ':'
  30133. case 25714: // 'descending' ':'
  30134. case 25719: // 'div' ':'
  30135. case 25720: // 'document' ':'
  30136. case 25721: // 'document-node' ':'
  30137. case 25722: // 'element' ':'
  30138. case 25723: // 'else' ':'
  30139. case 25724: // 'empty' ':'
  30140. case 25725: // 'empty-sequence' ':'
  30141. case 25726: // 'encoding' ':'
  30142. case 25727: // 'end' ':'
  30143. case 25729: // 'eq' ':'
  30144. case 25730: // 'every' ':'
  30145. case 25732: // 'except' ':'
  30146. case 25733: // 'exit' ':'
  30147. case 25734: // 'external' ':'
  30148. case 25736: // 'first' ':'
  30149. case 25737: // 'following' ':'
  30150. case 25738: // 'following-sibling' ':'
  30151. case 25739: // 'for' ':'
  30152. case 25742: // 'from' ':'
  30153. case 25743: // 'ft-option' ':'
  30154. case 25747: // 'function' ':'
  30155. case 25748: // 'ge' ':'
  30156. case 25750: // 'group' ':'
  30157. case 25752: // 'gt' ':'
  30158. case 25753: // 'idiv' ':'
  30159. case 25754: // 'if' ':'
  30160. case 25755: // 'import' ':'
  30161. case 25756: // 'in' ':'
  30162. case 25757: // 'index' ':'
  30163. case 25761: // 'insert' ':'
  30164. case 25762: // 'instance' ':'
  30165. case 25763: // 'integrity' ':'
  30166. case 25764: // 'intersect' ':'
  30167. case 25765: // 'into' ':'
  30168. case 25766: // 'is' ':'
  30169. case 25767: // 'item' ':'
  30170. case 25768: // 'json' ':'
  30171. case 25770: // 'jsoniq' ':'
  30172. case 25773: // 'last' ':'
  30173. case 25774: // 'lax' ':'
  30174. case 25775: // 'le' ':'
  30175. case 25777: // 'let' ':'
  30176. case 25779: // 'loop' ':'
  30177. case 25781: // 'lt' ':'
  30178. case 25783: // 'mod' ':'
  30179. case 25784: // 'modify' ':'
  30180. case 25785: // 'module' ':'
  30181. case 25787: // 'namespace' ':'
  30182. case 25788: // 'namespace-node' ':'
  30183. case 25789: // 'ne' ':'
  30184. case 25794: // 'node' ':'
  30185. case 25795: // 'nodes' ':'
  30186. case 25798: // 'object' ':'
  30187. case 25802: // 'only' ':'
  30188. case 25803: // 'option' ':'
  30189. case 25804: // 'or' ':'
  30190. case 25805: // 'order' ':'
  30191. case 25806: // 'ordered' ':'
  30192. case 25807: // 'ordering' ':'
  30193. case 25810: // 'parent' ':'
  30194. case 25816: // 'preceding' ':'
  30195. case 25817: // 'preceding-sibling' ':'
  30196. case 25820: // 'processing-instruction' ':'
  30197. case 25822: // 'rename' ':'
  30198. case 25823: // 'replace' ':'
  30199. case 25824: // 'return' ':'
  30200. case 25825: // 'returning' ':'
  30201. case 25826: // 'revalidation' ':'
  30202. case 25828: // 'satisfies' ':'
  30203. case 25829: // 'schema' ':'
  30204. case 25830: // 'schema-attribute' ':'
  30205. case 25831: // 'schema-element' ':'
  30206. case 25832: // 'score' ':'
  30207. case 25833: // 'select' ':'
  30208. case 25834: // 'self' ':'
  30209. case 25839: // 'sliding' ':'
  30210. case 25840: // 'some' ':'
  30211. case 25841: // 'stable' ':'
  30212. case 25842: // 'start' ':'
  30213. case 25845: // 'strict' ':'
  30214. case 25848: // 'switch' ':'
  30215. case 25849: // 'text' ':'
  30216. case 25853: // 'to' ':'
  30217. case 25854: // 'treat' ':'
  30218. case 25856: // 'try' ':'
  30219. case 25857: // 'tumbling' ':'
  30220. case 25858: // 'type' ':'
  30221. case 25859: // 'typeswitch' ':'
  30222. case 25860: // 'union' ':'
  30223. case 25862: // 'unordered' ':'
  30224. case 25863: // 'updating' ':'
  30225. case 25866: // 'validate' ':'
  30226. case 25867: // 'value' ':'
  30227. case 25868: // 'variable' ':'
  30228. case 25869: // 'version' ':'
  30229. case 25872: // 'where' ':'
  30230. case 25873: // 'while' ':'
  30231. case 25876: // 'with' ':'
  30232. parse_NCName();
  30233. break;
  30234. default:
  30235. parse_ExprSingle();
  30236. }
  30237. lookahead1W(26); // S^WS | '(:' | ':'
  30238. shift(50); // ':'
  30239. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30240. whitespace();
  30241. parse_ExprSingle();
  30242. eventHandler.endNonterminal("PairConstructor", e0);
  30243. }
  30244. function try_PairConstructor()
  30245. {
  30246. switch (l1)
  30247. {
  30248. case 78: // 'append'
  30249. lookahead2W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30250. break;
  30251. case 139: // 'for'
  30252. lookahead2W(187); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'sliding' | 'tumbling'
  30253. break;
  30254. case 161: // 'insert'
  30255. lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30256. break;
  30257. case 177: // 'let'
  30258. lookahead2W(178); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'score'
  30259. break;
  30260. case 187: // 'namespace'
  30261. lookahead2W(251); // NCName^Token | S^WS | '#' | '(' | '(:' | ':' | 'after' | 'allowing' |
  30262. break;
  30263. case 220: // 'processing-instruction'
  30264. lookahead2W(247); // NCName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  30265. break;
  30266. case 223: // 'replace'
  30267. lookahead2W(180); // S^WS | '#' | '(' | '(:' | ':' | 'node' | 'value'
  30268. break;
  30269. case 266: // 'validate'
  30270. lookahead2W(191); // S^WS | '#' | '(' | '(:' | ':' | 'lax' | 'strict' | 'type' | '{'
  30271. break;
  30272. case 83: // 'attribute'
  30273. case 122: // 'element'
  30274. lookahead2W(256); // EQName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
  30275. break;
  30276. case 97: // 'comment'
  30277. case 249: // 'text'
  30278. lookahead2W(149); // S^WS | '#' | '(:' | ':' | '{'
  30279. break;
  30280. case 111: // 'delete'
  30281. case 222: // 'rename'
  30282. lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30283. break;
  30284. case 104: // 'copy'
  30285. case 130: // 'every'
  30286. case 240: // 'some'
  30287. lookahead2W(165); // S^WS | '#' | '$' | '(' | '(:' | ':'
  30288. break;
  30289. case 135: // 'false'
  30290. case 197: // 'null'
  30291. case 255: // 'true'
  30292. lookahead2W(208); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '.' | '/' | '//' | ':' |
  30293. break;
  30294. case 120: // 'document'
  30295. case 206: // 'ordered'
  30296. case 256: // 'try'
  30297. case 262: // 'unordered'
  30298. lookahead2W(167); // S^WS | '#' | '(' | '(:' | ':' | '{'
  30299. break;
  30300. case 121: // 'document-node'
  30301. case 125: // 'empty-sequence'
  30302. case 167: // 'item'
  30303. case 188: // 'namespace-node'
  30304. case 194: // 'node'
  30305. case 230: // 'schema-attribute'
  30306. case 231: // 'schema-element'
  30307. lookahead2W(96); // S^WS | '#' | '(:' | ':'
  30308. break;
  30309. case 71: // 'after'
  30310. case 73: // 'allowing'
  30311. case 74: // 'ancestor'
  30312. case 75: // 'ancestor-or-self'
  30313. case 76: // 'and'
  30314. case 80: // 'as'
  30315. case 81: // 'ascending'
  30316. case 82: // 'at'
  30317. case 84: // 'base-uri'
  30318. case 85: // 'before'
  30319. case 86: // 'boundary-space'
  30320. case 87: // 'break'
  30321. case 89: // 'case'
  30322. case 90: // 'cast'
  30323. case 91: // 'castable'
  30324. case 92: // 'catch'
  30325. case 94: // 'child'
  30326. case 95: // 'collation'
  30327. case 98: // 'constraint'
  30328. case 99: // 'construction'
  30329. case 102: // 'context'
  30330. case 103: // 'continue'
  30331. case 105: // 'copy-namespaces'
  30332. case 106: // 'count'
  30333. case 107: // 'decimal-format'
  30334. case 109: // 'declare'
  30335. case 110: // 'default'
  30336. case 112: // 'descendant'
  30337. case 113: // 'descendant-or-self'
  30338. case 114: // 'descending'
  30339. case 119: // 'div'
  30340. case 123: // 'else'
  30341. case 124: // 'empty'
  30342. case 126: // 'encoding'
  30343. case 127: // 'end'
  30344. case 129: // 'eq'
  30345. case 132: // 'except'
  30346. case 133: // 'exit'
  30347. case 134: // 'external'
  30348. case 136: // 'first'
  30349. case 137: // 'following'
  30350. case 138: // 'following-sibling'
  30351. case 142: // 'from'
  30352. case 143: // 'ft-option'
  30353. case 147: // 'function'
  30354. case 148: // 'ge'
  30355. case 150: // 'group'
  30356. case 152: // 'gt'
  30357. case 153: // 'idiv'
  30358. case 154: // 'if'
  30359. case 155: // 'import'
  30360. case 156: // 'in'
  30361. case 157: // 'index'
  30362. case 162: // 'instance'
  30363. case 163: // 'integrity'
  30364. case 164: // 'intersect'
  30365. case 165: // 'into'
  30366. case 166: // 'is'
  30367. case 168: // 'json'
  30368. case 170: // 'jsoniq'
  30369. case 173: // 'last'
  30370. case 174: // 'lax'
  30371. case 175: // 'le'
  30372. case 179: // 'loop'
  30373. case 181: // 'lt'
  30374. case 183: // 'mod'
  30375. case 184: // 'modify'
  30376. case 185: // 'module'
  30377. case 189: // 'ne'
  30378. case 195: // 'nodes'
  30379. case 198: // 'object'
  30380. case 202: // 'only'
  30381. case 203: // 'option'
  30382. case 204: // 'or'
  30383. case 205: // 'order'
  30384. case 207: // 'ordering'
  30385. case 210: // 'parent'
  30386. case 216: // 'preceding'
  30387. case 217: // 'preceding-sibling'
  30388. case 224: // 'return'
  30389. case 225: // 'returning'
  30390. case 226: // 'revalidation'
  30391. case 228: // 'satisfies'
  30392. case 229: // 'schema'
  30393. case 232: // 'score'
  30394. case 233: // 'select'
  30395. case 234: // 'self'
  30396. case 239: // 'sliding'
  30397. case 241: // 'stable'
  30398. case 242: // 'start'
  30399. case 245: // 'strict'
  30400. case 248: // 'switch'
  30401. case 253: // 'to'
  30402. case 254: // 'treat'
  30403. case 257: // 'tumbling'
  30404. case 258: // 'type'
  30405. case 259: // 'typeswitch'
  30406. case 260: // 'union'
  30407. case 263: // 'updating'
  30408. case 267: // 'value'
  30409. case 268: // 'variable'
  30410. case 269: // 'version'
  30411. case 272: // 'where'
  30412. case 273: // 'while'
  30413. case 276: // 'with'
  30414. lookahead2W(144); // S^WS | '#' | '(' | '(:' | ':'
  30415. break;
  30416. default:
  30417. lk = l1;
  30418. }
  30419. if (lk == 25735 // 'false' ':'
  30420. || lk == 25797 // 'null' ':'
  30421. || lk == 25855) // 'true' ':'
  30422. {
  30423. lk = memoized(21, e0);
  30424. if (lk == 0)
  30425. {
  30426. var b0A = b0; var e0A = e0; var l1A = l1;
  30427. var b1A = b1; var e1A = e1; var l2A = l2;
  30428. var b2A = b2; var e2A = e2;
  30429. try
  30430. {
  30431. try_ExprSingle();
  30432. memoize(21, e0A, -1);
  30433. lk = -3;
  30434. }
  30435. catch (p1A)
  30436. {
  30437. lk = -2;
  30438. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  30439. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  30440. b2 = b2A; e2 = e2A; end = e2A; }}
  30441. memoize(21, e0A, -2);
  30442. }
  30443. }
  30444. }
  30445. switch (lk)
  30446. {
  30447. case -2:
  30448. case 19: // NCName^Token
  30449. case 25671: // 'after' ':'
  30450. case 25673: // 'allowing' ':'
  30451. case 25674: // 'ancestor' ':'
  30452. case 25675: // 'ancestor-or-self' ':'
  30453. case 25676: // 'and' ':'
  30454. case 25678: // 'append' ':'
  30455. case 25680: // 'as' ':'
  30456. case 25681: // 'ascending' ':'
  30457. case 25682: // 'at' ':'
  30458. case 25683: // 'attribute' ':'
  30459. case 25684: // 'base-uri' ':'
  30460. case 25685: // 'before' ':'
  30461. case 25686: // 'boundary-space' ':'
  30462. case 25687: // 'break' ':'
  30463. case 25689: // 'case' ':'
  30464. case 25690: // 'cast' ':'
  30465. case 25691: // 'castable' ':'
  30466. case 25692: // 'catch' ':'
  30467. case 25694: // 'child' ':'
  30468. case 25695: // 'collation' ':'
  30469. case 25697: // 'comment' ':'
  30470. case 25698: // 'constraint' ':'
  30471. case 25699: // 'construction' ':'
  30472. case 25702: // 'context' ':'
  30473. case 25703: // 'continue' ':'
  30474. case 25704: // 'copy' ':'
  30475. case 25705: // 'copy-namespaces' ':'
  30476. case 25706: // 'count' ':'
  30477. case 25707: // 'decimal-format' ':'
  30478. case 25709: // 'declare' ':'
  30479. case 25710: // 'default' ':'
  30480. case 25711: // 'delete' ':'
  30481. case 25712: // 'descendant' ':'
  30482. case 25713: // 'descendant-or-self' ':'
  30483. case 25714: // 'descending' ':'
  30484. case 25719: // 'div' ':'
  30485. case 25720: // 'document' ':'
  30486. case 25721: // 'document-node' ':'
  30487. case 25722: // 'element' ':'
  30488. case 25723: // 'else' ':'
  30489. case 25724: // 'empty' ':'
  30490. case 25725: // 'empty-sequence' ':'
  30491. case 25726: // 'encoding' ':'
  30492. case 25727: // 'end' ':'
  30493. case 25729: // 'eq' ':'
  30494. case 25730: // 'every' ':'
  30495. case 25732: // 'except' ':'
  30496. case 25733: // 'exit' ':'
  30497. case 25734: // 'external' ':'
  30498. case 25736: // 'first' ':'
  30499. case 25737: // 'following' ':'
  30500. case 25738: // 'following-sibling' ':'
  30501. case 25739: // 'for' ':'
  30502. case 25742: // 'from' ':'
  30503. case 25743: // 'ft-option' ':'
  30504. case 25747: // 'function' ':'
  30505. case 25748: // 'ge' ':'
  30506. case 25750: // 'group' ':'
  30507. case 25752: // 'gt' ':'
  30508. case 25753: // 'idiv' ':'
  30509. case 25754: // 'if' ':'
  30510. case 25755: // 'import' ':'
  30511. case 25756: // 'in' ':'
  30512. case 25757: // 'index' ':'
  30513. case 25761: // 'insert' ':'
  30514. case 25762: // 'instance' ':'
  30515. case 25763: // 'integrity' ':'
  30516. case 25764: // 'intersect' ':'
  30517. case 25765: // 'into' ':'
  30518. case 25766: // 'is' ':'
  30519. case 25767: // 'item' ':'
  30520. case 25768: // 'json' ':'
  30521. case 25770: // 'jsoniq' ':'
  30522. case 25773: // 'last' ':'
  30523. case 25774: // 'lax' ':'
  30524. case 25775: // 'le' ':'
  30525. case 25777: // 'let' ':'
  30526. case 25779: // 'loop' ':'
  30527. case 25781: // 'lt' ':'
  30528. case 25783: // 'mod' ':'
  30529. case 25784: // 'modify' ':'
  30530. case 25785: // 'module' ':'
  30531. case 25787: // 'namespace' ':'
  30532. case 25788: // 'namespace-node' ':'
  30533. case 25789: // 'ne' ':'
  30534. case 25794: // 'node' ':'
  30535. case 25795: // 'nodes' ':'
  30536. case 25798: // 'object' ':'
  30537. case 25802: // 'only' ':'
  30538. case 25803: // 'option' ':'
  30539. case 25804: // 'or' ':'
  30540. case 25805: // 'order' ':'
  30541. case 25806: // 'ordered' ':'
  30542. case 25807: // 'ordering' ':'
  30543. case 25810: // 'parent' ':'
  30544. case 25816: // 'preceding' ':'
  30545. case 25817: // 'preceding-sibling' ':'
  30546. case 25820: // 'processing-instruction' ':'
  30547. case 25822: // 'rename' ':'
  30548. case 25823: // 'replace' ':'
  30549. case 25824: // 'return' ':'
  30550. case 25825: // 'returning' ':'
  30551. case 25826: // 'revalidation' ':'
  30552. case 25828: // 'satisfies' ':'
  30553. case 25829: // 'schema' ':'
  30554. case 25830: // 'schema-attribute' ':'
  30555. case 25831: // 'schema-element' ':'
  30556. case 25832: // 'score' ':'
  30557. case 25833: // 'select' ':'
  30558. case 25834: // 'self' ':'
  30559. case 25839: // 'sliding' ':'
  30560. case 25840: // 'some' ':'
  30561. case 25841: // 'stable' ':'
  30562. case 25842: // 'start' ':'
  30563. case 25845: // 'strict' ':'
  30564. case 25848: // 'switch' ':'
  30565. case 25849: // 'text' ':'
  30566. case 25853: // 'to' ':'
  30567. case 25854: // 'treat' ':'
  30568. case 25856: // 'try' ':'
  30569. case 25857: // 'tumbling' ':'
  30570. case 25858: // 'type' ':'
  30571. case 25859: // 'typeswitch' ':'
  30572. case 25860: // 'union' ':'
  30573. case 25862: // 'unordered' ':'
  30574. case 25863: // 'updating' ':'
  30575. case 25866: // 'validate' ':'
  30576. case 25867: // 'value' ':'
  30577. case 25868: // 'variable' ':'
  30578. case 25869: // 'version' ':'
  30579. case 25872: // 'where' ':'
  30580. case 25873: // 'while' ':'
  30581. case 25876: // 'with' ':'
  30582. try_NCName();
  30583. break;
  30584. case -3:
  30585. break;
  30586. default:
  30587. try_ExprSingle();
  30588. }
  30589. lookahead1W(26); // S^WS | '(:' | ':'
  30590. shiftT(50); // ':'
  30591. lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30592. try_ExprSingle();
  30593. }
  30594. function parse_ArrayConstructor()
  30595. {
  30596. eventHandler.startNonterminal("ArrayConstructor", e0);
  30597. shift(69); // '['
  30598. lookahead1W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30599. if (l1 != 70) // ']'
  30600. {
  30601. whitespace();
  30602. parse_Expr();
  30603. }
  30604. shift(70); // ']'
  30605. eventHandler.endNonterminal("ArrayConstructor", e0);
  30606. }
  30607. function try_ArrayConstructor()
  30608. {
  30609. shiftT(69); // '['
  30610. lookahead1W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30611. if (l1 != 70) // ']'
  30612. {
  30613. try_Expr();
  30614. }
  30615. shiftT(70); // ']'
  30616. }
  30617. function parse_BlockExpr()
  30618. {
  30619. eventHandler.startNonterminal("BlockExpr", e0);
  30620. shift(281); // '{'
  30621. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30622. whitespace();
  30623. parse_StatementsAndOptionalExpr();
  30624. shift(287); // '}'
  30625. eventHandler.endNonterminal("BlockExpr", e0);
  30626. }
  30627. function try_BlockExpr()
  30628. {
  30629. shiftT(281); // '{'
  30630. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30631. try_StatementsAndOptionalExpr();
  30632. shiftT(287); // '}'
  30633. }
  30634. function parse_FunctionDecl()
  30635. {
  30636. eventHandler.startNonterminal("FunctionDecl", e0);
  30637. shift(147); // 'function'
  30638. lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  30639. whitespace();
  30640. parse_EQName();
  30641. lookahead1W(22); // S^WS | '(' | '(:'
  30642. shift(35); // '('
  30643. lookahead1W(98); // S^WS | '$' | '(:' | ')'
  30644. if (l1 == 31) // '$'
  30645. {
  30646. whitespace();
  30647. parse_ParamList();
  30648. }
  30649. shift(38); // ')'
  30650. lookahead1W(158); // S^WS | '(:' | 'as' | 'external' | '{'
  30651. if (l1 == 80) // 'as'
  30652. {
  30653. whitespace();
  30654. parse_ReturnType();
  30655. }
  30656. lookahead1W(122); // S^WS | '(:' | 'external' | '{'
  30657. switch (l1)
  30658. {
  30659. case 281: // '{'
  30660. shift(281); // '{'
  30661. lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  30662. whitespace();
  30663. parse_StatementsAndOptionalExpr();
  30664. shift(287); // '}'
  30665. break;
  30666. default:
  30667. shift(134); // 'external'
  30668. }
  30669. eventHandler.endNonterminal("FunctionDecl", e0);
  30670. }
  30671. function parse_ReturnType()
  30672. {
  30673. eventHandler.startNonterminal("ReturnType", e0);
  30674. shift(80); // 'as'
  30675. lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  30676. whitespace();
  30677. parse_SequenceType();
  30678. eventHandler.endNonterminal("ReturnType", e0);
  30679. }
  30680. function shift(t)
  30681. {
  30682. if (l1 == t)
  30683. {
  30684. whitespace();
  30685. eventHandler.terminal(JSONiqParser.TOKEN[l1], b1, e1 > size ? size : e1);
  30686. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  30687. b1 = b2; e1 = e2; l2 = 0; }
  30688. }
  30689. else
  30690. {
  30691. error(b1, e1, 0, l1, t);
  30692. }
  30693. }
  30694. function shiftT(t)
  30695. {
  30696. if (l1 == t)
  30697. {
  30698. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  30699. b1 = b2; e1 = e2; l2 = 0; }
  30700. }
  30701. else
  30702. {
  30703. error(b1, e1, 0, l1, t);
  30704. }
  30705. }
  30706. function skip(code)
  30707. {
  30708. var b0W = b0; var e0W = e0; var l1W = l1;
  30709. var b1W = b1; var e1W = e1;
  30710. l1 = code; b1 = begin; e1 = end;
  30711. l2 = 0;
  30712. try_Whitespace();
  30713. b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
  30714. b1 = b1W; e1 = e1W; }
  30715. }
  30716. function whitespace()
  30717. {
  30718. if (e0 != b1)
  30719. {
  30720. eventHandler.whitespace(e0, b1);
  30721. e0 = b1;
  30722. }
  30723. }
  30724. function matchW(set)
  30725. {
  30726. var code;
  30727. for (;;)
  30728. {
  30729. code = match(set);
  30730. if (code != 22) // S^WS
  30731. {
  30732. if (code != 37) // '(:'
  30733. {
  30734. break;
  30735. }
  30736. skip(code);
  30737. }
  30738. }
  30739. return code;
  30740. }
  30741. function lookahead1W(set)
  30742. {
  30743. if (l1 == 0)
  30744. {
  30745. l1 = matchW(set);
  30746. b1 = begin;
  30747. e1 = end;
  30748. }
  30749. }
  30750. function lookahead2W(set)
  30751. {
  30752. if (l2 == 0)
  30753. {
  30754. l2 = matchW(set);
  30755. b2 = begin;
  30756. e2 = end;
  30757. }
  30758. lk = (l2 << 9) | l1;
  30759. }
  30760. function lookahead1(set)
  30761. {
  30762. if (l1 == 0)
  30763. {
  30764. l1 = match(set);
  30765. b1 = begin;
  30766. e1 = end;
  30767. }
  30768. }
  30769. function lookahead2(set)
  30770. {
  30771. if (l2 == 0)
  30772. {
  30773. l2 = match(set);
  30774. b2 = begin;
  30775. e2 = end;
  30776. }
  30777. lk = (l2 << 9) | l1;
  30778. }
  30779. function error(b, e, s, l, t)
  30780. {
  30781. if (e >= ex)
  30782. {
  30783. bx = b;
  30784. ex = e;
  30785. sx = s;
  30786. lx = l;
  30787. tx = t;
  30788. }
  30789. throw new self.ParseException(bx, ex, sx, lx, tx);
  30790. }
  30791. var lk, b0, e0;
  30792. var l1, b1, e1;
  30793. var l2, b2, e2;
  30794. var bx, ex, sx, lx, tx;
  30795. var eventHandler;
  30796. var memo;
  30797. function memoize(i, e, v)
  30798. {
  30799. memo[(e << 5) + i] = v;
  30800. }
  30801. function memoized(i, e)
  30802. {
  30803. var v = memo[(e << 5) + i];
  30804. return typeof v != "undefined" ? v : 0;
  30805. }
  30806. var input;
  30807. var size;
  30808. var begin;
  30809. var end;
  30810. function match(tokenSetId)
  30811. {
  30812. var nonbmp = false;
  30813. begin = end;
  30814. var current = end;
  30815. var result = JSONiqParser.INITIAL[tokenSetId];
  30816. var state = 0;
  30817. for (var code = result & 8191; code != 0; )
  30818. {
  30819. var charclass;
  30820. var c0 = current < size ? input.charCodeAt(current) : 0;
  30821. ++current;
  30822. if (c0 < 0x80)
  30823. {
  30824. charclass = JSONiqParser.MAP0[c0];
  30825. }
  30826. else if (c0 < 0xd800)
  30827. {
  30828. var c1 = c0 >> 4;
  30829. charclass = JSONiqParser.MAP1[(c0 & 15) + JSONiqParser.MAP1[(c1 & 31) + JSONiqParser.MAP1[c1 >> 5]]];
  30830. }
  30831. else
  30832. {
  30833. if (c0 < 0xdc00)
  30834. {
  30835. var c1 = current < size ? input.charCodeAt(current) : 0;
  30836. if (c1 >= 0xdc00 && c1 < 0xe000)
  30837. {
  30838. ++current;
  30839. c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
  30840. nonbmp = true;
  30841. }
  30842. }
  30843. var lo = 0, hi = 5;
  30844. for (var m = 3; ; m = (hi + lo) >> 1)
  30845. {
  30846. if (JSONiqParser.MAP2[m] > c0) hi = m - 1;
  30847. else if (JSONiqParser.MAP2[6 + m] < c0) lo = m + 1;
  30848. else {charclass = JSONiqParser.MAP2[12 + m]; break;}
  30849. if (lo > hi) {charclass = 0; break;}
  30850. }
  30851. }
  30852. state = code;
  30853. var i0 = (charclass << 13) + code - 1;
  30854. code = JSONiqParser.TRANSITION[(i0 & 31) + JSONiqParser.TRANSITION[i0 >> 5]];
  30855. if (code > 8191)
  30856. {
  30857. result = code;
  30858. code &= 8191;
  30859. end = current;
  30860. }
  30861. }
  30862. result >>= 13;
  30863. if (result == 0)
  30864. {
  30865. end = current - 1;
  30866. var c1 = end < size ? input.charCodeAt(end) : 0;
  30867. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  30868. return error(begin, end, state, -1, -1);
  30869. }
  30870. if (nonbmp)
  30871. {
  30872. for (var i = result >> 9; i > 0; --i)
  30873. {
  30874. --end;
  30875. var c1 = end < size ? input.charCodeAt(end) : 0;
  30876. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  30877. }
  30878. }
  30879. else
  30880. {
  30881. end -= result >> 9;
  30882. }
  30883. return (result & 511) - 1;
  30884. }
  30885. }
  30886. JSONiqParser.getTokenSet = function(tokenSetId)
  30887. {
  30888. var set = [];
  30889. var s = tokenSetId < 0 ? - tokenSetId : JSONiqParser.INITIAL[tokenSetId] & 8191;
  30890. for (var i = 0; i < 289; i += 32)
  30891. {
  30892. var j = i;
  30893. var i0 = (i >> 5) * 4235 + s - 1;
  30894. var i1 = i0 >> 2;
  30895. var i2 = i1 >> 2;
  30896. var f = JSONiqParser.EXPECTED[(i0 & 3) + JSONiqParser.EXPECTED[(i1 & 3) + JSONiqParser.EXPECTED[(i2 & 15) + JSONiqParser.EXPECTED[i2 >> 4]]]];
  30897. for ( ; f != 0; f >>>= 1, ++j)
  30898. {
  30899. if ((f & 1) != 0)
  30900. {
  30901. set.push(JSONiqParser.TOKEN[j]);
  30902. }
  30903. }
  30904. }
  30905. return set;
  30906. };
  30907. JSONiqParser.MAP0 =
  30908. [ 71, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 40, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 40, 40
  30909. ];
  30910. JSONiqParser.MAP1 =
  30911. [ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 355, 371, 387, 423, 423, 423, 415, 339, 331, 339, 331, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 440, 440, 440, 440, 440, 440, 440, 324, 339, 339, 339, 339, 339, 339, 339, 339, 401, 423, 423, 424, 422, 423, 423, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 71, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 40, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 40, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 30, 30, 40, 40, 40, 40, 40, 40, 40, 70, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70
  30912. ];
  30913. JSONiqParser.MAP2 =
  30914. [ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 40, 30, 40, 30, 30, 40
  30915. ];
  30916. JSONiqParser.INITIAL =
  30917. [ 1, 24578, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289
  30918. ];
  30919. JSONiqParser.TRANSITION =
  30920. [ 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 18432, 18508, 18512, 18508, 18508, 18471, 18503, 18452, 18508, 18544, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22565, 22594, 54694, 22641, 32640, 25253, 32640, 22707, 32640, 32640, 18907, 32640, 40804, 19219, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22757, 32640, 23442, 32640, 20728, 22822, 22912, 62853, 22949, 23023, 32640, 25253, 37379, 72986, 32640, 32640, 18907, 32640, 23058, 40482, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 23090, 32640, 70756, 57235, 23625, 57174, 23143, 53889, 57205, 23194, 32640, 44590, 57237, 72986, 32640, 32640, 18907, 32640, 23058, 18925, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 22132, 19073, 46732, 23294, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 23361, 32640, 61740, 23437, 23807, 23824, 22912, 35136, 23474, 23607, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 40461, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 57592, 32640, 53140, 23657, 43708, 23704, 23789, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 39259, 23856, 32640, 32640, 23893, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 73053, 22069, 23965, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24031, 32640, 23861, 32640, 22776, 24082, 22912, 56240, 24206, 24329, 32640, 25253, 32640, 24379, 32640, 32640, 18907, 32640, 23058, 57529, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24415, 24449, 24453, 24440, 24534, 24485, 24515, 24566, 24596, 24628, 32640, 32105, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 45903, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24678, 32640, 61740, 24746, 48361, 53140, 24789, 24808, 24825, 24857, 32640, 27397, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 45563, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24907, 32640, 61740, 32640, 32640, 52064, 24984, 25013, 61799, 25045, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 25095, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 54034, 25151, 25188, 25171, 25235, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 25302, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 25340, 32640, 61740, 24702, 35413, 25353, 25385, 25402, 58363, 25449, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 25499, 32640, 61740, 32640, 32640, 53140, 25538, 25575, 25558, 25622, 32640, 25253, 32640, 72986, 32640, 32640, 49347, 54782, 64809, 35297, 64457, 32024, 25672, 25724, 32640, 25308, 42746, 72012, 48724, 25775, 59604, 63895, 70062, 53329, 26051, 44572, 32640, 32640, 53365, 69246, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 36217, 25878, 32640, 32640, 25912, 56403, 72012, 72012, 47453, 69896, 25776, 64787, 25947, 25982, 26472, 26016, 26050, 68602, 32640, 32640, 21278, 65491, 41507, 72012, 47768, 59999, 36922, 55439, 25983, 53287, 66001, 26051, 68608, 32640, 35129, 65495, 72012, 26084, 25776, 26132, 25983, 66375, 26051, 26181, 26227, 36550, 62167, 71378, 26264, 56947, 53286, 26299, 56814, 66968, 50229, 37146, 26336, 26407, 64681, 37193, 26609, 67516, 26450, 26504, 26590, 60773, 47253, 26654, 26722, 26771, 49912, 26461, 51539, 26820, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 29428, 26976, 69042, 27027, 27107, 32640, 25253, 32640, 27176, 32640, 32640, 18907, 32640, 35800, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 27212, 32640, 18617, 32640, 32640, 53140, 27264, 27332, 41428, 27379, 32640, 25253, 32640, 27446, 36386, 32640, 18907, 32640, 23058, 40482, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 27496, 32640, 61740, 32640, 32640, 45704, 22912, 32640, 27545, 27614, 32640, 25253, 32640, 27679, 32640, 32640, 49347, 54782, 51035, 35297, 32640, 32024, 32640, 27715, 32640, 25308, 72012, 72012, 48724, 25776, 59604, 25983, 61672, 26051, 26051, 49853, 32640, 32640, 70980, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 40010, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 27753, 25776, 25776, 39830, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 27795, 25776, 60349, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 27836, 32640, 26232, 27985, 34535, 60068, 27930, 27958, 60099, 28032, 32640, 32366, 32640, 72986, 32640, 32640, 73079, 29194, 30273, 28620, 31154, 44986, 32640, 18612, 18649, 18757, 18789, 18959, 32755, 28084, 30249, 28403, 29274, 28141, 28173, 28885, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21681, 28259, 30189, 28317, 28376, 29214, 30382, 28201, 30288, 28732, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 28435, 28285, 28497, 28109, 28529, 28561, 28593, 28652, 28684, 28716, 19661, 19735, 19811, 19878, 19910, 19942, 28764, 21709, 32781, 28826, 28935, 28991, 29023, 29361, 30055, 20090, 20138, 20211, 20265, 29171, 28465, 29246, 28344, 29334, 29302, 29393, 20579, 20709, 20774, 29460, 29082, 29111, 29139, 29492, 29611, 20949, 21030, 29555, 29643, 29675, 28857, 29707, 21310, 29804, 29832, 29864, 29896, 29992, 30024, 30105, 30173, 28959, 30221, 29583, 29053, 28794, 28227, 30320, 30352, 29523, 30414, 30442, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 30485, 32640, 61740, 55714, 40332, 67370, 30532, 30549, 30500, 30596, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 25063, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 62487, 66570, 19251, 64424, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 30661, 19661, 19735, 19811, 19878, 19910, 19942, 30758, 30851, 33683, 30826, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 30890, 63521, 30967, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 32640, 31025, 31042, 31089, 31121, 32640, 25253, 32640, 72986, 41921, 32640, 18907, 32640, 23058, 19161, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31186, 32640, 61740, 32640, 32640, 53140, 31304, 31321, 61422, 31368, 32640, 25253, 32640, 72986, 38336, 32640, 18907, 32640, 23058, 19597, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31436, 32640, 22917, 32640, 32640, 53140, 31488, 31505, 63455, 31552, 32640, 25253, 32640, 72986, 23911, 32640, 18907, 32640, 23058, 20233, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 31603, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31688, 32640, 61740, 27887, 32640, 57839, 22912, 31734, 24347, 31775, 32640, 25253, 32640, 31840, 32640, 32640, 18907, 32640, 57508, 20515, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 62571, 27379, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 46497, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 52315, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32497, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 20179, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 31980, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 31979, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 69771, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 41903, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 32012, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 57111, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 27513, 32056, 32087, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 31793, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32154, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32191, 32640, 61740, 32640, 32640, 53140, 32266, 32219, 32317, 32348, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 32398, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 32449, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 32640, 32541, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 40482, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32639, 61740, 32640, 32640, 53140, 32606, 32625, 66147, 32673, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 32724, 21452, 21374, 21431, 32813, 21618, 21650, 32920, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 32640, 27379, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 33014, 72814, 65242, 23329, 65262, 33049, 33078, 33110, 33141, 72172, 33868, 38406, 33224, 33302, 35892, 33415, 33497, 33529, 33657, 32640, 70241, 33715, 23262, 70547, 65483, 72012, 56115, 31942, 25776, 33771, 25983, 62395, 26051, 60426, 53000, 43338, 33820, 20169, 33900, 28052, 33936, 72012, 34004, 34096, 25776, 69679, 34153, 25983, 34209, 34305, 26051, 34381, 34413, 59316, 60982, 34567, 18580, 43988, 66280, 56105, 34613, 34671, 54769, 57995, 34763, 50540, 69616, 34835, 44365, 69116, 72659, 27683, 51215, 45101, 34941, 55781, 57901, 25776, 68182, 34981, 25983, 35037, 38017, 43551, 35100, 35168, 46148, 32692, 38542, 69316, 67857, 54357, 35200, 37506, 35270, 39191, 36089, 32640, 37090, 24260, 50683, 56669, 60278, 35348, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 43929, 35445, 35530, 35582, 50980, 66874, 47849, 48295, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 35651, 72814, 32640, 32640, 53140, 35689, 35718, 35750, 35781, 32640, 25253, 32640, 32640, 32640, 32640, 42703, 63159, 35832, 71490, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 71083, 54414, 54421, 64131, 72012, 55872, 25809, 25776, 60149, 25844, 25983, 63179, 26051, 26051, 34327, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 35952, 27144, 30726, 72012, 63213, 63138, 25776, 69714, 35989, 25983, 42068, 36035, 26051, 36069, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 20456, 36134, 36191, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 64516, 72814, 48426, 59530, 63767, 36272, 36304, 36336, 36367, 32640, 36432, 25203, 32640, 32640, 41660, 37716, 55922, 36483, 36530, 48415, 59494, 31702, 18855, 62820, 64973, 39682, 72012, 36599, 25776, 18725, 36659, 69934, 36699, 26051, 52493, 36750, 23246, 55732, 34581, 32640, 18679, 55301, 36783, 36820, 35485, 36918, 36954, 37494, 37030, 64702, 65892, 37178, 34467, 32640, 37225, 65319, 32640, 68393, 72012, 37261, 33962, 25776, 37316, 55427, 25983, 39119, 39566, 26051, 49047, 43098, 37375, 42559, 23999, 65491, 72012, 48479, 51277, 25776, 37411, 39842, 45287, 53287, 26051, 67220, 70527, 32640, 37538, 37571, 37131, 46827, 23541, 55996, 67894, 53288, 53572, 47622, 37618, 25915, 66600, 37659, 46843, 32872, 37796, 37836, 46302, 47046, 68392, 23524, 65621, 25983, 37889, 41315, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 37927, 37988, 38060, 47849, 36159, 34716, 26535, 44815, 38151, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 20106, 72814, 32509, 23162, 53140, 38224, 38253, 38285, 38316, 32640, 25253, 32640, 32640, 60657, 39330, 34441, 50711, 54836, 51195, 33270, 38384, 46719, 22206, 33192, 38438, 72385, 38511, 38616, 40937, 20657, 38673, 38705, 39528, 38892, 38940, 32640, 47380, 49323, 32640, 70823, 64131, 72012, 32968, 25809, 25776, 45195, 25844, 25983, 46666, 26051, 26051, 58683, 38996, 32640, 59450, 25692, 27180, 22361, 39052, 64136, 40912, 42209, 25776, 39090, 66443, 25983, 39151, 60300, 26051, 39223, 32640, 32640, 36102, 70444, 72012, 71366, 65683, 25776, 39291, 39362, 35619, 34803, 26051, 43538, 70527, 72942, 37229, 65495, 39402, 46827, 39434, 39492, 52767, 39560, 39598, 39731, 22659, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 19837, 68392, 68106, 33972, 25983, 39769, 58918, 26609, 71375, 56493, 39511, 67952, 33375, 70146, 67746, 39807, 39877, 27300, 39932, 39984, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 22609, 72814, 27464, 30794, 40060, 40119, 40148, 40180, 40211, 40263, 40295, 40364, 40412, 40514, 40546, 40606, 40667, 40699, 40731, 40783, 20976, 40854, 40994, 52527, 25308, 41046, 39699, 41078, 46357, 49141, 41137, 44544, 41236, 41286, 41368, 47192, 41460, 41554, 41610, 40087, 41703, 41735, 41816, 41872, 41968, 42030, 42100, 42250, 42282, 42373, 42458, 42490, 42522, 42554, 42591, 31571, 42679, 24113, 42735, 42778, 42826, 42887, 59586, 42933, 43014, 20677, 52796, 43080, 37857, 50773, 19009, 50153, 72778, 68055, 66201, 43130, 61992, 43205, 43285, 43380, 36003, 43457, 50341, 43583, 43639, 62580, 43704, 43740, 65764, 46827, 43772, 55996, 43804, 43857, 43893, 43961, 72604, 44020, 44104, 67022, 44136, 44196, 44228, 44289, 44397, 41399, 46788, 44452, 69369, 44513, 44648, 70208, 20438, 68896, 51376, 63626, 44257, 54317, 44622, 67433, 55113, 55250, 49487, 51457, 67801, 44680, 44712, 34716, 38736, 44788, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 54076, 72814, 67462, 71804, 46979, 44874, 44903, 44935, 44966, 65157, 25253, 32640, 32640, 45018, 45029, 45061, 36627, 47904, 71490, 70229, 49986, 32640, 30141, 65148, 45093, 45133, 72012, 45175, 25776, 67154, 25983, 61672, 45240, 26051, 53000, 32640, 32640, 25682, 32640, 30614, 64131, 72012, 62187, 25809, 25776, 34052, 25844, 25983, 58051, 26051, 26051, 68586, 34467, 32640, 32640, 25692, 49974, 68393, 36788, 72012, 33962, 51715, 25776, 55427, 25983, 45283, 39566, 26051, 45319, 43098, 32640, 32640, 22533, 65491, 72012, 65748, 51277, 25776, 40635, 39842, 48131, 53287, 26051, 72059, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 26195, 32640, 30913, 33383, 31947, 68516, 43425, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 38767, 44815, 45355, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 72990, 32640, 53140, 45461, 45480, 45512, 45543, 32640, 25253, 25880, 32640, 32640, 32640, 49347, 54782, 64809, 65216, 32640, 32024, 32640, 29772, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 26944, 43348, 64131, 72012, 72012, 45595, 25776, 25776, 45631, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 45666, 62963, 32640, 45736, 45143, 72012, 33962, 47777, 25776, 55427, 45634, 25983, 39566, 62106, 26051, 66507, 32640, 61374, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 45776, 65495, 72012, 45833, 25776, 43236, 25983, 48970, 26051, 35378, 19759, 45883, 40885, 45935, 34121, 45988, 46059, 68691, 46114, 46509, 48784, 46180, 46232, 52911, 56583, 46294, 61320, 46334, 46389, 52972, 46541, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 57068, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 37061, 32640, 46592, 32640, 23927, 23933, 35920, 72528, 46641, 71255, 46698, 32640, 41638, 46765, 32640, 32640, 25308, 72012, 32982, 31942, 25812, 62010, 25983, 52465, 26051, 62071, 44572, 32640, 32640, 32640, 32640, 46875, 64131, 72012, 72012, 46928, 25776, 25777, 25844, 25983, 25846, 26051, 26051, 48238, 66922, 32640, 32640, 32640, 58432, 34888, 72012, 72012, 24139, 25776, 25776, 64186, 25983, 25983, 64365, 26051, 26051, 68602, 32640, 31139, 32640, 65491, 72012, 59125, 47768, 25776, 23575, 39842, 25983, 43409, 26051, 51585, 68608, 32640, 40326, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 23989, 59115, 71381, 31947, 25983, 51580, 26788, 46560, 61892, 58181, 67203, 61301, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 48851, 72814, 23672, 46964, 47011, 47078, 47108, 47140, 47171, 32640, 41336, 32640, 50620, 20998, 40574, 47224, 47285, 49169, 47359, 32640, 35316, 31404, 32640, 22498, 71540, 47426, 22395, 47485, 41998, 47553, 68243, 35005, 43487, 49590, 47654, 45801, 22675, 32476, 32285, 47707, 67491, 67589, 47739, 47809, 47521, 53771, 47881, 39370, 54202, 70106, 63727, 47936, 58552, 32640, 49793, 48007, 32640, 65551, 71979, 37586, 48049, 48729, 71596, 33444, 48130, 48163, 50320, 48235, 48270, 34864, 70560, 48327, 48393, 48458, 72887, 48523, 38468, 37956, 42313, 48632, 55501, 51516, 36886, 48664, 48761, 48816, 50855, 27414, 41840, 48883, 63268, 48941, 45429, 49017, 55015, 49079, 32640, 22725, 23734, 49111, 51113, 69533, 55593, 49224, 46302, 49298, 68392, 71381, 31947, 25983, 51580, 58698, 26609, 49388, 58232, 70503, 49450, 42622, 70146, 67746, 49519, 60834, 49912, 26461, 39900, 47849, 56608, 49551, 26535, 44815, 49622, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 69860, 72814, 32640, 32640, 53140, 22912, 46609, 49741, 49772, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 57444, 31942, 38479, 62010, 25983, 49825, 26051, 53559, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 59709, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 61385, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 55063, 32640, 32640, 32640, 32640, 51342, 72012, 72012, 34031, 25776, 25776, 21586, 25983, 25983, 37804, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 52831, 72814, 72305, 49953, 50018, 50050, 50069, 50101, 50132, 70815, 25253, 24050, 32640, 72261, 50206, 50261, 50293, 50389, 50456, 50572, 49266, 32159, 46476, 50609, 46896, 49653, 37284, 50652, 61556, 51136, 34792, 50743, 43516, 41182, 50834, 50887, 32640, 37764, 32640, 32640, 39657, 23757, 50924, 50956, 53683, 55377, 51012, 52437, 51082, 71275, 51168, 51247, 58552, 31456, 32640, 51318, 32640, 68393, 71632, 34909, 33962, 25776, 51408, 55427, 25983, 51489, 51571, 26051, 51617, 51676, 60646, 71309, 32640, 65491, 66269, 72012, 47768, 51714, 36922, 67551, 25983, 53287, 50411, 26051, 51682, 70346, 19987, 51747, 72012, 24952, 25776, 68123, 51821, 47327, 51856, 50424, 31808, 72723, 44072, 71378, 24163, 55203, 53286, 67732, 46302, 62840, 68392, 67136, 45208, 51824, 51580, 51892, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 49192, 51996, 52096, 48579, 26535, 57041, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32641, 72814, 32640, 52167, 20380, 52202, 52231, 52263, 52294, 52373, 25253, 38352, 32640, 52375, 52359, 29926, 52407, 61167, 51195, 57599, 32024, 25590, 52525, 32640, 52559, 51778, 52613, 52685, 43173, 52736, 25950, 43825, 49580, 44319, 53632, 52043, 52828, 32640, 32640, 32640, 58759, 38563, 72012, 52863, 54749, 25776, 52943, 55231, 25984, 38908, 53056, 26018, 58552, 53105, 32640, 22853, 53172, 39020, 53205, 55838, 69472, 53239, 53488, 67539, 53276, 33788, 39566, 53320, 63643, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 53361, 32640, 72366, 71378, 53397, 57660, 53286, 53431, 46302, 32640, 68392, 71381, 47833, 35238, 66390, 37193, 26609, 71375, 60465, 43860, 63958, 50482, 38641, 53073, 53467, 53538, 49912, 26461, 39900, 47849, 36159, 48078, 53604, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 53715, 36751, 53803, 53858, 53921, 53950, 53982, 54013, 68341, 65423, 54066, 22337, 73196, 54108, 54140, 54172, 54234, 54389, 39321, 25417, 42341, 50174, 54455, 44050, 56059, 66616, 54504, 54555, 45851, 57679, 42130, 56789, 64232, 60925, 56829, 19692, 32640, 54689, 69055, 20609, 57455, 72012, 54726, 52653, 25776, 54814, 63908, 25984, 61227, 36498, 26018, 58552, 32640, 47394, 24383, 68318, 72870, 72012, 54868, 18707, 25776, 69705, 54929, 25983, 71927, 54995, 26051, 43915, 55047, 31632, 29738, 32574, 55095, 55145, 55282, 55174, 55347, 55409, 55471, 55533, 55625, 55661, 26850, 67349, 33333, 55693, 55764, 55813, 55904, 55954, 45409, 55563, 59673, 58326, 64010, 31239, 37627, 56028, 56147, 63574, 71739, 56202, 48600, 52021, 33017, 44420, 56272, 51439, 56304, 26558, 56379, 49469, 56435, 56525, 55629, 58860, 53658, 56557, 38796, 56640, 56760, 53746, 56861, 56918, 47849, 36159, 34716, 35068, 57014, 26905, 57100, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 57143, 60501, 46140, 53140, 57269, 57298, 57330, 57361, 57393, 21867, 57487, 53826, 57561, 73137, 57631, 57725, 57757, 57818, 64532, 33845, 25743, 28903, 32640, 30718, 48491, 57871, 57933, 57965, 50507, 34177, 46420, 65902, 58083, 44572, 34502, 27347, 47675, 69192, 32417, 27057, 58115, 45744, 58167, 58213, 58473, 58264, 36980, 26375, 58296, 44349, 69977, 37742, 31057, 58358, 32640, 35957, 68393, 49673, 58395, 33962, 23558, 65824, 55427, 66456, 46015, 39566, 60313, 47611, 68602, 32640, 47038, 58431, 65491, 72012, 72012, 58464, 25776, 27804, 58505, 25983, 57693, 26051, 26051, 58542, 33253, 32640, 51913, 22383, 49691, 64312, 64327, 50524, 46027, 71028, 38028, 53132, 32640, 21514, 49356, 67641, 68454, 61634, 65986, 49249, 32640, 68392, 71381, 31947, 25983, 51580, 39737, 67971, 58592, 35498, 68821, 42982, 65031, 58624, 58730, 58791, 58892, 49912, 26461, 39900, 47849, 36159, 34716, 60897, 62262, 58971, 59003, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 53024, 32640, 59046, 59088, 59157, 59186, 59218, 59249, 26690, 25253, 32640, 62512, 59314, 32640, 21399, 45956, 59348, 59428, 60204, 32024, 59282, 59482, 59526, 27721, 62325, 42794, 59562, 37343, 41105, 59653, 46262, 57786, 56728, 42158, 59014, 59705, 59741, 32640, 32640, 64131, 27582, 72012, 25809, 51286, 25776, 25844, 68525, 25984, 26051, 69412, 26018, 38086, 59766, 53173, 30453, 31873, 68393, 59807, 72012, 38182, 56458, 25776, 67880, 68261, 25983, 39566, 61247, 26051, 68602, 40380, 32640, 32640, 65491, 72012, 59857, 47966, 60005, 45599, 39842, 71940, 53287, 26051, 59892, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 71116, 32640, 59931, 71378, 25776, 29955, 53286, 26051, 56227, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 36718, 59969, 24280, 60037, 60131, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 54423, 32640, 20742, 60181, 32843, 60251, 67710, 54291, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 29420, 32640, 32640, 32640, 64131, 72012, 72012, 60345, 25776, 25776, 60381, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 53207, 72012, 47768, 27763, 36922, 39842, 71874, 53287, 26051, 60418, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 70720, 71381, 60458, 35226, 48985, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 36240, 60497, 23383, 53140, 60533, 60561, 60593, 60624, 23405, 25467, 22160, 33169, 60689, 60747, 60715, 60805, 60866, 60957, 32640, 36400, 61023, 26995, 32640, 33355, 55315, 59825, 61082, 65831, 61145, 47313, 61199, 61279, 67236, 61352, 32640, 30073, 61417, 71794, 61454, 22979, 61508, 38584, 61544, 61588, 56170, 61624, 61666, 64623, 61704, 26051, 48694, 58552, 65333, 72472, 61736, 61772, 61831, 56082, 61881, 64292, 46200, 55981, 63076, 32888, 56329, 36998, 50357, 58842, 68602, 61924, 31336, 31217, 32949, 61962, 72012, 54897, 52135, 36922, 43253, 54949, 53287, 62059, 62103, 54635, 69791, 32640, 71552, 72012, 20633, 25776, 66700, 25983, 70631, 26051, 43048, 60991, 32640, 27575, 38860, 26267, 35612, 71431, 26052, 46302, 39252, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 59396, 61050, 48909, 62138, 49921, 43861, 50802, 44756, 26873, 47849, 36159, 34716, 33560, 62235, 62294, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 69266, 62427, 62544, 62612, 62644, 62673, 62705, 62736, 31256, 49878, 31910, 32640, 62790, 62885, 62917, 44164, 69556, 51644, 62949, 62995, 45696, 32640, 19278, 63027, 63108, 63211, 63245, 54342, 53506, 63300, 61672, 63378, 63410, 44572, 63450, 21770, 63487, 58560, 32640, 57422, 68884, 61512, 63553, 47513, 61592, 63606, 63675, 29960, 51050, 63717, 37895, 63759, 18562, 21217, 40028, 32560, 63799, 59860, 58135, 43158, 25776, 63843, 70614, 25983, 63875, 63940, 26051, 63990, 64042, 64442, 21262, 32640, 64117, 58399, 38848, 47768, 24174, 64168, 39842, 56347, 53287, 26051, 64218, 68608, 27898, 31520, 65495, 64264, 51931, 42855, 67656, 26365, 64359, 39180, 64397, 32640, 22880, 64131, 71378, 25776, 29955, 53286, 26051, 56886, 32234, 41489, 41766, 51964, 60386, 51580, 64489, 54657, 64564, 34064, 72128, 35550, 42184, 64655, 39628, 49921, 43861, 62758, 40962, 68714, 54610, 64734, 36847, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 25270, 32640, 23111, 32122, 64856, 64887, 64919, 64950, 31389, 65005, 27232, 34519, 65063, 65120, 65088, 61113, 65189, 65294, 65365, 65397, 32640, 65455, 65527, 65583, 65653, 65730, 65796, 42647, 52704, 58025, 65863, 65934, 65966, 66033, 64072, 66099, 26683, 30564, 66131, 66179, 66246, 41522, 66312, 64765, 26100, 66344, 66422, 62027, 63346, 66488, 48098, 66539, 38119, 40439, 30690, 24714, 66648, 46809, 22991, 67082, 66680, 47975, 66732, 66764, 58510, 66819, 66851, 26304, 66906, 66954, 31272, 32640, 67000, 67054, 67114, 21544, 34639, 21568, 67186, 67268, 67325, 67402, 54264, 43607, 48017, 34273, 42426, 67583, 30935, 67621, 41784, 67688, 48203, 67778, 64824, 41671, 20315, 24236, 67833, 44481, 37470, 67926, 59378, 68003, 32640, 68087, 68155, 34696, 68214, 39952, 68293, 68373, 68425, 68486, 66787, 35862, 33375, 70146, 67746, 49921, 43861, 49912, 58817, 68777, 68557, 68640, 68746, 58655, 44815, 68853, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 64085, 32640, 48353, 53140, 68928, 68957, 68989, 69020, 32640, 27125, 27632, 30788, 27143, 32640, 31656, 64595, 69087, 69148, 32640, 32024, 32640, 69224, 32640, 49895, 69298, 39058, 69348, 25776, 49418, 25983, 70024, 69401, 45323, 46448, 24757, 70970, 32640, 27865, 31743, 52581, 61849, 69444, 69504, 54523, 54583, 69588, 33465, 69648, 59899, 33588, 69746, 58552, 69823, 32640, 32640, 69855, 38964, 72012, 72012, 65611, 69892, 25776, 72113, 69928, 25983, 39566, 69966, 26051, 41254, 35657, 32640, 32640, 61476, 72012, 72012, 62354, 25776, 36922, 70009, 25983, 26418, 26051, 26051, 34349, 32640, 18845, 26622, 72012, 27075, 25776, 39460, 70056, 67293, 70094, 41204, 31858, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 45386, 70138, 70178, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 46082, 68666, 70273, 34716, 26535, 44842, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 22217, 68030, 66060, 33739, 70331, 54472, 70378, 70409, 32640, 25253, 32640, 32640, 32640, 32640, 19302, 70476, 56692, 51195, 59775, 43315, 32640, 32640, 27647, 25308, 37113, 62203, 70592, 53244, 62010, 70663, 47583, 56714, 33625, 44572, 32640, 32640, 28000, 32640, 29763, 64131, 55855, 72012, 25809, 51949, 25776, 25844, 56967, 25984, 26051, 33611, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 50577, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 25506, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 70701, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 59056, 32640, 70752, 70788, 70855, 70884, 70916, 70947, 32640, 25253, 32640, 32640, 32640, 32640, 41578, 49709, 71012, 71060, 32640, 32024, 32640, 32640, 71115, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 38108, 32640, 24932, 72012, 72012, 52641, 25776, 25776, 71858, 25983, 25983, 43032, 26051, 26051, 68602, 32640, 71148, 32640, 65491, 51789, 34949, 47768, 56478, 42901, 39842, 71181, 63325, 63418, 36037, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32154, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25640, 43672, 32640, 22790, 58939, 37441, 71228, 41160, 51195, 32640, 22183, 71515, 71307, 32640, 25308, 72012, 71341, 31942, 35465, 71413, 36667, 59621, 26051, 71463, 42401, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 41936, 32640, 68393, 66214, 72012, 71584, 38192, 25776, 42053, 70669, 25983, 39566, 39775, 26051, 68602, 35405, 32640, 32640, 65491, 71628, 72012, 48552, 25776, 36922, 26149, 25983, 53287, 71664, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 37690, 32640, 25253, 66067, 32640, 32640, 32640, 71710, 26739, 42964, 71771, 20325, 32024, 32640, 32640, 32640, 27283, 72012, 59937, 31942, 25776, 52893, 25983, 56982, 26051, 51860, 44572, 23321, 32640, 32640, 37539, 32640, 38825, 72013, 72012, 71836, 53399, 25776, 71906, 39845, 25984, 71678, 53435, 26018, 58552, 30134, 32640, 32640, 32640, 68393, 71972, 72012, 63054, 52123, 25776, 62376, 48188, 25983, 24297, 36872, 26051, 68602, 32640, 32640, 33904, 65491, 72012, 72011, 47768, 42218, 36922, 39842, 71196, 53287, 26051, 72045, 68608, 32640, 48843, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 45251, 32640, 34258, 23504, 63811, 25776, 68806, 63685, 26051, 46302, 23041, 68392, 72091, 44738, 54963, 34731, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 72160, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 72268, 72234, 40231, 72204, 72300, 72337, 72417, 72449, 32640, 25253, 71149, 72986, 32640, 32640, 22011, 19703, 24646, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 21985, 22069, 72504, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 70431, 53140, 72560, 72589, 60219, 72636, 32640, 25253, 32640, 72986, 50892, 50890, 18907, 32640, 40751, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61930, 32640, 32640, 19846, 72691, 72708, 30629, 72755, 32640, 25253, 32640, 72810, 59270, 52170, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22311, 22069, 72846, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 32640, 72919, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 35297, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 48724, 25776, 59604, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 34485, 32640, 23212, 23229, 52327, 72974, 32640, 32640, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 43659, 32640, 18612, 18649, 18757, 18789, 18959, 21985, 22069, 72504, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 73022, 21452, 21374, 21431, 73111, 21618, 21650, 73169, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 180523, 180523, 180523, 180523, 0, 188716, 188716, 188716, 180523, 180523, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 0, 188716, 180523, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 139264, 147456, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 131072, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 367, 188716, 180523, 188716, 188716, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 180523, 188716, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2289, 0, 2290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2368, 2369, 0, 0, 2371, 0, 0, 0, 0, 2376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 307, 0, 0, 5767168, 0, 0, 0, 4857856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 5414912, 5447680, 0, 0, 5562368, 5636096, 5685248, 0, 5750784, 5873664, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1877, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1889, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 59821, 57886, 59823, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 58853, 57909, 57909, 58857, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58871, 0, 0, 5636096, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 5480448, 4358144, 4358144, 4358144, 4358144, 4857856, 4874240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5259264, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5414912, 4358144, 5447680, 4358144, 5464064, 4358144, 5480448, 5562368, 4358144, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1140, 0, 0, 1145, 0, 4857856, 4874240, 0, 0, 4923392, 5562368, 4358144, 4358144, 4358144, 5636096, 4358144, 5685248, 4358144, 4358144, 5750784, 4358144, 4358144, 4358144, 4358144, 4358144, 5873664, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6275072, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 4923392, 0, 0, 0, 0, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0, 0, 0, 0, 4825088, 0, 0, 5177344, 0, 0, 0, 0, 5701632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5808128, 0, 0, 0, 0, 4792320, 4833280, 0, 0, 5701632, 0, 5242880, 0, 0, 0, 0, 0, 0, 0, 5341184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 5652480, 0, 5701632, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4825088, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5177344, 4358144, 4358144, 4358144, 4358144, 4358144, 5242880, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5341184, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5627904, 5652480, 4358144, 5701632, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 483328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5341184, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5627904, 5652480, 4358144, 5701632, 4358144, 4358144, 5808128, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 1051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 0, 6422528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5619712, 0, 0, 0, 0, 0, 0, 0, 5726208, 5758976, 0, 0, 5791744, 0, 0, 0, 0, 0, 0, 0, 1151, 1278, 0, 0, 0, 0, 0, 0, 1285, 0, 0, 0, 0, 0, 0, 0, 1290, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 848, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 0, 6479872, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4931584, 4939776, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5054464, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5210112, 4358144, 4358144, 4358144, 4358144, 5292032, 4358144, 4358144, 4358144, 4358144, 5365760, 4358144, 4358144, 4358144, 5455872, 4358144, 4358144, 4358144, 4358144, 4358144, 5554176, 5570560, 5578752, 5619712, 5668864, 4358144, 4358144, 4358144, 5791744, 5816320, 4358144, 5857280, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6119424, 4358144, 6168576, 4358144, 4358144, 4358144, 4358144, 6242304, 4358144, 6291456, 4358144, 6316032, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 4939776, 0, 0, 0, 0, 0, 0, 5054464, 0, 0, 0, 0, 0, 0, 0, 0, 5210112, 0, 0, 0, 0, 5292032, 0, 0, 0, 0, 5365760, 0, 0, 0, 5455872, 0, 0, 0, 0, 0, 5554176, 5570560, 5578752, 5619712, 5668864, 0, 5578752, 5619712, 5668864, 0, 0, 0, 5791744, 5816320, 0, 5857280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6119424, 0, 6168576, 0, 0, 0, 0, 0, 6242304, 0, 6291456, 0, 6316032, 0, 6291456, 0, 6316032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4931584, 4939776, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 491520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 5578752, 5619712, 5668864, 4358144, 4358144, 4358144, 5791744, 5816320, 4358144, 5857280, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6119424, 4358144, 6168576, 4358144, 4358144, 4358144, 4358144, 4358144, 6242304, 4956160, 4964352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 0, 0, 0, 5799936, 0, 5881856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6373376, 6389760, 0, 0, 0, 0, 0, 1758, 0, 0, 1761, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6488064, 6103040, 0, 0, 0, 0, 0, 6184960, 5316608, 0, 0, 5644288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6217728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 0, 0, 0, 3388, 0, 0, 0, 0, 0, 3394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5390336, 5308416, 5488640, 0, 0, 5070848, 5431296, 0, 6430720, 0, 0, 5160960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4784128, 0, 0, 0, 0, 0, 0, 0, 0, 3623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 417, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283264, 6332416, 0, 0, 0, 5881856, 0, 5382144, 0, 0, 0, 0, 0, 0, 6266880, 4784128, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4915200, 4358144, 4956160, 4972544, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5070848, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5218304, 4358144, 5267456, 4358144, 4358144, 5308416, 5316608, 4358144, 4358144, 4358144, 5431296, 4358144, 5488640, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5799936, 4358144, 4358144, 5881856, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6103040, 4358144, 4358144, 4358144, 6184960, 4358144, 4358144, 6283264, 4358144, 4358144, 6332416, 4358144, 4358144, 4358144, 6389760, 4358144, 4358144, 6430720, 6438912, 4358144, 4358144, 4358144, 6266880, 6488064, 0, 0, 0, 6266880, 6488064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3149, 0, 0, 0, 0, 3154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 4784128, 4358144, 4358144, 4358144, 4849664, 4358144, 4358144, 4358144, 4358144, 4358144, 4915200, 0, 5660672, 5718016, 0, 5865472, 0, 0, 6037504, 0, 0, 6078464, 0, 0, 6340608, 0, 6455296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5472256, 0, 0, 0, 6209536, 0, 0, 0, 0, 6176768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4898816, 0, 5709824, 0, 0, 0, 0, 0, 1790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2348, 0, 0, 0, 0, 0, 0, 0, 0, 5283840, 0, 0, 0, 0, 5251072, 0, 6414336, 5832704, 0, 5955584, 0, 0, 4358144, 4358144, 4841472, 4358144, 4358144, 4358144, 4898816, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368640, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4358144, 5111808, 4358144, 4358144, 4358144, 4358144, 4358144, 5283840, 4358144, 4358144, 4358144, 4358144, 5472256, 5521408, 4358144, 4358144, 4358144, 5595136, 5709824, 5718016, 4358144, 5824512, 5865472, 4358144, 4358144, 5922816, 4358144, 4358144, 6021120, 4358144, 6037504, 4358144, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 4358144, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 139264, 147456, 0, 0, 0, 0, 0, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 3773, 0, 3627, 3775, 0, 0, 3778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 4024, 521, 4026, 521, 521, 4028, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 6021120, 0, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4841472, 4358144, 4358144, 4358144, 4898816, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 499712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5111808, 4358144, 4358144, 4358144, 4358144, 4358144, 5283840, 4358144, 4358144, 4358144, 4358144, 5472256, 5521408, 4358144, 4358144, 4358144, 4358144, 5595136, 5709824, 5718016, 4358144, 5824512, 5865472, 4358144, 4358144, 5922816, 0, 5029888, 5038080, 0, 0, 5103616, 5201920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6406144, 5357568, 0, 5505024, 0, 0, 0, 0, 0, 5890048, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1873, 521, 521, 521, 521, 521, 521, 521, 521, 1884, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3216, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 60569, 57886, 60570, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58842, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 58854, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59962, 59963, 57909, 57909, 57909, 57909, 57909, 57909, 59970, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 6160384, 0, 5095424, 5349376, 0, 5275648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5947392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6471680, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4997120, 4358144, 4358144, 5038080, 4358144, 4358144, 4358144, 5095424, 5103616, 4358144, 4358144, 5201920, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 0, 0, 0, 0, 0, 0, 0, 0, 4997120, 0, 0, 5038080, 0, 0, 0, 0, 6406144, 0, 0, 0, 0, 0, 0, 0, 0, 4997120, 0, 0, 5038080, 0, 0, 0, 5095424, 5103616, 0, 0, 5201920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5890048, 0, 0, 0, 6029312, 0, 0, 0, 0, 6160384, 0, 0, 0, 0, 0, 0, 0, 6406144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4997120, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 4358144, 4358144, 4358144, 0, 0, 0, 4890624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5898240, 5963776, 0, 0, 6193152, 0, 0, 5406720, 6397952, 5300224, 5234688, 5423104, 0, 0, 0, 0, 5988352, 0, 0, 6135808, 6307840, 0, 5996544, 4800512, 0, 6356992, 0, 0, 0, 5496832, 0, 0, 0, 0, 0, 5611520, 0, 0, 0, 0, 0, 0, 0, 1187, 0, 0, 1190, 1191, 0, 0, 0, 0, 1195, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 4947968, 5021696, 5529600, 0, 0, 5169152, 0, 0, 0, 4800512, 4808704, 4358144, 4358144, 4890624, 4358144, 4947968, 4358144, 4358144, 4358144, 5046272, 4358144, 4358144, 4358144, 4358144, 5185536, 4358144, 5234688, 5300224, 4358144, 4358144, 5406720, 5529600, 4358144, 4358144, 4358144, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 4800512, 4808704, 0, 0, 4890624, 0, 4947968, 0, 0, 0, 5046272, 0, 0, 0, 0, 5185536, 0, 5234688, 5300224, 0, 0, 5406720, 5529600, 0, 0, 0, 0, 5898240, 0, 0, 0, 0, 0, 0, 0, 0, 6307840, 0, 0, 6356992, 6381568, 6397952, 4800512, 4808704, 0, 0, 4890624, 0, 0, 6356992, 6381568, 6397952, 4800512, 4808704, 4358144, 4358144, 4890624, 4358144, 4947968, 4358144, 4358144, 4358144, 5046272, 4358144, 4358144, 4358144, 4358144, 5185536, 4358144, 5234688, 5300224, 4358144, 4358144, 5406720, 5529600, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4907008, 0, 5079040, 6094848, 0, 0, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 0, 4907008, 0, 5079040, 0, 5226496, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 5021696, 4358144, 4358144, 5021696, 0, 0, 0, 4980736, 0, 0, 0, 0, 0, 5373952, 5734400, 6045696, 0, 0, 0, 0, 0, 2306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2290, 0, 0, 0, 0, 0, 0, 0, 6152192, 0, 0, 0, 6316032, 0, 0, 0, 0, 5816320, 6291456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 3627, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 6144000, 4358144, 4866048, 4882432, 4358144, 0, 0, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5324800, 5373952, 5537792, 5545984, 5586944, 5734400, 5971968, 0, 6045696, 0, 6070272, 0, 0, 0, 0, 6348800, 0, 4866048, 4882432, 0, 4980736, 0, 0, 0, 0, 0, 0, 0, 0, 521, 831, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 877, 521, 521, 521, 521, 895, 521, 521, 57886, 57886, 58249, 0, 5324800, 5373952, 5537792, 5545984, 5586944, 5734400, 5971968, 0, 6045696, 0, 6070272, 0, 0, 0, 0, 6348800, 4358144, 4866048, 4882432, 4358144, 4980736, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5324800, 5373952, 5537792, 5545984, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 6348800, 0, 4866048, 4882432, 0, 4980736, 0, 0, 0, 0, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 3441, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3454, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 60242, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60250, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60293, 57886, 57886, 57886, 60296, 60297, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59917, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 4358144, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 0, 0, 5005312, 0, 0, 0, 5120000, 5136384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6324224, 0, 0, 5005312, 0, 0, 0, 5120000, 5136384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6324224, 4358144, 0, 0, 900, 900, 900, 4825988, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5178244, 900, 900, 900, 900, 900, 5219204, 900, 5268356, 900, 900, 5309316, 5317508, 900, 900, 900, 5432196, 900, 5489540, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5800836, 900, 900, 5882756, 900, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3627, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 1774, 0, 0, 0, 1778, 0, 0, 0, 1782, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 5013504, 0, 0, 6053888, 0, 0, 0, 0, 6012928, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 0, 0, 5013504, 0, 0, 0, 0, 0, 0, 685, 0, 0, 0, 0, 0, 0, 692, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 705, 0, 0, 0, 0, 0, 0, 0, 0, 6053888, 0, 0, 0, 0, 0, 5013504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6053888, 0, 0, 0, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5799936, 4358144, 4358144, 5881856, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6103040, 4358144, 4358144, 4358144, 6184960, 4358144, 4358144, 4358144, 6283264, 4358144, 4358144, 6332416, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 901, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 5414912, 0, 5447680, 0, 5464064, 0, 5480448, 5562368, 0, 0, 0, 5636096, 0, 5685248, 0, 0, 5750784, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5193728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5193728, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 0, 1959, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 0, 715, 0, 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 1252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 5742592, 0, 0, 0, 6094848, 0, 0, 4907008, 0, 5079040, 0, 5226496, 0, 5742592, 0, 0, 0, 6094848, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 4358144, 5062656, 0, 0, 0, 4358144, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 5062656, 0, 0, 0, 0, 0, 6225920, 0, 5062656, 0, 0, 0, 0, 0, 6225920, 4358144, 5062656, 4358144, 4358144, 4358144, 0, 900, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 2396, 521, 521, 521, 521, 2400, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3199, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1390, 521, 521, 1394, 521, 521, 521, 521, 521, 1401, 521, 521, 4358144, 4358144, 4358144, 6225920, 0, 0, 0, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 4816896, 0, 0, 0, 0, 6086656, 4816896, 0, 0, 0, 0, 6086656, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 5087232, 0, 5931008, 4358144, 5332992, 5980160, 4358144, 0, 5332992, 5980160, 0, 0, 5332992, 5980160, 0, 4358144, 5332992, 5980160, 4358144, 5439488, 5128192, 4358144, 5128192, 0, 5128192, 0, 5128192, 4358144, 4358144, 0, 0, 4358144, 4358144, 0, 0, 4358144, 6004736, 6004736, 6004736, 6004736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1289, 0, 0, 0, 0, 0, 0, 0, 0, 1294, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2816, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221645, 221645, 221645, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 221645, 461, 221645, 221645, 221645, 461, 221645, 221645, 221645, 221645, 221645, 221645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 328, 329, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221645, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1780, 0, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3414, 0, 0, 0, 0, 3418, 0, 0, 0, 0, 3423, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237568, 301, 0, 305, 237568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 305, 237982, 147456, 0, 0, 0, 305, 0, 0, 0, 0, 0, 2334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2349, 0, 0, 0, 0, 0, 0, 0, 3406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3420, 3421, 0, 0, 0, 0, 3426, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 516096, 0, 0, 0, 0, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 0, 305, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 1870, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2453, 521, 521, 521, 2456, 521, 521, 521, 521, 521, 2461, 521, 305, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 65536, 302, 0, 4268032, 98304, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4210978, 24578, 3, 0, 0, 296, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 245760, 0, 245760, 0, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 4210978, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1270, 0, 0, 2059, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 0, 0, 1730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 310, 0, 0, 0, 310, 310, 311, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 674, 0, 0, 0, 0, 0, 0, 262144, 262144, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 301, 0, 0, 0, 262144, 0, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 0, 262731, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 3439, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3670, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60591, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59853, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60298, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 262731, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 245760, 245760, 245760, 245760, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278528, 278528, 0, 0, 131072, 278528, 0, 0, 0, 278528, 0, 0, 0, 0, 278528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 384, 0, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 0, 278528, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3438, 521, 521, 521, 521, 3442, 521, 521, 521, 521, 521, 521, 521, 3448, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1901, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1921, 521, 521, 278528, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 262144, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 262144, 0, 262144, 0, 0, 0, 139264, 147456, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 302, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 631, 0, 4268032, 305, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 532480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1506, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2810, 2811, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 302, 0, 306, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0, 0, 733, 0, 739, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 306, 139264, 287138, 0, 0, 0, 306, 0, 0, 0, 0, 0, 2386, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2402, 521, 2404, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59830, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60836, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60274, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 0, 306, 0, 0, 0, 0, 0, 521, 521, 521, 3437, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3449, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3464, 521, 3466, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 61250, 57909, 57909, 61252, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 59994, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 306, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 66168, 0, 4268032, 305, 98939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2352, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 0, 0, 303, 303, 295215, 303, 303, 303, 303, 303, 303, 303, 303, 303, 295215, 373, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 368, 303, 0, 295215, 303, 303, 303, 303, 295285, 295215, 295215, 295215, 295215, 295215, 295215, 303, 303, 303, 303, 303, 303, 295285, 295215, 295215, 295215, 303, 303, 303, 295285, 139264, 147456, 295215, 295215, 303, 303, 295215, 303, 303, 131072, 303, 303, 303, 303, 295215, 303, 303, 303, 303, 295215, 303, 295215, 295215, 295215, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 295215, 295215, 295215, 295215, 295215, 295215, 303, 303, 303, 295215, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 295215, 303, 295215, 295215, 295215, 295215, 295215, 295215, 295215, 303, 0, 303, 0, 303, 303, 303, 295215, 303, 303, 303, 295215, 295215, 303, 295215, 303, 295215, 295215, 295215, 295215, 295215, 295215, 295215, 295215, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295215, 295215, 295215, 295215, 295215, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4359045, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 352256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 319488, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, 0, 0, 0, 0, 0, 1751, 1752, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 319488, 0, 319488, 319488, 319488, 0, 24578, 3, 0, 0, 4366336, 253952, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284416, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 521, 2389, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3219, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60571, 57886, 57886, 57886, 57886, 57886, 57886, 60579, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 327680, 335872, 327680, 327680, 327680, 335872, 327680, 327680, 327680, 327680, 327680, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49716, 0, 0, 0, 0, 0, 327680, 49716, 327680, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 0, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 106496, 0, 0, 4284416, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 977, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6463488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 4939776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 344064, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 357, 358, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 0, 4276224, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 352256, 0, 0, 0, 0, 0, 0, 131072, 0, 352256, 352256, 0, 0, 352256, 0, 0, 352256, 0, 352256, 0, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197, 0, 367, 367, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 706, 0, 0, 1, 291, 3, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 360448, 360448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 1, 0, 3, 155941, 155941, 295, 0, 629, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 58796, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59402, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58826, 57886, 57886, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59502, 57886, 0, 2281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 2357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3428, 0, 57909, 59926, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58906, 57909, 57909, 59952, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 60009, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 60035, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60937, 521, 3212, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59387, 59388, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60604, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60320, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60702, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 3612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0, 57886, 57886, 60830, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60853, 57886, 57886, 57936, 57936, 57936, 57936, 60914, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60057, 57936, 57936, 57936, 57936, 61027, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 61045, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60634, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59493, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 61048, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61056, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60378, 57936, 57936, 57936, 57886, 57886, 57886, 57886, 61156, 57886, 57886, 57886, 57886, 61157, 61158, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59997, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 61175, 57909, 57909, 57909, 57909, 61176, 61177, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61194, 57936, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61078, 61079, 57936, 57936, 57936, 57936, 61083, 61084, 57936, 57936, 57936, 57936, 57936, 61088, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61195, 61196, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3177, 521, 521, 521, 521, 521, 521, 3184, 521, 3186, 521, 521, 521, 57936, 57936, 57936, 57936, 57936, 61270, 57936, 57936, 57936, 57936, 57936, 57936, 61276, 57936, 57936, 57936, 61280, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 1791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, 0, 3947, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61306, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58312, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61322, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61338, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3759, 521, 57886, 61105, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 61439, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 61452, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61465, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60413, 57936, 57936, 57936, 57936, 57936, 57936, 60421, 57936, 57936, 57936, 57936, 57936, 60426, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 4077, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 57886, 57909, 57936, 521, 57886, 57909, 57936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376832, 376832, 376832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, 1269, 0, 0, 0, 0, 0, 419, 419, 419, 419, 590, 590, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 0, 419, 0, 0, 0, 0, 0, 521, 1866, 521, 521, 521, 521, 521, 521, 1872, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 60568, 57886, 57886, 57886, 57886, 57886, 57886, 60575, 57886, 60577, 57886, 57886, 419, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2817, 0, 0, 0, 4268773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 0, 0, 731, 0, 637, 731, 0, 735, 736, 637, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393678, 393678, 393678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4025, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 393678, 0, 393678, 393678, 393678, 0, 393678, 393678, 393678, 393678, 393678, 393678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 425984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3176, 521, 521, 521, 521, 521, 3181, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 375, 0, 0, 0, 0, 0, 327, 375, 330, 374, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 57887, 521, 57887, 521, 521, 57887, 521, 521, 57910, 57887, 521, 521, 57887, 57887, 57887, 57910, 0, 0, 0, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 0, 420, 0, 0, 0, 0, 0, 521, 3435, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1916, 521, 521, 521, 521, 521, 521, 420, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 304, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2791, 0, 0, 1239, 0, 0, 0, 741, 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 1322, 521, 521, 521, 521, 521, 521, 521, 2468, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60276, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 2468, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60305, 57886, 57886, 0, 0, 0, 2963, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 308, 309, 0, 0, 0, 0, 0, 0, 1815, 0, 0, 0, 0, 0, 0, 0, 0, 1821, 0, 1823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3127, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 417792, 417792, 0, 0, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 418101, 417792, 417792, 418100, 418101, 417792, 417792, 418100, 417792, 418100, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 309, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 1, 24578, 3, 0, 0, 4366964, 0, 0, 0, 0, 0, 301, 302, 311296, 4268032, 305, 306, 0, 434176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1859, 0, 0, 1860, 0, 0, 900, 900, 5415812, 900, 5448580, 900, 5464964, 900, 5481348, 5563268, 900, 900, 900, 5636996, 900, 5686148, 900, 900, 5751684, 900, 900, 900, 900, 900, 5874564, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6464388, 0, 0, 0, 0, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 4932560, 4940752, 976, 976, 976, 976, 976, 4359044, 4858756, 4875140, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5260164, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5415812, 4359044, 5448580, 4359044, 5464964, 4359044, 5481348, 5563268, 4359044, 4359044, 4359044, 5636996, 4359044, 5686148, 4359044, 4359044, 5751684, 4359044, 4359044, 4359044, 4359044, 4359044, 5874564, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6275972, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5342084, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5628804, 5653380, 4359044, 5702532, 4359044, 4359044, 5809028, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4907008, 0, 5079040, 6094848, 0, 0, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 900, 4907908, 900, 5079940, 900, 5227396, 900, 5243780, 900, 900, 900, 900, 900, 900, 900, 5342084, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5628804, 5653380, 900, 5702532, 900, 900, 900, 900, 900, 900, 5211012, 900, 900, 900, 900, 5292932, 900, 900, 900, 900, 5366660, 900, 900, 900, 5456772, 900, 900, 900, 900, 900, 5555076, 5571460, 5579652, 5620612, 5669764, 900, 0, 0, 976, 976, 976, 4826064, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5178320, 976, 976, 976, 976, 976, 5112784, 976, 976, 976, 976, 976, 5284816, 976, 976, 976, 976, 5473232, 5522384, 976, 976, 976, 976, 5596112, 5710800, 5718992, 976, 5825488, 5866448, 976, 976, 5923792, 976, 5243856, 976, 976, 976, 976, 976, 976, 976, 5342160, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5628880, 5653456, 976, 5702608, 976, 976, 976, 976, 976, 976, 976, 5260240, 976, 976, 976, 976, 976, 976, 976, 976, 5415888, 976, 5448656, 976, 5465040, 976, 5481424, 5563344, 976, 976, 976, 5637072, 976, 5686224, 976, 976, 5751760, 976, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 0, 0, 0, 0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 4932484, 4940676, 900, 900, 900, 900, 900, 900, 5055364, 900, 900, 5112708, 900, 900, 900, 900, 900, 5284740, 900, 900, 900, 900, 5473156, 5522308, 900, 900, 900, 900, 5596036, 5710724, 5718916, 900, 5825412, 5866372, 900, 900, 5923716, 900, 900, 6022020, 900, 900, 900, 5792644, 5817220, 900, 5858180, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6120324, 900, 6169476, 900, 900, 900, 900, 900, 6243204, 900, 6292356, 900, 6316932, 976, 5055440, 976, 976, 976, 976, 976, 976, 976, 976, 5211088, 976, 976, 976, 976, 5293008, 976, 976, 976, 976, 5366736, 976, 976, 976, 5456848, 976, 976, 976, 976, 976, 5555152, 5571536, 5579728, 5620688, 5669840, 976, 976, 976, 5792720, 5817296, 976, 5858256, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6120400, 976, 6169552, 976, 976, 976, 976, 976, 6243280, 976, 6292432, 976, 6317008, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6464464, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4932484, 4940676, 4359044, 4359044, 4359044, 4359044, 4359044, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 900, 900, 900, 900, 900, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4359044, 5055364, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5211012, 4359044, 4359044, 4359044, 4359044, 5292932, 4359044, 4359044, 4359044, 4359044, 5366660, 4359044, 4359044, 4359044, 5456772, 4359044, 4359044, 4359044, 4359044, 4359044, 5555076, 5571460, 5579652, 5620612, 5669764, 4359044, 4359044, 4359044, 5792644, 5817220, 4359044, 5858180, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6120324, 4359044, 6169476, 4359044, 4359044, 4359044, 4359044, 4359044, 6243204, 4359044, 6292356, 4359044, 6316932, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6464388, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 900, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 0, 4358144, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 4785028, 900, 900, 900, 4850564, 900, 900, 900, 900, 900, 4916100, 900, 4957060, 4973444, 900, 900, 900, 900, 900, 900, 5071748, 900, 900, 5194628, 900, 900, 900, 900, 900, 900, 900, 900, 976, 976, 976, 976, 976, 5194704, 976, 976, 976, 976, 976, 976, 976, 976, 4359044, 4359044, 4359044, 4359044, 4359044, 5194628, 4359044, 0, 0, 4785104, 976, 976, 976, 4850640, 976, 976, 976, 976, 976, 4916176, 976, 4957136, 4973520, 976, 976, 976, 976, 976, 976, 5071824, 976, 976, 976, 976, 976, 976, 976, 5219280, 976, 976, 6357968, 6382544, 6398928, 4801412, 4809604, 4359044, 4359044, 4891524, 4359044, 4948868, 4359044, 4359044, 4359044, 5047172, 4359044, 4359044, 4359044, 4359044, 5186436, 4359044, 5235588, 5301124, 4359044, 4359044, 5407620, 5530500, 4359044, 4359044, 4359044, 4359044, 4359044, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 4924292, 900, 900, 900, 900, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0, 5268432, 976, 976, 5309392, 5317584, 976, 976, 976, 5432272, 976, 5489616, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5800912, 976, 976, 5882832, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 976, 6104016, 976, 976, 976, 6185936, 976, 976, 976, 6284240, 976, 976, 6333392, 976, 976, 976, 6390736, 976, 976, 6431696, 6439888, 4785028, 4359044, 4359044, 4359044, 4850564, 4359044, 4359044, 4359044, 4359044, 4359044, 4916100, 4359044, 4957060, 4973444, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5071748, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5219204, 4359044, 5268356, 4359044, 4359044, 5309316, 5317508, 4359044, 4359044, 4359044, 5432196, 4359044, 5489540, 4359044, 4359044, 4359044, 4359044, 4359044, 6054788, 4359044, 4359044, 4359044, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 5096324, 5104516, 900, 900, 5202820, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5890948, 900, 900, 900, 6030212, 900, 900, 900, 900, 6161284, 900, 900, 900, 900, 6407044, 976, 976, 976, 976, 976, 976, 976, 976, 4998096, 976, 976, 5039056, 976, 976, 976, 5096400, 5104592, 976, 976, 5202896, 976, 976, 976, 976, 976, 976, 976, 5891024, 976, 976, 976, 6030288, 976, 976, 976, 976, 6161360, 976, 976, 976, 976, 976, 976, 976, 6407120, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4998020, 4359044, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 900, 900, 4842372, 900, 900, 900, 4899716, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 975, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6300624, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5809028, 6038404, 900, 900, 6079364, 6112132, 900, 6177668, 6210436, 900, 6235012, 900, 900, 900, 900, 900, 900, 900, 0, 0, 976, 976, 4842448, 976, 976, 976, 4899792, 976, 976, 976, 976, 976, 976, 5874640, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6276048, 976, 976, 976, 976, 976, 976, 976, 976, 976, 0, 900, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5112708, 4359044, 4359044, 4359044, 4359044, 4359044, 5284740, 4359044, 4359044, 4359044, 4359044, 5473156, 5522308, 4359044, 4359044, 4359044, 4359044, 5596036, 5710724, 5718916, 4359044, 5825412, 5866372, 4359044, 4359044, 5923716, 976, 6022096, 976, 6038480, 976, 976, 6079440, 6112208, 976, 6177744, 6210512, 976, 6235088, 976, 976, 976, 976, 976, 976, 976, 4359044, 4359044, 4842372, 4359044, 4359044, 4359044, 4899716, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5800836, 4359044, 4359044, 5882756, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6103940, 4359044, 4359044, 4359044, 6185860, 4359044, 4359044, 4359044, 6284164, 4359044, 4359044, 6333316, 4359044, 4359044, 6022020, 4359044, 6038404, 4359044, 4359044, 6079364, 6112132, 4359044, 6177668, 6210436, 4359044, 6235012, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4358144, 4358144, 4358144, 900, 900, 900, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 419, 0, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 900, 900, 900, 900, 900, 900, 900, 900, 4998020, 900, 900, 5038980, 4359044, 5038980, 4359044, 4359044, 4359044, 5096324, 5104516, 4359044, 4359044, 5202820, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5890948, 4359044, 4359044, 4359044, 6030212, 4359044, 4359044, 4359044, 4359044, 6161284, 4359044, 4359044, 4359044, 6226820, 0, 0, 0, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 4817796, 900, 900, 900, 900, 6087556, 4817872, 976, 976, 976, 976, 6087632, 4817796, 4359044, 4359044, 4359044, 4359044, 6087556, 5087232, 4358144, 4358144, 4358144, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 4801412, 4809604, 900, 900, 4891524, 900, 4948868, 900, 900, 900, 5047172, 900, 900, 900, 900, 900, 6054788, 900, 900, 900, 976, 976, 5014480, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6054864, 976, 976, 976, 4359044, 4359044, 5014404, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6407044, 4358144, 4358144, 4358144, 900, 900, 900, 4890624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5898240, 5963776, 0, 0, 6193152, 0, 0, 5406720, 6397952, 5186436, 900, 5235588, 5301124, 900, 900, 5407620, 5530500, 900, 900, 900, 900, 5899140, 900, 900, 900, 900, 900, 900, 900, 900, 6308740, 900, 900, 6357892, 6382468, 6398852, 4801488, 4809680, 976, 976, 4891600, 976, 4948944, 976, 976, 976, 5047248, 976, 976, 976, 976, 5186512, 976, 5235664, 5301200, 976, 976, 5407696, 5530576, 976, 976, 976, 976, 5899216, 976, 976, 976, 976, 976, 976, 976, 976, 6308816, 5899140, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6308740, 4359044, 4359044, 6357892, 6382468, 6398852, 5021696, 4358144, 4358144, 5022596, 900, 900, 0, 4980736, 0, 0, 0, 0, 0, 5373952, 5734400, 6045696, 0, 0, 0, 0, 0, 2771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 2786, 0, 0, 0, 0, 0, 0, 0, 0, 1843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1263, 0, 0, 0, 0, 0, 0, 0, 0, 4980736, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5324800, 5373952, 5537792, 5545984, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 6348800, 900, 4866948, 4883332, 900, 4981636, 900, 900, 900, 900, 5325700, 5374852, 5538692, 5546884, 5587844, 5735300, 5972868, 900, 6046596, 900, 6071172, 900, 900, 900, 900, 6349700, 976, 4867024, 4883408, 976, 4981712, 976, 976, 976, 976, 976, 976, 976, 976, 5325776, 5374928, 5538768, 5546960, 5587920, 5735376, 5972944, 976, 6046672, 976, 6071248, 976, 976, 976, 976, 6349776, 4359044, 4866948, 4883332, 4359044, 4981636, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5325700, 5374852, 5538692, 5546884, 5587844, 5735300, 5972868, 4359044, 6046596, 4359044, 6071172, 4359044, 4359044, 4359044, 4359044, 6349700, 4358144, 6144000, 900, 6144900, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 655, 0, 0, 521, 521, 521, 521, 521, 845, 521, 521, 861, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59499, 57909, 57909, 57909, 57886, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 4358144, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 900, 900, 5006212, 900, 900, 900, 5120900, 5137284, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6325124, 976, 976, 5006288, 976, 976, 976, 5120976, 5137360, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6325200, 4359044, 4359044, 4359044, 6390660, 4359044, 4359044, 6431620, 6439812, 4358144, 4358144, 4358144, 6266880, 6488064, 900, 900, 900, 6267780, 6488964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1767, 0, 0, 0, 0, 0, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4359044, 5006212, 4359044, 4359044, 4359044, 5120900, 5137284, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6325124, 5914624, 5915524, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3627, 0, 0, 0, 0, 0, 0, 2285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6300548, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 0, 5013504, 0, 0, 6053888, 0, 0, 0, 0, 6012928, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 900, 900, 5014404, 900, 900, 900, 900, 6275972, 900, 900, 900, 900, 900, 900, 900, 900, 900, 0, 0, 977, 976, 976, 976, 976, 976, 4858832, 4875216, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 0, 0, 0, 0, 900, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6300548, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4358144, 4358144, 900, 5743492, 900, 900, 900, 6095748, 900, 976, 4907984, 976, 5080016, 976, 5227472, 976, 5743568, 976, 976, 976, 6095824, 976, 4359044, 4907908, 4359044, 5079940, 4359044, 5227396, 4359044, 5743492, 4359044, 4359044, 4359044, 6095748, 4359044, 5062656, 0, 0, 0, 4358144, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 5063556, 900, 900, 900, 900, 900, 6226820, 976, 5063632, 976, 976, 976, 976, 976, 6226896, 4359044, 5063556, 4359044, 4359044, 4359044, 4825988, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5178244, 4359044, 4359044, 4359044, 4359044, 4359044, 5243780, 4359044, 0, 5931008, 4358144, 5332992, 5980160, 4358144, 900, 5333892, 5981060, 900, 976, 5333968, 5981136, 976, 4359044, 5333892, 5981060, 4359044, 5439488, 5128192, 4358144, 5129092, 900, 5129168, 976, 5129092, 4359044, 4358144, 900, 976, 4359044, 4358144, 900, 976, 4359044, 6004736, 6005636, 6005712, 6005636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2345, 0, 0, 0, 0, 0, 2351, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 450560, 0, 450560, 450560, 450560, 450560, 450560, 450560, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 0, 450560, 0, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1824, 0, 0, 0, 0, 0, 0, 1729, 0, 0, 0, 0, 0, 0, 450560, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 0, 2359296, 0, 0, 0, 2359296, 0, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 4358144, 6291456, 4358144, 6316032, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 302, 0, 0, 306, 0, 0, 0, 0, 0, 0, 2335, 0, 0, 0, 0, 0, 2339, 0, 0, 0, 0, 0, 0, 0, 2343, 2344, 0, 0, 0, 0, 0, 2350, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 2836, 521, 521, 521, 521, 2840, 521, 521, 4358144, 6430720, 6438912, 901, 0, 0, 0, 901, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 374, 374, 404, 977, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 5267456, 0, 0, 5308416, 5316608, 0, 0, 0, 5431296, 0, 5488640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5799936, 0, 0, 5881856, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 901, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3653, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3218, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60573, 57886, 60576, 57886, 57886, 57886, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 0, 0, 459186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459215, 459372, 459215, 459215, 459372, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5480448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5840896, 5849088, 0, 1, 24578, 3, 0, 0, 0, 0, 507904, 0, 0, 0, 507904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 0, 0, 0, 0, 0, 2796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3385, 3386, 0, 0, 0, 0, 3391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2789, 0, 0, 0, 2793, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2781, 0, 0, 2784, 0, 0, 0, 0, 2788, 0, 0, 0, 0, 0, 507904, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 442368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 516096, 0, 0, 0, 516096, 0, 0, 0, 0, 0, 0, 516096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2287, 0, 2288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516560, 1, 24578, 0, 0, 0, 4366336, 0, 0, 548864, 0, 0, 301, 302, 0, 4268032, 305, 306, 409600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 2340, 0, 0, 0, 0, 0, 0, 0, 0, 2347, 0, 0, 0, 0, 0, 0, 2354, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 40960, 0, 0, 0, 0, 0, 0, 2747, 0, 2749, 0, 0, 2752, 0, 0, 0, 0, 0, 0, 2757, 0, 0, 0, 2760, 2761, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 855, 521, 521, 521, 521, 521, 874, 521, 521, 521, 521, 892, 521, 521, 521, 57886, 57886, 57886, 1, 24578, 4227364, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 540672, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1857, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 4227364, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 155941, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57887, 57887, 57887, 57887, 57887, 57887, 57887, 57910, 57910, 57887, 57887, 57937, 57887, 57887, 57887, 57887, 57887, 57887, 57887, 57937, 57937, 57887, 57887, 57887, 57887, 57937, 57937, 57887, 521, 57887, 57887, 57887, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399797, 4399797, 4399797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 358, 0, 0, 399, 0, 0, 0, 0, 0, 139264, 147456, 399, 410, 0, 423, 410, 1, 24578, 3, 155942, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573440, 0, 573440, 573440, 573440, 0, 573440, 573440, 573440, 573440, 573440, 573440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3628, 0, 0, 0, 3631, 0, 0, 0, 0, 0, 0, 0, 0, 3639, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573440, 573440, 573440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, 1820, 0, 1822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1836, 0, 0, 0, 0, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399798, 311296, 4399798, 0, 0, 0, 311296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1738, 0, 5300224, 5234688, 5423104, 0, 0, 0, 0, 5988352, 0, 0, 6135808, 6307840, 0, 5996544, 4800512, 0, 6356992, 3627, 0, 0, 5496832, 0, 0, 0, 0, 0, 5611520, 0, 0, 0, 0, 0, 0, 0, 1792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 326, 376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 630, 302, 0, 4268032, 633, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2806, 0, 0, 0, 0, 0, 0, 0, 0, 2814, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 0, 0, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 581632, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3172, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3183, 521, 521, 3187, 521, 521, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 3774, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 6144000, 4358144, 4866048, 4882432, 4358144, 4358144, 4358144, 0, 901, 900, 900, 900, 900, 900, 4858756, 4875140, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5260164, 900, 900, 900, 900, 900, 900, 900, 900, 6103940, 900, 900, 900, 6185860, 900, 900, 900, 6284164, 900, 900, 6333316, 900, 900, 900, 6390660, 900, 900, 6431620, 6439812, 0, 0, 0, 0, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 3869, 0, 0, 0, 0, 0, 787, 0, 0, 521, 521, 521, 521, 521, 847, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60869, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59939, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59946, 57909, 59948, 57909, 59951, 57909, 57909, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3869, 0, 0, 0, 0, 0, 0, 2822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2830, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1938, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1387, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 310, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3638, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 451, 465, 465, 465, 478, 478, 478, 478, 478, 478, 478, 478, 478, 499, 478, 478, 478, 478, 517, 478, 478, 478, 517, 478, 478, 478, 478, 478, 478, 522, 57888, 522, 57888, 522, 522, 57888, 522, 522, 57911, 57888, 522, 522, 57888, 57888, 57888, 57911, 57888, 57888, 57888, 57888, 57888, 57888, 57888, 57911, 57911, 57888, 57888, 57938, 57888, 57888, 57888, 57888, 57888, 57888, 57888, 57938, 57938, 57888, 57888, 57888, 57888, 57938, 57938, 57888, 522, 57888, 57888, 57888, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 638, 0, 0, 641, 642, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, 0, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0, 0, 0, 743, 0, 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 764, 0, 0, 768, 0, 0, 0, 0, 0, 0, 3115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1175, 0, 1177, 1178, 0, 0, 0, 0, 0, 0, 0, 776, 0, 0, 0, 0, 780, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 3114, 0, 0, 0, 0, 0, 3118, 0, 0, 0, 0, 0, 0, 0, 3124, 3125, 3126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1306, 0, 0, 0, 1310, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61024, 57886, 57886, 0, 824, 825, 0, 0, 0, 0, 780, 521, 521, 834, 838, 521, 521, 850, 521, 521, 521, 866, 521, 871, 521, 879, 521, 882, 521, 521, 896, 521, 57886, 57886, 57886, 57886, 57886, 57886, 59898, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 59913, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59448, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59461, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58253, 58257, 57886, 57886, 58269, 57886, 57886, 57886, 58285, 57886, 58290, 57886, 58298, 57886, 58301, 57886, 57886, 58315, 57886, 0, 57909, 57909, 57909, 58329, 58333, 57909, 57909, 58345, 57909, 57909, 57909, 58361, 57909, 58366, 57909, 58374, 57909, 58377, 57909, 57909, 58391, 57909, 0, 0, 0, 0, 58290, 57936, 57936, 57936, 58404, 58408, 57936, 57936, 58420, 57936, 57936, 57936, 58436, 57936, 58441, 57936, 58449, 57936, 0, 0, 0, 0, 521, 521, 521, 521, 521, 4172, 521, 57886, 57886, 57886, 57886, 57886, 61522, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 61528, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59544, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59557, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59545, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59014, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58452, 57936, 57936, 58466, 57936, 834, 838, 1128, 882, 521, 521, 0, 58257, 58253, 58478, 58301, 57886, 57886, 155941, 1138, 0, 0, 1141, 0, 0, 1146, 0, 0, 0, 0, 0, 0, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 977, 0, 0, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 57886, 58831, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59964, 57909, 57909, 57909, 57909, 59969, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, 367, 367, 367, 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 1813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2815, 0, 0, 1861, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1874, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1887, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61044, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 521, 521, 521, 521, 521, 1929, 521, 521, 1932, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1945, 521, 521, 521, 521, 521, 521, 1951, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59828, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59380, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 61166, 57909, 57909, 57909, 61169, 57909, 57909, 57909, 57909, 521, 58754, 1960, 57886, 57886, 57886, 57886, 57886, 59311, 57886, 57886, 57886, 57886, 57886, 59317, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59330, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60835, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60845, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60854, 57886, 50657, 2060, 57909, 57909, 57909, 57909, 57909, 59411, 57909, 57909, 57909, 57909, 57909, 59417, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59430, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58890, 57909, 57909, 57909, 58893, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58900, 57909, 57909, 58904, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59472, 57909, 57909, 59475, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59489, 57909, 57909, 57909, 57909, 57909, 57909, 59495, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3151, 0, 0, 0, 3155, 0, 3157, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 59507, 57936, 57936, 57936, 57936, 57936, 59513, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59526, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59579, 57936, 57936, 57936, 57936, 57936, 57936, 59587, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 3105, 0, 0, 0, 0, 0, 0, 57936, 57936, 59568, 57936, 57936, 59571, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59585, 57936, 57936, 57936, 57936, 57936, 57936, 59591, 57936, 57936, 57936, 57936, 57936, 57936, 521, 2256, 521, 521, 521, 57886, 59605, 57886, 57886, 57886, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2275, 0, 0, 0, 0, 0, 0, 791, 0, 521, 521, 521, 521, 521, 521, 521, 521, 859, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 1738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 309, 0, 309, 0, 0, 0, 0, 2331, 0, 2333, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 1828, 0, 0, 0, 0, 0, 0, 0, 1835, 0, 0, 521, 2464, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59829, 57886, 57886, 59832, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60265, 57886, 57886, 57886, 57886, 60268, 57886, 57886, 60270, 57886, 60271, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60280, 57886, 57886, 60284, 59840, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59860, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61032, 57886, 57886, 57886, 57886, 57886, 57886, 61038, 57886, 61040, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61089, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 59929, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59949, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58886, 57909, 58888, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60375, 57936, 60376, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60012, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60032, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60070, 57936, 57936, 57936, 2405, 521, 521, 521, 521, 59836, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2399, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2446, 521, 521, 521, 521, 521, 521, 521, 2452, 521, 521, 521, 521, 521, 521, 2457, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2847, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2889, 521, 521, 521, 521, 521, 521, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60315, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60323, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58924, 57909, 57909, 58928, 57909, 57909, 57909, 57909, 57909, 58935, 57909, 57909, 57909, 58942, 57909, 0, 57886, 57936, 57936, 57936, 57936, 60359, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60370, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60380, 57936, 0, 0, 0, 0, 521, 521, 521, 4170, 4171, 521, 521, 57886, 57886, 57886, 61520, 61521, 57886, 57886, 57886, 57909, 57909, 57909, 61526, 61527, 57909, 57909, 57909, 57936, 57936, 57936, 61532, 57936, 57936, 60435, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 3104, 0, 0, 0, 3108, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262731, 0, 0, 0, 0, 0, 0, 0, 0, 3113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3136, 57909, 60627, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60636, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60644, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61057, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61062, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 60676, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60685, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60693, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 1193, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60915, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60933, 57936, 60935, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60703, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 2748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 352256, 352256, 0, 0, 0, 0, 521, 3948, 521, 3950, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 61307, 57886, 61309, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58807, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59347, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61165, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61170, 57909, 57909, 57909, 57909, 61323, 57909, 61325, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61339, 57936, 61341, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 3859, 521, 61204, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 4012, 0, 0, 0, 4015, 0, 0, 521, 521, 521, 521, 4020, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 61377, 57886, 57886, 57886, 57886, 57886, 57909, 60861, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60352, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2765, 0, 0, 0, 0, 0, 0, 426, 0, 131072, 0, 0, 0, 426, 0, 0, 0, 0, 0, 426, 452, 0, 0, 0, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 516, 452, 516, 516, 516, 452, 516, 516, 516, 516, 516, 516, 523, 57889, 523, 57889, 523, 523, 57889, 523, 523, 57912, 57889, 523, 523, 57889, 57889, 57889, 57912, 57889, 57889, 57889, 57889, 57889, 57889, 57889, 57912, 57912, 57889, 57889, 57939, 57889, 57889, 57889, 57889, 57889, 57889, 57889, 57939, 57939, 57889, 57889, 57889, 57889, 57939, 57939, 57889, 614, 57889, 57966, 57966, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385024, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 57909, 57909, 58370, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58445, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61199, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 820, 780, 0, 0, 0, 0, 0, 0, 754, 0, 0, 754, 0, 0, 0, 0, 0, 754, 754, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 2770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 60312, 57909, 57909, 57909, 57909, 60316, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60345, 57909, 57909, 57909, 57909, 60349, 57909, 57909, 57909, 60354, 57909, 57909, 57909, 57909, 60381, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60432, 57936, 57936, 57936, 57936, 57936, 60436, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2807, 0, 0, 0, 0, 0, 2812, 0, 0, 0, 0, 0, 57886, 61381, 57886, 61383, 57886, 57886, 61385, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61395, 57909, 61397, 57909, 57909, 61399, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57936, 61409, 57936, 61411, 57936, 57936, 61413, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 351, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 319, 319, 427, 428, 131072, 435, 428, 436, 427, 435, 436, 0, 315, 436, 448, 453, 466, 466, 466, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 501, 501, 501, 514, 514, 515, 515, 501, 515, 515, 515, 501, 515, 515, 515, 515, 515, 515, 524, 57890, 524, 57890, 524, 524, 57890, 524, 524, 57913, 57890, 524, 524, 57890, 57890, 57890, 57913, 57890, 57890, 57890, 57890, 57890, 57890, 57890, 57913, 57913, 57890, 57890, 57940, 57890, 57890, 57890, 57890, 57890, 57890, 57890, 57940, 57940, 57890, 57890, 57890, 57890, 57940, 57940, 57890, 615, 57965, 57965, 57965, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 367, 367, 0, 0, 1201, 0, 0, 0, 1204, 0, 1206, 0, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5242880, 0, 0, 0, 0, 0, 5603328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 58378, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59553, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58453, 57936, 57936, 57936, 57936, 521, 521, 521, 883, 521, 521, 0, 57886, 57886, 57886, 58302, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3411, 0, 0, 0, 3415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 57886, 521, 57886, 521, 521, 57886, 521, 521, 57909, 57886, 521, 521, 57886, 57886, 57886, 57909, 521, 521, 521, 58754, 901, 57886, 57886, 58758, 57886, 57886, 58762, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58776, 57886, 58781, 57886, 57886, 58785, 57886, 57886, 58788, 57886, 57886, 57886, 57886, 57886, 57886, 58279, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58322, 57909, 57909, 57909, 57909, 57909, 57909, 58355, 57909, 57909, 57909, 58876, 57909, 57909, 58880, 57909, 57909, 58883, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58902, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 58951, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58965, 57936, 58970, 57936, 57936, 58974, 57936, 57936, 58977, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 3861, 0, 0, 0, 3863, 0, 0, 0, 0, 0, 0, 3627, 3870, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 521, 521, 521, 1927, 1928, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2433, 521, 521, 521, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59320, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59332, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 61494, 57909, 61495, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 61502, 57936, 61503, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60018, 57936, 60020, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60396, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60401, 57936, 57936, 57936, 57936, 57936, 57886, 57886, 59370, 59371, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59420, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59432, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59446, 57909, 57909, 57909, 59450, 57909, 57909, 59455, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59990, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59998, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 59470, 59471, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3447, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1341, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3200, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 61016, 57886, 57886, 57886, 61019, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59566, 59567, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 521, 2437, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2450, 521, 521, 521, 521, 521, 2454, 2455, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1374, 521, 1376, 521, 521, 521, 521, 521, 521, 521, 1389, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1404, 57886, 57886, 57886, 57886, 59869, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59882, 57886, 57886, 57886, 57886, 57886, 59886, 59887, 59888, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58800, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58822, 57886, 57886, 57886, 57886, 0, 0, 0, 2744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114688, 0, 0, 57886, 57886, 57886, 60288, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 0, 0, 0, 826, 0, 0, 521, 521, 521, 521, 521, 849, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 60863, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60875, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59447, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60672, 3137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1837, 0, 0, 0, 3166, 0, 0, 3169, 0, 0, 0, 0, 0, 0, 0, 3173, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2451, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3379, 0, 0, 0, 0, 0, 0, 0, 3383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3422, 0, 0, 0, 0, 0, 0, 3429, 521, 3458, 3459, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60827, 57886, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 0, 0, 0, 695, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 883, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 2267, 0, 1142, 0, 0, 0, 0, 2270, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1809, 57909, 60884, 57909, 60886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60000, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60911, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60926, 57936, 60928, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60045, 60046, 57936, 57936, 57936, 57936, 57936, 57936, 60053, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61072, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59595, 57936, 57936, 57936, 1881, 521, 4010, 0, 4011, 0, 0, 0, 0, 0, 0, 0, 521, 4018, 521, 4019, 521, 521, 521, 4023, 521, 521, 521, 521, 521, 521, 521, 57886, 61375, 57886, 61376, 57886, 57886, 57886, 57886, 57886, 57886, 60264, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60269, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60275, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60283, 57886, 61380, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 61389, 57909, 61390, 57909, 57909, 57909, 61394, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61403, 57936, 61404, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60388, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 3376, 0, 0, 61408, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 1710, 0, 0, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 4213, 57886, 57886, 57886, 61559, 57909, 57909, 57909, 61561, 57936, 57936, 57936, 61563, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 0, 2471, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59858, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 376, 0, 131072, 0, 0, 0, 376, 0, 0, 438, 444, 0, 376, 454, 467, 467, 467, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 525, 57891, 525, 57891, 525, 525, 57891, 525, 525, 57914, 57891, 525, 525, 57891, 57891, 57891, 57914, 57891, 57891, 57891, 57891, 57891, 57891, 57891, 57914, 57914, 57891, 57891, 57941, 57891, 57891, 57891, 57891, 57891, 57891, 57891, 57941, 57941, 57891, 57891, 57891, 57891, 57941, 57941, 57891, 525, 57891, 57891, 57891, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229376, 0, 491520, 524288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 1166, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0, 1312, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 1321, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 60241, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58814, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 521, 521, 1371, 521, 521, 1373, 521, 521, 521, 521, 1378, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1403, 521, 521, 521, 521, 521, 521, 521, 521, 3196, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3203, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1902, 521, 521, 521, 521, 521, 521, 521, 521, 1913, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1935, 521, 521, 521, 1941, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1950, 521, 521, 521, 521, 1956, 521, 521, 521, 521, 58754, 901, 57886, 57886, 58759, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58786, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61247, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61263, 57909, 57909, 57936, 57909, 57909, 57909, 57909, 58881, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58896, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58905, 57909, 57909, 58907, 57909, 57909, 57909, 57909, 58912, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58937, 57909, 57909, 57909, 57909, 0, 58812, 57936, 57936, 58948, 57936, 0, 0, 0, 0, 521, 521, 4169, 521, 521, 521, 4173, 57886, 57886, 61519, 57886, 57886, 57886, 61523, 57886, 57909, 57909, 61525, 57909, 57909, 57909, 61529, 57909, 57936, 57936, 61531, 57936, 0, 0, 0, 0, 4168, 521, 521, 521, 521, 521, 521, 61518, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61524, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61530, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61274, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 3938, 0, 0, 3941, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1883, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2876, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 60819, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58999, 57936, 57936, 59001, 57936, 57936, 57936, 57936, 59007, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59519, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59530, 57936, 57936, 57936, 57936, 57936, 59032, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2410, 521, 521, 521, 2259, 57886, 57886, 57886, 57886, 59608, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 2272, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2408, 521, 521, 521, 521, 521, 521, 521, 521, 2416, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1397, 521, 521, 521, 521, 521, 57886, 59893, 57886, 59895, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59916, 57909, 57909, 57909, 57909, 59920, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59958, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59971, 57909, 57909, 57909, 57909, 57909, 59975, 59976, 59977, 57909, 57909, 57909, 57909, 57909, 57909, 59982, 57909, 59984, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59999, 57936, 57936, 57936, 57936, 60003, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60683, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3369, 521, 57886, 60716, 57886, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 60065, 57936, 60067, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 0, 0, 0, 0, 3622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 415, 0, 0, 0, 0, 0, 60285, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 0, 0, 0, 1156, 1157, 1158, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 57909, 57909, 57909, 60310, 57909, 60311, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59460, 57909, 57909, 57909, 57909, 57909, 59467, 57909, 521, 521, 3191, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3204, 521, 521, 521, 521, 521, 521, 521, 3210, 57886, 57886, 57886, 60582, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60596, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60606, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 60617, 57909, 57909, 57909, 57909, 57909, 57909, 60624, 57909, 57886, 60602, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2962, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61182, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58975, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58990, 57909, 57909, 57909, 57909, 60651, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60680, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60694, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61273, 57936, 61275, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1878, 1879, 521, 521, 521, 521, 1886, 521, 521, 521, 521, 521, 521, 521, 521, 1337, 521, 1342, 521, 521, 1346, 521, 521, 1349, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1380, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1396, 521, 521, 521, 521, 521, 57936, 57936, 57936, 57936, 57936, 60700, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 3768, 0, 0, 0, 0, 57909, 61073, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60030, 57936, 57936, 57936, 57936, 57936, 0, 521, 521, 521, 521, 521, 521, 3953, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61312, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2557, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59466, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61328, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61344, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61382, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61396, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61080, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61090, 57936, 57936, 57936, 57936, 61410, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2265, 1706, 2266, 0, 0, 0, 0, 2268, 1713, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 330, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 1842, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 1851, 1852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, 455, 468, 468, 468, 481, 481, 481, 481, 492, 494, 481, 481, 492, 481, 503, 503, 503, 503, 518, 503, 503, 503, 518, 503, 503, 503, 503, 503, 503, 526, 57892, 526, 57892, 526, 526, 57892, 526, 526, 57915, 57892, 526, 526, 57892, 57892, 57892, 57915, 57892, 57892, 57892, 57892, 57892, 57892, 57892, 57915, 57915, 57892, 57892, 57942, 57892, 57892, 57892, 57892, 57892, 57892, 57892, 57942, 57942, 57892, 57892, 57892, 57892, 57942, 57942, 57892, 526, 57892, 57892, 57892, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 2310144, 2310144, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 651, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 677, 678, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 700, 701, 0, 0, 0, 0, 0, 707, 0, 0, 0, 0, 0, 3141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 0, 0, 0, 711, 0, 713, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 765, 766, 0, 0, 0, 0, 0, 0, 0, 2308, 0, 0, 0, 0, 2313, 2314, 0, 0, 2316, 2317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270336, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 305, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 775, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 794, 0, 797, 0, 0, 0, 0, 0, 0, 777, 0, 789, 0, 803, 0, 0, 0, 0, 797, 809, 0, 0, 0, 0, 0, 809, 809, 812, 0, 0, 0, 777, 0, 0, 0, 0, 0, 821, 0, 0, 0, 0, 0, 0, 806, 0, 0, 806, 0, 0, 0, 0, 0, 806, 806, 0, 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 822, 782, 0, 0, 0, 0, 0, 775, 0, 0, 0, 821, 521, 521, 835, 521, 841, 521, 521, 856, 521, 521, 867, 521, 872, 521, 521, 881, 884, 889, 521, 897, 521, 57886, 57886, 57886, 57886, 57886, 57886, 60291, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 58254, 57886, 58260, 57886, 57886, 58275, 57886, 57886, 58286, 57886, 58291, 57886, 57886, 58300, 58303, 58308, 57886, 58316, 57886, 0, 57909, 57909, 57909, 58330, 57909, 58336, 57909, 57909, 58351, 57909, 57909, 58362, 57909, 58367, 57909, 57909, 58376, 58379, 58384, 57909, 58392, 57909, 0, 0, 0, 0, 58291, 57936, 57936, 57936, 58405, 57936, 58411, 57936, 57936, 58426, 57936, 57936, 58437, 57936, 58442, 57936, 57936, 58451, 58454, 58459, 57936, 58467, 57936, 835, 521, 521, 1129, 889, 521, 0, 57886, 58254, 57886, 58479, 58308, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2326528, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 1153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1051, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6299648, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1235, 0, 0, 1187, 0, 0, 0, 0, 0, 3434, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3451, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59827, 57886, 57886, 57886, 57886, 59831, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58801, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58810, 57886, 57886, 58812, 57886, 57886, 57886, 57886, 58817, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61388, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61402, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5857280, 0, 6463488, 4939776, 0, 0, 5455872, 0, 0, 0, 0, 0, 0, 0, 0, 6062080, 6463488, 0, 5398528, 0, 521, 521, 521, 521, 1328, 521, 521, 521, 521, 521, 521, 1343, 521, 521, 521, 1348, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1365, 521, 1407, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58767, 57886, 57886, 57886, 57886, 57886, 57886, 58782, 57886, 57886, 57886, 58787, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58839, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 58855, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58869, 57909, 57909, 57909, 58877, 57909, 57909, 57909, 58882, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58899, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58419, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59003, 57936, 59005, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59018, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60704, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 57936, 58956, 57936, 57936, 57936, 57936, 57936, 57936, 58971, 57936, 57936, 57936, 58976, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 2741, 0, 57936, 58993, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59009, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59025, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61101, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 691, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 57936, 57936, 57936, 59036, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 1719, 0, 1721, 0, 0, 0, 0, 0, 3621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3632, 0, 0, 0, 3635, 3636, 0, 0, 0, 0, 0, 0, 393678, 0, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 0, 393678, 393678, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1770, 0, 0, 0, 0, 0, 1776, 0, 0, 1779, 0, 1781, 0, 0, 0, 0, 0, 0, 3642, 0, 3644, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2854, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1943, 1944, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 1787, 1788, 0, 0, 0, 0, 0, 0, 0, 0, 1797, 1798, 0, 0, 0, 0, 0, 0, 1804, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 888, 521, 521, 521, 521, 57886, 57886, 57886, 1810, 1811, 1812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1830, 1831, 0, 1832, 1833, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3395, 0, 0, 3397, 0, 0, 0, 0, 0, 0, 0, 0, 1863, 1721, 1721, 1865, 521, 1867, 521, 1868, 1869, 521, 1871, 521, 521, 521, 1875, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1888, 521, 521, 521, 521, 1892, 521, 521, 521, 521, 1896, 521, 1898, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1908, 1909, 1911, 521, 521, 521, 521, 521, 521, 521, 1919, 1920, 521, 1922, 521, 521, 521, 521, 521, 521, 521, 521, 3667, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60611, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60622, 57909, 60625, 521, 1925, 1926, 521, 521, 521, 521, 521, 521, 521, 1934, 521, 1936, 521, 1939, 521, 521, 521, 521, 521, 1946, 521, 521, 1948, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3197, 3198, 521, 521, 521, 521, 3201, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3206, 521, 521, 521, 3209, 521, 521, 58754, 0, 59307, 57886, 59309, 57886, 59310, 57886, 59312, 57886, 59314, 57886, 57886, 57886, 59318, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59331, 57886, 57886, 57886, 57886, 59335, 57886, 1, 24578, 3, 155941, 156275, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 59339, 57886, 59341, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59351, 59352, 59354, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59362, 59363, 57886, 59365, 57886, 57886, 57886, 57886, 57886, 58799, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58829, 59368, 59369, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59377, 57886, 59379, 57886, 59382, 57886, 57886, 57886, 57886, 57886, 59390, 57886, 57886, 59392, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2558, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60371, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 60377, 57936, 57936, 57936, 57936, 50657, 0, 59407, 57909, 59409, 57909, 59410, 57909, 59412, 57909, 59414, 57909, 57909, 57909, 59418, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59431, 57909, 57909, 57909, 57909, 59435, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58916, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 1335, 521, 521, 521, 521, 58774, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 1709, 0, 0, 0, 0, 1716, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3882, 521, 3884, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59847, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60277, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 59439, 57909, 59441, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59451, 59452, 59454, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59462, 59463, 57909, 59465, 57909, 57909, 59468, 59469, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59477, 57909, 59479, 57909, 59482, 57909, 57909, 57909, 57909, 57909, 59490, 57909, 57909, 59492, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 57886, 60290, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60299, 57886, 57886, 57886, 60302, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 59503, 57936, 59505, 57936, 59506, 57936, 59508, 57936, 59510, 57936, 57936, 57936, 59514, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59527, 57936, 57936, 57936, 57936, 59531, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 1707, 0, 0, 0, 0, 1714, 0, 0, 0, 0, 0, 0, 0, 0, 3170, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3182, 521, 3185, 521, 521, 521, 521, 59535, 57936, 59537, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59547, 59548, 59550, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59558, 59559, 57936, 57936, 59561, 57936, 57936, 59564, 59565, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59573, 57936, 59575, 57936, 59578, 57936, 57936, 57936, 57936, 57936, 59586, 57936, 57936, 59588, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 1926, 521, 2258, 521, 57886, 59369, 57886, 59607, 57886, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2276, 0, 0, 2279, 2280, 0, 0, 0, 2284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2790, 0, 0, 0, 0, 2303, 0, 0, 0, 0, 2307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2323, 0, 0, 0, 0, 2327, 0, 0, 0, 0, 0, 3873, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58803, 57886, 57886, 57886, 57886, 58808, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58816, 57886, 57886, 57886, 58823, 58825, 57886, 57886, 57886, 0, 2356, 0, 0, 0, 0, 0, 0, 0, 0, 2365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 875, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 2412, 521, 2414, 521, 521, 521, 521, 521, 521, 521, 2420, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1357, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2441, 2442, 521, 521, 521, 521, 521, 521, 2449, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1383, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1400, 521, 521, 521, 2463, 521, 521, 2466, 2467, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59833, 57886, 59835, 57886, 57886, 57886, 57886, 57886, 57886, 60585, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60599, 57886, 57886, 57886, 57886, 57886, 59843, 57886, 59845, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59851, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60300, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 59896, 57886, 57886, 59899, 59900, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59922, 57909, 57909, 57909, 57909, 57909, 57909, 58388, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 3862, 0, 0, 3865, 0, 0, 0, 0, 3627, 0, 0, 59924, 57909, 57909, 57909, 57909, 57909, 57909, 59932, 57909, 59934, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59940, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 59991, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60707, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 60007, 57936, 57936, 57936, 57936, 57936, 57936, 60015, 57936, 60017, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60023, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 0, 521, 2868, 521, 521, 521, 521, 2872, 521, 521, 521, 2877, 521, 521, 521, 521, 521, 521, 521, 521, 2885, 521, 521, 521, 521, 521, 521, 521, 2890, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 59820, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58811, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60259, 57886, 60261, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60278, 57886, 57886, 57886, 57886, 60282, 57886, 57886, 57886, 57886, 57886, 60605, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60319, 57909, 57909, 57909, 57909, 57909, 60324, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 60287, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60295, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60301, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60314, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60326, 57909, 60328, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60365, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61082, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 60362, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60368, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60379, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58959, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58978, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58988, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58960, 58967, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58980, 57936, 58982, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60417, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60424, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60410, 57936, 57936, 57936, 57936, 60414, 57936, 57936, 57936, 60419, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60427, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 3103, 0, 0, 3106, 3107, 0, 0, 3110, 3111, 60433, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278528, 0, 0, 0, 0, 0, 0, 3167, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3189, 60580, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60593, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60600, 57909, 57909, 57909, 60629, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60642, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58925, 57909, 57909, 57909, 57909, 57909, 58933, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57909, 57909, 60649, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60678, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60691, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60044, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 3937, 0, 3939, 0, 0, 0, 0, 0, 3627, 3943, 0, 3945, 57936, 57936, 57936, 60698, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 2368, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2398, 521, 521, 2401, 521, 521, 521, 521, 521, 521, 2409, 521, 521, 3403, 0, 0, 0, 0, 3405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3419, 0, 0, 0, 0, 3424, 3425, 0, 3427, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 1314, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3452, 521, 521, 521, 521, 3430, 0, 0, 0, 3433, 521, 521, 521, 521, 521, 521, 3440, 521, 521, 521, 521, 521, 3444, 521, 521, 521, 521, 521, 521, 521, 3450, 521, 521, 521, 521, 521, 3456, 60828, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60834, 57886, 57886, 57886, 57886, 57886, 60840, 57886, 57886, 60843, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60850, 60852, 57886, 57886, 57886, 57886, 57886, 57886, 58282, 58284, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58327, 57909, 57909, 57909, 57909, 57909, 57909, 58358, 58360, 57909, 60856, 57886, 60858, 60859, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 60866, 57909, 57909, 57909, 57909, 57909, 60870, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60876, 57909, 57909, 57909, 57909, 57909, 60882, 57909, 57909, 60885, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60892, 60894, 57909, 57909, 57909, 57909, 60898, 57909, 60900, 60901, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 60908, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61200, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3866, 3867, 0, 3627, 0, 3871, 57936, 57936, 60912, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60918, 57936, 57936, 57936, 57936, 57936, 60924, 57936, 57936, 60927, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60934, 60936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59000, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59020, 57936, 57936, 57936, 57936, 57936, 59028, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59542, 57936, 57936, 57936, 59546, 57936, 57936, 59551, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60048, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60940, 57936, 60942, 60943, 57936, 521, 521, 3602, 57886, 57886, 60949, 0, 0, 0, 0, 0, 0, 3611, 0, 0, 3614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 3649, 3650, 521, 521, 521, 521, 3654, 3655, 521, 521, 521, 521, 521, 3659, 521, 521, 521, 521, 3662, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 61018, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61023, 57886, 57886, 57886, 57886, 57886, 57886, 60833, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60841, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60855, 57909, 57909, 57909, 57909, 57909, 57909, 61052, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61063, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61071, 57909, 57909, 57909, 57909, 57909, 57909, 58914, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58930, 57909, 57909, 57909, 57909, 57909, 57909, 58941, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 303104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 61240, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61256, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 61076, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61081, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61092, 57886, 57886, 57886, 61440, 57886, 61442, 57886, 57886, 57886, 57886, 61447, 61448, 61449, 61450, 57909, 57909, 57909, 61453, 57909, 61455, 57909, 57909, 57909, 57909, 61460, 61461, 61462, 61463, 57936, 57936, 57936, 61466, 57936, 61468, 57936, 57936, 57936, 57936, 61473, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61031, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 61392, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 61406, 57936, 57936, 57936, 61535, 57936, 0, 0, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 521, 521, 521, 4198, 521, 57886, 57886, 57886, 57886, 61546, 57886, 57909, 57909, 57909, 57909, 61550, 57909, 57936, 57936, 57936, 57936, 61554, 57936, 0, 371, 371, 0, 429, 131072, 371, 429, 429, 332, 371, 429, 0, 0, 429, 449, 429, 0, 0, 0, 429, 488, 488, 488, 493, 488, 488, 488, 493, 488, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 527, 57893, 527, 57893, 527, 527, 57893, 527, 527, 57916, 57893, 527, 527, 57893, 57893, 57893, 57916, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57893, 57893, 57943, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57943, 57943, 57893, 57893, 57893, 57893, 57943, 57943, 57893, 527, 57893, 57893, 57893, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 4399798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 521, 828, 521, 521, 521, 521, 521, 521, 860, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 58246, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 2839, 521, 521, 521, 521, 521, 521, 1326, 521, 521, 521, 521, 521, 1338, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2430, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58765, 57886, 57886, 57886, 57886, 57886, 58777, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59381, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61041, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 58954, 57936, 57936, 57936, 57936, 57936, 58966, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 3375, 0, 0, 0, 57909, 57909, 57909, 59954, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60355, 57909, 57909, 57909, 57936, 57936, 57936, 60037, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59026, 57936, 57936, 57936, 0, 0, 4212, 521, 521, 521, 61558, 57886, 57886, 57886, 61560, 57909, 57909, 57909, 61562, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 521, 521, 3793, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60607, 57886, 57886, 60610, 57886, 57886, 60613, 0, 0, 60614, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60637, 60638, 57909, 57909, 57909, 57909, 60641, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60647, 0, 0, 0, 430, 131072, 0, 430, 430, 0, 0, 430, 439, 0, 430, 0, 430, 469, 469, 469, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 528, 57894, 528, 57894, 528, 528, 57894, 528, 528, 57917, 57894, 528, 528, 57894, 57894, 57894, 57917, 57894, 57894, 57894, 57894, 57894, 57894, 57894, 57917, 57917, 57894, 57894, 57944, 57894, 57894, 57894, 57894, 57894, 57894, 57894, 57944, 57944, 57894, 57894, 57894, 57894, 57944, 57944, 57894, 528, 57894, 57894, 57894, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 58754, 1961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 2561, 0, 50657, 2061, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59950, 57909, 57909, 2302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2326, 0, 0, 0, 0, 0, 1213, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 420, 0, 0, 0, 0, 0, 2385, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1949, 521, 521, 521, 521, 521, 521, 521, 0, 3138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 1750, 0, 0, 521, 521, 521, 3213, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58868, 57909, 0, 0, 3404, 0, 0, 0, 0, 0, 3407, 0, 3409, 0, 0, 3412, 0, 0, 0, 0, 0, 3417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 4399797, 4399797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3460, 521, 521, 521, 521, 521, 521, 521, 521, 3468, 521, 521, 3471, 521, 521, 521, 60818, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58296, 57886, 57886, 57886, 57886, 58314, 57886, 57886, 0, 57909, 57909, 58325, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 60857, 57886, 57886, 57886, 60860, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60877, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59959, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 60664, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 60887, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60896, 57909, 57909, 60899, 57909, 57909, 57909, 60902, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4089, 521, 57886, 57886, 57886, 60938, 57936, 57936, 60941, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3615, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3159, 3160, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3663, 521, 3665, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 61017, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59850, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59857, 57886, 59859, 57886, 59862, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61029, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61035, 57886, 61037, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 61046, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58917, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58934, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 58949, 57936, 61093, 57936, 61095, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 3791, 521, 521, 521, 521, 521, 521, 521, 521, 3797, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58804, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58819, 57886, 57886, 57886, 57886, 57886, 57886, 61153, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61159, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61172, 57909, 57909, 57909, 57909, 57909, 57909, 58915, 57909, 57909, 58922, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58936, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 1336, 521, 521, 521, 521, 58775, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 0, 1711, 0, 0, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 1247, 1248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3630, 0, 0, 0, 0, 0, 0, 0, 3637, 0, 0, 57936, 57936, 57936, 57936, 57936, 61197, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 521, 521, 521, 521, 0, 0, 0, 0, 683, 684, 0, 0, 0, 0, 689, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 57896, 530, 57896, 530, 530, 57896, 530, 530, 57919, 57896, 530, 530, 57896, 57896, 57896, 57919, 57886, 58258, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58317, 0, 57909, 57909, 57909, 57909, 58334, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59481, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 57936, 57936, 57936, 58468, 521, 839, 521, 521, 521, 898, 0, 58258, 57886, 57886, 57886, 57886, 58317, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6299648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5808128, 0, 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3647, 521, 521, 521, 521, 521, 521, 521, 3652, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2421, 521, 521, 521, 2424, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2895, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60842, 57886, 60844, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 1839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1307, 1308, 0, 0, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 1319, 521, 521, 521, 1958, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 412, 139264, 147456, 0, 0, 0, 421, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 2773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3634, 0, 0, 0, 0, 0, 0, 424, 424, 0, 0, 131072, 424, 0, 0, 0, 424, 0, 440, 0, 0, 424, 334, 470, 470, 470, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 504, 512, 512, 512, 512, 519, 512, 512, 512, 519, 512, 512, 512, 512, 512, 512, 529, 57895, 529, 57895, 529, 529, 57895, 529, 529, 57918, 57895, 529, 529, 57895, 57895, 57895, 57918, 57895, 57895, 57895, 57895, 57895, 57895, 57895, 57918, 57918, 57895, 57895, 57945, 57895, 57895, 57895, 57895, 57895, 57895, 57895, 57945, 57945, 57895, 57895, 57895, 57895, 57945, 57945, 57895, 529, 57895, 57895, 57895, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 0, 0, 1744, 1745, 1746, 0, 1748, 1749, 0, 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 842, 521, 851, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 899, 57886, 57886, 57886, 57886, 57886, 57886, 61244, 57886, 57886, 57886, 61248, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61254, 57909, 57909, 57909, 57909, 57909, 57909, 61260, 57909, 57909, 57909, 61264, 57909, 57936, 57886, 57886, 58261, 57886, 58270, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58318, 0, 57909, 57909, 57909, 57909, 57909, 58337, 57909, 58346, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58887, 58889, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60661, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60669, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58469, 521, 521, 521, 521, 1130, 899, 0, 57886, 57886, 57886, 57886, 58480, 58318, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 1765, 1766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2319, 2320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 1331, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1350, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1360, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59825, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59837, 57886, 57886, 521, 1408, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58770, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58789, 57886, 57886, 57886, 57886, 57886, 57886, 59342, 59343, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59360, 57886, 57886, 57886, 57886, 57886, 59367, 57886, 57886, 58833, 57886, 57886, 57886, 57886, 57886, 58840, 57886, 57886, 57886, 58847, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58865, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58919, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60042, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 3370, 57886, 57886, 60717, 0, 0, 0, 0, 0, 57936, 57936, 57936, 59037, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1796, 0, 0, 0, 0, 0, 0, 0, 1803, 0, 1805, 0, 0, 0, 1807, 0, 739, 0, 0, 0, 0, 1838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1836, 1924, 521, 521, 521, 521, 521, 521, 521, 521, 1933, 521, 521, 521, 521, 521, 521, 1942, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1952, 1954, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59861, 57886, 57886, 57886, 57886, 57886, 57886, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59328, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61033, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59428, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58397, 57936, 57936, 57936, 57936, 57936, 57936, 58430, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59572, 57936, 57936, 57936, 57936, 57936, 57936, 59581, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59592, 59594, 57936, 57936, 57936, 57936, 521, 521, 521, 0, 0, 2472, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59885, 57886, 57886, 57886, 57886, 59889, 57886, 57886, 57886, 2329, 0, 0, 0, 0, 0, 0, 0, 0, 2337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3128, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 2465, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 59824, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59836, 57886, 57886, 57886, 57886, 57886, 57886, 61492, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61500, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59583, 59584, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 2255, 521, 59925, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60358, 59953, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59972, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59935, 57909, 59937, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60660, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60671, 57936, 60008, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59598, 521, 521, 60036, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60055, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 4132, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 2769, 0, 0, 2772, 0, 0, 0, 0, 0, 0, 2776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2787, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 319488, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 2797, 0, 0, 0, 0, 0, 0, 0, 2801, 2802, 0, 0, 2805, 0, 0, 2808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2828, 0, 0, 0, 0, 521, 2832, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2878, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1356, 521, 521, 521, 1359, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2873, 521, 521, 521, 521, 521, 521, 2880, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2888, 521, 521, 521, 2891, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60253, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61493, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61501, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60921, 57936, 60923, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60930, 57936, 57936, 60932, 57936, 57936, 57936, 57936, 57936, 0, 0, 57909, 60308, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60331, 57936, 57936, 60407, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60415, 57936, 57936, 57936, 57936, 57936, 57936, 60422, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60431, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59574, 57936, 57936, 57936, 59580, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59590, 57936, 57936, 57936, 57936, 59596, 57936, 57936, 521, 521, 521, 0, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59864, 57886, 57886, 57886, 57936, 60434, 57936, 57936, 57936, 57936, 57936, 57936, 3094, 521, 521, 521, 521, 60441, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 3102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 3646, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3658, 521, 521, 521, 3112, 0, 0, 0, 0, 0, 0, 0, 3116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3130, 3131, 0, 0, 0, 0, 0, 0, 0, 3143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 334, 335, 0, 0, 0, 0, 0, 3211, 521, 521, 521, 521, 521, 521, 521, 3215, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 60567, 57886, 57886, 57886, 57886, 57886, 60572, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61246, 57886, 57886, 57886, 61249, 57909, 57909, 57909, 57909, 61253, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61262, 57909, 57909, 57909, 61265, 60601, 57886, 60603, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60608, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 60616, 57909, 57909, 57909, 57909, 57909, 60621, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60654, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61086, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 60650, 57909, 60652, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60657, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60665, 57936, 57936, 57936, 57936, 57936, 60670, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60041, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60054, 57936, 57936, 57936, 57936, 57936, 60058, 60059, 60060, 57936, 60696, 57936, 57936, 57936, 60699, 57936, 60701, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60706, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 3374, 0, 0, 3377, 3378, 521, 521, 521, 521, 521, 521, 3462, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 60822, 57886, 57886, 57886, 57886, 60826, 57886, 57886, 57886, 57886, 57886, 58835, 57886, 57886, 57886, 57886, 57886, 57886, 58846, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58862, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58394, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 58412, 57936, 58421, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 4085, 521, 4087, 521, 521, 521, 57886, 57886, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60916, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60931, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 3608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 1196, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3619, 3620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3633, 0, 0, 0, 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60825, 57886, 57886, 57886, 57886, 521, 521, 3787, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3798, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61149, 57886, 57886, 57886, 57886, 57886, 58836, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58861, 57909, 57909, 57909, 58870, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61198, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 3777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 4022, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61379, 0, 521, 521, 521, 521, 521, 521, 521, 521, 3955, 521, 3957, 3958, 521, 3960, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61314, 57886, 61316, 61317, 57886, 61319, 57886, 61321, 61488, 57886, 61489, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61496, 57909, 61497, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61504, 57936, 61505, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58961, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59019, 57936, 57936, 59023, 57936, 57936, 57936, 57936, 57936, 59030, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 4224, 61569, 61570, 61571, 521, 521, 521, 521, 521, 521, 521, 1332, 1339, 521, 521, 521, 521, 521, 521, 521, 521, 1352, 521, 1354, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2422, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 60566, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58307, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57896, 57896, 57896, 57896, 57896, 57896, 57896, 57919, 57919, 57896, 57896, 57946, 57896, 57896, 57896, 57896, 57896, 57896, 57896, 57946, 57946, 57896, 57896, 57896, 57896, 57946, 57946, 57896, 530, 57896, 57896, 57896, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2312, 0, 0, 0, 2315, 0, 0, 0, 0, 0, 2321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 58909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 1706, 0, 0, 0, 1712, 1713, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 383, 0, 139264, 147456, 0, 405, 0, 0, 405, 0, 0, 0, 431, 131072, 0, 431, 431, 0, 0, 431, 0, 445, 431, 0, 431, 471, 471, 471, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 531, 57897, 531, 57897, 531, 531, 57897, 531, 531, 57920, 57897, 531, 531, 57897, 57897, 57897, 57920, 57897, 57897, 57897, 57897, 57897, 57897, 57897, 57920, 57920, 57897, 57897, 57947, 57897, 57897, 57897, 57897, 57897, 57897, 57897, 57947, 57947, 57897, 57897, 57897, 57897, 57947, 57947, 57897, 531, 57897, 57897, 57897, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2775, 0, 0, 0, 0, 0, 2780, 0, 2782, 2783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 1271, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 654, 0, 0, 0, 0, 813, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 3645, 521, 521, 521, 3648, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3656, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 733, 654, 0, 0, 521, 829, 521, 521, 521, 844, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 885, 521, 521, 521, 521, 57886, 57886, 58247, 57886, 57886, 57886, 58263, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58304, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58323, 57909, 57909, 57909, 58339, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59987, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 59996, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60391, 57936, 60393, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60022, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60029, 57936, 60031, 57936, 60034, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 58380, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58398, 57936, 57936, 57936, 58414, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60390, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60710, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 58455, 57936, 57936, 57936, 57936, 521, 521, 521, 885, 521, 521, 0, 57886, 57886, 57886, 58304, 57886, 57886, 293, 1138, 0, 0, 1142, 0, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3888, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58841, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60639, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59965, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 1154, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 760, 0, 0, 763, 0, 0, 767, 0, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 58757, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58771, 58778, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58791, 57886, 58793, 57886, 57886, 57886, 57886, 57886, 60831, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60849, 57886, 60851, 57886, 57886, 57886, 57886, 57886, 57886, 58278, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58354, 57909, 57909, 58908, 57909, 58910, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58923, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58938, 57909, 57909, 57909, 0, 57886, 57936, 58946, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60068, 57936, 57936, 60071, 60072, 57936, 2404, 521, 2731, 521, 521, 59835, 57886, 60080, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 0, 0, 0, 0, 4014, 0, 4016, 0, 521, 521, 521, 521, 521, 4021, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61378, 57886, 57936, 59033, 57936, 57936, 57936, 521, 1332, 521, 1389, 521, 521, 58771, 57886, 57886, 58828, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3156, 0, 0, 0, 0, 3161, 0, 0, 0, 3163, 0, 1724, 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2342912, 0, 0, 0, 521, 521, 521, 521, 521, 521, 1930, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1957, 521, 58754, 1961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59321, 59322, 57886, 57886, 57886, 57886, 59329, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 61391, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61405, 57936, 57936, 50657, 2061, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59421, 59422, 57909, 57909, 57909, 57909, 59429, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 741, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59520, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 59473, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59501, 57909, 57886, 57886, 57886, 57886, 57886, 60832, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60847, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58843, 57886, 57886, 57886, 50657, 58754, 977, 57909, 58852, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58866, 58873, 57936, 57936, 57936, 57936, 57936, 59540, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59560, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 59569, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59597, 57936, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59359, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2346, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2397, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61162, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59866, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59878, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59884, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59890, 57886, 57886, 57886, 57886, 57886, 61030, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61036, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61393, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61407, 57909, 57909, 57909, 57909, 59955, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59967, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59973, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60366, 57909, 57909, 57909, 60369, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 60373, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 4083, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57909, 57909, 59979, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60430, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60038, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60050, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60056, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1149, 0, 0, 57936, 57936, 60062, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3109, 0, 0, 60258, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59865, 3164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 3180, 521, 521, 521, 521, 521, 521, 3188, 521, 521, 521, 521, 521, 521, 521, 1333, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2858, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57909, 57909, 60628, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61070, 57909, 57909, 57936, 57936, 57936, 60677, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59027, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61099, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3171, 0, 0, 0, 521, 3175, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 2472, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59349, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61039, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 61441, 57886, 61443, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61454, 57909, 61456, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 3607, 0, 3609, 0, 0, 0, 3613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1733, 0, 0, 0, 1736, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 335872, 0, 0, 61467, 57936, 61469, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 4134, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61485, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59846, 57886, 59848, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60273, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 388, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2351104, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 441, 0, 0, 0, 456, 472, 472, 472, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 532, 57898, 532, 57898, 532, 532, 57898, 532, 532, 57921, 57898, 532, 532, 57898, 57898, 57898, 57921, 57898, 57898, 57898, 57898, 57898, 57898, 57898, 57921, 57921, 57898, 57898, 57948, 57898, 57898, 57898, 57898, 57898, 57898, 57898, 57948, 57948, 57898, 57898, 57898, 57898, 57948, 57948, 57898, 532, 57898, 57898, 57898, 1, 24578, 3, 155941, 156275, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 0, 0, 0, 0, 212992, 212992, 212992, 212992, 212992, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 58264, 57886, 57886, 58280, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58340, 57909, 57909, 58356, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59444, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59464, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58921, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 1722, 0, 1241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 0, 0, 0, 1299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1890, 521, 521, 521, 521, 521, 521, 521, 521, 1372, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1391, 521, 521, 521, 521, 521, 1399, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 59819, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59357, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58772, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58848, 50657, 58754, 977, 58851, 57909, 57909, 57909, 57909, 57909, 58858, 57909, 57909, 57909, 57909, 58864, 57909, 57909, 57909, 58830, 57886, 57886, 57886, 57886, 57886, 58838, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58867, 57909, 57909, 57909, 57909, 57909, 57909, 60631, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60645, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59985, 57909, 57909, 59988, 59989, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60005, 57936, 0, 0, 1755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 339, 0, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59323, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59334, 57886, 57886, 57886, 57886, 57886, 58837, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61058, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61064, 57909, 61066, 57909, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59423, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59434, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61178, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61191, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59541, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59552, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61279, 57936, 57936, 521, 57886, 0, 0, 0, 3940, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 2282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2298, 2299, 0, 0, 0, 0, 0, 0, 0, 3382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 2355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 521, 2413, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2866, 57886, 57886, 57886, 57886, 59844, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58824, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 59928, 57909, 57909, 57909, 57909, 59933, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60011, 57936, 57936, 57936, 57936, 60016, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58985, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 3380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284416, 0, 0, 57886, 60829, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59366, 57886, 57936, 57936, 57936, 60913, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59562, 57936, 57936, 57936, 0, 521, 521, 521, 521, 3951, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 61310, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59875, 57886, 57886, 57886, 57886, 59880, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58859, 57909, 57909, 57909, 58863, 57909, 57909, 58874, 57909, 57909, 57909, 57909, 61326, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61342, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59004, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60689, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61508, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 521, 1333, 521, 521, 1698, 521, 58772, 57886, 57886, 57886, 59047, 57886, 1138, 0, 0, 1708, 0, 0, 0, 0, 1715, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3883, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59344, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59364, 57886, 57886, 57886, 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 341, 295, 0, 0, 0, 0, 0, 4013, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4027, 521, 521, 4029, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59376, 57886, 57886, 57886, 57886, 57886, 57886, 59385, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59396, 59398, 57886, 57886, 57886, 57886, 0, 0, 0, 389, 390, 392, 342, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 341, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 639, 748, 749, 750, 0, 0, 0, 0, 0, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 769, 770, 0, 772, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 389, 0, 0, 0, 0, 0, 342, 389, 0, 0, 0, 139264, 147456, 0, 0, 0, 422, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 245760, 0, 0, 245760, 245760, 245760, 0, 0, 0, 0, 0, 245760, 0, 245760, 245760, 0, 0, 0, 245760, 245760, 0, 0, 245760, 0, 0, 0, 0, 131072, 0, 0, 0, 341, 0, 0, 0, 446, 0, 341, 0, 473, 473, 473, 473, 489, 489, 489, 489, 489, 489, 489, 489, 489, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 533, 57899, 533, 57899, 533, 533, 57899, 533, 533, 57922, 57899, 533, 533, 57899, 57899, 57899, 57922, 57899, 57899, 57899, 57899, 57899, 57899, 57899, 57922, 57922, 57899, 57935, 57949, 57935, 57935, 57935, 57935, 57935, 57935, 57935, 57949, 57949, 57935, 57935, 57935, 57935, 57949, 57949, 57935, 533, 57899, 57899, 57899, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 344064, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 802, 0, 660, 0, 779, 0, 0, 0, 0, 0, 779, 802, 0, 802, 800, 0, 0, 0, 814, 0, 0, 0, 656, 817, 0, 779, 0, 0, 0, 0, 0, 823, 0, 0, 0, 0, 783, 656, 827, 0, 521, 830, 521, 521, 521, 846, 521, 521, 862, 521, 521, 521, 521, 876, 521, 521, 521, 521, 894, 521, 521, 57886, 57886, 58248, 57886, 57886, 57886, 58265, 57886, 57886, 58281, 57886, 57886, 57886, 57886, 58295, 57886, 57886, 57886, 57886, 58313, 57886, 57886, 0, 57909, 57909, 58324, 57909, 57909, 57909, 58341, 57909, 57909, 58357, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59476, 57909, 57909, 57909, 57909, 57909, 57909, 59485, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59496, 59498, 57909, 57909, 57909, 57909, 57886, 57909, 57909, 58371, 57909, 57909, 57909, 57909, 58389, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58399, 57936, 57936, 57936, 58416, 57936, 57936, 58432, 57936, 57936, 57936, 57936, 58446, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60412, 57936, 57936, 60416, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60425, 57936, 57936, 57936, 60428, 60429, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 1143, 0, 0, 1148, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3881, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58802, 57886, 57886, 57886, 58806, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2962, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60623, 57909, 57936, 57936, 58464, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 1816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 1274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 57906, 540, 57906, 540, 540, 57906, 540, 540, 57929, 57906, 540, 540, 57906, 57906, 57906, 57929, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58773, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59348, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59361, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58797, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58821, 57886, 57886, 57886, 57886, 57886, 57886, 59374, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59386, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59397, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61444, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61457, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3095, 521, 521, 521, 57886, 60442, 57886, 57886, 57886, 0, 0, 3100, 3101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 3776, 0, 0, 0, 0, 3780, 0, 0, 0, 0, 0, 0, 0, 0, 3783, 0, 521, 521, 521, 3785, 0, 0, 0, 0, 1814, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221645, 221645, 221645, 221645, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59316, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59327, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59345, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59356, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59876, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59416, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59427, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58429, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 2440, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2459, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60252, 57886, 57886, 57886, 57886, 57886, 60257, 59892, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 59910, 57909, 59912, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60340, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61060, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59981, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 59993, 57936, 59995, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60686, 60687, 57936, 57936, 57936, 57936, 60690, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60064, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2274, 0, 0, 0, 0, 0, 0, 0, 2820, 0, 0, 0, 0, 2823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61320, 57886, 521, 2842, 521, 521, 2845, 2846, 521, 521, 521, 521, 521, 2851, 521, 2853, 521, 521, 521, 521, 2857, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2863, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60251, 57886, 57886, 60254, 60255, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60878, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59445, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59456, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61336, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61352, 57936, 521, 521, 521, 521, 521, 2871, 521, 521, 521, 521, 521, 521, 2879, 521, 521, 521, 521, 521, 2884, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1904, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1353, 1355, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 60260, 57886, 60262, 57886, 57886, 57886, 57886, 60266, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60272, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60281, 57886, 57886, 57886, 57886, 57886, 59373, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59401, 57886, 57886, 57886, 57886, 57886, 60289, 57886, 57886, 57886, 57886, 57886, 60294, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60330, 57909, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60318, 57909, 57909, 60321, 60322, 57909, 57909, 57909, 57909, 57909, 60327, 57909, 60329, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60336, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60342, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60350, 57909, 57909, 57909, 57909, 57909, 57909, 60357, 57909, 57909, 57909, 60333, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60339, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60348, 57909, 57909, 57909, 57909, 57909, 57909, 60356, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60632, 57909, 57909, 60635, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60646, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60889, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 60906, 57936, 57936, 57936, 57936, 60910, 57909, 57909, 57909, 60361, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61192, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60383, 57936, 57936, 60386, 60387, 57936, 57936, 57936, 57936, 57936, 60392, 57936, 60394, 57936, 57936, 57936, 57936, 60398, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60404, 0, 0, 3139, 0, 0, 0, 0, 0, 0, 0, 3145, 0, 3147, 0, 0, 0, 3150, 0, 0, 3153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 450560, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1799, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3174, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2882, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2892, 521, 521, 521, 521, 521, 3192, 521, 521, 3195, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3205, 521, 521, 521, 521, 521, 521, 521, 521, 2443, 521, 521, 521, 521, 2448, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1906, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1940, 521, 521, 521, 521, 521, 521, 1947, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3214, 521, 521, 3217, 521, 521, 3220, 0, 0, 60565, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58302, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 60583, 57886, 57886, 60586, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60597, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59871, 57886, 57886, 57886, 57886, 57886, 59877, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2962, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 3431, 0, 0, 521, 521, 3436, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3453, 521, 3455, 521, 521, 521, 521, 521, 521, 521, 1334, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1358, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2419, 521, 521, 521, 521, 521, 521, 521, 521, 2426, 521, 2428, 521, 2431, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2444, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1392, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3461, 521, 521, 3463, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 60820, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59378, 57886, 57886, 57886, 59384, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59394, 57886, 57886, 57886, 57886, 59400, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 60888, 57909, 57909, 60890, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 60904, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3601, 521, 57886, 60948, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 3664, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61020, 61021, 57886, 57886, 57886, 57886, 61025, 61026, 57909, 57909, 61049, 61050, 57909, 57909, 57909, 57909, 61054, 61055, 57909, 57909, 57909, 57909, 57909, 61059, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61065, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59960, 57909, 57909, 57909, 57909, 57909, 59966, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60341, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60353, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 61094, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 3764, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 2394, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2406, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3792, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59849, 57886, 57886, 57886, 57886, 57886, 57886, 59854, 57886, 59856, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60267, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61163, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 61154, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61173, 57886, 57886, 57886, 57886, 61242, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61258, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 61075, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61087, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 4137, 521, 4138, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 0, 521, 521, 3949, 521, 521, 521, 521, 3954, 521, 521, 521, 521, 3959, 521, 521, 57886, 57886, 61308, 57886, 57886, 57886, 57886, 61313, 57886, 57886, 57886, 57886, 61318, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60873, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58418, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58969, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59012, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59029, 57936, 57909, 57909, 61324, 57909, 57909, 57909, 57909, 61329, 57909, 57909, 57909, 57909, 61334, 57909, 57909, 57909, 57936, 57936, 61340, 57936, 57936, 57936, 57936, 61345, 57936, 57936, 57936, 57936, 61350, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58962, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58986, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 3606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 61384, 57886, 57886, 61386, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61398, 57909, 57909, 61400, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 3600, 521, 521, 60947, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3617, 3618, 0, 0, 57936, 57936, 57936, 57936, 61412, 57936, 57936, 61414, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60872, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59449, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58932, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 61533, 57936, 57936, 57936, 0, 0, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 4195, 521, 521, 521, 521, 57886, 61543, 57886, 57886, 57886, 57886, 57909, 61547, 57909, 57909, 57909, 57909, 57936, 61551, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 521, 4196, 4197, 521, 521, 57886, 57886, 61544, 61545, 57886, 57886, 57909, 57909, 61548, 61549, 57909, 57909, 57936, 57936, 61552, 61553, 57936, 57936, 0, 57886, 57909, 57936, 4232, 61577, 61578, 61579, 521, 57886, 57909, 57936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 0, 245760, 245760, 245760, 245760, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 245760, 245760, 245760, 0, 0, 0, 0, 139264, 147456, 245760, 245760, 0, 0, 245760, 0, 0, 0, 245760, 245760, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 245760, 0, 0, 245760, 0, 0, 245760, 0, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0, 348, 347, 131072, 346, 347, 347, 348, 346, 347, 0, 346, 347, 450, 457, 474, 474, 474, 485, 485, 485, 491, 485, 485, 491, 491, 485, 491, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 534, 57900, 534, 57900, 534, 534, 57900, 534, 534, 57923, 57900, 534, 534, 57900, 57900, 57900, 57923, 57900, 57900, 57900, 57900, 57900, 57900, 57900, 57923, 57923, 57900, 57900, 57950, 57900, 57900, 57900, 57900, 57900, 57900, 57900, 57950, 57950, 57900, 57900, 57900, 57900, 57950, 57950, 57900, 534, 57900, 57900, 57900, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, 0, 644, 645, 646, 647, 648, 649, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 666, 0, 668, 669, 0, 0, 0, 0, 0, 675, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1881, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1375, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1914, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 709, 0, 0, 712, 0, 714, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499712, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 302, 305, 0, 306, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 0, 757, 0, 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, 0, 796, 0, 0, 685, 0, 0, 0, 757, 0, 0, 0, 0, 0, 278528, 278528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 685, 816, 816, 0, 0, 0, 0, 0, 521, 521, 836, 840, 843, 521, 852, 521, 521, 521, 868, 870, 873, 521, 521, 521, 886, 890, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60871, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58892, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60372, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58255, 58259, 58262, 57886, 58271, 57886, 57886, 57886, 58287, 58289, 58292, 57886, 57886, 57886, 58305, 58309, 57886, 57886, 57886, 0, 57909, 57909, 57909, 58331, 58335, 58338, 57909, 58347, 57909, 57909, 57909, 58363, 58365, 58368, 57909, 57909, 57909, 58381, 58385, 57909, 57909, 57909, 0, 0, 0, 0, 58396, 57936, 57936, 57936, 58406, 58410, 58413, 57936, 58422, 57936, 57936, 57936, 58438, 58440, 58443, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58963, 57936, 57936, 57936, 57936, 58973, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58989, 57936, 58456, 58460, 57936, 57936, 57936, 836, 1127, 521, 886, 890, 1131, 0, 58476, 58255, 57886, 58305, 58309, 58481, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 540672, 0, 0, 1366, 521, 521, 1370, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1381, 521, 521, 1388, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1402, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60248, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60256, 57886, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58795, 57886, 57886, 57886, 58798, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58805, 57886, 57886, 58809, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58820, 57886, 57886, 58827, 57886, 57886, 57886, 57886, 57886, 59897, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59918, 57909, 57909, 59921, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58885, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58898, 57909, 57909, 57909, 57909, 58903, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59480, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 57936, 58994, 57936, 57936, 58998, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59010, 57936, 57936, 59017, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59031, 521, 1894, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1903, 521, 521, 521, 1907, 521, 521, 1912, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2447, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2458, 521, 521, 521, 521, 521, 58754, 0, 57886, 59308, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59315, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61164, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59337, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59346, 57886, 57886, 57886, 59350, 57886, 57886, 59355, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61160, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61168, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 59408, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59415, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59437, 57936, 59504, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59511, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59533, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60681, 57936, 57936, 60684, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60695, 57936, 0, 0, 0, 0, 2305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 352256, 352256, 352256, 521, 521, 521, 2438, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2865, 521, 2794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2381, 2894, 521, 521, 0, 0, 0, 2896, 0, 1961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59393, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2061, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59974, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 60437, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3789, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61146, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61151, 57886, 61239, 57886, 57886, 57886, 57886, 57886, 61245, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 61251, 57909, 57909, 57909, 57909, 61255, 57909, 57909, 57909, 57909, 57909, 61261, 57909, 57909, 57909, 57909, 57936, 0, 0, 4166, 0, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59577, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 3766, 0, 0, 0, 0, 0, 3769, 57936, 57936, 61267, 57936, 57936, 57936, 57936, 61271, 57936, 57936, 57936, 57936, 57936, 61277, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1880, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1891, 521, 0, 521, 521, 521, 521, 521, 3952, 521, 521, 521, 3956, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61311, 57886, 57886, 57886, 61315, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61387, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61401, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60043, 57936, 57936, 57936, 57936, 57936, 60049, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 57909, 57909, 57909, 57909, 57909, 61327, 57909, 57909, 57909, 61331, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 61343, 57936, 57936, 57936, 61347, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61102, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 4228, 61573, 61574, 61575, 521, 57886, 57909, 57936, 521, 57886, 57909, 57936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 395, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 366, 0, 0, 367, 0, 295, 0, 0, 349, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 0, 0, 0, 0, 0, 0, 407, 0, 349, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 3643, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2887, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 535, 57901, 535, 57901, 535, 535, 57901, 535, 535, 57924, 57901, 535, 535, 57901, 57901, 57901, 57924, 57901, 57901, 57901, 57901, 57901, 57901, 57901, 57924, 57924, 57901, 57901, 57951, 57901, 57901, 57901, 57901, 57901, 57901, 57901, 57951, 57951, 57901, 57901, 57901, 57901, 57951, 57951, 57901, 616, 57901, 57967, 57967, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2351104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300, 0, 57909, 57909, 58372, 57909, 57909, 57909, 57909, 58390, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58400, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58447, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60917, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60925, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 3864, 0, 0, 0, 0, 0, 3627, 0, 0, 57936, 57936, 58465, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2325, 0, 0, 0, 0, 1242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 1203, 1161, 0, 0, 0, 0, 0, 0, 1273, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 58760, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58774, 57886, 57886, 57886, 57886, 58784, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59873, 59874, 57886, 57886, 57886, 57886, 57886, 57886, 59881, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58929, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 58879, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58895, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60656, 57909, 57909, 60659, 57909, 57909, 60662, 60663, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 1756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 1785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 2286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 2418, 521, 521, 521, 521, 521, 521, 2423, 521, 2425, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1379, 521, 521, 521, 521, 521, 521, 521, 1393, 521, 521, 521, 521, 521, 521, 521, 521, 1405, 521, 521, 2869, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2435, 2436, 57936, 57936, 57936, 57936, 57936, 57936, 60411, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59529, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 3432, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1398, 521, 521, 521, 521, 521, 0, 3872, 0, 0, 0, 0, 0, 521, 3875, 521, 521, 3877, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 61234, 57886, 57886, 61236, 57886, 57886, 57886, 57886, 57886, 60263, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60279, 57886, 57886, 57886, 57886, 57886, 61266, 57936, 57936, 61268, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 3944, 0, 0, 0, 0, 0, 417792, 0, 417792, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 417792, 0, 417792, 0, 0, 0, 0, 139264, 147456, 417792, 0, 0, 0, 417792, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 417792, 0, 0, 417792, 0, 417792, 418100, 3946, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59383, 57886, 57886, 57886, 57886, 57886, 57886, 59391, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2335231, 2335197, 2335231, 2335231, 57886, 57886, 57886, 58266, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58342, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60891, 57909, 60893, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60019, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60025, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 58754, 1962, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2557, 2962, 0, 0, 50657, 2062, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61068, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60408, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59021, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57886, 61028, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 352, 350, 131072, 0, 350, 350, 352, 0, 350, 0, 0, 350, 352, 350, 0, 0, 0, 350, 350, 350, 350, 350, 350, 350, 350, 498, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 536, 57902, 536, 57902, 536, 536, 57902, 536, 536, 57925, 57902, 536, 536, 57902, 57902, 57902, 57925, 57902, 57902, 57902, 57902, 57902, 57902, 57902, 57925, 57925, 57902, 57902, 57952, 57902, 57902, 57902, 57902, 57902, 57902, 57902, 57952, 57952, 57902, 57902, 57902, 57902, 57952, 57952, 57902, 536, 57902, 57902, 57902, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, 0, 0, 0, 0, 673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 798, 799, 0, 0, 0, 0, 0, 0, 0, 521, 521, 837, 521, 521, 521, 853, 857, 521, 521, 521, 521, 521, 878, 880, 521, 521, 891, 521, 521, 521, 57886, 57886, 58250, 0, 751, 0, 0, 804, 0, 0, 0, 0, 0, 804, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 3879, 521, 521, 521, 521, 521, 521, 3885, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61238, 58256, 57886, 57886, 57886, 58272, 58276, 57886, 57886, 57886, 57886, 57886, 58297, 58299, 57886, 57886, 58310, 57886, 57886, 57886, 0, 57909, 57909, 58326, 58332, 57909, 57909, 57909, 58348, 58352, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61330, 57909, 61332, 61333, 57909, 61335, 57909, 61337, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61346, 57936, 61348, 61349, 57936, 61351, 57936, 61353, 57909, 57909, 58373, 58375, 57909, 57909, 58386, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58401, 58407, 57936, 57936, 57936, 58423, 58427, 57936, 57936, 57936, 57936, 57936, 58448, 58450, 57936, 0, 4165, 0, 4167, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 521, 1695, 521, 1697, 521, 521, 59044, 57886, 57886, 59046, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, 0, 57936, 58461, 57936, 57936, 57936, 837, 521, 880, 521, 891, 521, 0, 57886, 58256, 58299, 57886, 58310, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3396, 0, 0, 0, 0, 0, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 1224, 0, 0, 0, 0, 1229, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 3874, 521, 521, 521, 521, 3878, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3887, 521, 521, 61233, 57886, 57886, 57886, 57886, 61237, 57886, 1406, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 58761, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58792, 58794, 57886, 57886, 57886, 57886, 58273, 58277, 58283, 57886, 58288, 57886, 57886, 57886, 57886, 57886, 58306, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58328, 57909, 57909, 57909, 57909, 58349, 58353, 58359, 57909, 58364, 57886, 58832, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58844, 58845, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 58856, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58415, 57936, 57936, 58431, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 58913, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58927, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58939, 58940, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59512, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59523, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60021, 57936, 57936, 57936, 57936, 57936, 57936, 60026, 57936, 60028, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58950, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58981, 58983, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61202, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3781, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 57936, 59034, 59035, 57936, 57936, 521, 521, 1696, 521, 521, 1699, 57886, 57886, 59045, 57886, 57886, 59048, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 507904, 507904, 507904, 0, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 2837, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1895, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1955, 521, 521, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59313, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58813, 57886, 58815, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58828, 57886, 57886, 57886, 59338, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59399, 57886, 57886, 57886, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59413, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60909, 57936, 57936, 57909, 59438, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59509, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59534, 0, 0, 0, 2332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 2358, 0, 2360, 2361, 2362, 0, 2364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 0, 0, 2377, 2378, 0, 0, 0, 0, 0, 0, 0, 49716, 49716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 327680, 2382, 0, 0, 0, 0, 0, 0, 0, 2388, 521, 521, 521, 521, 521, 521, 2395, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1905, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1918, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2439, 521, 521, 521, 521, 521, 2445, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3801, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 2745, 2746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 367, 0, 0, 0, 521, 521, 2843, 521, 521, 521, 521, 521, 2848, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2864, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60247, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59487, 59488, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 57936, 57936, 57936, 57936, 60384, 57936, 57936, 57936, 57936, 57936, 60389, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59016, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60405, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60033, 57936, 57936, 57936, 57936, 57936, 57936, 61269, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61278, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3446, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1937, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1385, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57936, 61534, 57936, 57936, 4192, 0, 4194, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 4193, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 4211, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 521, 1335, 521, 521, 521, 521, 1345, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1361, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60246, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 59911, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58926, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4825088, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5177344, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 302, 0, 0, 306, 0, 0, 0, 306, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 387, 0, 353, 0, 0, 0, 0, 0, 396, 397, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 557056, 557056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3129, 0, 0, 0, 0, 0, 0, 0, 370, 378, 406, 0, 0, 0, 370, 0, 0, 353, 0, 0, 0, 370, 0, 409, 411, 0, 370, 398, 0, 0, 370, 378, 0, 139264, 147456, 398, 409, 0, 0, 409, 0, 0, 0, 432, 131072, 0, 432, 432, 0, 0, 432, 0, 411, 432, 0, 458, 0, 0, 0, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 508, 508, 508, 508, 520, 508, 508, 508, 520, 508, 508, 508, 508, 508, 508, 537, 57903, 537, 57903, 537, 537, 57903, 537, 537, 57926, 57903, 537, 537, 57903, 57903, 57903, 57926, 57903, 57903, 57903, 57903, 57903, 57903, 57903, 57926, 57926, 57903, 57903, 57953, 57903, 57903, 57903, 57903, 57903, 57903, 57903, 57953, 57953, 57903, 57903, 57903, 57903, 57953, 57953, 57903, 617, 57903, 57968, 57968, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4017, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61374, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 774, 0, 0, 0, 0, 0, 1276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 774, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 774, 0, 793, 0, 521, 832, 521, 521, 521, 521, 521, 521, 863, 865, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 58251, 1151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 1296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1290, 1316, 1317, 0, 1290, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 59822, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 59907, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59915, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 521, 1325, 521, 521, 521, 1329, 521, 521, 1340, 521, 521, 1344, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1363, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 60245, 57886, 57886, 57886, 57886, 60249, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58294, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59483, 57909, 57909, 57909, 57909, 57909, 57909, 59491, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 521, 1367, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2893, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58764, 57886, 57886, 57886, 58768, 57886, 57886, 58779, 57886, 57886, 58783, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60588, 60589, 57886, 57886, 57886, 57886, 60592, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60598, 57886, 57886, 57886, 57909, 57909, 58878, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58897, 57909, 57909, 57909, 58901, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60367, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59515, 57936, 57936, 57936, 57936, 59521, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59532, 57936, 57936, 57936, 57936, 57936, 57936, 58953, 57936, 57936, 57936, 58957, 57936, 57936, 58968, 57936, 57936, 58972, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58991, 57936, 57936, 57936, 58995, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60399, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 1726, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516560, 516560, 516560, 516560, 0, 1786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1808, 0, 0, 0, 0, 0, 5111808, 0, 0, 0, 0, 0, 5283840, 0, 0, 0, 0, 5472256, 5521408, 0, 0, 0, 0, 5595136, 5709824, 5718016, 0, 5824512, 5865472, 0, 0, 5922816, 0, 0, 6021120, 0, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59324, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60837, 57886, 60839, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60846, 57886, 57886, 60848, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59424, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61181, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60047, 57936, 57936, 57936, 57936, 60052, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 59442, 59443, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 60907, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59538, 59539, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59556, 57936, 57936, 57936, 57936, 57936, 57936, 59563, 57936, 57936, 521, 521, 521, 59324, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 318, 0, 0, 0, 0, 0, 2384, 0, 0, 2387, 0, 521, 521, 2390, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 60823, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59867, 59868, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59879, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59891, 57909, 57909, 57909, 57909, 57909, 59956, 59957, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59968, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58891, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59457, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59980, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 59992, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3868, 3627, 0, 0, 57936, 57936, 57936, 57936, 57936, 60039, 60040, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60051, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60705, 57936, 57936, 60708, 57936, 57936, 60711, 3368, 521, 521, 60715, 57886, 57886, 0, 0, 0, 0, 0, 57936, 57936, 57936, 60063, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 2732, 2733, 57886, 57886, 57886, 60081, 60082, 0, 0, 1710, 0, 0, 1717, 0, 0, 0, 0, 0, 1728, 1729, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 361, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 2821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2460, 521, 2462, 57886, 60286, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59919, 57909, 57909, 57909, 57909, 57936, 60406, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60418, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59011, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 3194, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3207, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 59818, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59826, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60590, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 60615, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60648, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60002, 57936, 57936, 57936, 57936, 57936, 60697, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 6152192, 0, 0, 0, 6316032, 0, 196608, 0, 0, 5816320, 6291456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 61097, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 3760, 57886, 57886, 61106, 3763, 0, 0, 0, 0, 3767, 0, 0, 0, 0, 0, 0, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0, 0, 1171, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3788, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 61147, 57886, 57886, 57886, 61150, 57886, 57886, 57886, 57886, 58274, 57886, 57886, 57886, 57886, 57886, 58293, 57886, 57886, 57886, 57886, 58311, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58350, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59478, 57909, 57909, 57909, 59484, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59494, 57909, 57909, 57909, 57909, 59500, 57909, 57909, 57886, 57886, 57886, 57886, 61241, 57886, 61243, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61257, 57909, 61259, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61074, 57936, 57936, 57936, 61077, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61085, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59516, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59528, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61470, 57936, 57936, 57936, 0, 4130, 0, 0, 0, 0, 0, 521, 521, 4135, 521, 4136, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 61486, 57886, 61487, 57886, 57886, 57886, 57886, 59340, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59353, 57886, 57886, 57886, 59358, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59914, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60709, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 475, 475, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 509, 513, 513, 513, 513, 509, 513, 513, 513, 509, 513, 513, 513, 513, 513, 513, 538, 57904, 538, 57904, 538, 538, 57904, 538, 538, 57927, 57904, 538, 538, 57904, 57904, 57904, 57927, 57904, 57904, 57904, 57904, 57904, 57904, 57904, 57927, 57927, 57904, 57904, 57954, 57904, 57904, 57904, 57904, 57904, 57904, 57904, 57954, 57954, 57904, 57904, 57904, 57904, 57954, 57954, 57904, 618, 57904, 57969, 57969, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 521, 521, 1320, 521, 1323, 0, 680, 681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 702, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3876, 521, 521, 521, 521, 3880, 521, 521, 521, 521, 521, 3886, 521, 521, 521, 57886, 57886, 57886, 61235, 57886, 57886, 57886, 658, 0, 637, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, 795, 0, 0, 0, 0, 0, 0, 637, 0, 0, 781, 521, 833, 521, 521, 521, 521, 854, 858, 864, 521, 869, 521, 521, 521, 521, 521, 887, 521, 521, 521, 521, 57886, 57886, 58252, 0, 790, 0, 795, 0, 781, 0, 807, 0, 0, 0, 0, 807, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, 1277, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 58382, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58403, 57936, 57936, 57936, 57936, 58424, 58428, 58434, 57936, 58439, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 1142, 0, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 310, 0, 310, 311, 0, 310, 310, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 408, 311, 0, 0, 0, 0, 0, 0, 311, 413, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 58457, 57936, 57936, 57936, 57936, 521, 521, 521, 887, 521, 521, 0, 57886, 57886, 57886, 58306, 57886, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 2336, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292, 2293, 0, 2295, 2296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 1183, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, 0, 708, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 1251, 0, 0, 0, 0, 0, 1256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 1275, 0, 0, 1152, 0, 0, 0, 1281, 0, 1283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 2393, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2405, 521, 521, 521, 521, 521, 521, 0, 1297, 1256, 0, 1281, 1300, 0, 1303, 0, 0, 0, 1183, 0, 0, 0, 0, 1311, 0, 0, 0, 0, 0, 1311, 0, 0, 1202, 1311, 1318, 521, 521, 521, 521, 521, 521, 0, 0, 0, 2473, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61043, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 1324, 521, 521, 521, 521, 1330, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1351, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1364, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 60243, 57886, 60244, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 521, 521, 1369, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1377, 521, 521, 521, 1384, 1386, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2881, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3202, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3208, 521, 521, 521, 521, 1409, 58754, 901, 58756, 57886, 57886, 57886, 57886, 57886, 58763, 57886, 57886, 57886, 57886, 58769, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58790, 57886, 57886, 57886, 57886, 57886, 57886, 59870, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58818, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 58911, 57909, 57909, 57909, 58918, 58920, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58943, 0, 58944, 58945, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59543, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58984, 57936, 57936, 57936, 58987, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58952, 57936, 57936, 57936, 57936, 58958, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58979, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58992, 57936, 57936, 57936, 57936, 58997, 57936, 57936, 57936, 57936, 57936, 59002, 57936, 57936, 57936, 59006, 57936, 57936, 57936, 59013, 59015, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60922, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60395, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59038, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 1710, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 1783, 1784, 0, 0, 0, 0, 1840, 1841, 0, 0, 0, 1844, 0, 0, 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 581632, 581632, 0, 1862, 0, 1864, 1840, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1876, 521, 521, 521, 521, 1882, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2850, 521, 2852, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2427, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1893, 521, 521, 521, 521, 1897, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1910, 521, 521, 521, 1915, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2849, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2429, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59319, 57886, 57886, 57886, 57886, 59325, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59336, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59419, 57909, 57909, 57909, 57909, 59425, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59436, 57909, 57909, 57909, 57909, 57909, 57909, 60653, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61091, 57936, 57909, 57909, 57909, 59440, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59453, 57909, 57909, 57909, 59458, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59936, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59942, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 59536, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59549, 57936, 57936, 57936, 59554, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 2730, 521, 521, 521, 57886, 60079, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 2257, 521, 521, 59604, 57886, 59606, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2277, 2278, 0, 0, 0, 0, 0, 5210112, 0, 5365760, 0, 5554176, 5570560, 5578752, 0, 5668864, 0, 0, 5791744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6201344, 6242304, 6250496, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3443, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1382, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 2383, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2403, 521, 521, 2407, 521, 521, 521, 2411, 57886, 57886, 59842, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59852, 57886, 57886, 57886, 59855, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60609, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 60618, 57909, 60619, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 59894, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 2561, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59923, 57909, 57909, 59927, 57909, 57909, 57909, 59931, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59941, 57909, 57909, 57909, 59944, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61180, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 61186, 57936, 57936, 57936, 61190, 57936, 57936, 57936, 57936, 57936, 59978, 57909, 57909, 57909, 57909, 57909, 59983, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60006, 57936, 57936, 60010, 57936, 57936, 57936, 60014, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60024, 57936, 57936, 57936, 60027, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 4076, 0, 4078, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 60061, 57936, 57936, 57936, 57936, 57936, 60066, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2273, 0, 0, 0, 0, 0, 0, 0, 0, 2743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2826, 0, 0, 0, 0, 0, 0, 521, 521, 2833, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3465, 3467, 521, 521, 521, 3470, 521, 3472, 3473, 521, 57886, 57886, 57886, 57886, 57886, 57886, 60824, 57886, 57886, 57886, 57886, 57886, 2841, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2856, 521, 521, 521, 521, 2859, 521, 521, 2861, 521, 2862, 521, 521, 521, 521, 521, 521, 0, 0, 2472, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59834, 57886, 57886, 59838, 57886, 521, 521, 521, 521, 2870, 521, 521, 2874, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2883, 521, 521, 521, 2886, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3669, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58860, 57909, 57909, 57909, 57909, 57909, 58872, 0, 0, 57909, 57909, 60309, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60317, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61183, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60420, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59008, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59022, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 60332, 57909, 57909, 57909, 57909, 60335, 57909, 57909, 60337, 57909, 60338, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60347, 57909, 57909, 60351, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60655, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 60666, 57936, 57936, 57936, 57936, 57936, 57936, 60673, 57909, 57909, 60360, 57909, 57909, 57909, 60363, 60364, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 60374, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 3096, 521, 521, 57886, 57886, 60443, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 450560, 0, 0, 57936, 57936, 57936, 60382, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60397, 57936, 57936, 57936, 57936, 60400, 57936, 57936, 60402, 57936, 60403, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61272, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 3942, 3627, 0, 0, 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 0, 379, 381, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1885, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3794, 521, 521, 521, 3795, 3796, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2559, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60325, 57909, 57909, 57909, 57909, 57909, 57909, 3190, 521, 521, 521, 3193, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1917, 521, 521, 521, 521, 521, 57886, 60581, 57886, 57886, 57886, 60584, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60594, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60838, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2561, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60630, 57909, 57909, 57909, 60633, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60643, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58417, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60920, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 60674, 57936, 57936, 57936, 57936, 60679, 57936, 57936, 57936, 60682, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60692, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 4072, 4073, 0, 0, 0, 0, 0, 4079, 4080, 4081, 521, 521, 521, 4084, 521, 4086, 521, 521, 521, 521, 61435, 61436, 61437, 3457, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3469, 521, 521, 521, 521, 521, 57886, 57886, 57886, 60821, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60587, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60595, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2560, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60640, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60883, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60897, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60905, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61201, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3784, 521, 521, 521, 57936, 60939, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 3610, 0, 0, 0, 0, 0, 0, 0, 3616, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, 2824, 2782, 0, 0, 0, 0, 0, 2829, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 2838, 521, 521, 521, 521, 521, 0, 0, 0, 3640, 3641, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3651, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3671, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60612, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60620, 57909, 57909, 57909, 57909, 521, 3661, 521, 521, 521, 521, 521, 3666, 521, 3668, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61022, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60292, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60303, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 57909, 57909, 57909, 57909, 61051, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61061, 57909, 57909, 57909, 57909, 57909, 57909, 61067, 57909, 61069, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58884, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58894, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59938, 57909, 57909, 57909, 57909, 57909, 57909, 59943, 57909, 59945, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61096, 57936, 61098, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 3765, 0, 0, 0, 0, 0, 0, 0, 0, 2363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 659, 660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3770, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 3779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3786, 521, 521, 521, 3790, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3799, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61148, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60867, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60880, 57909, 57909, 61152, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61161, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 61167, 57909, 57909, 57909, 61171, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61053, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59459, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61438, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61446, 57886, 57909, 57909, 57909, 61451, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61459, 57909, 57936, 57936, 57936, 61464, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59576, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 61472, 57936, 0, 0, 0, 0, 4131, 0, 4133, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4139, 4140, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61445, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61458, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60919, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60929, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4088, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61490, 61491, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61498, 61499, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61506, 61507, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61415, 0, 0, 4074, 4075, 0, 0, 0, 521, 521, 521, 4082, 521, 521, 521, 521, 521, 521, 521, 521, 4090, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 60865, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61184, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61189, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 4220, 57886, 61565, 57909, 61566, 57936, 61567, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 521, 1899, 1900, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3800, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 425, 425, 0, 0, 131072, 425, 0, 0, 0, 425, 0, 0, 447, 0, 425, 0, 476, 476, 476, 0, 0, 361, 361, 361, 495, 361, 361, 361, 361, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 539, 57905, 539, 57905, 539, 539, 57905, 539, 539, 57928, 57905, 539, 539, 57905, 57905, 57905, 57928, 57905, 57905, 57905, 57905, 57905, 57905, 57905, 57928, 57928, 57905, 57905, 57955, 57905, 57905, 57905, 57905, 57905, 57905, 57905, 57955, 57955, 57905, 57905, 57905, 57905, 57955, 57955, 57905, 539, 57905, 57905, 57905, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376832, 0, 376832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 58369, 57909, 57909, 57909, 57909, 58387, 57909, 57909, 57909, 0, 0, 0, 0, 58293, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58425, 57936, 57936, 57936, 57936, 57936, 58444, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60069, 57936, 57936, 57936, 57936, 2729, 521, 521, 521, 521, 60078, 57886, 57886, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 2742, 57936, 58462, 57936, 57936, 57936, 521, 521, 521, 521, 892, 521, 0, 57886, 57886, 57886, 57886, 58311, 57886, 155941, 1138, 0, 1139, 0, 0, 1144, 0, 0, 0, 0, 0, 1150, 0, 0, 0, 0, 0, 5341184, 0, 5652480, 0, 0, 0, 0, 4759552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1827, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0, 0, 1249, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466944, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 354, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 521, 521, 521, 1327, 521, 521, 521, 1336, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2895, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60574, 57886, 57886, 60578, 57886, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58766, 57886, 57886, 57886, 58775, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61034, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61042, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 61047, 57909, 57936, 57936, 57936, 57936, 57936, 58955, 57936, 57936, 57936, 58964, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59555, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 521, 1931, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1953, 521, 521, 521, 521, 521, 521, 0, 2470, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59839, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59333, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 60864, 57909, 57909, 57909, 57909, 60868, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60874, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58402, 57936, 57936, 57936, 57936, 57936, 57936, 58433, 58435, 57936, 57936, 57936, 57936, 57936, 57936, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59433, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59986, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60001, 57936, 57936, 60004, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 59474, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59486, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59497, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 59372, 57886, 57886, 59375, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59389, 57886, 57886, 57886, 57886, 57886, 57886, 59395, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59872, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60304, 57886, 57886, 57886, 0, 2962, 0, 0, 57936, 57936, 57936, 57936, 59570, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59582, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59593, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 293, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3119, 0, 3120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3135, 0, 0, 0, 0, 2283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 0, 0, 2359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 57886, 59841, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59863, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 59930, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 58947, 57936, 57936, 57936, 57936, 57936, 57936, 60013, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59589, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60313, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58931, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 60626, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 1259, 57886, 57936, 57936, 57936, 57936, 57936, 60675, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59524, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57886, 57886, 57886, 61155, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61174, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61193, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61100, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 57936, 57936, 57936, 57936, 61471, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57886, 57886, 57936, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57936, 57936, 57886, 57886, 57886, 57886, 57936, 57936, 57886, 521, 57886, 57886, 57886, 372, 372, 0, 0, 131072, 372, 0, 0, 0, 372, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57906, 57906, 57906, 57906, 57906, 57906, 57906, 57929, 57929, 57906, 57906, 57956, 57906, 57906, 57906, 57906, 57906, 57906, 57906, 57956, 57956, 57906, 57906, 57906, 57906, 57956, 57956, 57906, 540, 57906, 57906, 57906, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334720, 0, 2334720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 2834, 2835, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 58267, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58343, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61179, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61187, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2758, 2759, 0, 0, 2762, 0, 2764, 0, 0, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58780, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 59909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60658, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 60667, 57936, 60668, 57936, 57936, 57936, 57936, 58875, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59947, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 3771, 0, 3772, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3657, 521, 521, 521, 521, 521, 521, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 245760, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 364, 0, 0, 0, 0, 363, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 131072, 0, 433, 433, 0, 0, 433, 0, 364, 433, 0, 459, 0, 0, 0, 487, 487, 490, 490, 490, 490, 496, 497, 490, 490, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 541, 57907, 541, 57907, 541, 541, 57907, 541, 541, 57930, 57907, 541, 541, 57907, 57907, 57907, 57930, 57907, 57907, 57907, 57907, 57907, 57907, 57907, 57930, 57930, 57907, 57907, 57957, 57907, 57907, 57907, 57907, 57907, 57907, 57907, 57957, 57957, 57907, 57907, 57907, 57907, 57957, 57957, 57907, 619, 57907, 57970, 57970, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 1806, 0, 0, 0, 0, 1246, 1246, 0, 0, 57909, 57909, 57909, 57909, 57909, 58383, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60688, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58458, 57936, 57936, 57936, 57936, 521, 521, 521, 888, 521, 521, 0, 57886, 57886, 57886, 58307, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3402, 2768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2318336, 57909, 57909, 57909, 57909, 57909, 60334, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60344, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 58268, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58344, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58393, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 58409, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59517, 59518, 57936, 57936, 57936, 57936, 59525, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 521, 1368, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1395, 521, 521, 521, 521, 521, 521, 521, 521, 2875, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58834, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60895, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 60903, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58996, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59024, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 3178, 521, 3179, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2469, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59883, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 2844, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2434, 521, 521, 57936, 57936, 57936, 57936, 57936, 57936, 60385, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59522, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 640, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 893, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 60862, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60879, 57909, 60881, 57909, 57936, 58463, 57936, 57936, 57936, 1126, 521, 521, 521, 893, 521, 0, 57886, 58477, 57886, 57886, 58312, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 331, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59326, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 59908, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60343, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59426, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59961, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60346, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 521, 521, 521, 521, 2415, 521, 2417, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2432, 521, 521, 521, 521, 521, 521, 2867, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1923, 57936, 57936, 57936, 57936, 60409, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60423, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 3660, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 2562, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 61185, 57936, 57936, 57936, 61188, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 2310560, 2310560, 0, 2310144, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 367, 0, 0, 0, 0, 0, 0, 0, 2310560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, 383, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 2310144, 0, 0, 2310144, 0, 0, 2310144, 0, 2310144, 2310144, 0, 2310144, 0, 2310144, 2310144, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3445, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1347, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1362, 521, 521, 2310144, 0, 0, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310144, 2310733, 2310144, 2310144, 2310733, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310, 0, 0, 0, 0, 0, 0, 0, 0, 2318, 0, 0, 0, 0, 0, 2322, 0, 0, 2324, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 839, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 898, 57886, 57886, 57886, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 2335197, 2335197, 2335197, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3399, 3400, 0, 3401, 0, 2335231, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2763, 0, 0, 0, 0, 0, 2767, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 0, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2813, 0, 0, 0, 0, 2367488, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 976, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 2391, 2392, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2855, 521, 521, 521, 521, 521, 521, 521, 2860, 521, 521, 521, 521, 521, 521, 521, 521, 0, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3134, 0, 0, 212992, 0, 0, 0, 0, 0, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 0, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 6144000, 4358144, 4866048, 4882432, 4358144, 4358144, 4358144, 0, 1411, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 0, 0, 0, 0, 750, 808, 0, 0, 0, 750, 0, 0, 811, 692, 0, 0, 0, 816, 0, 0, 0, 818, 0, 0, 0, 685, 692, 0, 0, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 0, 0, 0, 0, 0, 656, 0, 779, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, 800, 0, 783, 0, 0
  30921. ];
  30922. JSONiqParser.EXPECTED =
  30923. [ 166, 182, 211, 1104, 242, 1452, 1467, 273, 289, 712, 1117, 319, 349, 333, 365, 381, 397, 413, 195, 1866, 2240, 2243, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 429, 445, 461, 477, 2088, 226, 493, 2075, 939, 621, 523, 543, 1716, 559, 575, 591, 607, 1422, 650, 666, 1822, 697, 1565, 634, 728, 738, 754, 796, 812, 828, 844, 860, 876, 892, 908, 924, 955, 2180, 985, 681, 2211, 1015, 1044, 1028, 1060, 1090, 1133, 1320, 1149, 1165, 1551, 1181, 1197, 1213, 1229, 1259, 1904, 1365, 1375, 999, 969, 1762, 1289, 1305, 1336, 1351, 1488, 1391, 1407, 1504, 1623, 1520, 1536, 1581, 1273, 1610, 1639, 1655, 1671, 2118, 2149, 1687, 1703, 1437, 507, 1732, 1748, 1778, 1074, 780, 1809, 1838, 1854, 1890, 1920, 1936, 1952, 1968, 1984, 2000, 2016, 2032, 2061, 257, 2104, 303, 2045, 767, 1793, 1594, 2134, 1243, 2165, 2196, 2227, 2234, 1874, 1479, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 536, 2259, 2263, 2271, 2271, 2271, 2265, 2269, 2271, 2272, 2276, 2279, 2286, 2282, 2290, 2294, 2298, 2302, 2306, 2310, 2381, 2790, 2790, 4003, 4941, 2790, 2791, 2314, 3074, 2982, 2790, 2790, 2790, 2687, 2790, 5013, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2827, 2790, 2571, 3537, 4080, 2436, 2320, 2443, 2466, 2326, 2336, 2790, 2790, 2790, 2343, 2790, 2790, 2349, 3841, 2707, 2790, 2734, 2759, 2790, 2790, 2790, 2790, 4756, 2738, 2790, 2790, 2790, 2790, 4767, 2321, 2390, 2466, 2466, 2466, 2466, 2355, 2361, 2790, 2790, 2790, 2790, 2790, 2371, 4535, 2790, 2696, 4816, 2790, 2790, 2790, 2697, 4817, 2790, 2790, 2790, 4822, 4790, 2790, 2790, 3017, 3842, 2448, 2790, 2790, 3537, 4079, 4079, 4079, 4079, 4079, 4099, 2436, 2436, 2436, 2436, 2436, 2387, 2321, 2321, 2321, 2321, 2321, 2459, 2466, 2466, 2466, 2466, 2466, 2332, 2401, 2790, 2790, 2762, 4873, 2790, 2790, 2790, 2790, 2820, 4885, 2790, 2790, 2790, 2790, 3243, 4891, 3542, 4079, 4079, 4079, 4097, 2436, 2436, 2436, 2436, 2458, 2321, 2321, 2321, 2331, 2466, 2466, 2426, 2790, 2790, 3074, 4076, 4079, 4079, 2396, 2436, 2482, 2321, 2321, 2464, 2466, 2466, 2411, 2790, 2790, 4535, 2790, 4077, 4079, 4079, 2480, 2436, 2436, 2457, 2321, 2321, 2420, 2467, 2428, 2834, 3536, 4079, 2434, 2436, 2441, 2321, 2465, 2332, 2447, 4095, 4081, 2437, 2376, 2466, 2452, 4078, 2436, 2321, 2466, 4335, 4081, 2456, 2463, 2422, 4080, 2482, 2463, 2471, 4098, 2483, 2331, 2478, 2329, 2487, 2491, 2474, 2495, 2498, 2508, 2512, 2519, 2519, 2519, 2515, 2525, 2519, 2521, 2529, 2536, 2532, 2540, 2544, 2548, 2552, 2556, 2560, 4697, 2790, 2790, 2790, 4729, 2790, 4591, 2584, 2858, 2790, 2790, 2790, 3364, 2591, 2790, 3610, 2603, 2609, 2613, 2617, 2621, 2625, 2628, 2632, 2636, 4053, 2702, 2790, 2790, 2790, 2790, 3877, 2642, 2648, 2892, 4432, 2646, 2915, 2367, 2654, 3828, 2813, 2790, 2652, 3406, 2659, 2664, 2790, 2790, 2790, 2790, 2790, 2671, 4434, 2580, 4063, 2790, 2676, 2680, 2790, 2790, 2790, 3867, 2684, 2790, 2790, 2790, 3868, 2685, 2750, 2790, 2790, 2790, 2790, 2756, 2760, 2790, 2790, 2790, 2790, 2790, 2880, 2666, 2790, 2790, 2777, 4228, 3359, 2851, 4232, 4238, 2790, 4246, 4420, 4253, 3266, 4258, 4264, 3443, 2790, 4721, 2782, 2790, 2790, 2790, 3228, 3232, 2790, 2790, 2790, 2790, 4105, 2790, 2790, 2790, 2790, 2790, 2790, 3903, 3876, 2788, 4641, 2790, 2790, 2790, 3307, 2790, 2790, 2790, 4640, 2818, 2790, 2790, 3306, 2795, 2935, 2812, 2790, 2790, 2744, 2790, 3875, 3239, 2817, 2790, 4088, 2790, 2790, 2824, 2790, 3502, 2818, 2790, 3007, 2790, 3959, 3750, 2960, 2745, 3748, 2790, 4626, 2790, 4622, 2667, 2940, 2842, 3754, 2902, 4615, 2840, 3753, 3753, 3753, 4616, 2838, 4624, 4624, 3006, 3753, 2841, 2903, 2719, 3291, 3292, 3752, 2941, 2998, 3000, 2847, 2790, 2790, 2790, 2790, 2790, 3322, 3326, 2790, 2790, 2790, 3241, 4802, 2775, 4735, 2782, 2790, 2790, 2790, 4802, 3231, 2790, 2790, 2790, 2771, 4780, 3110, 4601, 2790, 3607, 2790, 3763, 3555, 2886, 2973, 2790, 3980, 2790, 3666, 2790, 4542, 2416, 2884, 2890, 2896, 2907, 4569, 2911, 2790, 2919, 5035, 2790, 2913, 2925, 2790, 4599, 2686, 2790, 3665, 2790, 4541, 3125, 4330, 4429, 2929, 2934, 2939, 3953, 2790, 2790, 4197, 3440, 2790, 2790, 2790, 2790, 4592, 3426, 2790, 2790, 2790, 2790, 2790, 4860, 2951, 2790, 3324, 2790, 2790, 3609, 3761, 2790, 4016, 2955, 2741, 2842, 2790, 4742, 2959, 2790, 2790, 4535, 2790, 2790, 4096, 4079, 4079, 4079, 4079, 2435, 2436, 2436, 2436, 2436, 2437, 2980, 2790, 2790, 2790, 2790, 2802, 2989, 2790, 2790, 2790, 2790, 2801, 2988, 2790, 2790, 2790, 4818, 4810, 3928, 2790, 3608, 3761, 2316, 2993, 3004, 2790, 3011, 3032, 2790, 2790, 2790, 4503, 3015, 2790, 2790, 2790, 2790, 3011, 3032, 2790, 2790, 2790, 2790, 2790, 3026, 4920, 2790, 2790, 2790, 2790, 3025, 4919, 2790, 2790, 2790, 2790, 2790, 4355, 3755, 4359, 2790, 2790, 3354, 3059, 4366, 4372, 4240, 2834, 4504, 3016, 2790, 2790, 3635, 3927, 3023, 3031, 4541, 3436, 3037, 3854, 3044, 2790, 2790, 3451, 3049, 2790, 2790, 3024, 3043, 2790, 2790, 2801, 3048, 2790, 2790, 3053, 3064, 3031, 4492, 3071, 2975, 3079, 2790, 3470, 3088, 2790, 3421, 3079, 2790, 2801, 3098, 2790, 4152, 3102, 3109, 2574, 3114, 3122, 2790, 4585, 3124, 2790, 3129, 2790, 4584, 3123, 2790, 4154, 3033, 3133, 4950, 3518, 3142, 4948, 4952, 3148, 2790, 4155, 3156, 3188, 3160, 3150, 4950, 3167, 3186, 3174, 3174, 3174, 3180, 3184, 3192, 3192, 3196, 3200, 3175, 3209, 3433, 3213, 3176, 3861, 3217, 3221, 4494, 3225, 3236, 3247, 2790, 2790, 2790, 2790, 3914, 2790, 2790, 3253, 3263, 3403, 3170, 3479, 3270, 3274, 3278, 3282, 3285, 3285, 3286, 2790, 2790, 3913, 2790, 3549, 3337, 3848, 3342, 3290, 3496, 2655, 3296, 3300, 3311, 3318, 4953, 3330, 4637, 2790, 3320, 2790, 2790, 3659, 2790, 2790, 3336, 2790, 2790, 4722, 2770, 2790, 2790, 2790, 2790, 4722, 2770, 2790, 2790, 2790, 2790, 2790, 4190, 3341, 3484, 3460, 3144, 3346, 3363, 3369, 2976, 3375, 2790, 2790, 2790, 3383, 3388, 2790, 2790, 2790, 3472, 2790, 2790, 2790, 4413, 2790, 4305, 3786, 4825, 2790, 2790, 2364, 2790, 3482, 3486, 2790, 3416, 3420, 2790, 4591, 3425, 2790, 2790, 2790, 2790, 2672, 3430, 2790, 2790, 2790, 3769, 2790, 2790, 2790, 2790, 3471, 3736, 2790, 2790, 2790, 2790, 3776, 2790, 3469, 2790, 2790, 2790, 2790, 4198, 3468, 2790, 2790, 2790, 2790, 4198, 3468, 2790, 2790, 2790, 2790, 2921, 3506, 2790, 2790, 2790, 4591, 3513, 2790, 2790, 2790, 3724, 2660, 2790, 4124, 3542, 3476, 3490, 3494, 3634, 3500, 2790, 2921, 3506, 2790, 2790, 2790, 2790, 3512, 3517, 3522, 2833, 3204, 2790, 3527, 2790, 2790, 2790, 4249, 2790, 2790, 2790, 3526, 2790, 2790, 2790, 3821, 2761, 2790, 2790, 2790, 2790, 4347, 2686, 2790, 2790, 2790, 2790, 4351, 2790, 4248, 2790, 2790, 2790, 3531, 3517, 3412, 2790, 2790, 4987, 2790, 2790, 2563, 2790, 2790, 2790, 4094, 4079, 4079, 4079, 4079, 2435, 2436, 2436, 2436, 2397, 2321, 2321, 2321, 2321, 2321, 2464, 2466, 2466, 2466, 2466, 2393, 2405, 2790, 2790, 2833, 2790, 4987, 2790, 2790, 4422, 2790, 2790, 4126, 4322, 3032, 2790, 4987, 2790, 3390, 4989, 2790, 2605, 2730, 2790, 3541, 3547, 4788, 3547, 2566, 2566, 2566, 4894, 4014, 4014, 4014, 4788, 2832, 3553, 2315, 4875, 2567, 4015, 4896, 2830, 2899, 3559, 3560, 3564, 2790, 2790, 2790, 2790, 2790, 3615, 3614, 2790, 2790, 4465, 3917, 2585, 3619, 3625, 3737, 4266, 4915, 3629, 3649, 4306, 3633, 3639, 3647, 3653, 2790, 2790, 4691, 3658, 2790, 4464, 3916, 2790, 3663, 2722, 3670, 3674, 4193, 4196, 2790, 3690, 2790, 2790, 2790, 2382, 3694, 2790, 2790, 2790, 2383, 3695, 2790, 2790, 2790, 2339, 3143, 2790, 2790, 2790, 4517, 2790, 2965, 4474, 4719, 4065, 4703, 2578, 3699, 3704, 2790, 2790, 3118, 2790, 2790, 2790, 4999, 2790, 4869, 4984, 5004, 2752, 2790, 2790, 3118, 2790, 4317, 3723, 2790, 2790, 2790, 2790, 4391, 3711, 2790, 2790, 2790, 2790, 3716, 3847, 2790, 2790, 3259, 2790, 2790, 2790, 2790, 2790, 3258, 2783, 2790, 2790, 2790, 2790, 3258, 2783, 3791, 2725, 2790, 3795, 2790, 2790, 3803, 2790, 2790, 3810, 2790, 2790, 2638, 2790, 4782, 3202, 2716, 3818, 2790, 3795, 2790, 4584, 3812, 2790, 2351, 2790, 2790, 3811, 2790, 3825, 3838, 2790, 2790, 4988, 2790, 3725, 4875, 2790, 2414, 2790, 3535, 4942, 2790, 2430, 2790, 4323, 4014, 3846, 3205, 3847, 4039, 2790, 2713, 2790, 3852, 3683, 3067, 3104, 2790, 3685, 4305, 3685, 3915, 3915, 3105, 3683, 3683, 3683, 3066, 3331, 3105, 3332, 3331, 3332, 3684, 3256, 2790, 2790, 3371, 3735, 2790, 2790, 2790, 2790, 3421, 3742, 2790, 2790, 2790, 2790, 2790, 3741, 2790, 2790, 2790, 2790, 3746, 2790, 3759, 2703, 3621, 4113, 3881, 3885, 3889, 3893, 3894, 3898, 3902, 2790, 2790, 3162, 2790, 2790, 3643, 2983, 4501, 4562, 3907, 3765, 4282, 3921, 2790, 4554, 4022, 2790, 3925, 3932, 4556, 3936, 2790, 4242, 3941, 2790, 2855, 2784, 3943, 4375, 4402, 2862, 2866, 2870, 2874, 2874, 2875, 2879, 2819, 3325, 2790, 2778, 2790, 4182, 4960, 4187, 2504, 5007, 4203, 4207, 4211, 4215, 4219, 4222, 4224, 2790, 2790, 4077, 4079, 4079, 4079, 4079, 4079, 2396, 2436, 2436, 2436, 2436, 2436, 2375, 2321, 2321, 2321, 2322, 2466, 2466, 2466, 2466, 2466, 2332, 2357, 2380, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3204, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3163, 2790, 2790, 2746, 3858, 4848, 4930, 3872, 3642, 4579, 2727, 4118, 2315, 3764, 3947, 3951, 2790, 2790, 3814, 3957, 2790, 2790, 2790, 3967, 3350, 2984, 2729, 3978, 3548, 3984, 3961, 2790, 2790, 3813, 3988, 2790, 2790, 2790, 2790, 3686, 4027, 2790, 2790, 2790, 2790, 3257, 4051, 2790, 3074, 2790, 2790, 4299, 3993, 2790, 4007, 2790, 2984, 2790, 3568, 3575, 4260, 3583, 3587, 3591, 3594, 3597, 3600, 3601, 3605, 2790, 2790, 2790, 4750, 2964, 2790, 2790, 2790, 2790, 2969, 2761, 2790, 2790, 2790, 2790, 4743, 2790, 4834, 2790, 3348, 4604, 4013, 4070, 4311, 4020, 2790, 2790, 2790, 4026, 2790, 2790, 2790, 2790, 3578, 4964, 2790, 2790, 2790, 2790, 4969, 2790, 2790, 2790, 2790, 3579, 2790, 4031, 2790, 4037, 2790, 4043, 2789, 4333, 4571, 4021, 2790, 2790, 4362, 2790, 2790, 2790, 2790, 3968, 4183, 2790, 2790, 4271, 3972, 4033, 2790, 2790, 4832, 2790, 2796, 2790, 4360, 3993, 2790, 2790, 2790, 2790, 4049, 2790, 2790, 2790, 2790, 4361, 2761, 4510, 4241, 4057, 4254, 4773, 4069, 4439, 2790, 2790, 4976, 2790, 2790, 2790, 4457, 2761, 2790, 2790, 4485, 3989, 2790, 2790, 4456, 4074, 3731, 4836, 4254, 4085, 4092, 3707, 2790, 4060, 2790, 2790, 4060, 4147, 4132, 4140, 4134, 4843, 2501, 4130, 4921, 4921, 4921, 4291, 4135, 4132, 4132, 4132, 4139, 4922, 4135, 4144, 4922, 4923, 4133, 4159, 4169, 4171, 4166, 4163, 4175, 4178, 2790, 2790, 2790, 2800, 2790, 2746, 3958, 4087, 2818, 2790, 3314, 2806, 2790, 3502, 2818, 2790, 2790, 4270, 3039, 4275, 2790, 2790, 2790, 4279, 3358, 2850, 4286, 4295, 2790, 3397, 3607, 4303, 4310, 2790, 2790, 4965, 4315, 2790, 2790, 2790, 3378, 4321, 2790, 2790, 2790, 3379, 2790, 2790, 3472, 2790, 2790, 2790, 2345, 3847, 2790, 2790, 3471, 3736, 2790, 4603, 2790, 4305, 2790, 4812, 4327, 4339, 2790, 2790, 3352, 3356, 2996, 4343, 3937, 4297, 4995, 4476, 2843, 2790, 3025, 4927, 2790, 2790, 4934, 2406, 2599, 4938, 5023, 4946, 2790, 2790, 2790, 2790, 4957, 4381, 4359, 2790, 2790, 2790, 3806, 4389, 2790, 2790, 2790, 2790, 3963, 4396, 2790, 2790, 2790, 2946, 2790, 2790, 2790, 3712, 2947, 2790, 2790, 2790, 4234, 3973, 2790, 2790, 2790, 3962, 4395, 2790, 2790, 2790, 2790, 3962, 4395, 3755, 4359, 2790, 3056, 3060, 4368, 3960, 4535, 4377, 2790, 2790, 2790, 2808, 4400, 2790, 2790, 2790, 2790, 4406, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 4708, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3152, 3203, 2790, 2790, 2790, 2790, 2790, 3963, 4411, 2790, 2790, 2790, 2807, 4407, 4446, 2790, 4417, 2942, 4426, 3654, 3761, 2790, 2790, 3720, 2790, 2790, 2790, 2790, 2790, 3729, 2790, 4472, 2790, 2586, 3787, 3138, 2790, 4862, 4438, 2790, 2790, 2807, 4451, 2790, 2790, 2790, 4443, 2790, 2790, 2790, 4450, 4689, 3400, 2942, 4455, 4536, 4484, 2790, 4461, 2790, 2790, 4469, 2790, 2790, 4480, 2790, 2790, 3779, 4523, 4489, 4498, 3654, 4483, 2790, 4508, 2790, 5040, 4002, 2790, 4514, 2790, 2790, 4521, 4525, 4529, 4540, 4384, 4590, 4385, 2790, 4514, 2790, 4547, 4551, 2790, 3997, 4560, 4566, 3999, 4575, 3995, 4009, 4009, 4009, 4583, 4589, 4001, 4001, 4596, 3680, 4608, 4879, 4613, 4620, 4609, 4877, 2407, 3782, 4792, 4793, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3018, 4630, 4634, 4645, 4649, 4653, 4657, 4661, 4665, 4669, 4672, 4676, 4679, 4683, 2790, 2790, 2790, 3017, 4695, 4542, 4761, 4701, 4577, 4906, 4707, 4712, 4716, 4727, 2790, 3832, 2594, 3075, 4733, 3830, 4739, 2790, 2790, 2790, 3019, 4842, 2597, 4900, 4904, 4853, 4912, 2790, 2790, 2790, 2790, 2790, 3027, 4747, 4754, 4760, 4765, 4771, 4777, 4786, 4797, 4801, 2790, 2790, 2790, 2790, 4807, 2790, 2790, 3876, 4543, 4150, 2930, 2766, 2790, 2790, 2790, 2790, 2790, 4723, 2790, 2790, 2790, 2691, 2790, 2790, 2790, 3094, 2695, 2701, 2790, 2790, 2790, 2790, 3508, 2790, 4840, 2406, 4847, 4803, 4111, 4852, 4857, 4914, 2790, 2790, 2790, 2790, 2696, 4866, 2790, 2790, 3910, 2790, 2790, 4686, 4531, 4887, 3772, 3082, 3706, 2790, 4289, 2790, 3974, 3915, 4973, 2790, 4980, 4984, 5018, 4907, 4994, 2790, 2790, 2801, 4830, 2790, 2790, 2790, 5000, 2790, 3091, 2790, 2790, 4103, 4533, 4109, 3084, 2790, 4117, 4908, 2790, 3303, 2790, 4122, 3249, 2790, 4999, 2790, 2790, 4828, 2790, 2790, 3571, 2790, 5011, 5017, 5022, 2790, 2790, 3799, 2790, 3384, 3389, 2790, 2790, 5029, 3394, 2790, 2790, 2790, 2790, 4881, 2790, 3543, 3449, 3410, 3116, 5028, 2790, 3798, 2790, 2790, 5027, 3365, 3864, 2790, 4990, 2790, 4045, 2790, 2710, 2790, 3447, 4603, 3455, 3459, 3700, 3677, 2790, 2790, 3464, 2790, 2790, 2790, 2790, 2790, 4199, 5033, 3136, 2790, 4383, 5039, 2587, 3834, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2578, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 6090, 6563, 5044, 5057, 5054, 6594, 6596, 6596, 6596, 6591, 5074, 6595, 6596, 6596, 6596, 6596, 5087, 5061, 5074, 6596, 6596, 5067, 5062, 6596, 5078, 5084, 5080, 5066, 6594, 6163, 5071, 5091, 5094, 5094, 5094, 5095, 5099, 5099, 5103, 5107, 5114, 5111, 5118, 5122, 5134, 5137, 5129, 5130, 5127, 5125, 5141, 5145, 6561, 6446, 5234, 5173, 5635, 5635, 5635, 5219, 5598, 5503, 5251, 5251, 5251, 5251, 5252, 5196, 5267, 6248, 5502, 5251, 5251, 5196, 5196, 5196, 5266, 5202, 5212, 5632, 5635, 5050, 6519, 6509, 5635, 6818, 5635, 5635, 5146, 5150, 6535, 5218, 5635, 5635, 5147, 5154, 5196, 5267, 5268, 5502, 5213, 5214, 5232, 5214, 5631, 5635, 5146, 5151, 5635, 5155, 5619, 6297, 5635, 6532, 6536, 5244, 5250, 5251, 5251, 5251, 5295, 5631, 5633, 5635, 5635, 5635, 5049, 6518, 5502, 5502, 5293, 5251, 5251, 5226, 5196, 5196, 6247, 5270, 5502, 5502, 5502, 5504, 5268, 5502, 5214, 5633, 5282, 5635, 5635, 5635, 5273, 6084, 5196, 5267, 5271, 5635, 5166, 5635, 5635, 5749, 5219, 5251, 5296, 5196, 5196, 5306, 5635, 5196, 5265, 5269, 5273, 5635, 5635, 5165, 5635, 6247, 5268, 5502, 5502, 5502, 5502, 5251, 5502, 5251, 5251, 5251, 5186, 5193, 5272, 5635, 5635, 6261, 5635, 5298, 5635, 5635, 6262, 5502, 5502, 5294, 5251, 5251, 5251, 5296, 5251, 5251, 5264, 5196, 5196, 5196, 5196, 5265, 5196, 5197, 5635, 6245, 5269, 5293, 5296, 5306, 6246, 6247, 5502, 5502, 5502, 5292, 5251, 5251, 5196, 6255, 6247, 5270, 5292, 5251, 5264, 5197, 5198, 5302, 5297, 5312, 5312, 5304, 5635, 5179, 5635, 5643, 5168, 5635, 6860, 5329, 5590, 5333, 5336, 5339, 5343, 5362, 5419, 5347, 5351, 5404, 5419, 5419, 5419, 5419, 5368, 5384, 5393, 5355, 5359, 5418, 5367, 5372, 5346, 5420, 5381, 5390, 5397, 5377, 5386, 5419, 5376, 5401, 5416, 5424, 5428, 5430, 5430, 5434, 5436, 5440, 5473, 5444, 5446, 5365, 5407, 5450, 5454, 5458, 5466, 5464, 5466, 5462, 5470, 5477, 5635, 5181, 6353, 5635, 5219, 5635, 5635, 5219, 5635, 7266, 5635, 5904, 5635, 6256, 6080, 5635, 6853, 5635, 5635, 5169, 5672, 6820, 5635, 5635, 5635, 5275, 5635, 5635, 7112, 6346, 7172, 5635, 5220, 7282, 5635, 5273, 5642, 5635, 5635, 6879, 5246, 5891, 5635, 5635, 5182, 6258, 5523, 6083, 6080, 5977, 6569, 5635, 6877, 6875, 6150, 5527, 5530, 5531, 5535, 5538, 5542, 5547, 5545, 5551, 5553, 5554, 5558, 5561, 5569, 5562, 5566, 5562, 5572, 5574, 5578, 5635, 6820, 6222, 5635, 5975, 5635, 5635, 6702, 6210, 5614, 5635, 5635, 5189, 5635, 5635, 6773, 5656, 5635, 5635, 5635, 5307, 5668, 5635, 5635, 5635, 5315, 6779, 5662, 5666, 5635, 5635, 5635, 5582, 5675, 5635, 5635, 5635, 5320, 5679, 6567, 5635, 5683, 5691, 5698, 5706, 5734, 5699, 5707, 6568, 5635, 5635, 5635, 5491, 6736, 5694, 5700, 5708, 5162, 5635, 5635, 5635, 5513, 7310, 6318, 5664, 5635, 5635, 5635, 5277, 5746, 5635, 5712, 5635, 5274, 5273, 5635, 5274, 6223, 5635, 5275, 5635, 6695, 5635, 5635, 6694, 5823, 6568, 5635, 5322, 5635, 5635, 5910, 5635, 5635, 5635, 6618, 5236, 5635, 5717, 6739, 6745, 5731, 6568, 5635, 5324, 5635, 6335, 5811, 5635, 5635, 5635, 5675, 5701, 5732, 5635, 5635, 5318, 5635, 5635, 6736, 6740, 6744, 5730, 5734, 5635, 5635, 5635, 5514, 5768, 5701, 5775, 6568, 5776, 5635, 5635, 5635, 5615, 5747, 7254, 5635, 5635, 5512, 6989, 5208, 6448, 5733, 5635, 5635, 5635, 5625, 5788, 7253, 5635, 5635, 5635, 5635, 5159, 5797, 5635, 5635, 5635, 5638, 6319, 5635, 5635, 5635, 5640, 6027, 5799, 5635, 5635, 5635, 5646, 5650, 6805, 5635, 5635, 5635, 5655, 5805, 5798, 5635, 5635, 5635, 5636, 5515, 5803, 6804, 6568, 5635, 5496, 5048, 5635, 5219, 6618, 5635, 5635, 5635, 6260, 5635, 5583, 5635, 5635, 5819, 6695, 5635, 5635, 5635, 5724, 5819, 5635, 5821, 5819, 5635, 5635, 6934, 6878, 5756, 5815, 5829, 5635, 5508, 5204, 5664, 5842, 5846, 5854, 5858, 5862, 5866, 5866, 5868, 5870, 5870, 5870, 5870, 5874, 5874, 5874, 5874, 5877, 5879, 5635, 5635, 5635, 5738, 7116, 5885, 5635, 6258, 6080, 5635, 5899, 5917, 5635, 5635, 5594, 5635, 5324, 5635, 5635, 6618, 5635, 6618, 5635, 5582, 5635, 5635, 5819, 5921, 5635, 5635, 5487, 7303, 5485, 5635, 6834, 5635, 5635, 5612, 5635, 6832, 5932, 5635, 5635, 5635, 7178, 5635, 6696, 5635, 5937, 5325, 5635, 5635, 5635, 5761, 5969, 5635, 5635, 5635, 5804, 5984, 5635, 5635, 5635, 5819, 5635, 5850, 6339, 5992, 5606, 5635, 5635, 5635, 6696, 5635, 5938, 5635, 6256, 6930, 6081, 6015, 5635, 5635, 5635, 5895, 6016, 5635, 5635, 5635, 5902, 5640, 5999, 6005, 6011, 6261, 5635, 6095, 5635, 5635, 6088, 6289, 6037, 6042, 5635, 5635, 5635, 7255, 5635, 5635, 6027, 6032, 6038, 6043, 5635, 5635, 6256, 5635, 6082, 5635, 5820, 5635, 5820, 5635, 5635, 5821, 6261, 6335, 6695, 5635, 5635, 6692, 6568, 5923, 7028, 6032, 6058, 6033, 6059, 5635, 5635, 5635, 5908, 7128, 7132, 6613, 5635, 5635, 5635, 5923, 5517, 6786, 6790, 5635, 6564, 5635, 5635, 5635, 5907, 6260, 6318, 5635, 5635, 5635, 7259, 6072, 6033, 6064, 5635, 5635, 7027, 6032, 6063, 6564, 5635, 5635, 6260, 6261, 5636, 6988, 7255, 5678, 5635, 6082, 5635, 5821, 5945, 5412, 5635, 5635, 5635, 7285, 5635, 5635, 6257, 6081, 6261, 5635, 5635, 5635, 5221, 6071, 6711, 6064, 5635, 5635, 6838, 5635, 5589, 6617, 6072, 6712, 6065, 5635, 5635, 6844, 5635, 5635, 6851, 6568, 6070, 6710, 6063, 6564, 5943, 6983, 5635, 5635, 5635, 7286, 5635, 5756, 5635, 5635, 5635, 5943, 6260, 6094, 5635, 5635, 5635, 7332, 5720, 5635, 6821, 6073, 6109, 5635, 5635, 5635, 5956, 5635, 6099, 6107, 6066, 6256, 6081, 6337, 5635, 5635, 6852, 5635, 5320, 5635, 6075, 6079, 5635, 5635, 5635, 5958, 5635, 6820, 7158, 6077, 5635, 5635, 5635, 7346, 5635, 6131, 6821, 6074, 6076, 5635, 5635, 6820, 6708, 6127, 5635, 5635, 7156, 5634, 5905, 5635, 5228, 6053, 5274, 6116, 6079, 5635, 6981, 6142, 7156, 5822, 5635, 7157, 6118, 5635, 5635, 6115, 6078, 5635, 5635, 6114, 6078, 5635, 5635, 6115, 6078, 5635, 5674, 5285, 5674, 6117, 5635, 5635, 5636, 5635, 5635, 5635, 6221, 6118, 5635, 5635, 6116, 6139, 6079, 5635, 6139, 7083, 5674, 6617, 7134, 5635, 7134, 5635, 7134, 5635, 6616, 6614, 5635, 5635, 6878, 5764, 6744, 6449, 5734, 5635, 5287, 6614, 6614, 6614, 7253, 5635, 5674, 5635, 5635, 5512, 5516, 5635, 6392, 6392, 5635, 5636, 5642, 6257, 5635, 6085, 7286, 5635, 5635, 5635, 6481, 6485, 5733, 6255, 6840, 6147, 5635, 5635, 6940, 6946, 7286, 6617, 6879, 6154, 6160, 6167, 6156, 6171, 6175, 6179, 6183, 6184, 6189, 6189, 6185, 6193, 6193, 6193, 6193, 6196, 7276, 5635, 5583, 5635, 5635, 5582, 6208, 5635, 5635, 6214, 6197, 5278, 6228, 5635, 5635, 6975, 5635, 5635, 7001, 5769, 5797, 5308, 5635, 6961, 5635, 5635, 7001, 5770, 6236, 5635, 5980, 6254, 5635, 5635, 5636, 5945, 5412, 5951, 5635, 5635, 6252, 5635, 5635, 5635, 6053, 5635, 6255, 6086, 6855, 6868, 5635, 6399, 5635, 6614, 5635, 5635, 6273, 5635, 5635, 5638, 5964, 6676, 5635, 5635, 5636, 6988, 6994, 5635, 5678, 5635, 6081, 5635, 5819, 5972, 5635, 5635, 5635, 6082, 6085, 5635, 6281, 5635, 5635, 5640, 6573, 6802, 5206, 6295, 5635, 5635, 7007, 7016, 7041, 5635, 7144, 6290, 6803, 5207, 5207, 6296, 5635, 5635, 5635, 6084, 6291, 5771, 6995, 5635, 5635, 7034, 5635, 5635, 7152, 5635, 5635, 7253, 5635, 5635, 6954, 5657, 5635, 7252, 6400, 5635, 6670, 5635, 6259, 6209, 5635, 5639, 6347, 5635, 5635, 5635, 6088, 6309, 6301, 6325, 6329, 5635, 6310, 6302, 6326, 6079, 5635, 6982, 5907, 5635, 6258, 6081, 6311, 6801, 6327, 5635, 5635, 7257, 6960, 6255, 6086, 6856, 6869, 5635, 5635, 5640, 7027, 6400, 5635, 6735, 7277, 6693, 5635, 6671, 5635, 5635, 5320, 6310, 6323, 6327, 6324, 6328, 5635, 5635, 5635, 6089, 5149, 5153, 6086, 6866, 6567, 5635, 5635, 7287, 6616, 5635, 6879, 7278, 5582, 5635, 6769, 6564, 5635, 7252, 6400, 5288, 6079, 6695, 6669, 5635, 5635, 6201, 5635, 6344, 5635, 5635, 5674, 5805, 6351, 6357, 5635, 5635, 5676, 5635, 6820, 7179, 6366, 6329, 5635, 5260, 5635, 5635, 5635, 6122, 6399, 5635, 5635, 6671, 5635, 6259, 6365, 7255, 5635, 6021, 5635, 5635, 5315, 5167, 5635, 5635, 5635, 6247, 6247, 6619, 5635, 5635, 5635, 6255, 6086, 5635, 6620, 5635, 5635, 5635, 6256, 5219, 5635, 5635, 6619, 5904, 5748, 6771, 6620, 6618, 5635, 7096, 6618, 6618, 6618, 6770, 5901, 5511, 6370, 5635, 5635, 7333, 5721, 5635, 7255, 7154, 5635, 5635, 7349, 5518, 7319, 6209, 6384, 5635, 6372, 5985, 6719, 6390, 6396, 6404, 6408, 6411, 6413, 6417, 6418, 6418, 6422, 6424, 6425, 6429, 6429, 6429, 6429, 6430, 6429, 5635, 5635, 5755, 5635, 5635, 5635, 5888, 5635, 6604, 7326, 5635, 5635, 5635, 6616, 5635, 6692, 5635, 5824, 6457, 6568, 5635, 6852, 5635, 6948, 5635, 6949, 6455, 5635, 5635, 5635, 6261, 6260, 5635, 6462, 6456, 5635, 5637, 5640, 6675, 7115, 5635, 6467, 5635, 5658, 6453, 5635, 6463, 5635, 5635, 5635, 6262, 7328, 5635, 5635, 5635, 6267, 5277, 6615, 5635, 5635, 5755, 5818, 5635, 6819, 5635, 5635, 6494, 6473, 5635, 6477, 5635, 5638, 6346, 5635, 5635, 7275, 5635, 5635, 7287, 5635, 5635, 5635, 6480, 5635, 6498, 6507, 6513, 6518, 6508, 6514, 5635, 5635, 6523, 5635, 5635, 5635, 6315, 5635, 6540, 5635, 5635, 5783, 5635, 5635, 6554, 5635, 5635, 5635, 6339, 5635, 6263, 6549, 6503, 5635, 6547, 5176, 6553, 5635, 5635, 5635, 6334, 5635, 6558, 7327, 5635, 5635, 5784, 5635, 6578, 5153, 5635, 5635, 5635, 6439, 6088, 6574, 6579, 5154, 5635, 5635, 6583, 5635, 5635, 5894, 5810, 5635, 5635, 5581, 5635, 5635, 5635, 5725, 6054, 5637, 5635, 5635, 5900, 5635, 5635, 5635, 5904, 5635, 6088, 6588, 5153, 5635, 5638, 6826, 7252, 6088, 5148, 5152, 5635, 5640, 7087, 6772, 6084, 6772, 6084, 5275, 5635, 6694, 5904, 6338, 5277, 6693, 5635, 5825, 5635, 6821, 6600, 5635, 5640, 7334, 5907, 5635, 5635, 6822, 6224, 5635, 5644, 5648, 6102, 5635, 6821, 6223, 5635, 5635, 5635, 6479, 6762, 5824, 5635, 5321, 5635, 5647, 7054, 7038, 5635, 7255, 5637, 5635, 5654, 5635, 5635, 5222, 7284, 5635, 5635, 5276, 5635, 5277, 6695, 6337, 6260, 5635, 5635, 5635, 5256, 6220, 5154, 5635, 5635, 5635, 6399, 5638, 6692, 5635, 5635, 5923, 6072, 5638, 7024, 6610, 5635, 5674, 6141, 5635, 5635, 6854, 5635, 5635, 6878, 5693, 5699, 7255, 6216, 6771, 5635, 5677, 5635, 5635, 5635, 5587, 5911, 6624, 5628, 6630, 6638, 6641, 6645, 6648, 6656, 6656, 6656, 6656, 6651, 6652, 6652, 6652, 6660, 6660, 6660, 6660, 6662, 6666, 5635, 5635, 5635, 6566, 6048, 5635, 5622, 5635, 5686, 5838, 5635, 5686, 6053, 5635, 5635, 5635, 5985, 5635, 5589, 6694, 5939, 6617, 5912, 6686, 5635, 5635, 5944, 5411, 6052, 6691, 5635, 5635, 6756, 6701, 5635, 5635, 5635, 6567, 6125, 6772, 5635, 5635, 5987, 5635, 5635, 6723, 6729, 7278, 6695, 6734, 5635, 5635, 5991, 5605, 6749, 5635, 5635, 5635, 6615, 5635, 5635, 5635, 5645, 5649, 5635, 6480, 6763, 6750, 5635, 6764, 5607, 5635, 5635, 5635, 5835, 5635, 6717, 5635, 5635, 6026, 6031, 5608, 5635, 6730, 6143, 6483, 6487, 6568, 5635, 5635, 6486, 5734, 5635, 5635, 6133, 6881, 5635, 5635, 6133, 7095, 5635, 5635, 5635, 6816, 6204, 6203, 5635, 5635, 6134, 6772, 5909, 5635, 5635, 5635, 6620, 5635, 5597, 6879, 6795, 5635, 5635, 5635, 6685, 6480, 6484, 6488, 5635, 5635, 6616, 6615, 5635, 5635, 6204, 6202, 5274, 6126, 5635, 5635, 6220, 6224, 7347, 6777, 5635, 5635, 6230, 5635, 5635, 6230, 6485, 5733, 5635, 5635, 6054, 5204, 5635, 7269, 6772, 5635, 5687, 5952, 5635, 5713, 5635, 5635, 5276, 6615, 5635, 6277, 5635, 5635, 6619, 6809, 5734, 5635, 5635, 6246, 6247, 6247, 6247, 6247, 5270, 5502, 7114, 5635, 7254, 5635, 5674, 5805, 5798, 6276, 5748, 5635, 5635, 6255, 6247, 6247, 6247, 5269, 5502, 5502, 5835, 6053, 5635, 5635, 6318, 6568, 5635, 7347, 7114, 5635, 5635, 6819, 5321, 5635, 6845, 5635, 5635, 5635, 6716, 5635, 6974, 5635, 5635, 6333, 5635, 6256, 5317, 6285, 5635, 5635, 6966, 5635, 5635, 6965, 5635, 5635, 6257, 5635, 6961, 6053, 5635, 5635, 6967, 5635, 6255, 5589, 6617, 5635, 5753, 5635, 5635, 5323, 5635, 6113, 5634, 5904, 5635, 6256, 6961, 6053, 6255, 6965, 6965, 6965, 5635, 6967, 6965, 5635, 6965, 5635, 6258, 6967, 6965, 7286, 6269, 5741, 5741, 5741, 6053, 6849, 5635, 5635, 5635, 6754, 5635, 7342, 6334, 5635, 5780, 6568, 5635, 5492, 6542, 6492, 5635, 5635, 5635, 6307, 6311, 6324, 6936, 6083, 6873, 5319, 6886, 6892, 6890, 6896, 6900, 6900, 6902, 6908, 6906, 6906, 6908, 6916, 6915, 6912, 6920, 6921, 6921, 6921, 6921, 6925, 6928, 5208, 5635, 5635, 6855, 6526, 6380, 5635, 5635, 6340, 5993, 6565, 5635, 5635, 6617, 5635, 5635, 5635, 6706, 5635, 6239, 5635, 5635, 6364, 7154, 5635, 6242, 5635, 5635, 5637, 5965, 5635, 6953, 5635, 5635, 6376, 5635, 5635, 6958, 5635, 5635, 6443, 5589, 7258, 5635, 5635, 5635, 6760, 5635, 6971, 5635, 6979, 6987, 6993, 6329, 5635, 5832, 6260, 6680, 6878, 5791, 6543, 5635, 5836, 5635, 5635, 6284, 5635, 5635, 6567, 5635, 6616, 5635, 5635, 6469, 6482, 6999, 5635, 5639, 5635, 5635, 5635, 6461, 5725, 5635, 5635, 5635, 6768, 7012, 7040, 5635, 5635, 6547, 6501, 7041, 5635, 5635, 5635, 6769, 5635, 7008, 7017, 7042, 5635, 5848, 5748, 6255, 5483, 5635, 5635, 6245, 6247, 5635, 7021, 5933, 6053, 5904, 6935, 6879, 5792, 5644, 5648, 7055, 7046, 5645, 7052, 7056, 7047, 5646, 7053, 7057, 7048, 5724, 5635, 5635, 5635, 6783, 6486, 5734, 5820, 5635, 5904, 6935, 6879, 5748, 6879, 5793, 5635, 6566, 5635, 5757, 5635, 5635, 5724, 5756, 5635, 5277, 5635, 5635, 5635, 7176, 7094, 7061, 7048, 5635, 5635, 6548, 6502, 5649, 6103, 7067, 7048, 5635, 7061, 6564, 5635, 5635, 6568, 5635, 5646, 5650, 7066, 7124, 5635, 7065, 7123, 5635, 5635, 6584, 5635, 5635, 6987, 7154, 5635, 5881, 5635, 5635, 6365, 5635, 6878, 5318, 6615, 5635, 5899, 5962, 5635, 5602, 5635, 5635, 5188, 5635, 7077, 5635, 5635, 5635, 6794, 5647, 7076, 7069, 5635, 5900, 6053, 5726, 5646, 7075, 7068, 5635, 5635, 6879, 5635, 5635, 5635, 6799, 6809, 5635, 7176, 7081, 5635, 5901, 7114, 6434, 5635, 5635, 7176, 7089, 5635, 5902, 5511, 6435, 5635, 5635, 5757, 5274, 5635, 6088, 7088, 5635, 5902, 5635, 5635, 5635, 6800, 5635, 6088, 7154, 5635, 5903, 5635, 5906, 6616, 6614, 5820, 5904, 6880, 5635, 5908, 5635, 5635, 5924, 7029, 6033, 5640, 7178, 5635, 5635, 6614, 5635, 5635, 6088, 7093, 5635, 5908, 6605, 7327, 7177, 7095, 5635, 5901, 5902, 5635, 5640, 6218, 5821, 6880, 5635, 5635, 6615, 6616, 5635, 5635, 6259, 5635, 5635, 6259, 5635, 5903, 5635, 5635, 5635, 5745, 5640, 7178, 6772, 5238, 5635, 7100, 6880, 5635, 5913, 6687, 5635, 6700, 5635, 5635, 6135, 5635, 5635, 6681, 5635, 5635, 6820, 7094, 5635, 5928, 5635, 5635, 5608, 6878, 5635, 7100, 6881, 5635, 7115, 5635, 5635, 7254, 7106, 5635, 5635, 5635, 6821, 6073, 6820, 7275, 5635, 5635, 5635, 6820, 6309, 6133, 7095, 6880, 5635, 5943, 5410, 5949, 5635, 5635, 5635, 7252, 5635, 5635, 7120, 5635, 5635, 7273, 7120, 6878, 5635, 5635, 6693, 5635, 5635, 5635, 7274, 5635, 5635, 6695, 5635, 5635, 5819, 5809, 5635, 7138, 5635, 6963, 5905, 6209, 5635, 6961, 5635, 5979, 6253, 5635, 5635, 7002, 6744, 5798, 5240, 5635, 6021, 5499, 7109, 5673, 5635, 7142, 5635, 6962, 6021, 6964, 6625, 6022, 7174, 7271, 7149, 7162, 7166, 7170, 7183, 7187, 7191, 7194, 7202, 7197, 7198, 7206, 7208, 7212, 7218, 7217, 7213, 7222, 7232, 7232, 7225, 7231, 7227, 7236, 7240, 5635, 5985, 5837, 5635, 5723, 5635, 5635, 6602, 6606, 7128, 7132, 5904, 5635, 5910, 5481, 7100, 7241, 5635, 5635, 6695, 5824, 6360, 5635, 5635, 5635, 6853, 6259, 6079, 5635, 6529, 7245, 7247, 7251, 5635, 5986, 5635, 5635, 5763, 6743, 5702, 5776, 5635, 7263, 5635, 5635, 6725, 5492, 7283, 7255, 5635, 5635, 6737, 5769, 7291, 5635, 7292, 5635, 5997, 6003, 6009, 6015, 5635, 7296, 7130, 5635, 5998, 6004, 6010, 5907, 5903, 5635, 5635, 6737, 6741, 5635, 6086, 5641, 5635, 5635, 5635, 7100, 5635, 5635, 6738, 6742, 6879, 5635, 7114, 5635, 7252, 5635, 5635, 6853, 6855, 5635, 6020, 5635, 5635, 5635, 7254, 5635, 6337, 5635, 5635, 6770, 5635, 6772, 5635, 6086, 6084, 5635, 5635, 6259, 5635, 7301, 6386, 5635, 5635, 5635, 6878, 5635, 5512, 7309, 6633, 5635, 6047, 5635, 5635, 5635, 7256, 7310, 6634, 5635, 5635, 5635, 6882, 5635, 7307, 7311, 6338, 6853, 5320, 5635, 5640, 7334, 5722, 5635, 5635, 6821, 6126, 5635, 5635, 6021, 6772, 7128, 7132, 5258, 5635, 5635, 5635, 6966, 5642, 5635, 5635, 7101, 5635, 6850, 5635, 6336, 5635, 6260, 5635, 6261, 7102, 5985, 6334, 5635, 5635, 5644, 7073, 7315, 7319, 6338, 5635, 6080, 5906, 5903, 7316, 6788, 5635, 5635, 6772, 5635, 6084, 7095, 5635, 5635, 5686, 5635, 7317, 6789, 5635, 5635, 6813, 5635, 7318, 6790, 6770, 6769, 5635, 5635, 6619, 5635, 6769, 6820, 5635, 5635, 6881, 7115, 5635, 6852, 6855, 5635, 5635, 5635, 6845, 5635, 6718, 6694, 5635, 5635, 5635, 6942, 6786, 6790, 5635, 5635, 5635, 6967, 5635, 5635, 6786, 6790, 6770, 6769, 7254, 5635, 7101, 5635, 7297, 7132, 5258, 7113, 5635, 5635, 6819, 5635, 5635, 5635, 5166, 6379, 5048, 5635, 5635, 6821, 6074, 6078, 5635, 5635, 5635, 5978, 7350, 5519, 7320, 5635, 6081, 5678, 6626, 7319, 5635, 5635, 5635, 7006, 7348, 5517, 6786, 6617, 5635, 6772, 6771, 5635, 6084, 6303, 6488, 5635, 7324, 5906, 5903, 5635, 6085, 5641, 5635, 6084, 6352, 5635, 5635, 5635, 6231, 5047, 5635, 5635, 5635, 7033, 5635, 7348, 7335, 5903, 5635, 6879, 5635, 6851, 5678, 5909, 6855, 6864, 5635, 7340, 5635, 5635, 6829, 5635, 6087, 5635, 6881, 5635, 6852, 6819, 6850, 5635, 5635, 6261, 7332, 7336, 5635, 5635, 5635, 7145, 5635, 6232, 5635, 5635, 6833, 5635, 5274, 5635, 5635, 5635, 7177, 0, 0, 1075838976, 2097152, 16384, 0, 0, 0, 62, 64, 4194560, 4196352, 270532608, 2097152, 2097152, 268435456, 4194432, 541065216, 541065216, 541065216, 541065216, 4194304, 4194304, 4196352, -1606418432, -1606418432, 541065216, 541065216, 4194304, 4198144, 541065216, 541065216, -2143289344, -2143289344, 8425488, 4194304, 4194304, 4194304, 541065216, 37748736, 4194304, 541065216, 4194304, 4194304, 4194432, 37748736, -1606418432, 742391808, 239075328, 775946240, 171966464, 171966464, 171966464, 171966464, 239075328, 171966464, 775946240, 239075328, 239075328, 775946240, 775946240, 775946240, 4718592, 64, 4718592, 2097216, 4720640, 4194400, 4194368, -2142763008, 541589504, 4194368, 541589504, 541589504, 541065280, 4194368, 4194368, 541065312, 541065280, -2143289280, 4194368, -2143285440, -1605890240, -2142761152, -2109731008, -1606414528, -2143285440, -2143285440, -2143285440, -1605890240, -1606414528, -1606414528, -2143285440, -2143285408, -2143285440, -2143285440, -2142761152, 776470528, -1908404416, 775946304, 775946304, -1908404416, 2, 4, 8, 16, 512, 1024, 16777216, 33554432, 402653184, 0, 0, 0, -1979711488, 0, 8192, 8392704, 0, 0x80000000, 16777216, 0, 0, 1536, 32768, 0, 0, 128, 196608, 0, 16384, 1536, 1792, 8192, 16384, 131072, 131072, 0, 0, 64, 1536, 32768, 96, 96, 0, 0, 0x80000000, 16, 0, 0, 1536, 64, 524352, 524352, 524352, 524352, 0, 524288, 64, 64, 262144, 1048576, 4194304, 16777216, 33554432, 67108864, 134217728, 536870912, 0, 128, 128, 128, 128, 2048, 1536, 1024, 0, 0, 0, 15, 208, 15360, 96, 96, 0, 64, 64, 16392, 64, 1048576, 128, 128, 0, 256, 8192, 0, 8192, 0, 33554432, 0, 1024, 1024, 0, 0, 0x80000000, 65536, 32, 96, 96, 96, 96, 64, 0, 8388608, 4096, 0, 0, 8192, 2097152, 0x80000000, 96, 524352, 524352, 524352, 524288, 524288, 524288, 64, 64, 64, 0, 0, 0, 8, 0, 0, 0, 11, 64, 64, 128, 2048, 0, 4096, 0, 0, 131072, 128, 64, 64, 64, 96, 96, 96, 524352, 524352, 524288, 64, 524288, 64, 64, 96, 524352, 0, 0, 0, 18, 33554432, 64, 96, 524352, 524288, 0, 64, 0, 2097152, 0, 0, 4, 16, 0, 0, 16, 8388608, 0, 0, 4096, 536870912, 1073741824, 0, 4, 32, 32, 4, 1073872896, 32, 40, 96, 160, 1056, 262176, 1048608, 2097184, 32, 32, 32, 524320, 32, 1073872896, 40, 262176, 1120, 96, 4195360, 6291488, 2097184, 2097184, 4194336, 4194336, 536870944, 32, 32, 40, 262176, 32, 32, 40, 262184, 1120, 96, 6292512, 4195360, 56, 262184, 40, 262184, 40, 0, 4, 262184, 40, 40, 40, 40, 4195104, 6292512, 4196128, 32, 262184, 34, 34, 40, 48, 42, 32, 32, 327155712, 34, 1056, 1056, 32, 96, 32, 32, 41, 262184, 32, 64, 512, 2048, 16384, 67108864, 42, 1056, 4194336, 32, 32, 32, 32, 56, 2098208, 42, 4457568, -326784344, -322851160, -322851160, -322698144, -322698144, -322698144, -322698144, -322695456, -322695456, -322695456, -322695456, -322597152, -320598176, -322597152, -322597144, -321548576, -320598168, -321548568, -322597144, 32, 0, 96, 32, 42, 224, 40, 262176, 42, 106, 293601323, 293601323, 293863467, 293699627, 293617707, 293716011, 297896507, 293964347, 293702267, 297896507, 293702203, 293702203, 293702203, 293702203, 293964347, 297896507, 297896507, -322597144, -322588952, -321548568, -322588952, -37744981, -322597144, -321548568, -37482773, 0, 131072, 1048576, 2097152, 0, 0, -1744830464, 0, -1744830464, 0, 318767104, 0, 0, 0, 48, 0, 1, 285212672, 0, 0, 2048, 64, 64, 64, 64, 32, 96, 0, 32, 64, 65536, 0, 0, 1, 2, 12, 16, 64, 128, 1024, 2048, 4096, 0, 2, 65536, 262656, 5242880, -1842937664, 201330721, 201330721, -2111369023, -2111369023, -2111369023, -2111369023, -2111369023, -2111369023, -2111360575, -2111369023, -2111369023, -1977151295, -1977151293, -1910042431, -1893265183, -2111368509, -1893265183, -1893265183, -1893265183, -1893265183, -2111368509, -1893265183, -1893265183, -553689472, -553656704, -553689472, -553689472, -553656704, -553656704, -553656704, -553656704, -553656704, -553656704, -553656672, -553656672, -553656672, -553656672, -553656672, -553656670, -553656608, -553656672, -553656664, -553656664, -553656672, -553656670, -553656672, -553656672, -536912159, -553656671, -536879391, -536879391, -536879391, 0, 0, 2048, 4194304, 0, 0, 0, 262656, 0, 0, 0, 536870912, 1073741824, 458880, 2097152, -1845493760, 0, 0, 4096, 2097152, 0, 0, 1, 4096, 201326592, 805306368, -1073741824, 0, 0, 0, 24576, 471424, 0, -2113929216, 0, 0, 0, 220, -1912602624, 18874368, 463488, 0, 0, 9216, 0, 0, 16384, 8192, 8192, 32768, 2048, 2048, 2048, 2048, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 4, 16, 224, 256, 512, 32768, 0, 1040000, 15728640, -570425344, 0, 0, 0, 254, 4194304, 16777216, 33554432, 268435456, 536870912, 0x80000000, 0, 0, -570425344, 32505856, 2097152, 301989888, 0, 0, 0, 512, 0, 0, 0, 256, 12288, 0, 167772160, 234881024, 0, 0, 16384, 32768, 50331648, 0, 128, 512, 7168, 16384, 32768, 196608, 16384, 196608, 786432, 1048576, 2097152, 4194304, 8388608, 33554432, 2097152, 4194304, 8388608, 503316480, 1073741824, 0x80000000, 0, 4096, 201326592, 0, 0, 0, 167772160, 234881024, 128, 1024, 4096, 8192, 0, 0, 8192, 268435456, 0, 0, 4194304, 8388608, 234881024, 268435456, 1073741824, 0x80000000, 0, 0, 1048576, 4194304, 33554432, 268435456, 268435456, 268435456, 268435456, 0, 128, 131072, 2097152, 0, 0, 0, 520, 0, 201326592, 0, 0, 0, 1073741824, 0, 0, 0, 134217728, 128, 512, 3072, 16384, 32768, 3072, 16384, 131072, 524288, 1048576, 4194304, 16777216, 33554432, 201326592, 268435456, 1073741824, 0x80000000, 1048576, 4194304, 268435456, 536870912, 131072, 0, 0, 131072, 0, 131072, 2097152, 0, 0, 16384, 2097152, 0, 0, 2097152, 4194304, 134217728, 0x80000000, 0, 0, 0, 512, 3072, 131072, 524288, 1048576, 131072, 524288, 4194304, 0x80000000, 0, 0, 0, 16384, 16384, 18432, 0, 0, 0, 2048, 0, 0, 4096, 1048576, 0, 0, 67108864, 1073741824, 0x80000000, 0, 0, 29696, 0, 0, 32768, 50331648, 268435456, 0x80000000, 0, 0, 1, 1, 18952, 1024, 0, 65, 1024, 0, 4096, 32768, 0, 1024, 18952, 65, 268436480, 2101248, 524288, 1024, 19017, -1744550912, 8388624, 8388624, 8388624, -1739308032, -1739308032, -1739308032, -1739308032, -1736162288, -1736162288, -1736162288, -1736162288, -7868466, -7868466, -7868466, -7868466, -7868450, -7868450, -7868450, 0, 0, 0, 1610612736, 1024, 0, 2101248, 0, 0, 262144, 65536, 262144, 262144, 0, 0, 2048, 131072, 524288, 585, 0, 0, 0, 8192, 0, 0, 0, 4096, 0, 0, 0, 32, 0, 0, 0, 44, 64576, 0, 1024, 278528, -1744830464, 5521408, -1744830464, 0, 0, 2, 12, 64, 0, 1040, 8667136, -1744830464, -67108864, 0, 0, 0, 9728, 0, 2014, 0, 0, 0, 13312, 0, 1, 4, 8, 32, 64, 16384, 67108864, 134217728, 268435456, 0x80000000, 0, 0, 520, 1024, 0, 0, 2, 16, 0, 278528, 0, 0, 2, 67108864, 16384, 0, 5242880, 0x80000000, 0, 0, 327680, 0, 0, 328192, 0, 0, 0, 118, 577408, 22020096, 1040, 0, 0, 0, 16384, 0, 67108864, 1998, 518144, 8388608, 50331648, 201326592, 805306368, 0, 2, 204, 768, 1024, 10240, 1024, 10240, 16384, 32768, 458752, 8388608, 458752, 8388608, 50331648, 67108864, 134217728, 805306368, 134217728, 805306368, 1073741824, 0x80000000, 0, 220, 0, 0, 0, 32768, 33554436, 2, 12, 192, 768, 1024, 1024, 2048, 8192, 16384, 32768, 458752, 32768, 458752, 50331648, 67108864, 134217728, 134217728, 805306368, 1073741824, 0, 0, 208, 0, 0, 0, 34816, 67108864, 268435456, 0, 0, 0, 65536, 458752, 50331648, 67108864, 805306368, 1073741824, 458752, 50331648, 67108864, 536870912, 1073741824, 0, 0, 4, 8, 64, 128, 512, 2048, 196608, 262144, 33554432, 536870912, 0, 0, 0, 262144, 0, 0, 0, 64, 0, 0, 2, 4, 8, 262144, 0, 1048576, 4194304, 0, 0, 4, 8, 128, 512, 1024, 32768, 65536, 131072, 2048, 196608, 262144, 50331648, 536870912, 1073741824, 1, 4, 8, 512, 2048, 131072, 33554432, 536870912, 0, 0, 4, 8, 512, 2048, 8192, 32768, 8388608, 0, 524288, 262144, 0, 0, 4, 64, 128, 8388608, 0, 512, 2048, 131072, 536870912, 0, 0, 4194304, 8192, 2097152, 268435456, 0x80000000, 16, 33554432, -2147418112, 537395200, 537395200, 0, 4196352, 537427968, 4196352, 0, 537395200, 4196352, 4196352, 276901888, 8540160, -1606418432, 32768, 537395200, 4196352, 1082130432, 51380242, 51380242, 51380242, 22022147, 22349827, 22349827, 22349827, 22366219, 22349843, 22349827, 22349827, 22366219, 22349827, 55576594, 55576594, 55576594, 55576594, 1062785014, 324012114, 55576594, 55576594, 55576594, 1062785014, 1062785014, 1062785014, 1062785014, 0, 0, 0, 329728, 557056, 0, 0, 0, 393216, 0, 0, 17825792, 33554432, 0, 0, 0, 462976, 3, 22020096, 0, 0, 4, 134217728, 0, 0, 8, 16, 512, 402653184, 0, 0, 346112, 19, 0, 0, 8, 64, 0, 0, 0, 82, 301989888, 0, 0, 393232, 0, 0, 393240, 0, 0, 524288, 524288, 524288, 524288, 0, 577408, 22020096, 1040187392, 0, 0, 0, 524288, 0, 0, 0, 16, 0, 0, 0, 6, 16384, 32768, 268435456, 0, 268435456, 0, 1048576, 16777216, 33554432, 0, 0, 524288, 1048576, 2097152, 0, 80, 268435456, 0, 0, 524288, 536870912, 0, 112, 128, 256, 3584, 16384, 32768, 134217728, 805306368, 0, 0, 0, 1007232, 256, 1536, 2048, 16384, 32768, 262144, 0, 4, 16, 32, 64, 128, 256, 1536, 0, 16, 33554432, 0, 0, 1048576, 4194304, 0x80000000, 1536, 16384, 32768, 524288, 4194304, 33554432, 134217728, 536870912, 0, 0, 0, 32768, 0, 0, 0, 1048576, 0, 0, 0, 1998, 518144, 1, 0, 0, 65536, 262144, 0, 0, 256, 1536, 32768, 524288, 0, 0, 4194304, 134217728, 536870912, 0, 0, 1114112, 1073741824, 16, 64, 1536, 32768, 524288, 4194304, 67174400, 33554432, 1073741824, 0, 67174400, 0, 0, 16384, 1073741824, 0, 0, 2097152, 0, 1572864, 0, 1073741824, 16384, 0, 4194304, 0, 8, 0, 131072, 0, 131072, 0, 8, 131072, 131072, 134217728, 4096, 0, 8, 0, 8, 131072, 4194304, -2146430976, 131072, 134217736, 16908320, 547389524, 547389524, 555909216, 555909216, 555909216, 555909216, 564297840, 564297844, 564297844, 564297844, 564297844, 564297844, 564297844, 1001055742, 1001056254, 1001055742, 1001055742, 1001056254, 1001056254, 1001056254, 1001056254, 1001056254, 1001055742, 1, 0, 67108864, 1073741824, 0, 84, 2129920, 8388608, 536870912, 0, 96, 2260992, 0, 0, 2097152, 4194304, 8388608, 134217728, 268435456, 1280, 2809856, 58720256, 939524096, 0, 0, 0, 1052672, 0, 254, 1792, 2809856, 58720256, 939524096, 0, 939524096, 0, 0, 12, 16, 32768, 2097152, 8388608, 536870912, 0, 163840, 0, 0, 12, 32, 64, 1024, 2048, 57344, 262144, 50331648, 268435456, 1073741824, 0x80000000, 0, 52, 0, 0, 20, 64, 62, 64, 128, 1280, 8192, 16384, 131072, 524288, 58720256, 24576, 163840, 524288, 2097152, 58720256, 402653184, 58720256, 402653184, 536870912, 0, 0, 64, 128, 1792, 24576, 163840, 4, 16, 8388608, 0, 0, 2113536, 0, 0, 3735552, 0, 0, 8388608, 8388608, 4096, 4096, 4096, 4096, 0, 48, 25165824, 0, 0, 0, 1572864, 0, 6, 56, 128, 1792, 8192, 524288, 58720256, 402653184, 0, 0, 32, 128, 256, 262144, 262144, 1048576, 1073741824, 0, 0, 0, 0x80000000, 0, 0, 0, -2147483646, 4, 24, 32, 128, 1792, 1280, 8192, 524288, 16777216, 33554432, 0, 262144, 33554432, 134217728, 0, 8, 16, 1024, 16777216, 4194432, 3145728, 541065216, -2143289344, 4194304, 4194304, 4194304, 4194304, 16, 402653184, 0, 0, 32, 128, 256, 2048, 262144, 524288, 4, 16384, 65536, 67108864, 0, 0, 0, 131072, 0, 0, 0, 1024, 0, 0, 32768, 8192, 0, 2048, 0, 32, 8192, 3670016, 2048, 8192, 196608, 1048576, 0, 0, 34816, 9216, 4096, 4096, 29696, 29712, 29712, 29840, 29712, 29712, 29840, 536900624, 4224144, 144384, -754647956, -754647956, -754647956, -754647956, 144384, 144384, 144384, 144384, -754647940, -754647940, -754647940, -754647940, -754516884, -754647956, -754516884, -754516884, -754516884, 0, 0, 8388608, 1073741824, 0, 0, 67108864, 12, 16384, 0, 65536, 29824, 0, 0, 0, 3670016, 44, 64576, 319029248, -1073741824, 0, 0, 60, 0, 0, 0, 4194304, 0, 0, 0, 2014, 0, 319160320, 0, 0, 0, 5242880, 0, 4, 8, 256, 512, 2048, 8192, 16384, 458752, 50331648, 0, 524288, 3145728, 0, 0, 16384, 8, 0, 28672, 0, 0, 32, 524288, 0, 16, 0, 128, 0, 12288, 131072, 0, 0, 128, 512, 3072, 4096, 16384, 32768, 131072, 524288, 1048576, 2097152, 4194304, 262144, 318767104, -1073741824, 0, 0, 0, 28, 0, 0, 60, 64576, 28, 32, 64, 1024, 2048, 61440, 262144, 318767104, 24576, 0, 0, 0, 8388608, 0, 0, 0, 1040000, 67108864, 16384, 0, 65536, 262144, 1048576, 0, 8, 64, 2048, 4096, 8192, 65536, 131072, 1048576, 0, 0, 128, 536870912, 4194304, 131072, 0, 0, 64, 2048, 16384, 32768, 524288, 1048576, 4194304, 134217728, 0x80000000, 32768, 262144, 50331648, 268435456, 0, 32768, 8388608, 0, 0, 16777216, 16777216, 0, 0, 0, 4, 8, 16, 2, 67108864, 0, 65536, 201326592, 0x80000000, 0, 0, 1998, 59238400, -67108864, 0, 524288, 1048576, 0, 0, 64, 256, 32768, 50331648, 268435456, 0, 0, 1, 256, 0, 0, 0, 16777216, 0, 0, 256, 0, 8192, 0, 256, 262144, 2113536, 2097152, 135790592, 0, 256, 8192, 2097152, 0, 0x80000000, 0, 32768, 2097152, 0, 0x80000000, 5242880, 0, 0, 0, 128, 0, 0, 0, 208, 131073, 0, 0, 131073, 0, 135790592, 131073, 4, 0, 131073, 393233, 1610612736, 1610612736, 1610612736, 393241, 393241, 393241, 393241, 805707793, 805707793, 1879449617, 805708049, 1879449617, 1879449617, 1879449617, 1879449617, -483948553, -475559945, -475559945, -483948553, -483948553, -475559945, -483948553, -475559945, -483948553, -475559945, -475559945, -475559945, -475559945, -475559945, -215504905, -475559945, -207116297, -207116297, 0, 0, 72, 0, 4096, 4194304, 32768, 0, 0, 256, 401424, 805306368, 0, 0, 112, 25165824, 0, 1879048192, 0, 0, 116, 0, 0, 401680, 0, 0, 0, 32505856, 7, 19367920, -503316480, 0, 0, 0, 33554432, 0, 0, 33554432, 268435456, 0, 0, 0, 19376112, -234881024, 0, 0, 50331648, 268435456, 0, 27764720, -234881024, 0, 0, 512, 2048, 0, 0, 1, 2, 4, 32, 524288, 1048576, 524288, 1048576, 33554432, 67108864, 134217728, 805306368, 0, 24, 0, 0, 512, 3072, 16384, 0, 7, 16, 480, 1536, 32768, 1536, 32768, 65536, 2490368, 32768, 65536, 10878976, 16777216, 33554432, 0, 9728, 268435456, 0, 0, 67108866, 12, 64, 128, 512, 1024, 2048, 0, 16, 393216, 0, 0, 393216, 2097152, 16777216, 33554432, 536870912, -1073741824, 0, 0, 10485760, 16777216, 33554432, 1073741824, 0x80000000, 0, 16, 224, 256, 1536, 32768, 65536, 393216, 10485760, 16777216, 131072, 262144, 2097152, 16777216, 32768, 131072, 262144, 2097152, 8388608, 16777216, 0, 0, 4, 16, 224, 512, 32768, 131072, 2097152, 16777216, 192, 32768, 0, 0, 512, 4096, 4, 16, 192, 32768, 8388608, 0, 16, 64, 128, 8388608, 0, 0, 1024, 0, 4, 0, 0, 0, 3145728, 0, 4, 128, 0, 0, 268435456, 2, 0, 0, 65536, 0, 0, 0, 65, 0, 64, 128, 8388608, 16777216, 1073741824, 0, 0, 512, 2048, 32768, 262144, 524288, 8388608, 0, 0, 512, 131072, 524288, 8388608, 33554432, 0x80000000, 33554432, 33554432, 0, 2, 4, 112, 128, -2113929216, 100663296, 100663296, 2, 4, 524288, 134217728, 0, 0, 8, 512, 2048, 196608, 33554436, 0, 0, 33554436, 4224, 4224, 0, 65536, 100663296, 4224, 65536, 65536, 262144, 33554432, 0, 2, 4, 16, 64, 128, 256, 0, 4224, 65536, 16777216, 262400, 65536, 4224, -1072627712, 805306384, -1342177264, -1342177264, -1070006272, -1069989376, -1069989376, -1069989376, -258932720, -258932720, -258932720, -258932720, -1069989360, -1065795072, -1061600768, -1069989376, -225378288, -258932720, -258932720, -258932720, -225378288, 1260767, 1260767, 34815199, 1260767, 1260767, 1260767, 1260767, 34815199, 1260767, 34815199, 34815199, 34815199, 1260767, 1260767, 169032927, 1242774751, -1978450721, 169032927, -1978450721, -1978450721, -1978450721, 169032927, 169032927, 169032927, 169032927, -225231649, -1173144353, -225231649, -225231649, -91013921, 0, 0, 0, 67108864, 0, 3751936, 0, 0, 528, 7946240, 12140544, 0, 0, 0, 134217728, 0, 0, 0, 7, 27756528, -503316480, 0, 0, 9502720, 1610612736, 0, 0, 486539264, 0, 0, 2048, 32768, 0, 0, 64, 128, 0, 0, 536870912, 0, 0, 208, 15360, 1245184, 0, 0, 0, 268435456, 0, 0, 0, 15, 9633792, 0, 0, 0, 32, 512, 2048, 262144, 0, 3670016, 0, 0, 1040, 1040, 1, 2, 12, 80, 128, 7168, 8192, 196608, 16, 64, 128, 3072, 4096, 8192, 65536, 131072, 0, 0, 32, 262144, 524288, 33554432, 134217728, 0, 0, 0, 2, 8, 64, 128, 1024, 4096, 0, 0, 262144, 0, 4096, 4194304, 1, 1, 1, 0, 0, 2, 8, 16, 64
  30924. ];
  30925. JSONiqParser.TOKEN =
  30926. [
  30927. "(0)",
  30928. "PragmaContents",
  30929. "DirCommentContents",
  30930. "DirPIContents",
  30931. "CDataSection",
  30932. "Wildcard",
  30933. "EQName",
  30934. "URILiteral",
  30935. "IntegerLiteral",
  30936. "DecimalLiteral",
  30937. "DoubleLiteral",
  30938. "StringLiteral",
  30939. "PredefinedEntityRef",
  30940. "'\"\"'",
  30941. "EscapeApos",
  30942. "ElementContentChar",
  30943. "QuotAttrContentChar",
  30944. "AposAttrContentChar",
  30945. "PITarget",
  30946. "NCName",
  30947. "QName",
  30948. "S",
  30949. "S",
  30950. "CharRef",
  30951. "CommentContents",
  30952. "EOF",
  30953. "'!'",
  30954. "'!='",
  30955. "'\"'",
  30956. "'#'",
  30957. "'#)'",
  30958. "'$'",
  30959. "'$$'",
  30960. "'%'",
  30961. "''''",
  30962. "'('",
  30963. "'(#'",
  30964. "'(:'",
  30965. "')'",
  30966. "'*'",
  30967. "'*'",
  30968. "'+'",
  30969. "','",
  30970. "'-'",
  30971. "'-->'",
  30972. "'.'",
  30973. "'..'",
  30974. "'/'",
  30975. "'//'",
  30976. "'/>'",
  30977. "':'",
  30978. "':)'",
  30979. "'::'",
  30980. "':='",
  30981. "';'",
  30982. "'<'",
  30983. "'<!--'",
  30984. "'</'",
  30985. "'<<'",
  30986. "'<='",
  30987. "'<?'",
  30988. "'='",
  30989. "'>'",
  30990. "'>='",
  30991. "'>>'",
  30992. "'?'",
  30993. "'?>'",
  30994. "'@'",
  30995. "'NaN'",
  30996. "'['",
  30997. "']'",
  30998. "'after'",
  30999. "'all'",
  31000. "'allowing'",
  31001. "'ancestor'",
  31002. "'ancestor-or-self'",
  31003. "'and'",
  31004. "'any'",
  31005. "'append'",
  31006. "'array'",
  31007. "'as'",
  31008. "'ascending'",
  31009. "'at'",
  31010. "'attribute'",
  31011. "'base-uri'",
  31012. "'before'",
  31013. "'boundary-space'",
  31014. "'break'",
  31015. "'by'",
  31016. "'case'",
  31017. "'cast'",
  31018. "'castable'",
  31019. "'catch'",
  31020. "'check'",
  31021. "'child'",
  31022. "'collation'",
  31023. "'collection'",
  31024. "'comment'",
  31025. "'constraint'",
  31026. "'construction'",
  31027. "'contains'",
  31028. "'content'",
  31029. "'context'",
  31030. "'continue'",
  31031. "'copy'",
  31032. "'copy-namespaces'",
  31033. "'count'",
  31034. "'decimal-format'",
  31035. "'decimal-separator'",
  31036. "'declare'",
  31037. "'default'",
  31038. "'delete'",
  31039. "'descendant'",
  31040. "'descendant-or-self'",
  31041. "'descending'",
  31042. "'diacritics'",
  31043. "'different'",
  31044. "'digit'",
  31045. "'distance'",
  31046. "'div'",
  31047. "'document'",
  31048. "'document-node'",
  31049. "'element'",
  31050. "'else'",
  31051. "'empty'",
  31052. "'empty-sequence'",
  31053. "'encoding'",
  31054. "'end'",
  31055. "'entire'",
  31056. "'eq'",
  31057. "'every'",
  31058. "'exactly'",
  31059. "'except'",
  31060. "'exit'",
  31061. "'external'",
  31062. "'false'",
  31063. "'first'",
  31064. "'following'",
  31065. "'following-sibling'",
  31066. "'for'",
  31067. "'foreach'",
  31068. "'foreign'",
  31069. "'from'",
  31070. "'ft-option'",
  31071. "'ftand'",
  31072. "'ftnot'",
  31073. "'ftor'",
  31074. "'function'",
  31075. "'ge'",
  31076. "'greatest'",
  31077. "'group'",
  31078. "'grouping-separator'",
  31079. "'gt'",
  31080. "'idiv'",
  31081. "'if'",
  31082. "'import'",
  31083. "'in'",
  31084. "'index'",
  31085. "'infinity'",
  31086. "'inherit'",
  31087. "'insensitive'",
  31088. "'insert'",
  31089. "'instance'",
  31090. "'integrity'",
  31091. "'intersect'",
  31092. "'into'",
  31093. "'is'",
  31094. "'item'",
  31095. "'json'",
  31096. "'json-item'",
  31097. "'jsoniq'",
  31098. "'key'",
  31099. "'language'",
  31100. "'last'",
  31101. "'lax'",
  31102. "'le'",
  31103. "'least'",
  31104. "'let'",
  31105. "'levels'",
  31106. "'loop'",
  31107. "'lowercase'",
  31108. "'lt'",
  31109. "'minus-sign'",
  31110. "'mod'",
  31111. "'modify'",
  31112. "'module'",
  31113. "'most'",
  31114. "'namespace'",
  31115. "'namespace-node'",
  31116. "'ne'",
  31117. "'next'",
  31118. "'no'",
  31119. "'no-inherit'",
  31120. "'no-preserve'",
  31121. "'node'",
  31122. "'nodes'",
  31123. "'not'",
  31124. "'null'",
  31125. "'object'",
  31126. "'occurs'",
  31127. "'of'",
  31128. "'on'",
  31129. "'only'",
  31130. "'option'",
  31131. "'or'",
  31132. "'order'",
  31133. "'ordered'",
  31134. "'ordering'",
  31135. "'paragraph'",
  31136. "'paragraphs'",
  31137. "'parent'",
  31138. "'pattern-separator'",
  31139. "'per-mille'",
  31140. "'percent'",
  31141. "'phrase'",
  31142. "'position'",
  31143. "'preceding'",
  31144. "'preceding-sibling'",
  31145. "'preserve'",
  31146. "'previous'",
  31147. "'processing-instruction'",
  31148. "'relationship'",
  31149. "'rename'",
  31150. "'replace'",
  31151. "'return'",
  31152. "'returning'",
  31153. "'revalidation'",
  31154. "'same'",
  31155. "'satisfies'",
  31156. "'schema'",
  31157. "'schema-attribute'",
  31158. "'schema-element'",
  31159. "'score'",
  31160. "'select'",
  31161. "'self'",
  31162. "'sensitive'",
  31163. "'sentence'",
  31164. "'sentences'",
  31165. "'skip'",
  31166. "'sliding'",
  31167. "'some'",
  31168. "'stable'",
  31169. "'start'",
  31170. "'stemming'",
  31171. "'stop'",
  31172. "'strict'",
  31173. "'strip'",
  31174. "'structured-item'",
  31175. "'switch'",
  31176. "'text'",
  31177. "'then'",
  31178. "'thesaurus'",
  31179. "'times'",
  31180. "'to'",
  31181. "'treat'",
  31182. "'true'",
  31183. "'try'",
  31184. "'tumbling'",
  31185. "'type'",
  31186. "'typeswitch'",
  31187. "'union'",
  31188. "'unique'",
  31189. "'unordered'",
  31190. "'updating'",
  31191. "'uppercase'",
  31192. "'using'",
  31193. "'validate'",
  31194. "'value'",
  31195. "'variable'",
  31196. "'version'",
  31197. "'weight'",
  31198. "'when'",
  31199. "'where'",
  31200. "'while'",
  31201. "'wildcards'",
  31202. "'window'",
  31203. "'with'",
  31204. "'without'",
  31205. "'word'",
  31206. "'words'",
  31207. "'zero-digit'",
  31208. "'{'",
  31209. "'{{'",
  31210. "'{|'",
  31211. "'|'",
  31212. "'||'",
  31213. "'|}'",
  31214. "'}'",
  31215. "'}}'"
  31216. ];
  31217. },{}],"/node_modules/xqlint/lib/parsers/XQueryParser.js":[function(_dereq_,module,exports){
  31218. var XQueryParser = exports.XQueryParser = function XQueryParser(string, parsingEventHandler)
  31219. {
  31220. init(string, parsingEventHandler);
  31221. var self = this;
  31222. this.ParseException = function(b, e, s, o, x)
  31223. {
  31224. var
  31225. begin = b,
  31226. end = e,
  31227. state = s,
  31228. offending = o,
  31229. expected = x;
  31230. this.getBegin = function() {return begin;};
  31231. this.getEnd = function() {return end;};
  31232. this.getState = function() {return state;};
  31233. this.getExpected = function() {return expected;};
  31234. this.getOffending = function() {return offending;};
  31235. this.getMessage = function()
  31236. {
  31237. return offending < 0 ? "lexical analysis failed" : "syntax error";
  31238. };
  31239. };
  31240. function init(string, parsingEventHandler)
  31241. {
  31242. eventHandler = parsingEventHandler;
  31243. input = string;
  31244. size = string.length;
  31245. reset(0, 0, 0);
  31246. }
  31247. this.getInput = function()
  31248. {
  31249. return input;
  31250. };
  31251. function reset(l, b, e)
  31252. {
  31253. b0 = b; e0 = b;
  31254. l1 = l; b1 = b; e1 = e;
  31255. l2 = 0;
  31256. end = e;
  31257. ex = -1;
  31258. memo = {};
  31259. eventHandler.reset(input);
  31260. }
  31261. this.getOffendingToken = function(e)
  31262. {
  31263. var o = e.getOffending();
  31264. return o >= 0 ? XQueryParser.TOKEN[o] : null;
  31265. };
  31266. this.getExpectedTokenSet = function(e)
  31267. {
  31268. var expected;
  31269. if (e.getExpected() < 0)
  31270. {
  31271. expected = XQueryParser.getTokenSet(- e.getState());
  31272. }
  31273. else
  31274. {
  31275. expected = [XQueryParser.TOKEN[e.getExpected()]];
  31276. }
  31277. return expected;
  31278. };
  31279. this.getErrorMessage = function(e)
  31280. {
  31281. var tokenSet = this.getExpectedTokenSet(e);
  31282. var found = this.getOffendingToken(e);
  31283. var prefix = input.substring(0, e.getBegin());
  31284. var lines = prefix.split("\n");
  31285. var line = lines.length;
  31286. var column = lines[line - 1].length + 1;
  31287. var size = e.getEnd() - e.getBegin();
  31288. return e.getMessage()
  31289. + (found == null ? "" : ", found " + found)
  31290. + "\nwhile expecting "
  31291. + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
  31292. + "\n"
  31293. + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
  31294. + "at line " + line + ", column " + column + ":\n..."
  31295. + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
  31296. + "...";
  31297. };
  31298. this.parse_XQuery = function()
  31299. {
  31300. eventHandler.startNonterminal("XQuery", e0);
  31301. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31302. whitespace();
  31303. parse_Module();
  31304. shift(25); // EOF
  31305. eventHandler.endNonterminal("XQuery", e0);
  31306. };
  31307. function parse_Module()
  31308. {
  31309. eventHandler.startNonterminal("Module", e0);
  31310. switch (l1)
  31311. {
  31312. case 274: // 'xquery'
  31313. lookahead2W(198); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  31314. break;
  31315. default:
  31316. lk = l1;
  31317. }
  31318. if (lk == 64274 // 'xquery' 'encoding'
  31319. || lk == 134930) // 'xquery' 'version'
  31320. {
  31321. parse_VersionDecl();
  31322. }
  31323. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31324. switch (l1)
  31325. {
  31326. case 182: // 'module'
  31327. lookahead2W(193); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  31328. break;
  31329. default:
  31330. lk = l1;
  31331. }
  31332. switch (lk)
  31333. {
  31334. case 94390: // 'module' 'namespace'
  31335. whitespace();
  31336. parse_LibraryModule();
  31337. break;
  31338. default:
  31339. whitespace();
  31340. parse_MainModule();
  31341. }
  31342. eventHandler.endNonterminal("Module", e0);
  31343. }
  31344. function parse_VersionDecl()
  31345. {
  31346. eventHandler.startNonterminal("VersionDecl", e0);
  31347. shift(274); // 'xquery'
  31348. lookahead1W(116); // S^WS | '(:' | 'encoding' | 'version'
  31349. switch (l1)
  31350. {
  31351. case 125: // 'encoding'
  31352. shift(125); // 'encoding'
  31353. lookahead1W(17); // StringLiteral | S^WS | '(:'
  31354. shift(11); // StringLiteral
  31355. break;
  31356. default:
  31357. shift(263); // 'version'
  31358. lookahead1W(17); // StringLiteral | S^WS | '(:'
  31359. shift(11); // StringLiteral
  31360. lookahead1W(109); // S^WS | '(:' | ';' | 'encoding'
  31361. if (l1 == 125) // 'encoding'
  31362. {
  31363. shift(125); // 'encoding'
  31364. lookahead1W(17); // StringLiteral | S^WS | '(:'
  31365. shift(11); // StringLiteral
  31366. }
  31367. }
  31368. lookahead1W(28); // S^WS | '(:' | ';'
  31369. whitespace();
  31370. parse_Separator();
  31371. eventHandler.endNonterminal("VersionDecl", e0);
  31372. }
  31373. function parse_LibraryModule()
  31374. {
  31375. eventHandler.startNonterminal("LibraryModule", e0);
  31376. parse_ModuleDecl();
  31377. lookahead1W(138); // S^WS | EOF | '(:' | 'declare' | 'import'
  31378. whitespace();
  31379. parse_Prolog();
  31380. eventHandler.endNonterminal("LibraryModule", e0);
  31381. }
  31382. function parse_ModuleDecl()
  31383. {
  31384. eventHandler.startNonterminal("ModuleDecl", e0);
  31385. shift(182); // 'module'
  31386. lookahead1W(61); // S^WS | '(:' | 'namespace'
  31387. shift(184); // 'namespace'
  31388. lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31389. whitespace();
  31390. parse_NCName();
  31391. lookahead1W(29); // S^WS | '(:' | '='
  31392. shift(60); // '='
  31393. lookahead1W(15); // URILiteral | S^WS | '(:'
  31394. shift(7); // URILiteral
  31395. lookahead1W(28); // S^WS | '(:' | ';'
  31396. whitespace();
  31397. parse_Separator();
  31398. eventHandler.endNonterminal("ModuleDecl", e0);
  31399. }
  31400. function parse_Prolog()
  31401. {
  31402. eventHandler.startNonterminal("Prolog", e0);
  31403. for (;;)
  31404. {
  31405. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31406. switch (l1)
  31407. {
  31408. case 108: // 'declare'
  31409. lookahead2W(213); // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  31410. break;
  31411. case 153: // 'import'
  31412. lookahead2W(201); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  31413. break;
  31414. default:
  31415. lk = l1;
  31416. }
  31417. if (lk != 42604 // 'declare' 'base-uri'
  31418. && lk != 43628 // 'declare' 'boundary-space'
  31419. && lk != 50284 // 'declare' 'construction'
  31420. && lk != 53356 // 'declare' 'copy-namespaces'
  31421. && lk != 54380 // 'declare' 'decimal-format'
  31422. && lk != 55916 // 'declare' 'default'
  31423. && lk != 72300 // 'declare' 'ft-option'
  31424. && lk != 93337 // 'import' 'module'
  31425. && lk != 94316 // 'declare' 'namespace'
  31426. && lk != 104044 // 'declare' 'ordering'
  31427. && lk != 113772 // 'declare' 'revalidation'
  31428. && lk != 115353) // 'import' 'schema'
  31429. {
  31430. break;
  31431. }
  31432. switch (l1)
  31433. {
  31434. case 108: // 'declare'
  31435. lookahead2W(178); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  31436. break;
  31437. default:
  31438. lk = l1;
  31439. }
  31440. if (lk == 55916) // 'declare' 'default'
  31441. {
  31442. lk = memoized(0, e0);
  31443. if (lk == 0)
  31444. {
  31445. var b0A = b0; var e0A = e0; var l1A = l1;
  31446. var b1A = b1; var e1A = e1; var l2A = l2;
  31447. var b2A = b2; var e2A = e2;
  31448. try
  31449. {
  31450. try_DefaultNamespaceDecl();
  31451. lk = -1;
  31452. }
  31453. catch (p1A)
  31454. {
  31455. lk = -2;
  31456. }
  31457. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  31458. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  31459. b2 = b2A; e2 = e2A; end = e2A; }}
  31460. memoize(0, e0, lk);
  31461. }
  31462. }
  31463. switch (lk)
  31464. {
  31465. case -1:
  31466. whitespace();
  31467. parse_DefaultNamespaceDecl();
  31468. break;
  31469. case 94316: // 'declare' 'namespace'
  31470. whitespace();
  31471. parse_NamespaceDecl();
  31472. break;
  31473. case 153: // 'import'
  31474. whitespace();
  31475. parse_Import();
  31476. break;
  31477. case 72300: // 'declare' 'ft-option'
  31478. whitespace();
  31479. parse_FTOptionDecl();
  31480. break;
  31481. default:
  31482. whitespace();
  31483. parse_Setter();
  31484. }
  31485. lookahead1W(28); // S^WS | '(:' | ';'
  31486. whitespace();
  31487. parse_Separator();
  31488. }
  31489. for (;;)
  31490. {
  31491. lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  31492. switch (l1)
  31493. {
  31494. case 108: // 'declare'
  31495. lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  31496. break;
  31497. default:
  31498. lk = l1;
  31499. }
  31500. if (lk != 16492 // 'declare' '%'
  31501. && lk != 48748 // 'declare' 'collection'
  31502. && lk != 51820 // 'declare' 'context'
  31503. && lk != 74348 // 'declare' 'function'
  31504. && lk != 79468 // 'declare' 'index'
  31505. && lk != 82540 // 'declare' 'integrity'
  31506. && lk != 101996 // 'declare' 'option'
  31507. && lk != 131692 // 'declare' 'updating'
  31508. && lk != 134252) // 'declare' 'variable'
  31509. {
  31510. break;
  31511. }
  31512. switch (l1)
  31513. {
  31514. case 108: // 'declare'
  31515. lookahead2W(175); // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
  31516. break;
  31517. default:
  31518. lk = l1;
  31519. }
  31520. switch (lk)
  31521. {
  31522. case 51820: // 'declare' 'context'
  31523. whitespace();
  31524. parse_ContextItemDecl();
  31525. break;
  31526. case 101996: // 'declare' 'option'
  31527. whitespace();
  31528. parse_OptionDecl();
  31529. break;
  31530. default:
  31531. whitespace();
  31532. parse_AnnotatedDecl();
  31533. }
  31534. lookahead1W(28); // S^WS | '(:' | ';'
  31535. whitespace();
  31536. parse_Separator();
  31537. }
  31538. eventHandler.endNonterminal("Prolog", e0);
  31539. }
  31540. function parse_Separator()
  31541. {
  31542. eventHandler.startNonterminal("Separator", e0);
  31543. shift(53); // ';'
  31544. eventHandler.endNonterminal("Separator", e0);
  31545. }
  31546. function parse_Setter()
  31547. {
  31548. eventHandler.startNonterminal("Setter", e0);
  31549. switch (l1)
  31550. {
  31551. case 108: // 'declare'
  31552. lookahead2W(172); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
  31553. break;
  31554. default:
  31555. lk = l1;
  31556. }
  31557. if (lk == 55916) // 'declare' 'default'
  31558. {
  31559. lk = memoized(1, e0);
  31560. if (lk == 0)
  31561. {
  31562. var b0A = b0; var e0A = e0; var l1A = l1;
  31563. var b1A = b1; var e1A = e1; var l2A = l2;
  31564. var b2A = b2; var e2A = e2;
  31565. try
  31566. {
  31567. try_DefaultCollationDecl();
  31568. lk = -2;
  31569. }
  31570. catch (p2A)
  31571. {
  31572. try
  31573. {
  31574. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  31575. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  31576. b2 = b2A; e2 = e2A; end = e2A; }}
  31577. try_EmptyOrderDecl();
  31578. lk = -6;
  31579. }
  31580. catch (p6A)
  31581. {
  31582. lk = -9;
  31583. }
  31584. }
  31585. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  31586. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  31587. b2 = b2A; e2 = e2A; end = e2A; }}
  31588. memoize(1, e0, lk);
  31589. }
  31590. }
  31591. switch (lk)
  31592. {
  31593. case 43628: // 'declare' 'boundary-space'
  31594. parse_BoundarySpaceDecl();
  31595. break;
  31596. case -2:
  31597. parse_DefaultCollationDecl();
  31598. break;
  31599. case 42604: // 'declare' 'base-uri'
  31600. parse_BaseURIDecl();
  31601. break;
  31602. case 50284: // 'declare' 'construction'
  31603. parse_ConstructionDecl();
  31604. break;
  31605. case 104044: // 'declare' 'ordering'
  31606. parse_OrderingModeDecl();
  31607. break;
  31608. case -6:
  31609. parse_EmptyOrderDecl();
  31610. break;
  31611. case 113772: // 'declare' 'revalidation'
  31612. parse_RevalidationDecl();
  31613. break;
  31614. case 53356: // 'declare' 'copy-namespaces'
  31615. parse_CopyNamespacesDecl();
  31616. break;
  31617. default:
  31618. parse_DecimalFormatDecl();
  31619. }
  31620. eventHandler.endNonterminal("Setter", e0);
  31621. }
  31622. function parse_BoundarySpaceDecl()
  31623. {
  31624. eventHandler.startNonterminal("BoundarySpaceDecl", e0);
  31625. shift(108); // 'declare'
  31626. lookahead1W(33); // S^WS | '(:' | 'boundary-space'
  31627. shift(85); // 'boundary-space'
  31628. lookahead1W(133); // S^WS | '(:' | 'preserve' | 'strip'
  31629. switch (l1)
  31630. {
  31631. case 214: // 'preserve'
  31632. shift(214); // 'preserve'
  31633. break;
  31634. default:
  31635. shift(241); // 'strip'
  31636. }
  31637. eventHandler.endNonterminal("BoundarySpaceDecl", e0);
  31638. }
  31639. function parse_DefaultCollationDecl()
  31640. {
  31641. eventHandler.startNonterminal("DefaultCollationDecl", e0);
  31642. shift(108); // 'declare'
  31643. lookahead1W(46); // S^WS | '(:' | 'default'
  31644. shift(109); // 'default'
  31645. lookahead1W(38); // S^WS | '(:' | 'collation'
  31646. shift(94); // 'collation'
  31647. lookahead1W(15); // URILiteral | S^WS | '(:'
  31648. shift(7); // URILiteral
  31649. eventHandler.endNonterminal("DefaultCollationDecl", e0);
  31650. }
  31651. function try_DefaultCollationDecl()
  31652. {
  31653. shiftT(108); // 'declare'
  31654. lookahead1W(46); // S^WS | '(:' | 'default'
  31655. shiftT(109); // 'default'
  31656. lookahead1W(38); // S^WS | '(:' | 'collation'
  31657. shiftT(94); // 'collation'
  31658. lookahead1W(15); // URILiteral | S^WS | '(:'
  31659. shiftT(7); // URILiteral
  31660. }
  31661. function parse_BaseURIDecl()
  31662. {
  31663. eventHandler.startNonterminal("BaseURIDecl", e0);
  31664. shift(108); // 'declare'
  31665. lookahead1W(32); // S^WS | '(:' | 'base-uri'
  31666. shift(83); // 'base-uri'
  31667. lookahead1W(15); // URILiteral | S^WS | '(:'
  31668. shift(7); // URILiteral
  31669. eventHandler.endNonterminal("BaseURIDecl", e0);
  31670. }
  31671. function parse_ConstructionDecl()
  31672. {
  31673. eventHandler.startNonterminal("ConstructionDecl", e0);
  31674. shift(108); // 'declare'
  31675. lookahead1W(41); // S^WS | '(:' | 'construction'
  31676. shift(98); // 'construction'
  31677. lookahead1W(133); // S^WS | '(:' | 'preserve' | 'strip'
  31678. switch (l1)
  31679. {
  31680. case 241: // 'strip'
  31681. shift(241); // 'strip'
  31682. break;
  31683. default:
  31684. shift(214); // 'preserve'
  31685. }
  31686. eventHandler.endNonterminal("ConstructionDecl", e0);
  31687. }
  31688. function parse_OrderingModeDecl()
  31689. {
  31690. eventHandler.startNonterminal("OrderingModeDecl", e0);
  31691. shift(108); // 'declare'
  31692. lookahead1W(68); // S^WS | '(:' | 'ordering'
  31693. shift(203); // 'ordering'
  31694. lookahead1W(131); // S^WS | '(:' | 'ordered' | 'unordered'
  31695. switch (l1)
  31696. {
  31697. case 202: // 'ordered'
  31698. shift(202); // 'ordered'
  31699. break;
  31700. default:
  31701. shift(256); // 'unordered'
  31702. }
  31703. eventHandler.endNonterminal("OrderingModeDecl", e0);
  31704. }
  31705. function parse_EmptyOrderDecl()
  31706. {
  31707. eventHandler.startNonterminal("EmptyOrderDecl", e0);
  31708. shift(108); // 'declare'
  31709. lookahead1W(46); // S^WS | '(:' | 'default'
  31710. shift(109); // 'default'
  31711. lookahead1W(67); // S^WS | '(:' | 'order'
  31712. shift(201); // 'order'
  31713. lookahead1W(49); // S^WS | '(:' | 'empty'
  31714. shift(123); // 'empty'
  31715. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  31716. switch (l1)
  31717. {
  31718. case 147: // 'greatest'
  31719. shift(147); // 'greatest'
  31720. break;
  31721. default:
  31722. shift(173); // 'least'
  31723. }
  31724. eventHandler.endNonterminal("EmptyOrderDecl", e0);
  31725. }
  31726. function try_EmptyOrderDecl()
  31727. {
  31728. shiftT(108); // 'declare'
  31729. lookahead1W(46); // S^WS | '(:' | 'default'
  31730. shiftT(109); // 'default'
  31731. lookahead1W(67); // S^WS | '(:' | 'order'
  31732. shiftT(201); // 'order'
  31733. lookahead1W(49); // S^WS | '(:' | 'empty'
  31734. shiftT(123); // 'empty'
  31735. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  31736. switch (l1)
  31737. {
  31738. case 147: // 'greatest'
  31739. shiftT(147); // 'greatest'
  31740. break;
  31741. default:
  31742. shiftT(173); // 'least'
  31743. }
  31744. }
  31745. function parse_CopyNamespacesDecl()
  31746. {
  31747. eventHandler.startNonterminal("CopyNamespacesDecl", e0);
  31748. shift(108); // 'declare'
  31749. lookahead1W(44); // S^WS | '(:' | 'copy-namespaces'
  31750. shift(104); // 'copy-namespaces'
  31751. lookahead1W(128); // S^WS | '(:' | 'no-preserve' | 'preserve'
  31752. whitespace();
  31753. parse_PreserveMode();
  31754. lookahead1W(25); // S^WS | '(:' | ','
  31755. shift(41); // ','
  31756. lookahead1W(123); // S^WS | '(:' | 'inherit' | 'no-inherit'
  31757. whitespace();
  31758. parse_InheritMode();
  31759. eventHandler.endNonterminal("CopyNamespacesDecl", e0);
  31760. }
  31761. function parse_PreserveMode()
  31762. {
  31763. eventHandler.startNonterminal("PreserveMode", e0);
  31764. switch (l1)
  31765. {
  31766. case 214: // 'preserve'
  31767. shift(214); // 'preserve'
  31768. break;
  31769. default:
  31770. shift(190); // 'no-preserve'
  31771. }
  31772. eventHandler.endNonterminal("PreserveMode", e0);
  31773. }
  31774. function parse_InheritMode()
  31775. {
  31776. eventHandler.startNonterminal("InheritMode", e0);
  31777. switch (l1)
  31778. {
  31779. case 157: // 'inherit'
  31780. shift(157); // 'inherit'
  31781. break;
  31782. default:
  31783. shift(189); // 'no-inherit'
  31784. }
  31785. eventHandler.endNonterminal("InheritMode", e0);
  31786. }
  31787. function parse_DecimalFormatDecl()
  31788. {
  31789. eventHandler.startNonterminal("DecimalFormatDecl", e0);
  31790. shift(108); // 'declare'
  31791. lookahead1W(114); // S^WS | '(:' | 'decimal-format' | 'default'
  31792. switch (l1)
  31793. {
  31794. case 106: // 'decimal-format'
  31795. shift(106); // 'decimal-format'
  31796. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31797. whitespace();
  31798. parse_EQName();
  31799. break;
  31800. default:
  31801. shift(109); // 'default'
  31802. lookahead1W(45); // S^WS | '(:' | 'decimal-format'
  31803. shift(106); // 'decimal-format'
  31804. }
  31805. for (;;)
  31806. {
  31807. lookahead1W(180); // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
  31808. if (l1 == 53) // ';'
  31809. {
  31810. break;
  31811. }
  31812. whitespace();
  31813. parse_DFPropertyName();
  31814. lookahead1W(29); // S^WS | '(:' | '='
  31815. shift(60); // '='
  31816. lookahead1W(17); // StringLiteral | S^WS | '(:'
  31817. shift(11); // StringLiteral
  31818. }
  31819. eventHandler.endNonterminal("DecimalFormatDecl", e0);
  31820. }
  31821. function parse_DFPropertyName()
  31822. {
  31823. eventHandler.startNonterminal("DFPropertyName", e0);
  31824. switch (l1)
  31825. {
  31826. case 107: // 'decimal-separator'
  31827. shift(107); // 'decimal-separator'
  31828. break;
  31829. case 149: // 'grouping-separator'
  31830. shift(149); // 'grouping-separator'
  31831. break;
  31832. case 156: // 'infinity'
  31833. shift(156); // 'infinity'
  31834. break;
  31835. case 179: // 'minus-sign'
  31836. shift(179); // 'minus-sign'
  31837. break;
  31838. case 67: // 'NaN'
  31839. shift(67); // 'NaN'
  31840. break;
  31841. case 209: // 'percent'
  31842. shift(209); // 'percent'
  31843. break;
  31844. case 208: // 'per-mille'
  31845. shift(208); // 'per-mille'
  31846. break;
  31847. case 275: // 'zero-digit'
  31848. shift(275); // 'zero-digit'
  31849. break;
  31850. case 116: // 'digit'
  31851. shift(116); // 'digit'
  31852. break;
  31853. default:
  31854. shift(207); // 'pattern-separator'
  31855. }
  31856. eventHandler.endNonterminal("DFPropertyName", e0);
  31857. }
  31858. function parse_Import()
  31859. {
  31860. eventHandler.startNonterminal("Import", e0);
  31861. switch (l1)
  31862. {
  31863. case 153: // 'import'
  31864. lookahead2W(126); // S^WS | '(:' | 'module' | 'schema'
  31865. break;
  31866. default:
  31867. lk = l1;
  31868. }
  31869. switch (lk)
  31870. {
  31871. case 115353: // 'import' 'schema'
  31872. parse_SchemaImport();
  31873. break;
  31874. default:
  31875. parse_ModuleImport();
  31876. }
  31877. eventHandler.endNonterminal("Import", e0);
  31878. }
  31879. function parse_SchemaImport()
  31880. {
  31881. eventHandler.startNonterminal("SchemaImport", e0);
  31882. shift(153); // 'import'
  31883. lookahead1W(73); // S^WS | '(:' | 'schema'
  31884. shift(225); // 'schema'
  31885. lookahead1W(137); // URILiteral | S^WS | '(:' | 'default' | 'namespace'
  31886. if (l1 != 7) // URILiteral
  31887. {
  31888. whitespace();
  31889. parse_SchemaPrefix();
  31890. }
  31891. lookahead1W(15); // URILiteral | S^WS | '(:'
  31892. shift(7); // URILiteral
  31893. lookahead1W(108); // S^WS | '(:' | ';' | 'at'
  31894. if (l1 == 81) // 'at'
  31895. {
  31896. shift(81); // 'at'
  31897. lookahead1W(15); // URILiteral | S^WS | '(:'
  31898. shift(7); // URILiteral
  31899. for (;;)
  31900. {
  31901. lookahead1W(103); // S^WS | '(:' | ',' | ';'
  31902. if (l1 != 41) // ','
  31903. {
  31904. break;
  31905. }
  31906. shift(41); // ','
  31907. lookahead1W(15); // URILiteral | S^WS | '(:'
  31908. shift(7); // URILiteral
  31909. }
  31910. }
  31911. eventHandler.endNonterminal("SchemaImport", e0);
  31912. }
  31913. function parse_SchemaPrefix()
  31914. {
  31915. eventHandler.startNonterminal("SchemaPrefix", e0);
  31916. switch (l1)
  31917. {
  31918. case 184: // 'namespace'
  31919. shift(184); // 'namespace'
  31920. lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31921. whitespace();
  31922. parse_NCName();
  31923. lookahead1W(29); // S^WS | '(:' | '='
  31924. shift(60); // '='
  31925. break;
  31926. default:
  31927. shift(109); // 'default'
  31928. lookahead1W(47); // S^WS | '(:' | 'element'
  31929. shift(121); // 'element'
  31930. lookahead1W(61); // S^WS | '(:' | 'namespace'
  31931. shift(184); // 'namespace'
  31932. }
  31933. eventHandler.endNonterminal("SchemaPrefix", e0);
  31934. }
  31935. function parse_ModuleImport()
  31936. {
  31937. eventHandler.startNonterminal("ModuleImport", e0);
  31938. shift(153); // 'import'
  31939. lookahead1W(60); // S^WS | '(:' | 'module'
  31940. shift(182); // 'module'
  31941. lookahead1W(90); // URILiteral | S^WS | '(:' | 'namespace'
  31942. if (l1 == 184) // 'namespace'
  31943. {
  31944. shift(184); // 'namespace'
  31945. lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31946. whitespace();
  31947. parse_NCName();
  31948. lookahead1W(29); // S^WS | '(:' | '='
  31949. shift(60); // '='
  31950. }
  31951. lookahead1W(15); // URILiteral | S^WS | '(:'
  31952. shift(7); // URILiteral
  31953. lookahead1W(108); // S^WS | '(:' | ';' | 'at'
  31954. if (l1 == 81) // 'at'
  31955. {
  31956. shift(81); // 'at'
  31957. lookahead1W(15); // URILiteral | S^WS | '(:'
  31958. shift(7); // URILiteral
  31959. for (;;)
  31960. {
  31961. lookahead1W(103); // S^WS | '(:' | ',' | ';'
  31962. if (l1 != 41) // ','
  31963. {
  31964. break;
  31965. }
  31966. shift(41); // ','
  31967. lookahead1W(15); // URILiteral | S^WS | '(:'
  31968. shift(7); // URILiteral
  31969. }
  31970. }
  31971. eventHandler.endNonterminal("ModuleImport", e0);
  31972. }
  31973. function parse_NamespaceDecl()
  31974. {
  31975. eventHandler.startNonterminal("NamespaceDecl", e0);
  31976. shift(108); // 'declare'
  31977. lookahead1W(61); // S^WS | '(:' | 'namespace'
  31978. shift(184); // 'namespace'
  31979. lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  31980. whitespace();
  31981. parse_NCName();
  31982. lookahead1W(29); // S^WS | '(:' | '='
  31983. shift(60); // '='
  31984. lookahead1W(15); // URILiteral | S^WS | '(:'
  31985. shift(7); // URILiteral
  31986. eventHandler.endNonterminal("NamespaceDecl", e0);
  31987. }
  31988. function parse_DefaultNamespaceDecl()
  31989. {
  31990. eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
  31991. shift(108); // 'declare'
  31992. lookahead1W(46); // S^WS | '(:' | 'default'
  31993. shift(109); // 'default'
  31994. lookahead1W(115); // S^WS | '(:' | 'element' | 'function'
  31995. switch (l1)
  31996. {
  31997. case 121: // 'element'
  31998. shift(121); // 'element'
  31999. break;
  32000. default:
  32001. shift(145); // 'function'
  32002. }
  32003. lookahead1W(61); // S^WS | '(:' | 'namespace'
  32004. shift(184); // 'namespace'
  32005. lookahead1W(15); // URILiteral | S^WS | '(:'
  32006. shift(7); // URILiteral
  32007. eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
  32008. }
  32009. function try_DefaultNamespaceDecl()
  32010. {
  32011. shiftT(108); // 'declare'
  32012. lookahead1W(46); // S^WS | '(:' | 'default'
  32013. shiftT(109); // 'default'
  32014. lookahead1W(115); // S^WS | '(:' | 'element' | 'function'
  32015. switch (l1)
  32016. {
  32017. case 121: // 'element'
  32018. shiftT(121); // 'element'
  32019. break;
  32020. default:
  32021. shiftT(145); // 'function'
  32022. }
  32023. lookahead1W(61); // S^WS | '(:' | 'namespace'
  32024. shiftT(184); // 'namespace'
  32025. lookahead1W(15); // URILiteral | S^WS | '(:'
  32026. shiftT(7); // URILiteral
  32027. }
  32028. function parse_FTOptionDecl()
  32029. {
  32030. eventHandler.startNonterminal("FTOptionDecl", e0);
  32031. shift(108); // 'declare'
  32032. lookahead1W(52); // S^WS | '(:' | 'ft-option'
  32033. shift(141); // 'ft-option'
  32034. lookahead1W(81); // S^WS | '(:' | 'using'
  32035. whitespace();
  32036. parse_FTMatchOptions();
  32037. eventHandler.endNonterminal("FTOptionDecl", e0);
  32038. }
  32039. function parse_AnnotatedDecl()
  32040. {
  32041. eventHandler.startNonterminal("AnnotatedDecl", e0);
  32042. shift(108); // 'declare'
  32043. for (;;)
  32044. {
  32045. lookahead1W(170); // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  32046. if (l1 != 32 // '%'
  32047. && l1 != 257) // 'updating'
  32048. {
  32049. break;
  32050. }
  32051. switch (l1)
  32052. {
  32053. case 257: // 'updating'
  32054. whitespace();
  32055. parse_CompatibilityAnnotation();
  32056. break;
  32057. default:
  32058. whitespace();
  32059. parse_Annotation();
  32060. }
  32061. }
  32062. switch (l1)
  32063. {
  32064. case 262: // 'variable'
  32065. whitespace();
  32066. parse_VarDecl();
  32067. break;
  32068. case 145: // 'function'
  32069. whitespace();
  32070. parse_FunctionDecl();
  32071. break;
  32072. case 95: // 'collection'
  32073. whitespace();
  32074. parse_CollectionDecl();
  32075. break;
  32076. case 155: // 'index'
  32077. whitespace();
  32078. parse_IndexDecl();
  32079. break;
  32080. default:
  32081. whitespace();
  32082. parse_ICDecl();
  32083. }
  32084. eventHandler.endNonterminal("AnnotatedDecl", e0);
  32085. }
  32086. function parse_CompatibilityAnnotation()
  32087. {
  32088. eventHandler.startNonterminal("CompatibilityAnnotation", e0);
  32089. shift(257); // 'updating'
  32090. eventHandler.endNonterminal("CompatibilityAnnotation", e0);
  32091. }
  32092. function parse_Annotation()
  32093. {
  32094. eventHandler.startNonterminal("Annotation", e0);
  32095. shift(32); // '%'
  32096. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32097. whitespace();
  32098. parse_EQName();
  32099. lookahead1W(171); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  32100. if (l1 == 34) // '('
  32101. {
  32102. shift(34); // '('
  32103. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  32104. whitespace();
  32105. parse_Literal();
  32106. for (;;)
  32107. {
  32108. lookahead1W(101); // S^WS | '(:' | ')' | ','
  32109. if (l1 != 41) // ','
  32110. {
  32111. break;
  32112. }
  32113. shift(41); // ','
  32114. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  32115. whitespace();
  32116. parse_Literal();
  32117. }
  32118. shift(37); // ')'
  32119. }
  32120. eventHandler.endNonterminal("Annotation", e0);
  32121. }
  32122. function try_Annotation()
  32123. {
  32124. shiftT(32); // '%'
  32125. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32126. try_EQName();
  32127. lookahead1W(171); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
  32128. if (l1 == 34) // '('
  32129. {
  32130. shiftT(34); // '('
  32131. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  32132. try_Literal();
  32133. for (;;)
  32134. {
  32135. lookahead1W(101); // S^WS | '(:' | ')' | ','
  32136. if (l1 != 41) // ','
  32137. {
  32138. break;
  32139. }
  32140. shiftT(41); // ','
  32141. lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
  32142. try_Literal();
  32143. }
  32144. shiftT(37); // ')'
  32145. }
  32146. }
  32147. function parse_VarDecl()
  32148. {
  32149. eventHandler.startNonterminal("VarDecl", e0);
  32150. shift(262); // 'variable'
  32151. lookahead1W(21); // S^WS | '$' | '(:'
  32152. shift(31); // '$'
  32153. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32154. whitespace();
  32155. parse_VarName();
  32156. lookahead1W(147); // S^WS | '(:' | ':=' | 'as' | 'external'
  32157. if (l1 == 79) // 'as'
  32158. {
  32159. whitespace();
  32160. parse_TypeDeclaration();
  32161. }
  32162. lookahead1W(106); // S^WS | '(:' | ':=' | 'external'
  32163. switch (l1)
  32164. {
  32165. case 52: // ':='
  32166. shift(52); // ':='
  32167. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32168. whitespace();
  32169. parse_VarValue();
  32170. break;
  32171. default:
  32172. shift(133); // 'external'
  32173. lookahead1W(104); // S^WS | '(:' | ':=' | ';'
  32174. if (l1 == 52) // ':='
  32175. {
  32176. shift(52); // ':='
  32177. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32178. whitespace();
  32179. parse_VarDefaultValue();
  32180. }
  32181. }
  32182. eventHandler.endNonterminal("VarDecl", e0);
  32183. }
  32184. function parse_VarValue()
  32185. {
  32186. eventHandler.startNonterminal("VarValue", e0);
  32187. parse_ExprSingle();
  32188. eventHandler.endNonterminal("VarValue", e0);
  32189. }
  32190. function parse_VarDefaultValue()
  32191. {
  32192. eventHandler.startNonterminal("VarDefaultValue", e0);
  32193. parse_ExprSingle();
  32194. eventHandler.endNonterminal("VarDefaultValue", e0);
  32195. }
  32196. function parse_ContextItemDecl()
  32197. {
  32198. eventHandler.startNonterminal("ContextItemDecl", e0);
  32199. shift(108); // 'declare'
  32200. lookahead1W(43); // S^WS | '(:' | 'context'
  32201. shift(101); // 'context'
  32202. lookahead1W(55); // S^WS | '(:' | 'item'
  32203. shift(165); // 'item'
  32204. lookahead1W(147); // S^WS | '(:' | ':=' | 'as' | 'external'
  32205. if (l1 == 79) // 'as'
  32206. {
  32207. shift(79); // 'as'
  32208. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  32209. whitespace();
  32210. parse_ItemType();
  32211. }
  32212. lookahead1W(106); // S^WS | '(:' | ':=' | 'external'
  32213. switch (l1)
  32214. {
  32215. case 52: // ':='
  32216. shift(52); // ':='
  32217. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32218. whitespace();
  32219. parse_VarValue();
  32220. break;
  32221. default:
  32222. shift(133); // 'external'
  32223. lookahead1W(104); // S^WS | '(:' | ':=' | ';'
  32224. if (l1 == 52) // ':='
  32225. {
  32226. shift(52); // ':='
  32227. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32228. whitespace();
  32229. parse_VarDefaultValue();
  32230. }
  32231. }
  32232. eventHandler.endNonterminal("ContextItemDecl", e0);
  32233. }
  32234. function parse_ParamList()
  32235. {
  32236. eventHandler.startNonterminal("ParamList", e0);
  32237. parse_Param();
  32238. for (;;)
  32239. {
  32240. lookahead1W(101); // S^WS | '(:' | ')' | ','
  32241. if (l1 != 41) // ','
  32242. {
  32243. break;
  32244. }
  32245. shift(41); // ','
  32246. lookahead1W(21); // S^WS | '$' | '(:'
  32247. whitespace();
  32248. parse_Param();
  32249. }
  32250. eventHandler.endNonterminal("ParamList", e0);
  32251. }
  32252. function try_ParamList()
  32253. {
  32254. try_Param();
  32255. for (;;)
  32256. {
  32257. lookahead1W(101); // S^WS | '(:' | ')' | ','
  32258. if (l1 != 41) // ','
  32259. {
  32260. break;
  32261. }
  32262. shiftT(41); // ','
  32263. lookahead1W(21); // S^WS | '$' | '(:'
  32264. try_Param();
  32265. }
  32266. }
  32267. function parse_Param()
  32268. {
  32269. eventHandler.startNonterminal("Param", e0);
  32270. shift(31); // '$'
  32271. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32272. whitespace();
  32273. parse_EQName();
  32274. lookahead1W(143); // S^WS | '(:' | ')' | ',' | 'as'
  32275. if (l1 == 79) // 'as'
  32276. {
  32277. whitespace();
  32278. parse_TypeDeclaration();
  32279. }
  32280. eventHandler.endNonterminal("Param", e0);
  32281. }
  32282. function try_Param()
  32283. {
  32284. shiftT(31); // '$'
  32285. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32286. try_EQName();
  32287. lookahead1W(143); // S^WS | '(:' | ')' | ',' | 'as'
  32288. if (l1 == 79) // 'as'
  32289. {
  32290. try_TypeDeclaration();
  32291. }
  32292. }
  32293. function parse_FunctionBody()
  32294. {
  32295. eventHandler.startNonterminal("FunctionBody", e0);
  32296. parse_EnclosedExpr();
  32297. eventHandler.endNonterminal("FunctionBody", e0);
  32298. }
  32299. function try_FunctionBody()
  32300. {
  32301. try_EnclosedExpr();
  32302. }
  32303. function parse_EnclosedExpr()
  32304. {
  32305. eventHandler.startNonterminal("EnclosedExpr", e0);
  32306. shift(276); // '{'
  32307. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32308. whitespace();
  32309. parse_Expr();
  32310. shift(282); // '}'
  32311. eventHandler.endNonterminal("EnclosedExpr", e0);
  32312. }
  32313. function try_EnclosedExpr()
  32314. {
  32315. shiftT(276); // '{'
  32316. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32317. try_Expr();
  32318. shiftT(282); // '}'
  32319. }
  32320. function parse_OptionDecl()
  32321. {
  32322. eventHandler.startNonterminal("OptionDecl", e0);
  32323. shift(108); // 'declare'
  32324. lookahead1W(66); // S^WS | '(:' | 'option'
  32325. shift(199); // 'option'
  32326. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32327. whitespace();
  32328. parse_EQName();
  32329. lookahead1W(17); // StringLiteral | S^WS | '(:'
  32330. shift(11); // StringLiteral
  32331. eventHandler.endNonterminal("OptionDecl", e0);
  32332. }
  32333. function parse_Expr()
  32334. {
  32335. eventHandler.startNonterminal("Expr", e0);
  32336. parse_ExprSingle();
  32337. for (;;)
  32338. {
  32339. if (l1 != 41) // ','
  32340. {
  32341. break;
  32342. }
  32343. shift(41); // ','
  32344. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32345. whitespace();
  32346. parse_ExprSingle();
  32347. }
  32348. eventHandler.endNonterminal("Expr", e0);
  32349. }
  32350. function try_Expr()
  32351. {
  32352. try_ExprSingle();
  32353. for (;;)
  32354. {
  32355. if (l1 != 41) // ','
  32356. {
  32357. break;
  32358. }
  32359. shiftT(41); // ','
  32360. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32361. try_ExprSingle();
  32362. }
  32363. }
  32364. function parse_FLWORExpr()
  32365. {
  32366. eventHandler.startNonterminal("FLWORExpr", e0);
  32367. parse_InitialClause();
  32368. for (;;)
  32369. {
  32370. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  32371. if (l1 == 220) // 'return'
  32372. {
  32373. break;
  32374. }
  32375. whitespace();
  32376. parse_IntermediateClause();
  32377. }
  32378. whitespace();
  32379. parse_ReturnClause();
  32380. eventHandler.endNonterminal("FLWORExpr", e0);
  32381. }
  32382. function try_FLWORExpr()
  32383. {
  32384. try_InitialClause();
  32385. for (;;)
  32386. {
  32387. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  32388. if (l1 == 220) // 'return'
  32389. {
  32390. break;
  32391. }
  32392. try_IntermediateClause();
  32393. }
  32394. try_ReturnClause();
  32395. }
  32396. function parse_InitialClause()
  32397. {
  32398. eventHandler.startNonterminal("InitialClause", e0);
  32399. switch (l1)
  32400. {
  32401. case 137: // 'for'
  32402. lookahead2W(141); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  32403. break;
  32404. default:
  32405. lk = l1;
  32406. }
  32407. switch (lk)
  32408. {
  32409. case 16009: // 'for' '$'
  32410. parse_ForClause();
  32411. break;
  32412. case 174: // 'let'
  32413. parse_LetClause();
  32414. break;
  32415. default:
  32416. parse_WindowClause();
  32417. }
  32418. eventHandler.endNonterminal("InitialClause", e0);
  32419. }
  32420. function try_InitialClause()
  32421. {
  32422. switch (l1)
  32423. {
  32424. case 137: // 'for'
  32425. lookahead2W(141); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
  32426. break;
  32427. default:
  32428. lk = l1;
  32429. }
  32430. switch (lk)
  32431. {
  32432. case 16009: // 'for' '$'
  32433. try_ForClause();
  32434. break;
  32435. case 174: // 'let'
  32436. try_LetClause();
  32437. break;
  32438. default:
  32439. try_WindowClause();
  32440. }
  32441. }
  32442. function parse_IntermediateClause()
  32443. {
  32444. eventHandler.startNonterminal("IntermediateClause", e0);
  32445. switch (l1)
  32446. {
  32447. case 137: // 'for'
  32448. case 174: // 'let'
  32449. parse_InitialClause();
  32450. break;
  32451. case 266: // 'where'
  32452. parse_WhereClause();
  32453. break;
  32454. case 148: // 'group'
  32455. parse_GroupByClause();
  32456. break;
  32457. case 105: // 'count'
  32458. parse_CountClause();
  32459. break;
  32460. default:
  32461. parse_OrderByClause();
  32462. }
  32463. eventHandler.endNonterminal("IntermediateClause", e0);
  32464. }
  32465. function try_IntermediateClause()
  32466. {
  32467. switch (l1)
  32468. {
  32469. case 137: // 'for'
  32470. case 174: // 'let'
  32471. try_InitialClause();
  32472. break;
  32473. case 266: // 'where'
  32474. try_WhereClause();
  32475. break;
  32476. case 148: // 'group'
  32477. try_GroupByClause();
  32478. break;
  32479. case 105: // 'count'
  32480. try_CountClause();
  32481. break;
  32482. default:
  32483. try_OrderByClause();
  32484. }
  32485. }
  32486. function parse_ForClause()
  32487. {
  32488. eventHandler.startNonterminal("ForClause", e0);
  32489. shift(137); // 'for'
  32490. lookahead1W(21); // S^WS | '$' | '(:'
  32491. whitespace();
  32492. parse_ForBinding();
  32493. for (;;)
  32494. {
  32495. if (l1 != 41) // ','
  32496. {
  32497. break;
  32498. }
  32499. shift(41); // ','
  32500. lookahead1W(21); // S^WS | '$' | '(:'
  32501. whitespace();
  32502. parse_ForBinding();
  32503. }
  32504. eventHandler.endNonterminal("ForClause", e0);
  32505. }
  32506. function try_ForClause()
  32507. {
  32508. shiftT(137); // 'for'
  32509. lookahead1W(21); // S^WS | '$' | '(:'
  32510. try_ForBinding();
  32511. for (;;)
  32512. {
  32513. if (l1 != 41) // ','
  32514. {
  32515. break;
  32516. }
  32517. shiftT(41); // ','
  32518. lookahead1W(21); // S^WS | '$' | '(:'
  32519. try_ForBinding();
  32520. }
  32521. }
  32522. function parse_ForBinding()
  32523. {
  32524. eventHandler.startNonterminal("ForBinding", e0);
  32525. shift(31); // '$'
  32526. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32527. whitespace();
  32528. parse_VarName();
  32529. lookahead1W(164); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  32530. if (l1 == 79) // 'as'
  32531. {
  32532. whitespace();
  32533. parse_TypeDeclaration();
  32534. }
  32535. lookahead1W(158); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  32536. if (l1 == 72) // 'allowing'
  32537. {
  32538. whitespace();
  32539. parse_AllowingEmpty();
  32540. }
  32541. lookahead1W(150); // S^WS | '(:' | 'at' | 'in' | 'score'
  32542. if (l1 == 81) // 'at'
  32543. {
  32544. whitespace();
  32545. parse_PositionalVar();
  32546. }
  32547. lookahead1W(122); // S^WS | '(:' | 'in' | 'score'
  32548. if (l1 == 228) // 'score'
  32549. {
  32550. whitespace();
  32551. parse_FTScoreVar();
  32552. }
  32553. lookahead1W(53); // S^WS | '(:' | 'in'
  32554. shift(154); // 'in'
  32555. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32556. whitespace();
  32557. parse_ExprSingle();
  32558. eventHandler.endNonterminal("ForBinding", e0);
  32559. }
  32560. function try_ForBinding()
  32561. {
  32562. shiftT(31); // '$'
  32563. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32564. try_VarName();
  32565. lookahead1W(164); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
  32566. if (l1 == 79) // 'as'
  32567. {
  32568. try_TypeDeclaration();
  32569. }
  32570. lookahead1W(158); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
  32571. if (l1 == 72) // 'allowing'
  32572. {
  32573. try_AllowingEmpty();
  32574. }
  32575. lookahead1W(150); // S^WS | '(:' | 'at' | 'in' | 'score'
  32576. if (l1 == 81) // 'at'
  32577. {
  32578. try_PositionalVar();
  32579. }
  32580. lookahead1W(122); // S^WS | '(:' | 'in' | 'score'
  32581. if (l1 == 228) // 'score'
  32582. {
  32583. try_FTScoreVar();
  32584. }
  32585. lookahead1W(53); // S^WS | '(:' | 'in'
  32586. shiftT(154); // 'in'
  32587. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32588. try_ExprSingle();
  32589. }
  32590. function parse_AllowingEmpty()
  32591. {
  32592. eventHandler.startNonterminal("AllowingEmpty", e0);
  32593. shift(72); // 'allowing'
  32594. lookahead1W(49); // S^WS | '(:' | 'empty'
  32595. shift(123); // 'empty'
  32596. eventHandler.endNonterminal("AllowingEmpty", e0);
  32597. }
  32598. function try_AllowingEmpty()
  32599. {
  32600. shiftT(72); // 'allowing'
  32601. lookahead1W(49); // S^WS | '(:' | 'empty'
  32602. shiftT(123); // 'empty'
  32603. }
  32604. function parse_PositionalVar()
  32605. {
  32606. eventHandler.startNonterminal("PositionalVar", e0);
  32607. shift(81); // 'at'
  32608. lookahead1W(21); // S^WS | '$' | '(:'
  32609. shift(31); // '$'
  32610. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32611. whitespace();
  32612. parse_VarName();
  32613. eventHandler.endNonterminal("PositionalVar", e0);
  32614. }
  32615. function try_PositionalVar()
  32616. {
  32617. shiftT(81); // 'at'
  32618. lookahead1W(21); // S^WS | '$' | '(:'
  32619. shiftT(31); // '$'
  32620. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32621. try_VarName();
  32622. }
  32623. function parse_FTScoreVar()
  32624. {
  32625. eventHandler.startNonterminal("FTScoreVar", e0);
  32626. shift(228); // 'score'
  32627. lookahead1W(21); // S^WS | '$' | '(:'
  32628. shift(31); // '$'
  32629. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32630. whitespace();
  32631. parse_VarName();
  32632. eventHandler.endNonterminal("FTScoreVar", e0);
  32633. }
  32634. function try_FTScoreVar()
  32635. {
  32636. shiftT(228); // 'score'
  32637. lookahead1W(21); // S^WS | '$' | '(:'
  32638. shiftT(31); // '$'
  32639. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32640. try_VarName();
  32641. }
  32642. function parse_LetClause()
  32643. {
  32644. eventHandler.startNonterminal("LetClause", e0);
  32645. shift(174); // 'let'
  32646. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  32647. whitespace();
  32648. parse_LetBinding();
  32649. for (;;)
  32650. {
  32651. if (l1 != 41) // ','
  32652. {
  32653. break;
  32654. }
  32655. shift(41); // ','
  32656. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  32657. whitespace();
  32658. parse_LetBinding();
  32659. }
  32660. eventHandler.endNonterminal("LetClause", e0);
  32661. }
  32662. function try_LetClause()
  32663. {
  32664. shiftT(174); // 'let'
  32665. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  32666. try_LetBinding();
  32667. for (;;)
  32668. {
  32669. if (l1 != 41) // ','
  32670. {
  32671. break;
  32672. }
  32673. shiftT(41); // ','
  32674. lookahead1W(96); // S^WS | '$' | '(:' | 'score'
  32675. try_LetBinding();
  32676. }
  32677. }
  32678. function parse_LetBinding()
  32679. {
  32680. eventHandler.startNonterminal("LetBinding", e0);
  32681. switch (l1)
  32682. {
  32683. case 31: // '$'
  32684. shift(31); // '$'
  32685. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32686. whitespace();
  32687. parse_VarName();
  32688. lookahead1W(105); // S^WS | '(:' | ':=' | 'as'
  32689. if (l1 == 79) // 'as'
  32690. {
  32691. whitespace();
  32692. parse_TypeDeclaration();
  32693. }
  32694. break;
  32695. default:
  32696. parse_FTScoreVar();
  32697. }
  32698. lookahead1W(27); // S^WS | '(:' | ':='
  32699. shift(52); // ':='
  32700. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32701. whitespace();
  32702. parse_ExprSingle();
  32703. eventHandler.endNonterminal("LetBinding", e0);
  32704. }
  32705. function try_LetBinding()
  32706. {
  32707. switch (l1)
  32708. {
  32709. case 31: // '$'
  32710. shiftT(31); // '$'
  32711. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32712. try_VarName();
  32713. lookahead1W(105); // S^WS | '(:' | ':=' | 'as'
  32714. if (l1 == 79) // 'as'
  32715. {
  32716. try_TypeDeclaration();
  32717. }
  32718. break;
  32719. default:
  32720. try_FTScoreVar();
  32721. }
  32722. lookahead1W(27); // S^WS | '(:' | ':='
  32723. shiftT(52); // ':='
  32724. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32725. try_ExprSingle();
  32726. }
  32727. function parse_WindowClause()
  32728. {
  32729. eventHandler.startNonterminal("WindowClause", e0);
  32730. shift(137); // 'for'
  32731. lookahead1W(135); // S^WS | '(:' | 'sliding' | 'tumbling'
  32732. switch (l1)
  32733. {
  32734. case 251: // 'tumbling'
  32735. whitespace();
  32736. parse_TumblingWindowClause();
  32737. break;
  32738. default:
  32739. whitespace();
  32740. parse_SlidingWindowClause();
  32741. }
  32742. eventHandler.endNonterminal("WindowClause", e0);
  32743. }
  32744. function try_WindowClause()
  32745. {
  32746. shiftT(137); // 'for'
  32747. lookahead1W(135); // S^WS | '(:' | 'sliding' | 'tumbling'
  32748. switch (l1)
  32749. {
  32750. case 251: // 'tumbling'
  32751. try_TumblingWindowClause();
  32752. break;
  32753. default:
  32754. try_SlidingWindowClause();
  32755. }
  32756. }
  32757. function parse_TumblingWindowClause()
  32758. {
  32759. eventHandler.startNonterminal("TumblingWindowClause", e0);
  32760. shift(251); // 'tumbling'
  32761. lookahead1W(85); // S^WS | '(:' | 'window'
  32762. shift(269); // 'window'
  32763. lookahead1W(21); // S^WS | '$' | '(:'
  32764. shift(31); // '$'
  32765. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32766. whitespace();
  32767. parse_VarName();
  32768. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  32769. if (l1 == 79) // 'as'
  32770. {
  32771. whitespace();
  32772. parse_TypeDeclaration();
  32773. }
  32774. lookahead1W(53); // S^WS | '(:' | 'in'
  32775. shift(154); // 'in'
  32776. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32777. whitespace();
  32778. parse_ExprSingle();
  32779. whitespace();
  32780. parse_WindowStartCondition();
  32781. if (l1 == 126 // 'end'
  32782. || l1 == 198) // 'only'
  32783. {
  32784. whitespace();
  32785. parse_WindowEndCondition();
  32786. }
  32787. eventHandler.endNonterminal("TumblingWindowClause", e0);
  32788. }
  32789. function try_TumblingWindowClause()
  32790. {
  32791. shiftT(251); // 'tumbling'
  32792. lookahead1W(85); // S^WS | '(:' | 'window'
  32793. shiftT(269); // 'window'
  32794. lookahead1W(21); // S^WS | '$' | '(:'
  32795. shiftT(31); // '$'
  32796. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32797. try_VarName();
  32798. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  32799. if (l1 == 79) // 'as'
  32800. {
  32801. try_TypeDeclaration();
  32802. }
  32803. lookahead1W(53); // S^WS | '(:' | 'in'
  32804. shiftT(154); // 'in'
  32805. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32806. try_ExprSingle();
  32807. try_WindowStartCondition();
  32808. if (l1 == 126 // 'end'
  32809. || l1 == 198) // 'only'
  32810. {
  32811. try_WindowEndCondition();
  32812. }
  32813. }
  32814. function parse_SlidingWindowClause()
  32815. {
  32816. eventHandler.startNonterminal("SlidingWindowClause", e0);
  32817. shift(234); // 'sliding'
  32818. lookahead1W(85); // S^WS | '(:' | 'window'
  32819. shift(269); // 'window'
  32820. lookahead1W(21); // S^WS | '$' | '(:'
  32821. shift(31); // '$'
  32822. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32823. whitespace();
  32824. parse_VarName();
  32825. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  32826. if (l1 == 79) // 'as'
  32827. {
  32828. whitespace();
  32829. parse_TypeDeclaration();
  32830. }
  32831. lookahead1W(53); // S^WS | '(:' | 'in'
  32832. shift(154); // 'in'
  32833. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32834. whitespace();
  32835. parse_ExprSingle();
  32836. whitespace();
  32837. parse_WindowStartCondition();
  32838. whitespace();
  32839. parse_WindowEndCondition();
  32840. eventHandler.endNonterminal("SlidingWindowClause", e0);
  32841. }
  32842. function try_SlidingWindowClause()
  32843. {
  32844. shiftT(234); // 'sliding'
  32845. lookahead1W(85); // S^WS | '(:' | 'window'
  32846. shiftT(269); // 'window'
  32847. lookahead1W(21); // S^WS | '$' | '(:'
  32848. shiftT(31); // '$'
  32849. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32850. try_VarName();
  32851. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  32852. if (l1 == 79) // 'as'
  32853. {
  32854. try_TypeDeclaration();
  32855. }
  32856. lookahead1W(53); // S^WS | '(:' | 'in'
  32857. shiftT(154); // 'in'
  32858. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32859. try_ExprSingle();
  32860. try_WindowStartCondition();
  32861. try_WindowEndCondition();
  32862. }
  32863. function parse_WindowStartCondition()
  32864. {
  32865. eventHandler.startNonterminal("WindowStartCondition", e0);
  32866. shift(237); // 'start'
  32867. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  32868. whitespace();
  32869. parse_WindowVars();
  32870. lookahead1W(83); // S^WS | '(:' | 'when'
  32871. shift(265); // 'when'
  32872. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32873. whitespace();
  32874. parse_ExprSingle();
  32875. eventHandler.endNonterminal("WindowStartCondition", e0);
  32876. }
  32877. function try_WindowStartCondition()
  32878. {
  32879. shiftT(237); // 'start'
  32880. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  32881. try_WindowVars();
  32882. lookahead1W(83); // S^WS | '(:' | 'when'
  32883. shiftT(265); // 'when'
  32884. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32885. try_ExprSingle();
  32886. }
  32887. function parse_WindowEndCondition()
  32888. {
  32889. eventHandler.startNonterminal("WindowEndCondition", e0);
  32890. if (l1 == 198) // 'only'
  32891. {
  32892. shift(198); // 'only'
  32893. }
  32894. lookahead1W(50); // S^WS | '(:' | 'end'
  32895. shift(126); // 'end'
  32896. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  32897. whitespace();
  32898. parse_WindowVars();
  32899. lookahead1W(83); // S^WS | '(:' | 'when'
  32900. shift(265); // 'when'
  32901. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32902. whitespace();
  32903. parse_ExprSingle();
  32904. eventHandler.endNonterminal("WindowEndCondition", e0);
  32905. }
  32906. function try_WindowEndCondition()
  32907. {
  32908. if (l1 == 198) // 'only'
  32909. {
  32910. shiftT(198); // 'only'
  32911. }
  32912. lookahead1W(50); // S^WS | '(:' | 'end'
  32913. shiftT(126); // 'end'
  32914. lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
  32915. try_WindowVars();
  32916. lookahead1W(83); // S^WS | '(:' | 'when'
  32917. shiftT(265); // 'when'
  32918. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  32919. try_ExprSingle();
  32920. }
  32921. function parse_WindowVars()
  32922. {
  32923. eventHandler.startNonterminal("WindowVars", e0);
  32924. if (l1 == 31) // '$'
  32925. {
  32926. shift(31); // '$'
  32927. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32928. whitespace();
  32929. parse_CurrentItem();
  32930. }
  32931. lookahead1W(159); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  32932. if (l1 == 81) // 'at'
  32933. {
  32934. whitespace();
  32935. parse_PositionalVar();
  32936. }
  32937. lookahead1W(153); // S^WS | '(:' | 'next' | 'previous' | 'when'
  32938. if (l1 == 215) // 'previous'
  32939. {
  32940. shift(215); // 'previous'
  32941. lookahead1W(21); // S^WS | '$' | '(:'
  32942. shift(31); // '$'
  32943. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32944. whitespace();
  32945. parse_PreviousItem();
  32946. }
  32947. lookahead1W(127); // S^WS | '(:' | 'next' | 'when'
  32948. if (l1 == 187) // 'next'
  32949. {
  32950. shift(187); // 'next'
  32951. lookahead1W(21); // S^WS | '$' | '(:'
  32952. shift(31); // '$'
  32953. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32954. whitespace();
  32955. parse_NextItem();
  32956. }
  32957. eventHandler.endNonterminal("WindowVars", e0);
  32958. }
  32959. function try_WindowVars()
  32960. {
  32961. if (l1 == 31) // '$'
  32962. {
  32963. shiftT(31); // '$'
  32964. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32965. try_CurrentItem();
  32966. }
  32967. lookahead1W(159); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
  32968. if (l1 == 81) // 'at'
  32969. {
  32970. try_PositionalVar();
  32971. }
  32972. lookahead1W(153); // S^WS | '(:' | 'next' | 'previous' | 'when'
  32973. if (l1 == 215) // 'previous'
  32974. {
  32975. shiftT(215); // 'previous'
  32976. lookahead1W(21); // S^WS | '$' | '(:'
  32977. shiftT(31); // '$'
  32978. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32979. try_PreviousItem();
  32980. }
  32981. lookahead1W(127); // S^WS | '(:' | 'next' | 'when'
  32982. if (l1 == 187) // 'next'
  32983. {
  32984. shiftT(187); // 'next'
  32985. lookahead1W(21); // S^WS | '$' | '(:'
  32986. shiftT(31); // '$'
  32987. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  32988. try_NextItem();
  32989. }
  32990. }
  32991. function parse_CurrentItem()
  32992. {
  32993. eventHandler.startNonterminal("CurrentItem", e0);
  32994. parse_EQName();
  32995. eventHandler.endNonterminal("CurrentItem", e0);
  32996. }
  32997. function try_CurrentItem()
  32998. {
  32999. try_EQName();
  33000. }
  33001. function parse_PreviousItem()
  33002. {
  33003. eventHandler.startNonterminal("PreviousItem", e0);
  33004. parse_EQName();
  33005. eventHandler.endNonterminal("PreviousItem", e0);
  33006. }
  33007. function try_PreviousItem()
  33008. {
  33009. try_EQName();
  33010. }
  33011. function parse_NextItem()
  33012. {
  33013. eventHandler.startNonterminal("NextItem", e0);
  33014. parse_EQName();
  33015. eventHandler.endNonterminal("NextItem", e0);
  33016. }
  33017. function try_NextItem()
  33018. {
  33019. try_EQName();
  33020. }
  33021. function parse_CountClause()
  33022. {
  33023. eventHandler.startNonterminal("CountClause", e0);
  33024. shift(105); // 'count'
  33025. lookahead1W(21); // S^WS | '$' | '(:'
  33026. shift(31); // '$'
  33027. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33028. whitespace();
  33029. parse_VarName();
  33030. eventHandler.endNonterminal("CountClause", e0);
  33031. }
  33032. function try_CountClause()
  33033. {
  33034. shiftT(105); // 'count'
  33035. lookahead1W(21); // S^WS | '$' | '(:'
  33036. shiftT(31); // '$'
  33037. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33038. try_VarName();
  33039. }
  33040. function parse_WhereClause()
  33041. {
  33042. eventHandler.startNonterminal("WhereClause", e0);
  33043. shift(266); // 'where'
  33044. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33045. whitespace();
  33046. parse_ExprSingle();
  33047. eventHandler.endNonterminal("WhereClause", e0);
  33048. }
  33049. function try_WhereClause()
  33050. {
  33051. shiftT(266); // 'where'
  33052. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33053. try_ExprSingle();
  33054. }
  33055. function parse_GroupByClause()
  33056. {
  33057. eventHandler.startNonterminal("GroupByClause", e0);
  33058. shift(148); // 'group'
  33059. lookahead1W(34); // S^WS | '(:' | 'by'
  33060. shift(87); // 'by'
  33061. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33062. whitespace();
  33063. parse_GroupingSpecList();
  33064. eventHandler.endNonterminal("GroupByClause", e0);
  33065. }
  33066. function try_GroupByClause()
  33067. {
  33068. shiftT(148); // 'group'
  33069. lookahead1W(34); // S^WS | '(:' | 'by'
  33070. shiftT(87); // 'by'
  33071. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33072. try_GroupingSpecList();
  33073. }
  33074. function parse_GroupingSpecList()
  33075. {
  33076. eventHandler.startNonterminal("GroupingSpecList", e0);
  33077. parse_GroupingSpec();
  33078. for (;;)
  33079. {
  33080. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  33081. if (l1 != 41) // ','
  33082. {
  33083. break;
  33084. }
  33085. shift(41); // ','
  33086. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33087. whitespace();
  33088. parse_GroupingSpec();
  33089. }
  33090. eventHandler.endNonterminal("GroupingSpecList", e0);
  33091. }
  33092. function try_GroupingSpecList()
  33093. {
  33094. try_GroupingSpec();
  33095. for (;;)
  33096. {
  33097. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  33098. if (l1 != 41) // ','
  33099. {
  33100. break;
  33101. }
  33102. shiftT(41); // ','
  33103. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33104. try_GroupingSpec();
  33105. }
  33106. }
  33107. function parse_GroupingSpec()
  33108. {
  33109. eventHandler.startNonterminal("GroupingSpec", e0);
  33110. switch (l1)
  33111. {
  33112. case 31: // '$'
  33113. lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33114. break;
  33115. default:
  33116. lk = l1;
  33117. }
  33118. if (lk == 3103 // '$' EQName^Token
  33119. || lk == 35871 // '$' 'after'
  33120. || lk == 36895 // '$' 'allowing'
  33121. || lk == 37407 // '$' 'ancestor'
  33122. || lk == 37919 // '$' 'ancestor-or-self'
  33123. || lk == 38431 // '$' 'and'
  33124. || lk == 39455 // '$' 'append'
  33125. || lk == 39967 // '$' 'array'
  33126. || lk == 40479 // '$' 'as'
  33127. || lk == 40991 // '$' 'ascending'
  33128. || lk == 41503 // '$' 'at'
  33129. || lk == 42015 // '$' 'attribute'
  33130. || lk == 42527 // '$' 'base-uri'
  33131. || lk == 43039 // '$' 'before'
  33132. || lk == 43551 // '$' 'boundary-space'
  33133. || lk == 44063 // '$' 'break'
  33134. || lk == 45087 // '$' 'case'
  33135. || lk == 45599 // '$' 'cast'
  33136. || lk == 46111 // '$' 'castable'
  33137. || lk == 46623 // '$' 'catch'
  33138. || lk == 47647 // '$' 'child'
  33139. || lk == 48159 // '$' 'collation'
  33140. || lk == 49183 // '$' 'comment'
  33141. || lk == 49695 // '$' 'constraint'
  33142. || lk == 50207 // '$' 'construction'
  33143. || lk == 51743 // '$' 'context'
  33144. || lk == 52255 // '$' 'continue'
  33145. || lk == 52767 // '$' 'copy'
  33146. || lk == 53279 // '$' 'copy-namespaces'
  33147. || lk == 53791 // '$' 'count'
  33148. || lk == 54303 // '$' 'decimal-format'
  33149. || lk == 55327 // '$' 'declare'
  33150. || lk == 55839 // '$' 'default'
  33151. || lk == 56351 // '$' 'delete'
  33152. || lk == 56863 // '$' 'descendant'
  33153. || lk == 57375 // '$' 'descendant-or-self'
  33154. || lk == 57887 // '$' 'descending'
  33155. || lk == 60447 // '$' 'div'
  33156. || lk == 60959 // '$' 'document'
  33157. || lk == 61471 // '$' 'document-node'
  33158. || lk == 61983 // '$' 'element'
  33159. || lk == 62495 // '$' 'else'
  33160. || lk == 63007 // '$' 'empty'
  33161. || lk == 63519 // '$' 'empty-sequence'
  33162. || lk == 64031 // '$' 'encoding'
  33163. || lk == 64543 // '$' 'end'
  33164. || lk == 65567 // '$' 'eq'
  33165. || lk == 66079 // '$' 'every'
  33166. || lk == 67103 // '$' 'except'
  33167. || lk == 67615 // '$' 'exit'
  33168. || lk == 68127 // '$' 'external'
  33169. || lk == 68639 // '$' 'first'
  33170. || lk == 69151 // '$' 'following'
  33171. || lk == 69663 // '$' 'following-sibling'
  33172. || lk == 70175 // '$' 'for'
  33173. || lk == 72223 // '$' 'ft-option'
  33174. || lk == 74271 // '$' 'function'
  33175. || lk == 74783 // '$' 'ge'
  33176. || lk == 75807 // '$' 'group'
  33177. || lk == 76831 // '$' 'gt'
  33178. || lk == 77343 // '$' 'idiv'
  33179. || lk == 77855 // '$' 'if'
  33180. || lk == 78367 // '$' 'import'
  33181. || lk == 78879 // '$' 'in'
  33182. || lk == 79391 // '$' 'index'
  33183. || lk == 81439 // '$' 'insert'
  33184. || lk == 81951 // '$' 'instance'
  33185. || lk == 82463 // '$' 'integrity'
  33186. || lk == 82975 // '$' 'intersect'
  33187. || lk == 83487 // '$' 'into'
  33188. || lk == 83999 // '$' 'is'
  33189. || lk == 84511 // '$' 'item'
  33190. || lk == 85023 // '$' 'json'
  33191. || lk == 85535 // '$' 'json-item'
  33192. || lk == 87071 // '$' 'last'
  33193. || lk == 87583 // '$' 'lax'
  33194. || lk == 88095 // '$' 'le'
  33195. || lk == 89119 // '$' 'let'
  33196. || lk == 90143 // '$' 'loop'
  33197. || lk == 91167 // '$' 'lt'
  33198. || lk == 92191 // '$' 'mod'
  33199. || lk == 92703 // '$' 'modify'
  33200. || lk == 93215 // '$' 'module'
  33201. || lk == 94239 // '$' 'namespace'
  33202. || lk == 94751 // '$' 'namespace-node'
  33203. || lk == 95263 // '$' 'ne'
  33204. || lk == 97823 // '$' 'node'
  33205. || lk == 98335 // '$' 'nodes'
  33206. || lk == 99359 // '$' 'object'
  33207. || lk == 101407 // '$' 'only'
  33208. || lk == 101919 // '$' 'option'
  33209. || lk == 102431 // '$' 'or'
  33210. || lk == 102943 // '$' 'order'
  33211. || lk == 103455 // '$' 'ordered'
  33212. || lk == 103967 // '$' 'ordering'
  33213. || lk == 105503 // '$' 'parent'
  33214. || lk == 108575 // '$' 'preceding'
  33215. || lk == 109087 // '$' 'preceding-sibling'
  33216. || lk == 110623 // '$' 'processing-instruction'
  33217. || lk == 111647 // '$' 'rename'
  33218. || lk == 112159 // '$' 'replace'
  33219. || lk == 112671 // '$' 'return'
  33220. || lk == 113183 // '$' 'returning'
  33221. || lk == 113695 // '$' 'revalidation'
  33222. || lk == 114719 // '$' 'satisfies'
  33223. || lk == 115231 // '$' 'schema'
  33224. || lk == 115743 // '$' 'schema-attribute'
  33225. || lk == 116255 // '$' 'schema-element'
  33226. || lk == 116767 // '$' 'score'
  33227. || lk == 117279 // '$' 'self'
  33228. || lk == 119839 // '$' 'sliding'
  33229. || lk == 120351 // '$' 'some'
  33230. || lk == 120863 // '$' 'stable'
  33231. || lk == 121375 // '$' 'start'
  33232. || lk == 122911 // '$' 'strict'
  33233. || lk == 123935 // '$' 'structured-item'
  33234. || lk == 124447 // '$' 'switch'
  33235. || lk == 124959 // '$' 'text'
  33236. || lk == 127007 // '$' 'to'
  33237. || lk == 127519 // '$' 'treat'
  33238. || lk == 128031 // '$' 'try'
  33239. || lk == 128543 // '$' 'tumbling'
  33240. || lk == 129055 // '$' 'type'
  33241. || lk == 129567 // '$' 'typeswitch'
  33242. || lk == 130079 // '$' 'union'
  33243. || lk == 131103 // '$' 'unordered'
  33244. || lk == 131615 // '$' 'updating'
  33245. || lk == 133151 // '$' 'validate'
  33246. || lk == 133663 // '$' 'value'
  33247. || lk == 134175 // '$' 'variable'
  33248. || lk == 134687 // '$' 'version'
  33249. || lk == 136223 // '$' 'where'
  33250. || lk == 136735 // '$' 'while'
  33251. || lk == 138271 // '$' 'with'
  33252. || lk == 140319) // '$' 'xquery'
  33253. {
  33254. lk = memoized(2, e0);
  33255. if (lk == 0)
  33256. {
  33257. var b0A = b0; var e0A = e0; var l1A = l1;
  33258. var b1A = b1; var e1A = e1; var l2A = l2;
  33259. var b2A = b2; var e2A = e2;
  33260. try
  33261. {
  33262. try_GroupingVariable();
  33263. lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  33264. if (l1 == 52 // ':='
  33265. || l1 == 79) // 'as'
  33266. {
  33267. if (l1 == 79) // 'as'
  33268. {
  33269. try_TypeDeclaration();
  33270. }
  33271. lookahead1W(27); // S^WS | '(:' | ':='
  33272. shiftT(52); // ':='
  33273. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33274. try_ExprSingle();
  33275. }
  33276. if (l1 == 94) // 'collation'
  33277. {
  33278. shiftT(94); // 'collation'
  33279. lookahead1W(15); // URILiteral | S^WS | '(:'
  33280. shiftT(7); // URILiteral
  33281. }
  33282. lk = -1;
  33283. }
  33284. catch (p1A)
  33285. {
  33286. lk = -2;
  33287. }
  33288. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  33289. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  33290. b2 = b2A; e2 = e2A; end = e2A; }}
  33291. memoize(2, e0, lk);
  33292. }
  33293. }
  33294. switch (lk)
  33295. {
  33296. case -1:
  33297. parse_GroupingVariable();
  33298. lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  33299. if (l1 == 52 // ':='
  33300. || l1 == 79) // 'as'
  33301. {
  33302. if (l1 == 79) // 'as'
  33303. {
  33304. whitespace();
  33305. parse_TypeDeclaration();
  33306. }
  33307. lookahead1W(27); // S^WS | '(:' | ':='
  33308. shift(52); // ':='
  33309. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33310. whitespace();
  33311. parse_ExprSingle();
  33312. }
  33313. if (l1 == 94) // 'collation'
  33314. {
  33315. shift(94); // 'collation'
  33316. lookahead1W(15); // URILiteral | S^WS | '(:'
  33317. shift(7); // URILiteral
  33318. }
  33319. break;
  33320. default:
  33321. parse_ExprSingle();
  33322. }
  33323. eventHandler.endNonterminal("GroupingSpec", e0);
  33324. }
  33325. function try_GroupingSpec()
  33326. {
  33327. switch (l1)
  33328. {
  33329. case 31: // '$'
  33330. lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33331. break;
  33332. default:
  33333. lk = l1;
  33334. }
  33335. if (lk == 3103 // '$' EQName^Token
  33336. || lk == 35871 // '$' 'after'
  33337. || lk == 36895 // '$' 'allowing'
  33338. || lk == 37407 // '$' 'ancestor'
  33339. || lk == 37919 // '$' 'ancestor-or-self'
  33340. || lk == 38431 // '$' 'and'
  33341. || lk == 39455 // '$' 'append'
  33342. || lk == 39967 // '$' 'array'
  33343. || lk == 40479 // '$' 'as'
  33344. || lk == 40991 // '$' 'ascending'
  33345. || lk == 41503 // '$' 'at'
  33346. || lk == 42015 // '$' 'attribute'
  33347. || lk == 42527 // '$' 'base-uri'
  33348. || lk == 43039 // '$' 'before'
  33349. || lk == 43551 // '$' 'boundary-space'
  33350. || lk == 44063 // '$' 'break'
  33351. || lk == 45087 // '$' 'case'
  33352. || lk == 45599 // '$' 'cast'
  33353. || lk == 46111 // '$' 'castable'
  33354. || lk == 46623 // '$' 'catch'
  33355. || lk == 47647 // '$' 'child'
  33356. || lk == 48159 // '$' 'collation'
  33357. || lk == 49183 // '$' 'comment'
  33358. || lk == 49695 // '$' 'constraint'
  33359. || lk == 50207 // '$' 'construction'
  33360. || lk == 51743 // '$' 'context'
  33361. || lk == 52255 // '$' 'continue'
  33362. || lk == 52767 // '$' 'copy'
  33363. || lk == 53279 // '$' 'copy-namespaces'
  33364. || lk == 53791 // '$' 'count'
  33365. || lk == 54303 // '$' 'decimal-format'
  33366. || lk == 55327 // '$' 'declare'
  33367. || lk == 55839 // '$' 'default'
  33368. || lk == 56351 // '$' 'delete'
  33369. || lk == 56863 // '$' 'descendant'
  33370. || lk == 57375 // '$' 'descendant-or-self'
  33371. || lk == 57887 // '$' 'descending'
  33372. || lk == 60447 // '$' 'div'
  33373. || lk == 60959 // '$' 'document'
  33374. || lk == 61471 // '$' 'document-node'
  33375. || lk == 61983 // '$' 'element'
  33376. || lk == 62495 // '$' 'else'
  33377. || lk == 63007 // '$' 'empty'
  33378. || lk == 63519 // '$' 'empty-sequence'
  33379. || lk == 64031 // '$' 'encoding'
  33380. || lk == 64543 // '$' 'end'
  33381. || lk == 65567 // '$' 'eq'
  33382. || lk == 66079 // '$' 'every'
  33383. || lk == 67103 // '$' 'except'
  33384. || lk == 67615 // '$' 'exit'
  33385. || lk == 68127 // '$' 'external'
  33386. || lk == 68639 // '$' 'first'
  33387. || lk == 69151 // '$' 'following'
  33388. || lk == 69663 // '$' 'following-sibling'
  33389. || lk == 70175 // '$' 'for'
  33390. || lk == 72223 // '$' 'ft-option'
  33391. || lk == 74271 // '$' 'function'
  33392. || lk == 74783 // '$' 'ge'
  33393. || lk == 75807 // '$' 'group'
  33394. || lk == 76831 // '$' 'gt'
  33395. || lk == 77343 // '$' 'idiv'
  33396. || lk == 77855 // '$' 'if'
  33397. || lk == 78367 // '$' 'import'
  33398. || lk == 78879 // '$' 'in'
  33399. || lk == 79391 // '$' 'index'
  33400. || lk == 81439 // '$' 'insert'
  33401. || lk == 81951 // '$' 'instance'
  33402. || lk == 82463 // '$' 'integrity'
  33403. || lk == 82975 // '$' 'intersect'
  33404. || lk == 83487 // '$' 'into'
  33405. || lk == 83999 // '$' 'is'
  33406. || lk == 84511 // '$' 'item'
  33407. || lk == 85023 // '$' 'json'
  33408. || lk == 85535 // '$' 'json-item'
  33409. || lk == 87071 // '$' 'last'
  33410. || lk == 87583 // '$' 'lax'
  33411. || lk == 88095 // '$' 'le'
  33412. || lk == 89119 // '$' 'let'
  33413. || lk == 90143 // '$' 'loop'
  33414. || lk == 91167 // '$' 'lt'
  33415. || lk == 92191 // '$' 'mod'
  33416. || lk == 92703 // '$' 'modify'
  33417. || lk == 93215 // '$' 'module'
  33418. || lk == 94239 // '$' 'namespace'
  33419. || lk == 94751 // '$' 'namespace-node'
  33420. || lk == 95263 // '$' 'ne'
  33421. || lk == 97823 // '$' 'node'
  33422. || lk == 98335 // '$' 'nodes'
  33423. || lk == 99359 // '$' 'object'
  33424. || lk == 101407 // '$' 'only'
  33425. || lk == 101919 // '$' 'option'
  33426. || lk == 102431 // '$' 'or'
  33427. || lk == 102943 // '$' 'order'
  33428. || lk == 103455 // '$' 'ordered'
  33429. || lk == 103967 // '$' 'ordering'
  33430. || lk == 105503 // '$' 'parent'
  33431. || lk == 108575 // '$' 'preceding'
  33432. || lk == 109087 // '$' 'preceding-sibling'
  33433. || lk == 110623 // '$' 'processing-instruction'
  33434. || lk == 111647 // '$' 'rename'
  33435. || lk == 112159 // '$' 'replace'
  33436. || lk == 112671 // '$' 'return'
  33437. || lk == 113183 // '$' 'returning'
  33438. || lk == 113695 // '$' 'revalidation'
  33439. || lk == 114719 // '$' 'satisfies'
  33440. || lk == 115231 // '$' 'schema'
  33441. || lk == 115743 // '$' 'schema-attribute'
  33442. || lk == 116255 // '$' 'schema-element'
  33443. || lk == 116767 // '$' 'score'
  33444. || lk == 117279 // '$' 'self'
  33445. || lk == 119839 // '$' 'sliding'
  33446. || lk == 120351 // '$' 'some'
  33447. || lk == 120863 // '$' 'stable'
  33448. || lk == 121375 // '$' 'start'
  33449. || lk == 122911 // '$' 'strict'
  33450. || lk == 123935 // '$' 'structured-item'
  33451. || lk == 124447 // '$' 'switch'
  33452. || lk == 124959 // '$' 'text'
  33453. || lk == 127007 // '$' 'to'
  33454. || lk == 127519 // '$' 'treat'
  33455. || lk == 128031 // '$' 'try'
  33456. || lk == 128543 // '$' 'tumbling'
  33457. || lk == 129055 // '$' 'type'
  33458. || lk == 129567 // '$' 'typeswitch'
  33459. || lk == 130079 // '$' 'union'
  33460. || lk == 131103 // '$' 'unordered'
  33461. || lk == 131615 // '$' 'updating'
  33462. || lk == 133151 // '$' 'validate'
  33463. || lk == 133663 // '$' 'value'
  33464. || lk == 134175 // '$' 'variable'
  33465. || lk == 134687 // '$' 'version'
  33466. || lk == 136223 // '$' 'where'
  33467. || lk == 136735 // '$' 'while'
  33468. || lk == 138271 // '$' 'with'
  33469. || lk == 140319) // '$' 'xquery'
  33470. {
  33471. lk = memoized(2, e0);
  33472. if (lk == 0)
  33473. {
  33474. var b0A = b0; var e0A = e0; var l1A = l1;
  33475. var b1A = b1; var e1A = e1; var l2A = l2;
  33476. var b2A = b2; var e2A = e2;
  33477. try
  33478. {
  33479. try_GroupingVariable();
  33480. lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  33481. if (l1 == 52 // ':='
  33482. || l1 == 79) // 'as'
  33483. {
  33484. if (l1 == 79) // 'as'
  33485. {
  33486. try_TypeDeclaration();
  33487. }
  33488. lookahead1W(27); // S^WS | '(:' | ':='
  33489. shiftT(52); // ':='
  33490. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33491. try_ExprSingle();
  33492. }
  33493. if (l1 == 94) // 'collation'
  33494. {
  33495. shiftT(94); // 'collation'
  33496. lookahead1W(15); // URILiteral | S^WS | '(:'
  33497. shiftT(7); // URILiteral
  33498. }
  33499. memoize(2, e0A, -1);
  33500. lk = -3;
  33501. }
  33502. catch (p1A)
  33503. {
  33504. lk = -2;
  33505. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  33506. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  33507. b2 = b2A; e2 = e2A; end = e2A; }}
  33508. memoize(2, e0A, -2);
  33509. }
  33510. }
  33511. }
  33512. switch (lk)
  33513. {
  33514. case -1:
  33515. try_GroupingVariable();
  33516. lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
  33517. if (l1 == 52 // ':='
  33518. || l1 == 79) // 'as'
  33519. {
  33520. if (l1 == 79) // 'as'
  33521. {
  33522. try_TypeDeclaration();
  33523. }
  33524. lookahead1W(27); // S^WS | '(:' | ':='
  33525. shiftT(52); // ':='
  33526. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33527. try_ExprSingle();
  33528. }
  33529. if (l1 == 94) // 'collation'
  33530. {
  33531. shiftT(94); // 'collation'
  33532. lookahead1W(15); // URILiteral | S^WS | '(:'
  33533. shiftT(7); // URILiteral
  33534. }
  33535. break;
  33536. case -3:
  33537. break;
  33538. default:
  33539. try_ExprSingle();
  33540. }
  33541. }
  33542. function parse_GroupingVariable()
  33543. {
  33544. eventHandler.startNonterminal("GroupingVariable", e0);
  33545. shift(31); // '$'
  33546. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33547. whitespace();
  33548. parse_VarName();
  33549. eventHandler.endNonterminal("GroupingVariable", e0);
  33550. }
  33551. function try_GroupingVariable()
  33552. {
  33553. shiftT(31); // '$'
  33554. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33555. try_VarName();
  33556. }
  33557. function parse_OrderByClause()
  33558. {
  33559. eventHandler.startNonterminal("OrderByClause", e0);
  33560. switch (l1)
  33561. {
  33562. case 201: // 'order'
  33563. shift(201); // 'order'
  33564. lookahead1W(34); // S^WS | '(:' | 'by'
  33565. shift(87); // 'by'
  33566. break;
  33567. default:
  33568. shift(236); // 'stable'
  33569. lookahead1W(67); // S^WS | '(:' | 'order'
  33570. shift(201); // 'order'
  33571. lookahead1W(34); // S^WS | '(:' | 'by'
  33572. shift(87); // 'by'
  33573. }
  33574. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33575. whitespace();
  33576. parse_OrderSpecList();
  33577. eventHandler.endNonterminal("OrderByClause", e0);
  33578. }
  33579. function try_OrderByClause()
  33580. {
  33581. switch (l1)
  33582. {
  33583. case 201: // 'order'
  33584. shiftT(201); // 'order'
  33585. lookahead1W(34); // S^WS | '(:' | 'by'
  33586. shiftT(87); // 'by'
  33587. break;
  33588. default:
  33589. shiftT(236); // 'stable'
  33590. lookahead1W(67); // S^WS | '(:' | 'order'
  33591. shiftT(201); // 'order'
  33592. lookahead1W(34); // S^WS | '(:' | 'by'
  33593. shiftT(87); // 'by'
  33594. }
  33595. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33596. try_OrderSpecList();
  33597. }
  33598. function parse_OrderSpecList()
  33599. {
  33600. eventHandler.startNonterminal("OrderSpecList", e0);
  33601. parse_OrderSpec();
  33602. for (;;)
  33603. {
  33604. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  33605. if (l1 != 41) // ','
  33606. {
  33607. break;
  33608. }
  33609. shift(41); // ','
  33610. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33611. whitespace();
  33612. parse_OrderSpec();
  33613. }
  33614. eventHandler.endNonterminal("OrderSpecList", e0);
  33615. }
  33616. function try_OrderSpecList()
  33617. {
  33618. try_OrderSpec();
  33619. for (;;)
  33620. {
  33621. lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
  33622. if (l1 != 41) // ','
  33623. {
  33624. break;
  33625. }
  33626. shiftT(41); // ','
  33627. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33628. try_OrderSpec();
  33629. }
  33630. }
  33631. function parse_OrderSpec()
  33632. {
  33633. eventHandler.startNonterminal("OrderSpec", e0);
  33634. parse_ExprSingle();
  33635. whitespace();
  33636. parse_OrderModifier();
  33637. eventHandler.endNonterminal("OrderSpec", e0);
  33638. }
  33639. function try_OrderSpec()
  33640. {
  33641. try_ExprSingle();
  33642. try_OrderModifier();
  33643. }
  33644. function parse_OrderModifier()
  33645. {
  33646. eventHandler.startNonterminal("OrderModifier", e0);
  33647. if (l1 == 80 // 'ascending'
  33648. || l1 == 113) // 'descending'
  33649. {
  33650. switch (l1)
  33651. {
  33652. case 80: // 'ascending'
  33653. shift(80); // 'ascending'
  33654. break;
  33655. default:
  33656. shift(113); // 'descending'
  33657. }
  33658. }
  33659. lookahead1W(179); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  33660. if (l1 == 123) // 'empty'
  33661. {
  33662. shift(123); // 'empty'
  33663. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  33664. switch (l1)
  33665. {
  33666. case 147: // 'greatest'
  33667. shift(147); // 'greatest'
  33668. break;
  33669. default:
  33670. shift(173); // 'least'
  33671. }
  33672. }
  33673. lookahead1W(177); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  33674. if (l1 == 94) // 'collation'
  33675. {
  33676. shift(94); // 'collation'
  33677. lookahead1W(15); // URILiteral | S^WS | '(:'
  33678. shift(7); // URILiteral
  33679. }
  33680. eventHandler.endNonterminal("OrderModifier", e0);
  33681. }
  33682. function try_OrderModifier()
  33683. {
  33684. if (l1 == 80 // 'ascending'
  33685. || l1 == 113) // 'descending'
  33686. {
  33687. switch (l1)
  33688. {
  33689. case 80: // 'ascending'
  33690. shiftT(80); // 'ascending'
  33691. break;
  33692. default:
  33693. shiftT(113); // 'descending'
  33694. }
  33695. }
  33696. lookahead1W(179); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
  33697. if (l1 == 123) // 'empty'
  33698. {
  33699. shiftT(123); // 'empty'
  33700. lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
  33701. switch (l1)
  33702. {
  33703. case 147: // 'greatest'
  33704. shiftT(147); // 'greatest'
  33705. break;
  33706. default:
  33707. shiftT(173); // 'least'
  33708. }
  33709. }
  33710. lookahead1W(177); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
  33711. if (l1 == 94) // 'collation'
  33712. {
  33713. shiftT(94); // 'collation'
  33714. lookahead1W(15); // URILiteral | S^WS | '(:'
  33715. shiftT(7); // URILiteral
  33716. }
  33717. }
  33718. function parse_ReturnClause()
  33719. {
  33720. eventHandler.startNonterminal("ReturnClause", e0);
  33721. shift(220); // 'return'
  33722. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33723. whitespace();
  33724. parse_ExprSingle();
  33725. eventHandler.endNonterminal("ReturnClause", e0);
  33726. }
  33727. function try_ReturnClause()
  33728. {
  33729. shiftT(220); // 'return'
  33730. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33731. try_ExprSingle();
  33732. }
  33733. function parse_QuantifiedExpr()
  33734. {
  33735. eventHandler.startNonterminal("QuantifiedExpr", e0);
  33736. switch (l1)
  33737. {
  33738. case 235: // 'some'
  33739. shift(235); // 'some'
  33740. break;
  33741. default:
  33742. shift(129); // 'every'
  33743. }
  33744. lookahead1W(21); // S^WS | '$' | '(:'
  33745. whitespace();
  33746. parse_QuantifiedVarDecl();
  33747. for (;;)
  33748. {
  33749. if (l1 != 41) // ','
  33750. {
  33751. break;
  33752. }
  33753. shift(41); // ','
  33754. lookahead1W(21); // S^WS | '$' | '(:'
  33755. whitespace();
  33756. parse_QuantifiedVarDecl();
  33757. }
  33758. shift(224); // 'satisfies'
  33759. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33760. whitespace();
  33761. parse_ExprSingle();
  33762. eventHandler.endNonterminal("QuantifiedExpr", e0);
  33763. }
  33764. function try_QuantifiedExpr()
  33765. {
  33766. switch (l1)
  33767. {
  33768. case 235: // 'some'
  33769. shiftT(235); // 'some'
  33770. break;
  33771. default:
  33772. shiftT(129); // 'every'
  33773. }
  33774. lookahead1W(21); // S^WS | '$' | '(:'
  33775. try_QuantifiedVarDecl();
  33776. for (;;)
  33777. {
  33778. if (l1 != 41) // ','
  33779. {
  33780. break;
  33781. }
  33782. shiftT(41); // ','
  33783. lookahead1W(21); // S^WS | '$' | '(:'
  33784. try_QuantifiedVarDecl();
  33785. }
  33786. shiftT(224); // 'satisfies'
  33787. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33788. try_ExprSingle();
  33789. }
  33790. function parse_QuantifiedVarDecl()
  33791. {
  33792. eventHandler.startNonterminal("QuantifiedVarDecl", e0);
  33793. shift(31); // '$'
  33794. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33795. whitespace();
  33796. parse_VarName();
  33797. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  33798. if (l1 == 79) // 'as'
  33799. {
  33800. whitespace();
  33801. parse_TypeDeclaration();
  33802. }
  33803. lookahead1W(53); // S^WS | '(:' | 'in'
  33804. shift(154); // 'in'
  33805. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33806. whitespace();
  33807. parse_ExprSingle();
  33808. eventHandler.endNonterminal("QuantifiedVarDecl", e0);
  33809. }
  33810. function try_QuantifiedVarDecl()
  33811. {
  33812. shiftT(31); // '$'
  33813. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33814. try_VarName();
  33815. lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
  33816. if (l1 == 79) // 'as'
  33817. {
  33818. try_TypeDeclaration();
  33819. }
  33820. lookahead1W(53); // S^WS | '(:' | 'in'
  33821. shiftT(154); // 'in'
  33822. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33823. try_ExprSingle();
  33824. }
  33825. function parse_SwitchExpr()
  33826. {
  33827. eventHandler.startNonterminal("SwitchExpr", e0);
  33828. shift(243); // 'switch'
  33829. lookahead1W(22); // S^WS | '(' | '(:'
  33830. shift(34); // '('
  33831. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33832. whitespace();
  33833. parse_Expr();
  33834. shift(37); // ')'
  33835. for (;;)
  33836. {
  33837. lookahead1W(35); // S^WS | '(:' | 'case'
  33838. whitespace();
  33839. parse_SwitchCaseClause();
  33840. if (l1 != 88) // 'case'
  33841. {
  33842. break;
  33843. }
  33844. }
  33845. shift(109); // 'default'
  33846. lookahead1W(70); // S^WS | '(:' | 'return'
  33847. shift(220); // 'return'
  33848. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33849. whitespace();
  33850. parse_ExprSingle();
  33851. eventHandler.endNonterminal("SwitchExpr", e0);
  33852. }
  33853. function try_SwitchExpr()
  33854. {
  33855. shiftT(243); // 'switch'
  33856. lookahead1W(22); // S^WS | '(' | '(:'
  33857. shiftT(34); // '('
  33858. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33859. try_Expr();
  33860. shiftT(37); // ')'
  33861. for (;;)
  33862. {
  33863. lookahead1W(35); // S^WS | '(:' | 'case'
  33864. try_SwitchCaseClause();
  33865. if (l1 != 88) // 'case'
  33866. {
  33867. break;
  33868. }
  33869. }
  33870. shiftT(109); // 'default'
  33871. lookahead1W(70); // S^WS | '(:' | 'return'
  33872. shiftT(220); // 'return'
  33873. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33874. try_ExprSingle();
  33875. }
  33876. function parse_SwitchCaseClause()
  33877. {
  33878. eventHandler.startNonterminal("SwitchCaseClause", e0);
  33879. for (;;)
  33880. {
  33881. shift(88); // 'case'
  33882. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33883. whitespace();
  33884. parse_SwitchCaseOperand();
  33885. if (l1 != 88) // 'case'
  33886. {
  33887. break;
  33888. }
  33889. }
  33890. shift(220); // 'return'
  33891. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33892. whitespace();
  33893. parse_ExprSingle();
  33894. eventHandler.endNonterminal("SwitchCaseClause", e0);
  33895. }
  33896. function try_SwitchCaseClause()
  33897. {
  33898. for (;;)
  33899. {
  33900. shiftT(88); // 'case'
  33901. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33902. try_SwitchCaseOperand();
  33903. if (l1 != 88) // 'case'
  33904. {
  33905. break;
  33906. }
  33907. }
  33908. shiftT(220); // 'return'
  33909. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33910. try_ExprSingle();
  33911. }
  33912. function parse_SwitchCaseOperand()
  33913. {
  33914. eventHandler.startNonterminal("SwitchCaseOperand", e0);
  33915. parse_ExprSingle();
  33916. eventHandler.endNonterminal("SwitchCaseOperand", e0);
  33917. }
  33918. function try_SwitchCaseOperand()
  33919. {
  33920. try_ExprSingle();
  33921. }
  33922. function parse_TypeswitchExpr()
  33923. {
  33924. eventHandler.startNonterminal("TypeswitchExpr", e0);
  33925. shift(253); // 'typeswitch'
  33926. lookahead1W(22); // S^WS | '(' | '(:'
  33927. shift(34); // '('
  33928. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33929. whitespace();
  33930. parse_Expr();
  33931. shift(37); // ')'
  33932. for (;;)
  33933. {
  33934. lookahead1W(35); // S^WS | '(:' | 'case'
  33935. whitespace();
  33936. parse_CaseClause();
  33937. if (l1 != 88) // 'case'
  33938. {
  33939. break;
  33940. }
  33941. }
  33942. shift(109); // 'default'
  33943. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  33944. if (l1 == 31) // '$'
  33945. {
  33946. shift(31); // '$'
  33947. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33948. whitespace();
  33949. parse_VarName();
  33950. }
  33951. lookahead1W(70); // S^WS | '(:' | 'return'
  33952. shift(220); // 'return'
  33953. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33954. whitespace();
  33955. parse_ExprSingle();
  33956. eventHandler.endNonterminal("TypeswitchExpr", e0);
  33957. }
  33958. function try_TypeswitchExpr()
  33959. {
  33960. shiftT(253); // 'typeswitch'
  33961. lookahead1W(22); // S^WS | '(' | '(:'
  33962. shiftT(34); // '('
  33963. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33964. try_Expr();
  33965. shiftT(37); // ')'
  33966. for (;;)
  33967. {
  33968. lookahead1W(35); // S^WS | '(:' | 'case'
  33969. try_CaseClause();
  33970. if (l1 != 88) // 'case'
  33971. {
  33972. break;
  33973. }
  33974. }
  33975. shiftT(109); // 'default'
  33976. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  33977. if (l1 == 31) // '$'
  33978. {
  33979. shiftT(31); // '$'
  33980. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33981. try_VarName();
  33982. }
  33983. lookahead1W(70); // S^WS | '(:' | 'return'
  33984. shiftT(220); // 'return'
  33985. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  33986. try_ExprSingle();
  33987. }
  33988. function parse_CaseClause()
  33989. {
  33990. eventHandler.startNonterminal("CaseClause", e0);
  33991. shift(88); // 'case'
  33992. lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  33993. if (l1 == 31) // '$'
  33994. {
  33995. shift(31); // '$'
  33996. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  33997. whitespace();
  33998. parse_VarName();
  33999. lookahead1W(30); // S^WS | '(:' | 'as'
  34000. shift(79); // 'as'
  34001. }
  34002. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34003. whitespace();
  34004. parse_SequenceTypeUnion();
  34005. shift(220); // 'return'
  34006. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34007. whitespace();
  34008. parse_ExprSingle();
  34009. eventHandler.endNonterminal("CaseClause", e0);
  34010. }
  34011. function try_CaseClause()
  34012. {
  34013. shiftT(88); // 'case'
  34014. lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  34015. if (l1 == 31) // '$'
  34016. {
  34017. shiftT(31); // '$'
  34018. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34019. try_VarName();
  34020. lookahead1W(30); // S^WS | '(:' | 'as'
  34021. shiftT(79); // 'as'
  34022. }
  34023. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34024. try_SequenceTypeUnion();
  34025. shiftT(220); // 'return'
  34026. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34027. try_ExprSingle();
  34028. }
  34029. function parse_SequenceTypeUnion()
  34030. {
  34031. eventHandler.startNonterminal("SequenceTypeUnion", e0);
  34032. parse_SequenceType();
  34033. for (;;)
  34034. {
  34035. lookahead1W(134); // S^WS | '(:' | 'return' | '|'
  34036. if (l1 != 279) // '|'
  34037. {
  34038. break;
  34039. }
  34040. shift(279); // '|'
  34041. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34042. whitespace();
  34043. parse_SequenceType();
  34044. }
  34045. eventHandler.endNonterminal("SequenceTypeUnion", e0);
  34046. }
  34047. function try_SequenceTypeUnion()
  34048. {
  34049. try_SequenceType();
  34050. for (;;)
  34051. {
  34052. lookahead1W(134); // S^WS | '(:' | 'return' | '|'
  34053. if (l1 != 279) // '|'
  34054. {
  34055. break;
  34056. }
  34057. shiftT(279); // '|'
  34058. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34059. try_SequenceType();
  34060. }
  34061. }
  34062. function parse_IfExpr()
  34063. {
  34064. eventHandler.startNonterminal("IfExpr", e0);
  34065. shift(152); // 'if'
  34066. lookahead1W(22); // S^WS | '(' | '(:'
  34067. shift(34); // '('
  34068. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34069. whitespace();
  34070. parse_Expr();
  34071. shift(37); // ')'
  34072. lookahead1W(77); // S^WS | '(:' | 'then'
  34073. shift(245); // 'then'
  34074. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34075. whitespace();
  34076. parse_ExprSingle();
  34077. shift(122); // 'else'
  34078. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34079. whitespace();
  34080. parse_ExprSingle();
  34081. eventHandler.endNonterminal("IfExpr", e0);
  34082. }
  34083. function try_IfExpr()
  34084. {
  34085. shiftT(152); // 'if'
  34086. lookahead1W(22); // S^WS | '(' | '(:'
  34087. shiftT(34); // '('
  34088. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34089. try_Expr();
  34090. shiftT(37); // ')'
  34091. lookahead1W(77); // S^WS | '(:' | 'then'
  34092. shiftT(245); // 'then'
  34093. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34094. try_ExprSingle();
  34095. shiftT(122); // 'else'
  34096. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34097. try_ExprSingle();
  34098. }
  34099. function parse_TryCatchExpr()
  34100. {
  34101. eventHandler.startNonterminal("TryCatchExpr", e0);
  34102. parse_TryClause();
  34103. for (;;)
  34104. {
  34105. lookahead1W(36); // S^WS | '(:' | 'catch'
  34106. whitespace();
  34107. parse_CatchClause();
  34108. lookahead1W(183); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  34109. if (l1 != 91) // 'catch'
  34110. {
  34111. break;
  34112. }
  34113. }
  34114. eventHandler.endNonterminal("TryCatchExpr", e0);
  34115. }
  34116. function try_TryCatchExpr()
  34117. {
  34118. try_TryClause();
  34119. for (;;)
  34120. {
  34121. lookahead1W(36); // S^WS | '(:' | 'catch'
  34122. try_CatchClause();
  34123. lookahead1W(183); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
  34124. if (l1 != 91) // 'catch'
  34125. {
  34126. break;
  34127. }
  34128. }
  34129. }
  34130. function parse_TryClause()
  34131. {
  34132. eventHandler.startNonterminal("TryClause", e0);
  34133. shift(250); // 'try'
  34134. lookahead1W(87); // S^WS | '(:' | '{'
  34135. shift(276); // '{'
  34136. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34137. whitespace();
  34138. parse_TryTargetExpr();
  34139. shift(282); // '}'
  34140. eventHandler.endNonterminal("TryClause", e0);
  34141. }
  34142. function try_TryClause()
  34143. {
  34144. shiftT(250); // 'try'
  34145. lookahead1W(87); // S^WS | '(:' | '{'
  34146. shiftT(276); // '{'
  34147. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34148. try_TryTargetExpr();
  34149. shiftT(282); // '}'
  34150. }
  34151. function parse_TryTargetExpr()
  34152. {
  34153. eventHandler.startNonterminal("TryTargetExpr", e0);
  34154. parse_Expr();
  34155. eventHandler.endNonterminal("TryTargetExpr", e0);
  34156. }
  34157. function try_TryTargetExpr()
  34158. {
  34159. try_Expr();
  34160. }
  34161. function parse_CatchClause()
  34162. {
  34163. eventHandler.startNonterminal("CatchClause", e0);
  34164. shift(91); // 'catch'
  34165. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34166. whitespace();
  34167. parse_CatchErrorList();
  34168. shift(276); // '{'
  34169. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34170. whitespace();
  34171. parse_Expr();
  34172. shift(282); // '}'
  34173. eventHandler.endNonterminal("CatchClause", e0);
  34174. }
  34175. function try_CatchClause()
  34176. {
  34177. shiftT(91); // 'catch'
  34178. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34179. try_CatchErrorList();
  34180. shiftT(276); // '{'
  34181. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34182. try_Expr();
  34183. shiftT(282); // '}'
  34184. }
  34185. function parse_CatchErrorList()
  34186. {
  34187. eventHandler.startNonterminal("CatchErrorList", e0);
  34188. parse_NameTest();
  34189. for (;;)
  34190. {
  34191. lookahead1W(136); // S^WS | '(:' | '{' | '|'
  34192. if (l1 != 279) // '|'
  34193. {
  34194. break;
  34195. }
  34196. shift(279); // '|'
  34197. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34198. whitespace();
  34199. parse_NameTest();
  34200. }
  34201. eventHandler.endNonterminal("CatchErrorList", e0);
  34202. }
  34203. function try_CatchErrorList()
  34204. {
  34205. try_NameTest();
  34206. for (;;)
  34207. {
  34208. lookahead1W(136); // S^WS | '(:' | '{' | '|'
  34209. if (l1 != 279) // '|'
  34210. {
  34211. break;
  34212. }
  34213. shiftT(279); // '|'
  34214. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34215. try_NameTest();
  34216. }
  34217. }
  34218. function parse_OrExpr()
  34219. {
  34220. eventHandler.startNonterminal("OrExpr", e0);
  34221. parse_AndExpr();
  34222. for (;;)
  34223. {
  34224. if (l1 != 200) // 'or'
  34225. {
  34226. break;
  34227. }
  34228. shift(200); // 'or'
  34229. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34230. whitespace();
  34231. parse_AndExpr();
  34232. }
  34233. eventHandler.endNonterminal("OrExpr", e0);
  34234. }
  34235. function try_OrExpr()
  34236. {
  34237. try_AndExpr();
  34238. for (;;)
  34239. {
  34240. if (l1 != 200) // 'or'
  34241. {
  34242. break;
  34243. }
  34244. shiftT(200); // 'or'
  34245. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34246. try_AndExpr();
  34247. }
  34248. }
  34249. function parse_AndExpr()
  34250. {
  34251. eventHandler.startNonterminal("AndExpr", e0);
  34252. parse_ComparisonExpr();
  34253. for (;;)
  34254. {
  34255. if (l1 != 75) // 'and'
  34256. {
  34257. break;
  34258. }
  34259. shift(75); // 'and'
  34260. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34261. whitespace();
  34262. parse_ComparisonExpr();
  34263. }
  34264. eventHandler.endNonterminal("AndExpr", e0);
  34265. }
  34266. function try_AndExpr()
  34267. {
  34268. try_ComparisonExpr();
  34269. for (;;)
  34270. {
  34271. if (l1 != 75) // 'and'
  34272. {
  34273. break;
  34274. }
  34275. shiftT(75); // 'and'
  34276. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34277. try_ComparisonExpr();
  34278. }
  34279. }
  34280. function parse_ComparisonExpr()
  34281. {
  34282. eventHandler.startNonterminal("ComparisonExpr", e0);
  34283. parse_FTContainsExpr();
  34284. if (l1 == 27 // '!='
  34285. || l1 == 54 // '<'
  34286. || l1 == 57 // '<<'
  34287. || l1 == 58 // '<='
  34288. || l1 == 60 // '='
  34289. || l1 == 61 // '>'
  34290. || l1 == 62 // '>='
  34291. || l1 == 63 // '>>'
  34292. || l1 == 128 // 'eq'
  34293. || l1 == 146 // 'ge'
  34294. || l1 == 150 // 'gt'
  34295. || l1 == 164 // 'is'
  34296. || l1 == 172 // 'le'
  34297. || l1 == 178 // 'lt'
  34298. || l1 == 186) // 'ne'
  34299. {
  34300. switch (l1)
  34301. {
  34302. case 128: // 'eq'
  34303. case 146: // 'ge'
  34304. case 150: // 'gt'
  34305. case 172: // 'le'
  34306. case 178: // 'lt'
  34307. case 186: // 'ne'
  34308. whitespace();
  34309. parse_ValueComp();
  34310. break;
  34311. case 57: // '<<'
  34312. case 63: // '>>'
  34313. case 164: // 'is'
  34314. whitespace();
  34315. parse_NodeComp();
  34316. break;
  34317. default:
  34318. whitespace();
  34319. parse_GeneralComp();
  34320. }
  34321. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34322. whitespace();
  34323. parse_FTContainsExpr();
  34324. }
  34325. eventHandler.endNonterminal("ComparisonExpr", e0);
  34326. }
  34327. function try_ComparisonExpr()
  34328. {
  34329. try_FTContainsExpr();
  34330. if (l1 == 27 // '!='
  34331. || l1 == 54 // '<'
  34332. || l1 == 57 // '<<'
  34333. || l1 == 58 // '<='
  34334. || l1 == 60 // '='
  34335. || l1 == 61 // '>'
  34336. || l1 == 62 // '>='
  34337. || l1 == 63 // '>>'
  34338. || l1 == 128 // 'eq'
  34339. || l1 == 146 // 'ge'
  34340. || l1 == 150 // 'gt'
  34341. || l1 == 164 // 'is'
  34342. || l1 == 172 // 'le'
  34343. || l1 == 178 // 'lt'
  34344. || l1 == 186) // 'ne'
  34345. {
  34346. switch (l1)
  34347. {
  34348. case 128: // 'eq'
  34349. case 146: // 'ge'
  34350. case 150: // 'gt'
  34351. case 172: // 'le'
  34352. case 178: // 'lt'
  34353. case 186: // 'ne'
  34354. try_ValueComp();
  34355. break;
  34356. case 57: // '<<'
  34357. case 63: // '>>'
  34358. case 164: // 'is'
  34359. try_NodeComp();
  34360. break;
  34361. default:
  34362. try_GeneralComp();
  34363. }
  34364. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34365. try_FTContainsExpr();
  34366. }
  34367. }
  34368. function parse_FTContainsExpr()
  34369. {
  34370. eventHandler.startNonterminal("FTContainsExpr", e0);
  34371. parse_StringConcatExpr();
  34372. if (l1 == 99) // 'contains'
  34373. {
  34374. shift(99); // 'contains'
  34375. lookahead1W(76); // S^WS | '(:' | 'text'
  34376. shift(244); // 'text'
  34377. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  34378. whitespace();
  34379. parse_FTSelection();
  34380. if (l1 == 271) // 'without'
  34381. {
  34382. whitespace();
  34383. parse_FTIgnoreOption();
  34384. }
  34385. }
  34386. eventHandler.endNonterminal("FTContainsExpr", e0);
  34387. }
  34388. function try_FTContainsExpr()
  34389. {
  34390. try_StringConcatExpr();
  34391. if (l1 == 99) // 'contains'
  34392. {
  34393. shiftT(99); // 'contains'
  34394. lookahead1W(76); // S^WS | '(:' | 'text'
  34395. shiftT(244); // 'text'
  34396. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  34397. try_FTSelection();
  34398. if (l1 == 271) // 'without'
  34399. {
  34400. try_FTIgnoreOption();
  34401. }
  34402. }
  34403. }
  34404. function parse_StringConcatExpr()
  34405. {
  34406. eventHandler.startNonterminal("StringConcatExpr", e0);
  34407. parse_RangeExpr();
  34408. for (;;)
  34409. {
  34410. if (l1 != 280) // '||'
  34411. {
  34412. break;
  34413. }
  34414. shift(280); // '||'
  34415. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34416. whitespace();
  34417. parse_RangeExpr();
  34418. }
  34419. eventHandler.endNonterminal("StringConcatExpr", e0);
  34420. }
  34421. function try_StringConcatExpr()
  34422. {
  34423. try_RangeExpr();
  34424. for (;;)
  34425. {
  34426. if (l1 != 280) // '||'
  34427. {
  34428. break;
  34429. }
  34430. shiftT(280); // '||'
  34431. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34432. try_RangeExpr();
  34433. }
  34434. }
  34435. function parse_RangeExpr()
  34436. {
  34437. eventHandler.startNonterminal("RangeExpr", e0);
  34438. parse_AdditiveExpr();
  34439. if (l1 == 248) // 'to'
  34440. {
  34441. shift(248); // 'to'
  34442. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34443. whitespace();
  34444. parse_AdditiveExpr();
  34445. }
  34446. eventHandler.endNonterminal("RangeExpr", e0);
  34447. }
  34448. function try_RangeExpr()
  34449. {
  34450. try_AdditiveExpr();
  34451. if (l1 == 248) // 'to'
  34452. {
  34453. shiftT(248); // 'to'
  34454. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34455. try_AdditiveExpr();
  34456. }
  34457. }
  34458. function parse_AdditiveExpr()
  34459. {
  34460. eventHandler.startNonterminal("AdditiveExpr", e0);
  34461. parse_MultiplicativeExpr();
  34462. for (;;)
  34463. {
  34464. if (l1 != 40 // '+'
  34465. && l1 != 42) // '-'
  34466. {
  34467. break;
  34468. }
  34469. switch (l1)
  34470. {
  34471. case 40: // '+'
  34472. shift(40); // '+'
  34473. break;
  34474. default:
  34475. shift(42); // '-'
  34476. }
  34477. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34478. whitespace();
  34479. parse_MultiplicativeExpr();
  34480. }
  34481. eventHandler.endNonterminal("AdditiveExpr", e0);
  34482. }
  34483. function try_AdditiveExpr()
  34484. {
  34485. try_MultiplicativeExpr();
  34486. for (;;)
  34487. {
  34488. if (l1 != 40 // '+'
  34489. && l1 != 42) // '-'
  34490. {
  34491. break;
  34492. }
  34493. switch (l1)
  34494. {
  34495. case 40: // '+'
  34496. shiftT(40); // '+'
  34497. break;
  34498. default:
  34499. shiftT(42); // '-'
  34500. }
  34501. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34502. try_MultiplicativeExpr();
  34503. }
  34504. }
  34505. function parse_MultiplicativeExpr()
  34506. {
  34507. eventHandler.startNonterminal("MultiplicativeExpr", e0);
  34508. parse_UnionExpr();
  34509. for (;;)
  34510. {
  34511. if (l1 != 38 // '*'
  34512. && l1 != 118 // 'div'
  34513. && l1 != 151 // 'idiv'
  34514. && l1 != 180) // 'mod'
  34515. {
  34516. break;
  34517. }
  34518. switch (l1)
  34519. {
  34520. case 38: // '*'
  34521. shift(38); // '*'
  34522. break;
  34523. case 118: // 'div'
  34524. shift(118); // 'div'
  34525. break;
  34526. case 151: // 'idiv'
  34527. shift(151); // 'idiv'
  34528. break;
  34529. default:
  34530. shift(180); // 'mod'
  34531. }
  34532. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34533. whitespace();
  34534. parse_UnionExpr();
  34535. }
  34536. eventHandler.endNonterminal("MultiplicativeExpr", e0);
  34537. }
  34538. function try_MultiplicativeExpr()
  34539. {
  34540. try_UnionExpr();
  34541. for (;;)
  34542. {
  34543. if (l1 != 38 // '*'
  34544. && l1 != 118 // 'div'
  34545. && l1 != 151 // 'idiv'
  34546. && l1 != 180) // 'mod'
  34547. {
  34548. break;
  34549. }
  34550. switch (l1)
  34551. {
  34552. case 38: // '*'
  34553. shiftT(38); // '*'
  34554. break;
  34555. case 118: // 'div'
  34556. shiftT(118); // 'div'
  34557. break;
  34558. case 151: // 'idiv'
  34559. shiftT(151); // 'idiv'
  34560. break;
  34561. default:
  34562. shiftT(180); // 'mod'
  34563. }
  34564. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34565. try_UnionExpr();
  34566. }
  34567. }
  34568. function parse_UnionExpr()
  34569. {
  34570. eventHandler.startNonterminal("UnionExpr", e0);
  34571. parse_IntersectExceptExpr();
  34572. for (;;)
  34573. {
  34574. if (l1 != 254 // 'union'
  34575. && l1 != 279) // '|'
  34576. {
  34577. break;
  34578. }
  34579. switch (l1)
  34580. {
  34581. case 254: // 'union'
  34582. shift(254); // 'union'
  34583. break;
  34584. default:
  34585. shift(279); // '|'
  34586. }
  34587. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34588. whitespace();
  34589. parse_IntersectExceptExpr();
  34590. }
  34591. eventHandler.endNonterminal("UnionExpr", e0);
  34592. }
  34593. function try_UnionExpr()
  34594. {
  34595. try_IntersectExceptExpr();
  34596. for (;;)
  34597. {
  34598. if (l1 != 254 // 'union'
  34599. && l1 != 279) // '|'
  34600. {
  34601. break;
  34602. }
  34603. switch (l1)
  34604. {
  34605. case 254: // 'union'
  34606. shiftT(254); // 'union'
  34607. break;
  34608. default:
  34609. shiftT(279); // '|'
  34610. }
  34611. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34612. try_IntersectExceptExpr();
  34613. }
  34614. }
  34615. function parse_IntersectExceptExpr()
  34616. {
  34617. eventHandler.startNonterminal("IntersectExceptExpr", e0);
  34618. parse_InstanceofExpr();
  34619. for (;;)
  34620. {
  34621. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34622. if (l1 != 131 // 'except'
  34623. && l1 != 162) // 'intersect'
  34624. {
  34625. break;
  34626. }
  34627. switch (l1)
  34628. {
  34629. case 162: // 'intersect'
  34630. shift(162); // 'intersect'
  34631. break;
  34632. default:
  34633. shift(131); // 'except'
  34634. }
  34635. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34636. whitespace();
  34637. parse_InstanceofExpr();
  34638. }
  34639. eventHandler.endNonterminal("IntersectExceptExpr", e0);
  34640. }
  34641. function try_IntersectExceptExpr()
  34642. {
  34643. try_InstanceofExpr();
  34644. for (;;)
  34645. {
  34646. lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34647. if (l1 != 131 // 'except'
  34648. && l1 != 162) // 'intersect'
  34649. {
  34650. break;
  34651. }
  34652. switch (l1)
  34653. {
  34654. case 162: // 'intersect'
  34655. shiftT(162); // 'intersect'
  34656. break;
  34657. default:
  34658. shiftT(131); // 'except'
  34659. }
  34660. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34661. try_InstanceofExpr();
  34662. }
  34663. }
  34664. function parse_InstanceofExpr()
  34665. {
  34666. eventHandler.startNonterminal("InstanceofExpr", e0);
  34667. parse_TreatExpr();
  34668. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34669. if (l1 == 160) // 'instance'
  34670. {
  34671. shift(160); // 'instance'
  34672. lookahead1W(64); // S^WS | '(:' | 'of'
  34673. shift(196); // 'of'
  34674. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34675. whitespace();
  34676. parse_SequenceType();
  34677. }
  34678. eventHandler.endNonterminal("InstanceofExpr", e0);
  34679. }
  34680. function try_InstanceofExpr()
  34681. {
  34682. try_TreatExpr();
  34683. lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34684. if (l1 == 160) // 'instance'
  34685. {
  34686. shiftT(160); // 'instance'
  34687. lookahead1W(64); // S^WS | '(:' | 'of'
  34688. shiftT(196); // 'of'
  34689. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34690. try_SequenceType();
  34691. }
  34692. }
  34693. function parse_TreatExpr()
  34694. {
  34695. eventHandler.startNonterminal("TreatExpr", e0);
  34696. parse_CastableExpr();
  34697. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34698. if (l1 == 249) // 'treat'
  34699. {
  34700. shift(249); // 'treat'
  34701. lookahead1W(30); // S^WS | '(:' | 'as'
  34702. shift(79); // 'as'
  34703. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34704. whitespace();
  34705. parse_SequenceType();
  34706. }
  34707. eventHandler.endNonterminal("TreatExpr", e0);
  34708. }
  34709. function try_TreatExpr()
  34710. {
  34711. try_CastableExpr();
  34712. lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34713. if (l1 == 249) // 'treat'
  34714. {
  34715. shiftT(249); // 'treat'
  34716. lookahead1W(30); // S^WS | '(:' | 'as'
  34717. shiftT(79); // 'as'
  34718. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  34719. try_SequenceType();
  34720. }
  34721. }
  34722. function parse_CastableExpr()
  34723. {
  34724. eventHandler.startNonterminal("CastableExpr", e0);
  34725. parse_CastExpr();
  34726. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34727. if (l1 == 90) // 'castable'
  34728. {
  34729. shift(90); // 'castable'
  34730. lookahead1W(30); // S^WS | '(:' | 'as'
  34731. shift(79); // 'as'
  34732. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34733. whitespace();
  34734. parse_SingleType();
  34735. }
  34736. eventHandler.endNonterminal("CastableExpr", e0);
  34737. }
  34738. function try_CastableExpr()
  34739. {
  34740. try_CastExpr();
  34741. lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34742. if (l1 == 90) // 'castable'
  34743. {
  34744. shiftT(90); // 'castable'
  34745. lookahead1W(30); // S^WS | '(:' | 'as'
  34746. shiftT(79); // 'as'
  34747. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34748. try_SingleType();
  34749. }
  34750. }
  34751. function parse_CastExpr()
  34752. {
  34753. eventHandler.startNonterminal("CastExpr", e0);
  34754. parse_UnaryExpr();
  34755. lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34756. if (l1 == 89) // 'cast'
  34757. {
  34758. shift(89); // 'cast'
  34759. lookahead1W(30); // S^WS | '(:' | 'as'
  34760. shift(79); // 'as'
  34761. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34762. whitespace();
  34763. parse_SingleType();
  34764. }
  34765. eventHandler.endNonterminal("CastExpr", e0);
  34766. }
  34767. function try_CastExpr()
  34768. {
  34769. try_UnaryExpr();
  34770. lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  34771. if (l1 == 89) // 'cast'
  34772. {
  34773. shiftT(89); // 'cast'
  34774. lookahead1W(30); // S^WS | '(:' | 'as'
  34775. shiftT(79); // 'as'
  34776. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  34777. try_SingleType();
  34778. }
  34779. }
  34780. function parse_UnaryExpr()
  34781. {
  34782. eventHandler.startNonterminal("UnaryExpr", e0);
  34783. for (;;)
  34784. {
  34785. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34786. if (l1 != 40 // '+'
  34787. && l1 != 42) // '-'
  34788. {
  34789. break;
  34790. }
  34791. switch (l1)
  34792. {
  34793. case 42: // '-'
  34794. shift(42); // '-'
  34795. break;
  34796. default:
  34797. shift(40); // '+'
  34798. }
  34799. }
  34800. whitespace();
  34801. parse_ValueExpr();
  34802. eventHandler.endNonterminal("UnaryExpr", e0);
  34803. }
  34804. function try_UnaryExpr()
  34805. {
  34806. for (;;)
  34807. {
  34808. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34809. if (l1 != 40 // '+'
  34810. && l1 != 42) // '-'
  34811. {
  34812. break;
  34813. }
  34814. switch (l1)
  34815. {
  34816. case 42: // '-'
  34817. shiftT(42); // '-'
  34818. break;
  34819. default:
  34820. shiftT(40); // '+'
  34821. }
  34822. }
  34823. try_ValueExpr();
  34824. }
  34825. function parse_ValueExpr()
  34826. {
  34827. eventHandler.startNonterminal("ValueExpr", e0);
  34828. switch (l1)
  34829. {
  34830. case 260: // 'validate'
  34831. lookahead2W(247); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  34832. break;
  34833. default:
  34834. lk = l1;
  34835. }
  34836. switch (lk)
  34837. {
  34838. case 87812: // 'validate' 'lax'
  34839. case 123140: // 'validate' 'strict'
  34840. case 129284: // 'validate' 'type'
  34841. case 141572: // 'validate' '{'
  34842. parse_ValidateExpr();
  34843. break;
  34844. case 35: // '(#'
  34845. parse_ExtensionExpr();
  34846. break;
  34847. default:
  34848. parse_SimpleMapExpr();
  34849. }
  34850. eventHandler.endNonterminal("ValueExpr", e0);
  34851. }
  34852. function try_ValueExpr()
  34853. {
  34854. switch (l1)
  34855. {
  34856. case 260: // 'validate'
  34857. lookahead2W(247); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  34858. break;
  34859. default:
  34860. lk = l1;
  34861. }
  34862. switch (lk)
  34863. {
  34864. case 87812: // 'validate' 'lax'
  34865. case 123140: // 'validate' 'strict'
  34866. case 129284: // 'validate' 'type'
  34867. case 141572: // 'validate' '{'
  34868. try_ValidateExpr();
  34869. break;
  34870. case 35: // '(#'
  34871. try_ExtensionExpr();
  34872. break;
  34873. default:
  34874. try_SimpleMapExpr();
  34875. }
  34876. }
  34877. function parse_SimpleMapExpr()
  34878. {
  34879. eventHandler.startNonterminal("SimpleMapExpr", e0);
  34880. parse_PathExpr();
  34881. for (;;)
  34882. {
  34883. if (l1 != 26) // '!'
  34884. {
  34885. break;
  34886. }
  34887. shift(26); // '!'
  34888. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34889. whitespace();
  34890. parse_PathExpr();
  34891. }
  34892. eventHandler.endNonterminal("SimpleMapExpr", e0);
  34893. }
  34894. function try_SimpleMapExpr()
  34895. {
  34896. try_PathExpr();
  34897. for (;;)
  34898. {
  34899. if (l1 != 26) // '!'
  34900. {
  34901. break;
  34902. }
  34903. shiftT(26); // '!'
  34904. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  34905. try_PathExpr();
  34906. }
  34907. }
  34908. function parse_GeneralComp()
  34909. {
  34910. eventHandler.startNonterminal("GeneralComp", e0);
  34911. switch (l1)
  34912. {
  34913. case 60: // '='
  34914. shift(60); // '='
  34915. break;
  34916. case 27: // '!='
  34917. shift(27); // '!='
  34918. break;
  34919. case 54: // '<'
  34920. shift(54); // '<'
  34921. break;
  34922. case 58: // '<='
  34923. shift(58); // '<='
  34924. break;
  34925. case 61: // '>'
  34926. shift(61); // '>'
  34927. break;
  34928. default:
  34929. shift(62); // '>='
  34930. }
  34931. eventHandler.endNonterminal("GeneralComp", e0);
  34932. }
  34933. function try_GeneralComp()
  34934. {
  34935. switch (l1)
  34936. {
  34937. case 60: // '='
  34938. shiftT(60); // '='
  34939. break;
  34940. case 27: // '!='
  34941. shiftT(27); // '!='
  34942. break;
  34943. case 54: // '<'
  34944. shiftT(54); // '<'
  34945. break;
  34946. case 58: // '<='
  34947. shiftT(58); // '<='
  34948. break;
  34949. case 61: // '>'
  34950. shiftT(61); // '>'
  34951. break;
  34952. default:
  34953. shiftT(62); // '>='
  34954. }
  34955. }
  34956. function parse_ValueComp()
  34957. {
  34958. eventHandler.startNonterminal("ValueComp", e0);
  34959. switch (l1)
  34960. {
  34961. case 128: // 'eq'
  34962. shift(128); // 'eq'
  34963. break;
  34964. case 186: // 'ne'
  34965. shift(186); // 'ne'
  34966. break;
  34967. case 178: // 'lt'
  34968. shift(178); // 'lt'
  34969. break;
  34970. case 172: // 'le'
  34971. shift(172); // 'le'
  34972. break;
  34973. case 150: // 'gt'
  34974. shift(150); // 'gt'
  34975. break;
  34976. default:
  34977. shift(146); // 'ge'
  34978. }
  34979. eventHandler.endNonterminal("ValueComp", e0);
  34980. }
  34981. function try_ValueComp()
  34982. {
  34983. switch (l1)
  34984. {
  34985. case 128: // 'eq'
  34986. shiftT(128); // 'eq'
  34987. break;
  34988. case 186: // 'ne'
  34989. shiftT(186); // 'ne'
  34990. break;
  34991. case 178: // 'lt'
  34992. shiftT(178); // 'lt'
  34993. break;
  34994. case 172: // 'le'
  34995. shiftT(172); // 'le'
  34996. break;
  34997. case 150: // 'gt'
  34998. shiftT(150); // 'gt'
  34999. break;
  35000. default:
  35001. shiftT(146); // 'ge'
  35002. }
  35003. }
  35004. function parse_NodeComp()
  35005. {
  35006. eventHandler.startNonterminal("NodeComp", e0);
  35007. switch (l1)
  35008. {
  35009. case 164: // 'is'
  35010. shift(164); // 'is'
  35011. break;
  35012. case 57: // '<<'
  35013. shift(57); // '<<'
  35014. break;
  35015. default:
  35016. shift(63); // '>>'
  35017. }
  35018. eventHandler.endNonterminal("NodeComp", e0);
  35019. }
  35020. function try_NodeComp()
  35021. {
  35022. switch (l1)
  35023. {
  35024. case 164: // 'is'
  35025. shiftT(164); // 'is'
  35026. break;
  35027. case 57: // '<<'
  35028. shiftT(57); // '<<'
  35029. break;
  35030. default:
  35031. shiftT(63); // '>>'
  35032. }
  35033. }
  35034. function parse_ValidateExpr()
  35035. {
  35036. eventHandler.startNonterminal("ValidateExpr", e0);
  35037. shift(260); // 'validate'
  35038. lookahead1W(160); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  35039. if (l1 != 276) // '{'
  35040. {
  35041. switch (l1)
  35042. {
  35043. case 252: // 'type'
  35044. shift(252); // 'type'
  35045. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35046. whitespace();
  35047. parse_TypeName();
  35048. break;
  35049. default:
  35050. whitespace();
  35051. parse_ValidationMode();
  35052. }
  35053. }
  35054. lookahead1W(87); // S^WS | '(:' | '{'
  35055. shift(276); // '{'
  35056. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35057. whitespace();
  35058. parse_Expr();
  35059. shift(282); // '}'
  35060. eventHandler.endNonterminal("ValidateExpr", e0);
  35061. }
  35062. function try_ValidateExpr()
  35063. {
  35064. shiftT(260); // 'validate'
  35065. lookahead1W(160); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
  35066. if (l1 != 276) // '{'
  35067. {
  35068. switch (l1)
  35069. {
  35070. case 252: // 'type'
  35071. shiftT(252); // 'type'
  35072. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  35073. try_TypeName();
  35074. break;
  35075. default:
  35076. try_ValidationMode();
  35077. }
  35078. }
  35079. lookahead1W(87); // S^WS | '(:' | '{'
  35080. shiftT(276); // '{'
  35081. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35082. try_Expr();
  35083. shiftT(282); // '}'
  35084. }
  35085. function parse_ValidationMode()
  35086. {
  35087. eventHandler.startNonterminal("ValidationMode", e0);
  35088. switch (l1)
  35089. {
  35090. case 171: // 'lax'
  35091. shift(171); // 'lax'
  35092. break;
  35093. default:
  35094. shift(240); // 'strict'
  35095. }
  35096. eventHandler.endNonterminal("ValidationMode", e0);
  35097. }
  35098. function try_ValidationMode()
  35099. {
  35100. switch (l1)
  35101. {
  35102. case 171: // 'lax'
  35103. shiftT(171); // 'lax'
  35104. break;
  35105. default:
  35106. shiftT(240); // 'strict'
  35107. }
  35108. }
  35109. function parse_ExtensionExpr()
  35110. {
  35111. eventHandler.startNonterminal("ExtensionExpr", e0);
  35112. for (;;)
  35113. {
  35114. whitespace();
  35115. parse_Pragma();
  35116. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  35117. if (l1 != 35) // '(#'
  35118. {
  35119. break;
  35120. }
  35121. }
  35122. shift(276); // '{'
  35123. lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35124. if (l1 != 282) // '}'
  35125. {
  35126. whitespace();
  35127. parse_Expr();
  35128. }
  35129. shift(282); // '}'
  35130. eventHandler.endNonterminal("ExtensionExpr", e0);
  35131. }
  35132. function try_ExtensionExpr()
  35133. {
  35134. for (;;)
  35135. {
  35136. try_Pragma();
  35137. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  35138. if (l1 != 35) // '(#'
  35139. {
  35140. break;
  35141. }
  35142. }
  35143. shiftT(276); // '{'
  35144. lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35145. if (l1 != 282) // '}'
  35146. {
  35147. try_Expr();
  35148. }
  35149. shiftT(282); // '}'
  35150. }
  35151. function parse_Pragma()
  35152. {
  35153. eventHandler.startNonterminal("Pragma", e0);
  35154. shift(35); // '(#'
  35155. lookahead1(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  35156. if (l1 == 21) // S
  35157. {
  35158. shift(21); // S
  35159. }
  35160. parse_EQName();
  35161. lookahead1(10); // S | '#)'
  35162. if (l1 == 21) // S
  35163. {
  35164. shift(21); // S
  35165. lookahead1(0); // PragmaContents
  35166. shift(1); // PragmaContents
  35167. }
  35168. lookahead1(5); // '#)'
  35169. shift(30); // '#)'
  35170. eventHandler.endNonterminal("Pragma", e0);
  35171. }
  35172. function try_Pragma()
  35173. {
  35174. shiftT(35); // '(#'
  35175. lookahead1(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  35176. if (l1 == 21) // S
  35177. {
  35178. shiftT(21); // S
  35179. }
  35180. try_EQName();
  35181. lookahead1(10); // S | '#)'
  35182. if (l1 == 21) // S
  35183. {
  35184. shiftT(21); // S
  35185. lookahead1(0); // PragmaContents
  35186. shiftT(1); // PragmaContents
  35187. }
  35188. lookahead1(5); // '#)'
  35189. shiftT(30); // '#)'
  35190. }
  35191. function parse_PathExpr()
  35192. {
  35193. eventHandler.startNonterminal("PathExpr", e0);
  35194. switch (l1)
  35195. {
  35196. case 46: // '/'
  35197. shift(46); // '/'
  35198. lookahead1W(285); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35199. switch (l1)
  35200. {
  35201. case 25: // EOF
  35202. case 26: // '!'
  35203. case 27: // '!='
  35204. case 37: // ')'
  35205. case 38: // '*'
  35206. case 40: // '+'
  35207. case 41: // ','
  35208. case 42: // '-'
  35209. case 49: // ':'
  35210. case 53: // ';'
  35211. case 57: // '<<'
  35212. case 58: // '<='
  35213. case 60: // '='
  35214. case 61: // '>'
  35215. case 62: // '>='
  35216. case 63: // '>>'
  35217. case 69: // ']'
  35218. case 87: // 'by'
  35219. case 99: // 'contains'
  35220. case 205: // 'paragraphs'
  35221. case 232: // 'sentences'
  35222. case 247: // 'times'
  35223. case 273: // 'words'
  35224. case 279: // '|'
  35225. case 280: // '||'
  35226. case 281: // '|}'
  35227. case 282: // '}'
  35228. break;
  35229. default:
  35230. whitespace();
  35231. parse_RelativePathExpr();
  35232. }
  35233. break;
  35234. case 47: // '//'
  35235. shift(47); // '//'
  35236. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35237. whitespace();
  35238. parse_RelativePathExpr();
  35239. break;
  35240. default:
  35241. parse_RelativePathExpr();
  35242. }
  35243. eventHandler.endNonterminal("PathExpr", e0);
  35244. }
  35245. function try_PathExpr()
  35246. {
  35247. switch (l1)
  35248. {
  35249. case 46: // '/'
  35250. shiftT(46); // '/'
  35251. lookahead1W(285); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35252. switch (l1)
  35253. {
  35254. case 25: // EOF
  35255. case 26: // '!'
  35256. case 27: // '!='
  35257. case 37: // ')'
  35258. case 38: // '*'
  35259. case 40: // '+'
  35260. case 41: // ','
  35261. case 42: // '-'
  35262. case 49: // ':'
  35263. case 53: // ';'
  35264. case 57: // '<<'
  35265. case 58: // '<='
  35266. case 60: // '='
  35267. case 61: // '>'
  35268. case 62: // '>='
  35269. case 63: // '>>'
  35270. case 69: // ']'
  35271. case 87: // 'by'
  35272. case 99: // 'contains'
  35273. case 205: // 'paragraphs'
  35274. case 232: // 'sentences'
  35275. case 247: // 'times'
  35276. case 273: // 'words'
  35277. case 279: // '|'
  35278. case 280: // '||'
  35279. case 281: // '|}'
  35280. case 282: // '}'
  35281. break;
  35282. default:
  35283. try_RelativePathExpr();
  35284. }
  35285. break;
  35286. case 47: // '//'
  35287. shiftT(47); // '//'
  35288. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35289. try_RelativePathExpr();
  35290. break;
  35291. default:
  35292. try_RelativePathExpr();
  35293. }
  35294. }
  35295. function parse_RelativePathExpr()
  35296. {
  35297. eventHandler.startNonterminal("RelativePathExpr", e0);
  35298. parse_StepExpr();
  35299. for (;;)
  35300. {
  35301. switch (l1)
  35302. {
  35303. case 26: // '!'
  35304. lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35305. break;
  35306. default:
  35307. lk = l1;
  35308. }
  35309. if (lk != 25 // EOF
  35310. && lk != 27 // '!='
  35311. && lk != 37 // ')'
  35312. && lk != 38 // '*'
  35313. && lk != 40 // '+'
  35314. && lk != 41 // ','
  35315. && lk != 42 // '-'
  35316. && lk != 46 // '/'
  35317. && lk != 47 // '//'
  35318. && lk != 49 // ':'
  35319. && lk != 53 // ';'
  35320. && lk != 54 // '<'
  35321. && lk != 57 // '<<'
  35322. && lk != 58 // '<='
  35323. && lk != 60 // '='
  35324. && lk != 61 // '>'
  35325. && lk != 62 // '>='
  35326. && lk != 63 // '>>'
  35327. && lk != 69 // ']'
  35328. && lk != 70 // 'after'
  35329. && lk != 75 // 'and'
  35330. && lk != 79 // 'as'
  35331. && lk != 80 // 'ascending'
  35332. && lk != 81 // 'at'
  35333. && lk != 84 // 'before'
  35334. && lk != 87 // 'by'
  35335. && lk != 88 // 'case'
  35336. && lk != 89 // 'cast'
  35337. && lk != 90 // 'castable'
  35338. && lk != 94 // 'collation'
  35339. && lk != 99 // 'contains'
  35340. && lk != 105 // 'count'
  35341. && lk != 109 // 'default'
  35342. && lk != 113 // 'descending'
  35343. && lk != 118 // 'div'
  35344. && lk != 122 // 'else'
  35345. && lk != 123 // 'empty'
  35346. && lk != 126 // 'end'
  35347. && lk != 128 // 'eq'
  35348. && lk != 131 // 'except'
  35349. && lk != 137 // 'for'
  35350. && lk != 146 // 'ge'
  35351. && lk != 148 // 'group'
  35352. && lk != 150 // 'gt'
  35353. && lk != 151 // 'idiv'
  35354. && lk != 160 // 'instance'
  35355. && lk != 162 // 'intersect'
  35356. && lk != 163 // 'into'
  35357. && lk != 164 // 'is'
  35358. && lk != 172 // 'le'
  35359. && lk != 174 // 'let'
  35360. && lk != 178 // 'lt'
  35361. && lk != 180 // 'mod'
  35362. && lk != 181 // 'modify'
  35363. && lk != 186 // 'ne'
  35364. && lk != 198 // 'only'
  35365. && lk != 200 // 'or'
  35366. && lk != 201 // 'order'
  35367. && lk != 205 // 'paragraphs'
  35368. && lk != 220 // 'return'
  35369. && lk != 224 // 'satisfies'
  35370. && lk != 232 // 'sentences'
  35371. && lk != 236 // 'stable'
  35372. && lk != 237 // 'start'
  35373. && lk != 247 // 'times'
  35374. && lk != 248 // 'to'
  35375. && lk != 249 // 'treat'
  35376. && lk != 254 // 'union'
  35377. && lk != 266 // 'where'
  35378. && lk != 270 // 'with'
  35379. && lk != 273 // 'words'
  35380. && lk != 279 // '|'
  35381. && lk != 280 // '||'
  35382. && lk != 281 // '|}'
  35383. && lk != 282 // '}'
  35384. && lk != 23578 // '!' '/'
  35385. && lk != 24090) // '!' '//'
  35386. {
  35387. lk = memoized(3, e0);
  35388. if (lk == 0)
  35389. {
  35390. var b0A = b0; var e0A = e0; var l1A = l1;
  35391. var b1A = b1; var e1A = e1; var l2A = l2;
  35392. var b2A = b2; var e2A = e2;
  35393. try
  35394. {
  35395. switch (l1)
  35396. {
  35397. case 46: // '/'
  35398. shiftT(46); // '/'
  35399. break;
  35400. case 47: // '//'
  35401. shiftT(47); // '//'
  35402. break;
  35403. default:
  35404. shiftT(26); // '!'
  35405. }
  35406. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35407. try_StepExpr();
  35408. lk = -1;
  35409. }
  35410. catch (p1A)
  35411. {
  35412. lk = -2;
  35413. }
  35414. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  35415. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  35416. b2 = b2A; e2 = e2A; end = e2A; }}
  35417. memoize(3, e0, lk);
  35418. }
  35419. }
  35420. if (lk != -1
  35421. && lk != 46 // '/'
  35422. && lk != 47) // '//'
  35423. {
  35424. break;
  35425. }
  35426. switch (l1)
  35427. {
  35428. case 46: // '/'
  35429. shift(46); // '/'
  35430. break;
  35431. case 47: // '//'
  35432. shift(47); // '//'
  35433. break;
  35434. default:
  35435. shift(26); // '!'
  35436. }
  35437. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35438. whitespace();
  35439. parse_StepExpr();
  35440. }
  35441. eventHandler.endNonterminal("RelativePathExpr", e0);
  35442. }
  35443. function try_RelativePathExpr()
  35444. {
  35445. try_StepExpr();
  35446. for (;;)
  35447. {
  35448. switch (l1)
  35449. {
  35450. case 26: // '!'
  35451. lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35452. break;
  35453. default:
  35454. lk = l1;
  35455. }
  35456. if (lk != 25 // EOF
  35457. && lk != 27 // '!='
  35458. && lk != 37 // ')'
  35459. && lk != 38 // '*'
  35460. && lk != 40 // '+'
  35461. && lk != 41 // ','
  35462. && lk != 42 // '-'
  35463. && lk != 46 // '/'
  35464. && lk != 47 // '//'
  35465. && lk != 49 // ':'
  35466. && lk != 53 // ';'
  35467. && lk != 54 // '<'
  35468. && lk != 57 // '<<'
  35469. && lk != 58 // '<='
  35470. && lk != 60 // '='
  35471. && lk != 61 // '>'
  35472. && lk != 62 // '>='
  35473. && lk != 63 // '>>'
  35474. && lk != 69 // ']'
  35475. && lk != 70 // 'after'
  35476. && lk != 75 // 'and'
  35477. && lk != 79 // 'as'
  35478. && lk != 80 // 'ascending'
  35479. && lk != 81 // 'at'
  35480. && lk != 84 // 'before'
  35481. && lk != 87 // 'by'
  35482. && lk != 88 // 'case'
  35483. && lk != 89 // 'cast'
  35484. && lk != 90 // 'castable'
  35485. && lk != 94 // 'collation'
  35486. && lk != 99 // 'contains'
  35487. && lk != 105 // 'count'
  35488. && lk != 109 // 'default'
  35489. && lk != 113 // 'descending'
  35490. && lk != 118 // 'div'
  35491. && lk != 122 // 'else'
  35492. && lk != 123 // 'empty'
  35493. && lk != 126 // 'end'
  35494. && lk != 128 // 'eq'
  35495. && lk != 131 // 'except'
  35496. && lk != 137 // 'for'
  35497. && lk != 146 // 'ge'
  35498. && lk != 148 // 'group'
  35499. && lk != 150 // 'gt'
  35500. && lk != 151 // 'idiv'
  35501. && lk != 160 // 'instance'
  35502. && lk != 162 // 'intersect'
  35503. && lk != 163 // 'into'
  35504. && lk != 164 // 'is'
  35505. && lk != 172 // 'le'
  35506. && lk != 174 // 'let'
  35507. && lk != 178 // 'lt'
  35508. && lk != 180 // 'mod'
  35509. && lk != 181 // 'modify'
  35510. && lk != 186 // 'ne'
  35511. && lk != 198 // 'only'
  35512. && lk != 200 // 'or'
  35513. && lk != 201 // 'order'
  35514. && lk != 205 // 'paragraphs'
  35515. && lk != 220 // 'return'
  35516. && lk != 224 // 'satisfies'
  35517. && lk != 232 // 'sentences'
  35518. && lk != 236 // 'stable'
  35519. && lk != 237 // 'start'
  35520. && lk != 247 // 'times'
  35521. && lk != 248 // 'to'
  35522. && lk != 249 // 'treat'
  35523. && lk != 254 // 'union'
  35524. && lk != 266 // 'where'
  35525. && lk != 270 // 'with'
  35526. && lk != 273 // 'words'
  35527. && lk != 279 // '|'
  35528. && lk != 280 // '||'
  35529. && lk != 281 // '|}'
  35530. && lk != 282 // '}'
  35531. && lk != 23578 // '!' '/'
  35532. && lk != 24090) // '!' '//'
  35533. {
  35534. lk = memoized(3, e0);
  35535. if (lk == 0)
  35536. {
  35537. var b0A = b0; var e0A = e0; var l1A = l1;
  35538. var b1A = b1; var e1A = e1; var l2A = l2;
  35539. var b2A = b2; var e2A = e2;
  35540. try
  35541. {
  35542. switch (l1)
  35543. {
  35544. case 46: // '/'
  35545. shiftT(46); // '/'
  35546. break;
  35547. case 47: // '//'
  35548. shiftT(47); // '//'
  35549. break;
  35550. default:
  35551. shiftT(26); // '!'
  35552. }
  35553. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35554. try_StepExpr();
  35555. memoize(3, e0A, -1);
  35556. continue;
  35557. }
  35558. catch (p1A)
  35559. {
  35560. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  35561. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  35562. b2 = b2A; e2 = e2A; end = e2A; }}
  35563. memoize(3, e0A, -2);
  35564. break;
  35565. }
  35566. }
  35567. }
  35568. if (lk != -1
  35569. && lk != 46 // '/'
  35570. && lk != 47) // '//'
  35571. {
  35572. break;
  35573. }
  35574. switch (l1)
  35575. {
  35576. case 46: // '/'
  35577. shiftT(46); // '/'
  35578. break;
  35579. case 47: // '//'
  35580. shiftT(47); // '//'
  35581. break;
  35582. default:
  35583. shiftT(26); // '!'
  35584. }
  35585. lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  35586. try_StepExpr();
  35587. }
  35588. }
  35589. function parse_StepExpr()
  35590. {
  35591. eventHandler.startNonterminal("StepExpr", e0);
  35592. switch (l1)
  35593. {
  35594. case 82: // 'attribute'
  35595. lookahead2W(284); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  35596. break;
  35597. case 121: // 'element'
  35598. lookahead2W(282); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  35599. break;
  35600. case 184: // 'namespace'
  35601. case 216: // 'processing-instruction'
  35602. lookahead2W(281); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  35603. break;
  35604. case 96: // 'comment'
  35605. case 119: // 'document'
  35606. case 202: // 'ordered'
  35607. case 244: // 'text'
  35608. case 256: // 'unordered'
  35609. lookahead2W(246); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  35610. break;
  35611. case 78: // 'array'
  35612. case 124: // 'empty-sequence'
  35613. case 152: // 'if'
  35614. case 165: // 'item'
  35615. case 167: // 'json-item'
  35616. case 242: // 'structured-item'
  35617. case 243: // 'switch'
  35618. case 253: // 'typeswitch'
  35619. lookahead2W(239); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  35620. break;
  35621. case 73: // 'ancestor'
  35622. case 74: // 'ancestor-or-self'
  35623. case 93: // 'child'
  35624. case 111: // 'descendant'
  35625. case 112: // 'descendant-or-self'
  35626. case 135: // 'following'
  35627. case 136: // 'following-sibling'
  35628. case 206: // 'parent'
  35629. case 212: // 'preceding'
  35630. case 213: // 'preceding-sibling'
  35631. case 229: // 'self'
  35632. lookahead2W(245); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  35633. break;
  35634. case 6: // EQName^Token
  35635. case 70: // 'after'
  35636. case 72: // 'allowing'
  35637. case 75: // 'and'
  35638. case 77: // 'append'
  35639. case 79: // 'as'
  35640. case 80: // 'ascending'
  35641. case 81: // 'at'
  35642. case 83: // 'base-uri'
  35643. case 84: // 'before'
  35644. case 85: // 'boundary-space'
  35645. case 86: // 'break'
  35646. case 88: // 'case'
  35647. case 89: // 'cast'
  35648. case 90: // 'castable'
  35649. case 91: // 'catch'
  35650. case 94: // 'collation'
  35651. case 97: // 'constraint'
  35652. case 98: // 'construction'
  35653. case 101: // 'context'
  35654. case 102: // 'continue'
  35655. case 103: // 'copy'
  35656. case 104: // 'copy-namespaces'
  35657. case 105: // 'count'
  35658. case 106: // 'decimal-format'
  35659. case 108: // 'declare'
  35660. case 109: // 'default'
  35661. case 110: // 'delete'
  35662. case 113: // 'descending'
  35663. case 118: // 'div'
  35664. case 120: // 'document-node'
  35665. case 122: // 'else'
  35666. case 123: // 'empty'
  35667. case 125: // 'encoding'
  35668. case 126: // 'end'
  35669. case 128: // 'eq'
  35670. case 129: // 'every'
  35671. case 131: // 'except'
  35672. case 132: // 'exit'
  35673. case 133: // 'external'
  35674. case 134: // 'first'
  35675. case 137: // 'for'
  35676. case 141: // 'ft-option'
  35677. case 145: // 'function'
  35678. case 146: // 'ge'
  35679. case 148: // 'group'
  35680. case 150: // 'gt'
  35681. case 151: // 'idiv'
  35682. case 153: // 'import'
  35683. case 154: // 'in'
  35684. case 155: // 'index'
  35685. case 159: // 'insert'
  35686. case 160: // 'instance'
  35687. case 161: // 'integrity'
  35688. case 162: // 'intersect'
  35689. case 163: // 'into'
  35690. case 164: // 'is'
  35691. case 166: // 'json'
  35692. case 170: // 'last'
  35693. case 171: // 'lax'
  35694. case 172: // 'le'
  35695. case 174: // 'let'
  35696. case 176: // 'loop'
  35697. case 178: // 'lt'
  35698. case 180: // 'mod'
  35699. case 181: // 'modify'
  35700. case 182: // 'module'
  35701. case 185: // 'namespace-node'
  35702. case 186: // 'ne'
  35703. case 191: // 'node'
  35704. case 192: // 'nodes'
  35705. case 194: // 'object'
  35706. case 198: // 'only'
  35707. case 199: // 'option'
  35708. case 200: // 'or'
  35709. case 201: // 'order'
  35710. case 203: // 'ordering'
  35711. case 218: // 'rename'
  35712. case 219: // 'replace'
  35713. case 220: // 'return'
  35714. case 221: // 'returning'
  35715. case 222: // 'revalidation'
  35716. case 224: // 'satisfies'
  35717. case 225: // 'schema'
  35718. case 226: // 'schema-attribute'
  35719. case 227: // 'schema-element'
  35720. case 228: // 'score'
  35721. case 234: // 'sliding'
  35722. case 235: // 'some'
  35723. case 236: // 'stable'
  35724. case 237: // 'start'
  35725. case 240: // 'strict'
  35726. case 248: // 'to'
  35727. case 249: // 'treat'
  35728. case 250: // 'try'
  35729. case 251: // 'tumbling'
  35730. case 252: // 'type'
  35731. case 254: // 'union'
  35732. case 257: // 'updating'
  35733. case 260: // 'validate'
  35734. case 261: // 'value'
  35735. case 262: // 'variable'
  35736. case 263: // 'version'
  35737. case 266: // 'where'
  35738. case 267: // 'while'
  35739. case 270: // 'with'
  35740. case 274: // 'xquery'
  35741. lookahead2W(243); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  35742. break;
  35743. default:
  35744. lk = l1;
  35745. }
  35746. if (lk == 35922 // 'attribute' 'after'
  35747. || lk == 35961 // 'element' 'after'
  35748. || lk == 36024 // 'namespace' 'after'
  35749. || lk == 36056 // 'processing-instruction' 'after'
  35750. || lk == 38482 // 'attribute' 'and'
  35751. || lk == 38521 // 'element' 'and'
  35752. || lk == 38584 // 'namespace' 'and'
  35753. || lk == 38616 // 'processing-instruction' 'and'
  35754. || lk == 40530 // 'attribute' 'as'
  35755. || lk == 40569 // 'element' 'as'
  35756. || lk == 40632 // 'namespace' 'as'
  35757. || lk == 40664 // 'processing-instruction' 'as'
  35758. || lk == 41042 // 'attribute' 'ascending'
  35759. || lk == 41081 // 'element' 'ascending'
  35760. || lk == 41144 // 'namespace' 'ascending'
  35761. || lk == 41176 // 'processing-instruction' 'ascending'
  35762. || lk == 41554 // 'attribute' 'at'
  35763. || lk == 41593 // 'element' 'at'
  35764. || lk == 41656 // 'namespace' 'at'
  35765. || lk == 41688 // 'processing-instruction' 'at'
  35766. || lk == 43090 // 'attribute' 'before'
  35767. || lk == 43129 // 'element' 'before'
  35768. || lk == 43192 // 'namespace' 'before'
  35769. || lk == 43224 // 'processing-instruction' 'before'
  35770. || lk == 45138 // 'attribute' 'case'
  35771. || lk == 45177 // 'element' 'case'
  35772. || lk == 45240 // 'namespace' 'case'
  35773. || lk == 45272 // 'processing-instruction' 'case'
  35774. || lk == 45650 // 'attribute' 'cast'
  35775. || lk == 45689 // 'element' 'cast'
  35776. || lk == 45752 // 'namespace' 'cast'
  35777. || lk == 45784 // 'processing-instruction' 'cast'
  35778. || lk == 46162 // 'attribute' 'castable'
  35779. || lk == 46201 // 'element' 'castable'
  35780. || lk == 46264 // 'namespace' 'castable'
  35781. || lk == 46296 // 'processing-instruction' 'castable'
  35782. || lk == 48210 // 'attribute' 'collation'
  35783. || lk == 48249 // 'element' 'collation'
  35784. || lk == 48312 // 'namespace' 'collation'
  35785. || lk == 48344 // 'processing-instruction' 'collation'
  35786. || lk == 53842 // 'attribute' 'count'
  35787. || lk == 53881 // 'element' 'count'
  35788. || lk == 53944 // 'namespace' 'count'
  35789. || lk == 53976 // 'processing-instruction' 'count'
  35790. || lk == 55890 // 'attribute' 'default'
  35791. || lk == 55929 // 'element' 'default'
  35792. || lk == 55992 // 'namespace' 'default'
  35793. || lk == 56024 // 'processing-instruction' 'default'
  35794. || lk == 57938 // 'attribute' 'descending'
  35795. || lk == 57977 // 'element' 'descending'
  35796. || lk == 58040 // 'namespace' 'descending'
  35797. || lk == 58072 // 'processing-instruction' 'descending'
  35798. || lk == 60498 // 'attribute' 'div'
  35799. || lk == 60537 // 'element' 'div'
  35800. || lk == 60600 // 'namespace' 'div'
  35801. || lk == 60632 // 'processing-instruction' 'div'
  35802. || lk == 62546 // 'attribute' 'else'
  35803. || lk == 62585 // 'element' 'else'
  35804. || lk == 62648 // 'namespace' 'else'
  35805. || lk == 62680 // 'processing-instruction' 'else'
  35806. || lk == 63058 // 'attribute' 'empty'
  35807. || lk == 63097 // 'element' 'empty'
  35808. || lk == 63160 // 'namespace' 'empty'
  35809. || lk == 63192 // 'processing-instruction' 'empty'
  35810. || lk == 64594 // 'attribute' 'end'
  35811. || lk == 64633 // 'element' 'end'
  35812. || lk == 64696 // 'namespace' 'end'
  35813. || lk == 64728 // 'processing-instruction' 'end'
  35814. || lk == 65618 // 'attribute' 'eq'
  35815. || lk == 65657 // 'element' 'eq'
  35816. || lk == 65720 // 'namespace' 'eq'
  35817. || lk == 65752 // 'processing-instruction' 'eq'
  35818. || lk == 67154 // 'attribute' 'except'
  35819. || lk == 67193 // 'element' 'except'
  35820. || lk == 67256 // 'namespace' 'except'
  35821. || lk == 67288 // 'processing-instruction' 'except'
  35822. || lk == 70226 // 'attribute' 'for'
  35823. || lk == 70265 // 'element' 'for'
  35824. || lk == 70328 // 'namespace' 'for'
  35825. || lk == 70360 // 'processing-instruction' 'for'
  35826. || lk == 74834 // 'attribute' 'ge'
  35827. || lk == 74873 // 'element' 'ge'
  35828. || lk == 74936 // 'namespace' 'ge'
  35829. || lk == 74968 // 'processing-instruction' 'ge'
  35830. || lk == 75858 // 'attribute' 'group'
  35831. || lk == 75897 // 'element' 'group'
  35832. || lk == 75960 // 'namespace' 'group'
  35833. || lk == 75992 // 'processing-instruction' 'group'
  35834. || lk == 76882 // 'attribute' 'gt'
  35835. || lk == 76921 // 'element' 'gt'
  35836. || lk == 76984 // 'namespace' 'gt'
  35837. || lk == 77016 // 'processing-instruction' 'gt'
  35838. || lk == 77394 // 'attribute' 'idiv'
  35839. || lk == 77433 // 'element' 'idiv'
  35840. || lk == 77496 // 'namespace' 'idiv'
  35841. || lk == 77528 // 'processing-instruction' 'idiv'
  35842. || lk == 82002 // 'attribute' 'instance'
  35843. || lk == 82041 // 'element' 'instance'
  35844. || lk == 82104 // 'namespace' 'instance'
  35845. || lk == 82136 // 'processing-instruction' 'instance'
  35846. || lk == 83026 // 'attribute' 'intersect'
  35847. || lk == 83065 // 'element' 'intersect'
  35848. || lk == 83128 // 'namespace' 'intersect'
  35849. || lk == 83160 // 'processing-instruction' 'intersect'
  35850. || lk == 83538 // 'attribute' 'into'
  35851. || lk == 83577 // 'element' 'into'
  35852. || lk == 83640 // 'namespace' 'into'
  35853. || lk == 83672 // 'processing-instruction' 'into'
  35854. || lk == 84050 // 'attribute' 'is'
  35855. || lk == 84089 // 'element' 'is'
  35856. || lk == 84152 // 'namespace' 'is'
  35857. || lk == 84184 // 'processing-instruction' 'is'
  35858. || lk == 88146 // 'attribute' 'le'
  35859. || lk == 88185 // 'element' 'le'
  35860. || lk == 88248 // 'namespace' 'le'
  35861. || lk == 88280 // 'processing-instruction' 'le'
  35862. || lk == 89170 // 'attribute' 'let'
  35863. || lk == 89209 // 'element' 'let'
  35864. || lk == 89272 // 'namespace' 'let'
  35865. || lk == 89304 // 'processing-instruction' 'let'
  35866. || lk == 91218 // 'attribute' 'lt'
  35867. || lk == 91257 // 'element' 'lt'
  35868. || lk == 91320 // 'namespace' 'lt'
  35869. || lk == 91352 // 'processing-instruction' 'lt'
  35870. || lk == 92242 // 'attribute' 'mod'
  35871. || lk == 92281 // 'element' 'mod'
  35872. || lk == 92344 // 'namespace' 'mod'
  35873. || lk == 92376 // 'processing-instruction' 'mod'
  35874. || lk == 92754 // 'attribute' 'modify'
  35875. || lk == 92793 // 'element' 'modify'
  35876. || lk == 92856 // 'namespace' 'modify'
  35877. || lk == 92888 // 'processing-instruction' 'modify'
  35878. || lk == 95314 // 'attribute' 'ne'
  35879. || lk == 95353 // 'element' 'ne'
  35880. || lk == 95416 // 'namespace' 'ne'
  35881. || lk == 95448 // 'processing-instruction' 'ne'
  35882. || lk == 101458 // 'attribute' 'only'
  35883. || lk == 101497 // 'element' 'only'
  35884. || lk == 101560 // 'namespace' 'only'
  35885. || lk == 101592 // 'processing-instruction' 'only'
  35886. || lk == 102482 // 'attribute' 'or'
  35887. || lk == 102521 // 'element' 'or'
  35888. || lk == 102584 // 'namespace' 'or'
  35889. || lk == 102616 // 'processing-instruction' 'or'
  35890. || lk == 102994 // 'attribute' 'order'
  35891. || lk == 103033 // 'element' 'order'
  35892. || lk == 103096 // 'namespace' 'order'
  35893. || lk == 103128 // 'processing-instruction' 'order'
  35894. || lk == 112722 // 'attribute' 'return'
  35895. || lk == 112761 // 'element' 'return'
  35896. || lk == 112824 // 'namespace' 'return'
  35897. || lk == 112856 // 'processing-instruction' 'return'
  35898. || lk == 114770 // 'attribute' 'satisfies'
  35899. || lk == 114809 // 'element' 'satisfies'
  35900. || lk == 114872 // 'namespace' 'satisfies'
  35901. || lk == 114904 // 'processing-instruction' 'satisfies'
  35902. || lk == 120914 // 'attribute' 'stable'
  35903. || lk == 120953 // 'element' 'stable'
  35904. || lk == 121016 // 'namespace' 'stable'
  35905. || lk == 121048 // 'processing-instruction' 'stable'
  35906. || lk == 121426 // 'attribute' 'start'
  35907. || lk == 121465 // 'element' 'start'
  35908. || lk == 121528 // 'namespace' 'start'
  35909. || lk == 121560 // 'processing-instruction' 'start'
  35910. || lk == 127058 // 'attribute' 'to'
  35911. || lk == 127097 // 'element' 'to'
  35912. || lk == 127160 // 'namespace' 'to'
  35913. || lk == 127192 // 'processing-instruction' 'to'
  35914. || lk == 127570 // 'attribute' 'treat'
  35915. || lk == 127609 // 'element' 'treat'
  35916. || lk == 127672 // 'namespace' 'treat'
  35917. || lk == 127704 // 'processing-instruction' 'treat'
  35918. || lk == 130130 // 'attribute' 'union'
  35919. || lk == 130169 // 'element' 'union'
  35920. || lk == 130232 // 'namespace' 'union'
  35921. || lk == 130264 // 'processing-instruction' 'union'
  35922. || lk == 136274 // 'attribute' 'where'
  35923. || lk == 136313 // 'element' 'where'
  35924. || lk == 136376 // 'namespace' 'where'
  35925. || lk == 136408 // 'processing-instruction' 'where'
  35926. || lk == 138322 // 'attribute' 'with'
  35927. || lk == 138361 // 'element' 'with'
  35928. || lk == 138424 // 'namespace' 'with'
  35929. || lk == 138456) // 'processing-instruction' 'with'
  35930. {
  35931. lk = memoized(4, e0);
  35932. if (lk == 0)
  35933. {
  35934. var b0A = b0; var e0A = e0; var l1A = l1;
  35935. var b1A = b1; var e1A = e1; var l2A = l2;
  35936. var b2A = b2; var e2A = e2;
  35937. try
  35938. {
  35939. try_PostfixExpr();
  35940. lk = -1;
  35941. }
  35942. catch (p1A)
  35943. {
  35944. lk = -2;
  35945. }
  35946. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  35947. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  35948. b2 = b2A; e2 = e2A; end = e2A; }}
  35949. memoize(4, e0, lk);
  35950. }
  35951. }
  35952. switch (lk)
  35953. {
  35954. case -1:
  35955. case 8: // IntegerLiteral
  35956. case 9: // DecimalLiteral
  35957. case 10: // DoubleLiteral
  35958. case 11: // StringLiteral
  35959. case 31: // '$'
  35960. case 32: // '%'
  35961. case 34: // '('
  35962. case 44: // '.'
  35963. case 54: // '<'
  35964. case 55: // '<!--'
  35965. case 59: // '<?'
  35966. case 68: // '['
  35967. case 276: // '{'
  35968. case 278: // '{|'
  35969. case 3154: // 'attribute' EQName^Token
  35970. case 3193: // 'element' EQName^Token
  35971. case 9912: // 'namespace' NCName^Token
  35972. case 9944: // 'processing-instruction' NCName^Token
  35973. case 14854: // EQName^Token '#'
  35974. case 14918: // 'after' '#'
  35975. case 14920: // 'allowing' '#'
  35976. case 14921: // 'ancestor' '#'
  35977. case 14922: // 'ancestor-or-self' '#'
  35978. case 14923: // 'and' '#'
  35979. case 14925: // 'append' '#'
  35980. case 14926: // 'array' '#'
  35981. case 14927: // 'as' '#'
  35982. case 14928: // 'ascending' '#'
  35983. case 14929: // 'at' '#'
  35984. case 14930: // 'attribute' '#'
  35985. case 14931: // 'base-uri' '#'
  35986. case 14932: // 'before' '#'
  35987. case 14933: // 'boundary-space' '#'
  35988. case 14934: // 'break' '#'
  35989. case 14936: // 'case' '#'
  35990. case 14937: // 'cast' '#'
  35991. case 14938: // 'castable' '#'
  35992. case 14939: // 'catch' '#'
  35993. case 14941: // 'child' '#'
  35994. case 14942: // 'collation' '#'
  35995. case 14944: // 'comment' '#'
  35996. case 14945: // 'constraint' '#'
  35997. case 14946: // 'construction' '#'
  35998. case 14949: // 'context' '#'
  35999. case 14950: // 'continue' '#'
  36000. case 14951: // 'copy' '#'
  36001. case 14952: // 'copy-namespaces' '#'
  36002. case 14953: // 'count' '#'
  36003. case 14954: // 'decimal-format' '#'
  36004. case 14956: // 'declare' '#'
  36005. case 14957: // 'default' '#'
  36006. case 14958: // 'delete' '#'
  36007. case 14959: // 'descendant' '#'
  36008. case 14960: // 'descendant-or-self' '#'
  36009. case 14961: // 'descending' '#'
  36010. case 14966: // 'div' '#'
  36011. case 14967: // 'document' '#'
  36012. case 14968: // 'document-node' '#'
  36013. case 14969: // 'element' '#'
  36014. case 14970: // 'else' '#'
  36015. case 14971: // 'empty' '#'
  36016. case 14972: // 'empty-sequence' '#'
  36017. case 14973: // 'encoding' '#'
  36018. case 14974: // 'end' '#'
  36019. case 14976: // 'eq' '#'
  36020. case 14977: // 'every' '#'
  36021. case 14979: // 'except' '#'
  36022. case 14980: // 'exit' '#'
  36023. case 14981: // 'external' '#'
  36024. case 14982: // 'first' '#'
  36025. case 14983: // 'following' '#'
  36026. case 14984: // 'following-sibling' '#'
  36027. case 14985: // 'for' '#'
  36028. case 14989: // 'ft-option' '#'
  36029. case 14993: // 'function' '#'
  36030. case 14994: // 'ge' '#'
  36031. case 14996: // 'group' '#'
  36032. case 14998: // 'gt' '#'
  36033. case 14999: // 'idiv' '#'
  36034. case 15000: // 'if' '#'
  36035. case 15001: // 'import' '#'
  36036. case 15002: // 'in' '#'
  36037. case 15003: // 'index' '#'
  36038. case 15007: // 'insert' '#'
  36039. case 15008: // 'instance' '#'
  36040. case 15009: // 'integrity' '#'
  36041. case 15010: // 'intersect' '#'
  36042. case 15011: // 'into' '#'
  36043. case 15012: // 'is' '#'
  36044. case 15013: // 'item' '#'
  36045. case 15014: // 'json' '#'
  36046. case 15015: // 'json-item' '#'
  36047. case 15018: // 'last' '#'
  36048. case 15019: // 'lax' '#'
  36049. case 15020: // 'le' '#'
  36050. case 15022: // 'let' '#'
  36051. case 15024: // 'loop' '#'
  36052. case 15026: // 'lt' '#'
  36053. case 15028: // 'mod' '#'
  36054. case 15029: // 'modify' '#'
  36055. case 15030: // 'module' '#'
  36056. case 15032: // 'namespace' '#'
  36057. case 15033: // 'namespace-node' '#'
  36058. case 15034: // 'ne' '#'
  36059. case 15039: // 'node' '#'
  36060. case 15040: // 'nodes' '#'
  36061. case 15042: // 'object' '#'
  36062. case 15046: // 'only' '#'
  36063. case 15047: // 'option' '#'
  36064. case 15048: // 'or' '#'
  36065. case 15049: // 'order' '#'
  36066. case 15050: // 'ordered' '#'
  36067. case 15051: // 'ordering' '#'
  36068. case 15054: // 'parent' '#'
  36069. case 15060: // 'preceding' '#'
  36070. case 15061: // 'preceding-sibling' '#'
  36071. case 15064: // 'processing-instruction' '#'
  36072. case 15066: // 'rename' '#'
  36073. case 15067: // 'replace' '#'
  36074. case 15068: // 'return' '#'
  36075. case 15069: // 'returning' '#'
  36076. case 15070: // 'revalidation' '#'
  36077. case 15072: // 'satisfies' '#'
  36078. case 15073: // 'schema' '#'
  36079. case 15074: // 'schema-attribute' '#'
  36080. case 15075: // 'schema-element' '#'
  36081. case 15076: // 'score' '#'
  36082. case 15077: // 'self' '#'
  36083. case 15082: // 'sliding' '#'
  36084. case 15083: // 'some' '#'
  36085. case 15084: // 'stable' '#'
  36086. case 15085: // 'start' '#'
  36087. case 15088: // 'strict' '#'
  36088. case 15090: // 'structured-item' '#'
  36089. case 15091: // 'switch' '#'
  36090. case 15092: // 'text' '#'
  36091. case 15096: // 'to' '#'
  36092. case 15097: // 'treat' '#'
  36093. case 15098: // 'try' '#'
  36094. case 15099: // 'tumbling' '#'
  36095. case 15100: // 'type' '#'
  36096. case 15101: // 'typeswitch' '#'
  36097. case 15102: // 'union' '#'
  36098. case 15104: // 'unordered' '#'
  36099. case 15105: // 'updating' '#'
  36100. case 15108: // 'validate' '#'
  36101. case 15109: // 'value' '#'
  36102. case 15110: // 'variable' '#'
  36103. case 15111: // 'version' '#'
  36104. case 15114: // 'where' '#'
  36105. case 15115: // 'while' '#'
  36106. case 15118: // 'with' '#'
  36107. case 15122: // 'xquery' '#'
  36108. case 17414: // EQName^Token '('
  36109. case 17478: // 'after' '('
  36110. case 17480: // 'allowing' '('
  36111. case 17481: // 'ancestor' '('
  36112. case 17482: // 'ancestor-or-self' '('
  36113. case 17483: // 'and' '('
  36114. case 17485: // 'append' '('
  36115. case 17487: // 'as' '('
  36116. case 17488: // 'ascending' '('
  36117. case 17489: // 'at' '('
  36118. case 17491: // 'base-uri' '('
  36119. case 17492: // 'before' '('
  36120. case 17493: // 'boundary-space' '('
  36121. case 17494: // 'break' '('
  36122. case 17496: // 'case' '('
  36123. case 17497: // 'cast' '('
  36124. case 17498: // 'castable' '('
  36125. case 17499: // 'catch' '('
  36126. case 17501: // 'child' '('
  36127. case 17502: // 'collation' '('
  36128. case 17505: // 'constraint' '('
  36129. case 17506: // 'construction' '('
  36130. case 17509: // 'context' '('
  36131. case 17510: // 'continue' '('
  36132. case 17511: // 'copy' '('
  36133. case 17512: // 'copy-namespaces' '('
  36134. case 17513: // 'count' '('
  36135. case 17514: // 'decimal-format' '('
  36136. case 17516: // 'declare' '('
  36137. case 17517: // 'default' '('
  36138. case 17518: // 'delete' '('
  36139. case 17519: // 'descendant' '('
  36140. case 17520: // 'descendant-or-self' '('
  36141. case 17521: // 'descending' '('
  36142. case 17526: // 'div' '('
  36143. case 17527: // 'document' '('
  36144. case 17530: // 'else' '('
  36145. case 17531: // 'empty' '('
  36146. case 17533: // 'encoding' '('
  36147. case 17534: // 'end' '('
  36148. case 17536: // 'eq' '('
  36149. case 17537: // 'every' '('
  36150. case 17539: // 'except' '('
  36151. case 17540: // 'exit' '('
  36152. case 17541: // 'external' '('
  36153. case 17542: // 'first' '('
  36154. case 17543: // 'following' '('
  36155. case 17544: // 'following-sibling' '('
  36156. case 17545: // 'for' '('
  36157. case 17549: // 'ft-option' '('
  36158. case 17553: // 'function' '('
  36159. case 17554: // 'ge' '('
  36160. case 17556: // 'group' '('
  36161. case 17558: // 'gt' '('
  36162. case 17559: // 'idiv' '('
  36163. case 17561: // 'import' '('
  36164. case 17562: // 'in' '('
  36165. case 17563: // 'index' '('
  36166. case 17567: // 'insert' '('
  36167. case 17568: // 'instance' '('
  36168. case 17569: // 'integrity' '('
  36169. case 17570: // 'intersect' '('
  36170. case 17571: // 'into' '('
  36171. case 17572: // 'is' '('
  36172. case 17574: // 'json' '('
  36173. case 17578: // 'last' '('
  36174. case 17579: // 'lax' '('
  36175. case 17580: // 'le' '('
  36176. case 17582: // 'let' '('
  36177. case 17584: // 'loop' '('
  36178. case 17586: // 'lt' '('
  36179. case 17588: // 'mod' '('
  36180. case 17589: // 'modify' '('
  36181. case 17590: // 'module' '('
  36182. case 17592: // 'namespace' '('
  36183. case 17594: // 'ne' '('
  36184. case 17600: // 'nodes' '('
  36185. case 17602: // 'object' '('
  36186. case 17606: // 'only' '('
  36187. case 17607: // 'option' '('
  36188. case 17608: // 'or' '('
  36189. case 17609: // 'order' '('
  36190. case 17610: // 'ordered' '('
  36191. case 17611: // 'ordering' '('
  36192. case 17614: // 'parent' '('
  36193. case 17620: // 'preceding' '('
  36194. case 17621: // 'preceding-sibling' '('
  36195. case 17626: // 'rename' '('
  36196. case 17627: // 'replace' '('
  36197. case 17628: // 'return' '('
  36198. case 17629: // 'returning' '('
  36199. case 17630: // 'revalidation' '('
  36200. case 17632: // 'satisfies' '('
  36201. case 17633: // 'schema' '('
  36202. case 17636: // 'score' '('
  36203. case 17637: // 'self' '('
  36204. case 17642: // 'sliding' '('
  36205. case 17643: // 'some' '('
  36206. case 17644: // 'stable' '('
  36207. case 17645: // 'start' '('
  36208. case 17648: // 'strict' '('
  36209. case 17656: // 'to' '('
  36210. case 17657: // 'treat' '('
  36211. case 17658: // 'try' '('
  36212. case 17659: // 'tumbling' '('
  36213. case 17660: // 'type' '('
  36214. case 17662: // 'union' '('
  36215. case 17664: // 'unordered' '('
  36216. case 17665: // 'updating' '('
  36217. case 17668: // 'validate' '('
  36218. case 17669: // 'value' '('
  36219. case 17670: // 'variable' '('
  36220. case 17671: // 'version' '('
  36221. case 17674: // 'where' '('
  36222. case 17675: // 'while' '('
  36223. case 17678: // 'with' '('
  36224. case 17682: // 'xquery' '('
  36225. case 36946: // 'attribute' 'allowing'
  36226. case 36985: // 'element' 'allowing'
  36227. case 37048: // 'namespace' 'allowing'
  36228. case 37080: // 'processing-instruction' 'allowing'
  36229. case 37458: // 'attribute' 'ancestor'
  36230. case 37497: // 'element' 'ancestor'
  36231. case 37560: // 'namespace' 'ancestor'
  36232. case 37592: // 'processing-instruction' 'ancestor'
  36233. case 37970: // 'attribute' 'ancestor-or-self'
  36234. case 38009: // 'element' 'ancestor-or-self'
  36235. case 38072: // 'namespace' 'ancestor-or-self'
  36236. case 38104: // 'processing-instruction' 'ancestor-or-self'
  36237. case 39506: // 'attribute' 'append'
  36238. case 39545: // 'element' 'append'
  36239. case 39608: // 'namespace' 'append'
  36240. case 39640: // 'processing-instruction' 'append'
  36241. case 40018: // 'attribute' 'array'
  36242. case 40057: // 'element' 'array'
  36243. case 42066: // 'attribute' 'attribute'
  36244. case 42105: // 'element' 'attribute'
  36245. case 42168: // 'namespace' 'attribute'
  36246. case 42200: // 'processing-instruction' 'attribute'
  36247. case 42578: // 'attribute' 'base-uri'
  36248. case 42617: // 'element' 'base-uri'
  36249. case 42680: // 'namespace' 'base-uri'
  36250. case 42712: // 'processing-instruction' 'base-uri'
  36251. case 43602: // 'attribute' 'boundary-space'
  36252. case 43641: // 'element' 'boundary-space'
  36253. case 43704: // 'namespace' 'boundary-space'
  36254. case 43736: // 'processing-instruction' 'boundary-space'
  36255. case 44114: // 'attribute' 'break'
  36256. case 44153: // 'element' 'break'
  36257. case 44216: // 'namespace' 'break'
  36258. case 44248: // 'processing-instruction' 'break'
  36259. case 46674: // 'attribute' 'catch'
  36260. case 46713: // 'element' 'catch'
  36261. case 46776: // 'namespace' 'catch'
  36262. case 46808: // 'processing-instruction' 'catch'
  36263. case 47698: // 'attribute' 'child'
  36264. case 47737: // 'element' 'child'
  36265. case 47800: // 'namespace' 'child'
  36266. case 47832: // 'processing-instruction' 'child'
  36267. case 49234: // 'attribute' 'comment'
  36268. case 49273: // 'element' 'comment'
  36269. case 49336: // 'namespace' 'comment'
  36270. case 49368: // 'processing-instruction' 'comment'
  36271. case 49746: // 'attribute' 'constraint'
  36272. case 49785: // 'element' 'constraint'
  36273. case 49848: // 'namespace' 'constraint'
  36274. case 49880: // 'processing-instruction' 'constraint'
  36275. case 50258: // 'attribute' 'construction'
  36276. case 50297: // 'element' 'construction'
  36277. case 50360: // 'namespace' 'construction'
  36278. case 50392: // 'processing-instruction' 'construction'
  36279. case 51794: // 'attribute' 'context'
  36280. case 51833: // 'element' 'context'
  36281. case 51896: // 'namespace' 'context'
  36282. case 51928: // 'processing-instruction' 'context'
  36283. case 52306: // 'attribute' 'continue'
  36284. case 52345: // 'element' 'continue'
  36285. case 52408: // 'namespace' 'continue'
  36286. case 52440: // 'processing-instruction' 'continue'
  36287. case 52818: // 'attribute' 'copy'
  36288. case 52857: // 'element' 'copy'
  36289. case 52920: // 'namespace' 'copy'
  36290. case 52952: // 'processing-instruction' 'copy'
  36291. case 53330: // 'attribute' 'copy-namespaces'
  36292. case 53369: // 'element' 'copy-namespaces'
  36293. case 53432: // 'namespace' 'copy-namespaces'
  36294. case 53464: // 'processing-instruction' 'copy-namespaces'
  36295. case 54354: // 'attribute' 'decimal-format'
  36296. case 54393: // 'element' 'decimal-format'
  36297. case 54456: // 'namespace' 'decimal-format'
  36298. case 54488: // 'processing-instruction' 'decimal-format'
  36299. case 55378: // 'attribute' 'declare'
  36300. case 55417: // 'element' 'declare'
  36301. case 55480: // 'namespace' 'declare'
  36302. case 55512: // 'processing-instruction' 'declare'
  36303. case 56402: // 'attribute' 'delete'
  36304. case 56441: // 'element' 'delete'
  36305. case 56504: // 'namespace' 'delete'
  36306. case 56536: // 'processing-instruction' 'delete'
  36307. case 56914: // 'attribute' 'descendant'
  36308. case 56953: // 'element' 'descendant'
  36309. case 57016: // 'namespace' 'descendant'
  36310. case 57048: // 'processing-instruction' 'descendant'
  36311. case 57426: // 'attribute' 'descendant-or-self'
  36312. case 57465: // 'element' 'descendant-or-self'
  36313. case 57528: // 'namespace' 'descendant-or-self'
  36314. case 57560: // 'processing-instruction' 'descendant-or-self'
  36315. case 61010: // 'attribute' 'document'
  36316. case 61049: // 'element' 'document'
  36317. case 61112: // 'namespace' 'document'
  36318. case 61144: // 'processing-instruction' 'document'
  36319. case 61522: // 'attribute' 'document-node'
  36320. case 61561: // 'element' 'document-node'
  36321. case 61624: // 'namespace' 'document-node'
  36322. case 61656: // 'processing-instruction' 'document-node'
  36323. case 62034: // 'attribute' 'element'
  36324. case 62073: // 'element' 'element'
  36325. case 62136: // 'namespace' 'element'
  36326. case 62168: // 'processing-instruction' 'element'
  36327. case 63570: // 'attribute' 'empty-sequence'
  36328. case 63609: // 'element' 'empty-sequence'
  36329. case 63672: // 'namespace' 'empty-sequence'
  36330. case 63704: // 'processing-instruction' 'empty-sequence'
  36331. case 64082: // 'attribute' 'encoding'
  36332. case 64121: // 'element' 'encoding'
  36333. case 64184: // 'namespace' 'encoding'
  36334. case 64216: // 'processing-instruction' 'encoding'
  36335. case 66130: // 'attribute' 'every'
  36336. case 66169: // 'element' 'every'
  36337. case 66232: // 'namespace' 'every'
  36338. case 66264: // 'processing-instruction' 'every'
  36339. case 67666: // 'attribute' 'exit'
  36340. case 67705: // 'element' 'exit'
  36341. case 67768: // 'namespace' 'exit'
  36342. case 67800: // 'processing-instruction' 'exit'
  36343. case 68178: // 'attribute' 'external'
  36344. case 68217: // 'element' 'external'
  36345. case 68280: // 'namespace' 'external'
  36346. case 68312: // 'processing-instruction' 'external'
  36347. case 68690: // 'attribute' 'first'
  36348. case 68729: // 'element' 'first'
  36349. case 68792: // 'namespace' 'first'
  36350. case 68824: // 'processing-instruction' 'first'
  36351. case 69202: // 'attribute' 'following'
  36352. case 69241: // 'element' 'following'
  36353. case 69304: // 'namespace' 'following'
  36354. case 69336: // 'processing-instruction' 'following'
  36355. case 69714: // 'attribute' 'following-sibling'
  36356. case 69753: // 'element' 'following-sibling'
  36357. case 69816: // 'namespace' 'following-sibling'
  36358. case 69848: // 'processing-instruction' 'following-sibling'
  36359. case 72274: // 'attribute' 'ft-option'
  36360. case 72313: // 'element' 'ft-option'
  36361. case 72376: // 'namespace' 'ft-option'
  36362. case 72408: // 'processing-instruction' 'ft-option'
  36363. case 74322: // 'attribute' 'function'
  36364. case 74361: // 'element' 'function'
  36365. case 74424: // 'namespace' 'function'
  36366. case 74456: // 'processing-instruction' 'function'
  36367. case 77906: // 'attribute' 'if'
  36368. case 77945: // 'element' 'if'
  36369. case 78008: // 'namespace' 'if'
  36370. case 78040: // 'processing-instruction' 'if'
  36371. case 78418: // 'attribute' 'import'
  36372. case 78457: // 'element' 'import'
  36373. case 78520: // 'namespace' 'import'
  36374. case 78552: // 'processing-instruction' 'import'
  36375. case 78930: // 'attribute' 'in'
  36376. case 78969: // 'element' 'in'
  36377. case 79032: // 'namespace' 'in'
  36378. case 79064: // 'processing-instruction' 'in'
  36379. case 79442: // 'attribute' 'index'
  36380. case 79481: // 'element' 'index'
  36381. case 79544: // 'namespace' 'index'
  36382. case 79576: // 'processing-instruction' 'index'
  36383. case 81490: // 'attribute' 'insert'
  36384. case 81529: // 'element' 'insert'
  36385. case 81592: // 'namespace' 'insert'
  36386. case 81624: // 'processing-instruction' 'insert'
  36387. case 82514: // 'attribute' 'integrity'
  36388. case 82553: // 'element' 'integrity'
  36389. case 82616: // 'namespace' 'integrity'
  36390. case 82648: // 'processing-instruction' 'integrity'
  36391. case 84562: // 'attribute' 'item'
  36392. case 84601: // 'element' 'item'
  36393. case 84664: // 'namespace' 'item'
  36394. case 84696: // 'processing-instruction' 'item'
  36395. case 85074: // 'attribute' 'json'
  36396. case 85113: // 'element' 'json'
  36397. case 85176: // 'namespace' 'json'
  36398. case 85208: // 'processing-instruction' 'json'
  36399. case 85586: // 'attribute' 'json-item'
  36400. case 85625: // 'element' 'json-item'
  36401. case 87122: // 'attribute' 'last'
  36402. case 87161: // 'element' 'last'
  36403. case 87224: // 'namespace' 'last'
  36404. case 87256: // 'processing-instruction' 'last'
  36405. case 87634: // 'attribute' 'lax'
  36406. case 87673: // 'element' 'lax'
  36407. case 87736: // 'namespace' 'lax'
  36408. case 87768: // 'processing-instruction' 'lax'
  36409. case 90194: // 'attribute' 'loop'
  36410. case 90233: // 'element' 'loop'
  36411. case 90296: // 'namespace' 'loop'
  36412. case 90328: // 'processing-instruction' 'loop'
  36413. case 93266: // 'attribute' 'module'
  36414. case 93305: // 'element' 'module'
  36415. case 93368: // 'namespace' 'module'
  36416. case 93400: // 'processing-instruction' 'module'
  36417. case 94290: // 'attribute' 'namespace'
  36418. case 94329: // 'element' 'namespace'
  36419. case 94392: // 'namespace' 'namespace'
  36420. case 94424: // 'processing-instruction' 'namespace'
  36421. case 94802: // 'attribute' 'namespace-node'
  36422. case 94841: // 'element' 'namespace-node'
  36423. case 94904: // 'namespace' 'namespace-node'
  36424. case 94936: // 'processing-instruction' 'namespace-node'
  36425. case 97874: // 'attribute' 'node'
  36426. case 97913: // 'element' 'node'
  36427. case 97976: // 'namespace' 'node'
  36428. case 98008: // 'processing-instruction' 'node'
  36429. case 98386: // 'attribute' 'nodes'
  36430. case 98425: // 'element' 'nodes'
  36431. case 98488: // 'namespace' 'nodes'
  36432. case 98520: // 'processing-instruction' 'nodes'
  36433. case 99410: // 'attribute' 'object'
  36434. case 99449: // 'element' 'object'
  36435. case 99512: // 'namespace' 'object'
  36436. case 99544: // 'processing-instruction' 'object'
  36437. case 101970: // 'attribute' 'option'
  36438. case 102009: // 'element' 'option'
  36439. case 102072: // 'namespace' 'option'
  36440. case 102104: // 'processing-instruction' 'option'
  36441. case 103506: // 'attribute' 'ordered'
  36442. case 103545: // 'element' 'ordered'
  36443. case 103608: // 'namespace' 'ordered'
  36444. case 103640: // 'processing-instruction' 'ordered'
  36445. case 104018: // 'attribute' 'ordering'
  36446. case 104057: // 'element' 'ordering'
  36447. case 104120: // 'namespace' 'ordering'
  36448. case 104152: // 'processing-instruction' 'ordering'
  36449. case 105554: // 'attribute' 'parent'
  36450. case 105593: // 'element' 'parent'
  36451. case 105656: // 'namespace' 'parent'
  36452. case 105688: // 'processing-instruction' 'parent'
  36453. case 108626: // 'attribute' 'preceding'
  36454. case 108665: // 'element' 'preceding'
  36455. case 108728: // 'namespace' 'preceding'
  36456. case 108760: // 'processing-instruction' 'preceding'
  36457. case 109138: // 'attribute' 'preceding-sibling'
  36458. case 109177: // 'element' 'preceding-sibling'
  36459. case 109240: // 'namespace' 'preceding-sibling'
  36460. case 109272: // 'processing-instruction' 'preceding-sibling'
  36461. case 110674: // 'attribute' 'processing-instruction'
  36462. case 110713: // 'element' 'processing-instruction'
  36463. case 110776: // 'namespace' 'processing-instruction'
  36464. case 110808: // 'processing-instruction' 'processing-instruction'
  36465. case 111698: // 'attribute' 'rename'
  36466. case 111737: // 'element' 'rename'
  36467. case 111800: // 'namespace' 'rename'
  36468. case 111832: // 'processing-instruction' 'rename'
  36469. case 112210: // 'attribute' 'replace'
  36470. case 112249: // 'element' 'replace'
  36471. case 112312: // 'namespace' 'replace'
  36472. case 112344: // 'processing-instruction' 'replace'
  36473. case 113234: // 'attribute' 'returning'
  36474. case 113273: // 'element' 'returning'
  36475. case 113336: // 'namespace' 'returning'
  36476. case 113368: // 'processing-instruction' 'returning'
  36477. case 113746: // 'attribute' 'revalidation'
  36478. case 113785: // 'element' 'revalidation'
  36479. case 113848: // 'namespace' 'revalidation'
  36480. case 113880: // 'processing-instruction' 'revalidation'
  36481. case 115282: // 'attribute' 'schema'
  36482. case 115321: // 'element' 'schema'
  36483. case 115384: // 'namespace' 'schema'
  36484. case 115416: // 'processing-instruction' 'schema'
  36485. case 115794: // 'attribute' 'schema-attribute'
  36486. case 115833: // 'element' 'schema-attribute'
  36487. case 115896: // 'namespace' 'schema-attribute'
  36488. case 115928: // 'processing-instruction' 'schema-attribute'
  36489. case 116306: // 'attribute' 'schema-element'
  36490. case 116345: // 'element' 'schema-element'
  36491. case 116408: // 'namespace' 'schema-element'
  36492. case 116440: // 'processing-instruction' 'schema-element'
  36493. case 116818: // 'attribute' 'score'
  36494. case 116857: // 'element' 'score'
  36495. case 116920: // 'namespace' 'score'
  36496. case 116952: // 'processing-instruction' 'score'
  36497. case 117330: // 'attribute' 'self'
  36498. case 117369: // 'element' 'self'
  36499. case 117432: // 'namespace' 'self'
  36500. case 117464: // 'processing-instruction' 'self'
  36501. case 119890: // 'attribute' 'sliding'
  36502. case 119929: // 'element' 'sliding'
  36503. case 119992: // 'namespace' 'sliding'
  36504. case 120024: // 'processing-instruction' 'sliding'
  36505. case 120402: // 'attribute' 'some'
  36506. case 120441: // 'element' 'some'
  36507. case 120504: // 'namespace' 'some'
  36508. case 120536: // 'processing-instruction' 'some'
  36509. case 122962: // 'attribute' 'strict'
  36510. case 123001: // 'element' 'strict'
  36511. case 123064: // 'namespace' 'strict'
  36512. case 123096: // 'processing-instruction' 'strict'
  36513. case 123986: // 'attribute' 'structured-item'
  36514. case 124025: // 'element' 'structured-item'
  36515. case 124498: // 'attribute' 'switch'
  36516. case 124537: // 'element' 'switch'
  36517. case 124600: // 'namespace' 'switch'
  36518. case 124632: // 'processing-instruction' 'switch'
  36519. case 125010: // 'attribute' 'text'
  36520. case 125049: // 'element' 'text'
  36521. case 125112: // 'namespace' 'text'
  36522. case 125144: // 'processing-instruction' 'text'
  36523. case 128082: // 'attribute' 'try'
  36524. case 128121: // 'element' 'try'
  36525. case 128184: // 'namespace' 'try'
  36526. case 128216: // 'processing-instruction' 'try'
  36527. case 128594: // 'attribute' 'tumbling'
  36528. case 128633: // 'element' 'tumbling'
  36529. case 128696: // 'namespace' 'tumbling'
  36530. case 128728: // 'processing-instruction' 'tumbling'
  36531. case 129106: // 'attribute' 'type'
  36532. case 129145: // 'element' 'type'
  36533. case 129208: // 'namespace' 'type'
  36534. case 129240: // 'processing-instruction' 'type'
  36535. case 129618: // 'attribute' 'typeswitch'
  36536. case 129657: // 'element' 'typeswitch'
  36537. case 129720: // 'namespace' 'typeswitch'
  36538. case 129752: // 'processing-instruction' 'typeswitch'
  36539. case 131154: // 'attribute' 'unordered'
  36540. case 131193: // 'element' 'unordered'
  36541. case 131256: // 'namespace' 'unordered'
  36542. case 131288: // 'processing-instruction' 'unordered'
  36543. case 131666: // 'attribute' 'updating'
  36544. case 131705: // 'element' 'updating'
  36545. case 131768: // 'namespace' 'updating'
  36546. case 131800: // 'processing-instruction' 'updating'
  36547. case 133202: // 'attribute' 'validate'
  36548. case 133241: // 'element' 'validate'
  36549. case 133304: // 'namespace' 'validate'
  36550. case 133336: // 'processing-instruction' 'validate'
  36551. case 133714: // 'attribute' 'value'
  36552. case 133753: // 'element' 'value'
  36553. case 133816: // 'namespace' 'value'
  36554. case 133848: // 'processing-instruction' 'value'
  36555. case 134226: // 'attribute' 'variable'
  36556. case 134265: // 'element' 'variable'
  36557. case 134328: // 'namespace' 'variable'
  36558. case 134360: // 'processing-instruction' 'variable'
  36559. case 134738: // 'attribute' 'version'
  36560. case 134777: // 'element' 'version'
  36561. case 134840: // 'namespace' 'version'
  36562. case 134872: // 'processing-instruction' 'version'
  36563. case 136786: // 'attribute' 'while'
  36564. case 136825: // 'element' 'while'
  36565. case 136888: // 'namespace' 'while'
  36566. case 136920: // 'processing-instruction' 'while'
  36567. case 140370: // 'attribute' 'xquery'
  36568. case 140409: // 'element' 'xquery'
  36569. case 140472: // 'namespace' 'xquery'
  36570. case 140504: // 'processing-instruction' 'xquery'
  36571. case 141394: // 'attribute' '{'
  36572. case 141408: // 'comment' '{'
  36573. case 141431: // 'document' '{'
  36574. case 141433: // 'element' '{'
  36575. case 141496: // 'namespace' '{'
  36576. case 141514: // 'ordered' '{'
  36577. case 141528: // 'processing-instruction' '{'
  36578. case 141556: // 'text' '{'
  36579. case 141568: // 'unordered' '{'
  36580. parse_PostfixExpr();
  36581. break;
  36582. default:
  36583. parse_AxisStep();
  36584. }
  36585. eventHandler.endNonterminal("StepExpr", e0);
  36586. }
  36587. function try_StepExpr()
  36588. {
  36589. switch (l1)
  36590. {
  36591. case 82: // 'attribute'
  36592. lookahead2W(284); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  36593. break;
  36594. case 121: // 'element'
  36595. lookahead2W(282); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  36596. break;
  36597. case 184: // 'namespace'
  36598. case 216: // 'processing-instruction'
  36599. lookahead2W(281); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
  36600. break;
  36601. case 96: // 'comment'
  36602. case 119: // 'document'
  36603. case 202: // 'ordered'
  36604. case 244: // 'text'
  36605. case 256: // 'unordered'
  36606. lookahead2W(246); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  36607. break;
  36608. case 78: // 'array'
  36609. case 124: // 'empty-sequence'
  36610. case 152: // 'if'
  36611. case 165: // 'item'
  36612. case 167: // 'json-item'
  36613. case 242: // 'structured-item'
  36614. case 243: // 'switch'
  36615. case 253: // 'typeswitch'
  36616. lookahead2W(239); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  36617. break;
  36618. case 73: // 'ancestor'
  36619. case 74: // 'ancestor-or-self'
  36620. case 93: // 'child'
  36621. case 111: // 'descendant'
  36622. case 112: // 'descendant-or-self'
  36623. case 135: // 'following'
  36624. case 136: // 'following-sibling'
  36625. case 206: // 'parent'
  36626. case 212: // 'preceding'
  36627. case 213: // 'preceding-sibling'
  36628. case 229: // 'self'
  36629. lookahead2W(245); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  36630. break;
  36631. case 6: // EQName^Token
  36632. case 70: // 'after'
  36633. case 72: // 'allowing'
  36634. case 75: // 'and'
  36635. case 77: // 'append'
  36636. case 79: // 'as'
  36637. case 80: // 'ascending'
  36638. case 81: // 'at'
  36639. case 83: // 'base-uri'
  36640. case 84: // 'before'
  36641. case 85: // 'boundary-space'
  36642. case 86: // 'break'
  36643. case 88: // 'case'
  36644. case 89: // 'cast'
  36645. case 90: // 'castable'
  36646. case 91: // 'catch'
  36647. case 94: // 'collation'
  36648. case 97: // 'constraint'
  36649. case 98: // 'construction'
  36650. case 101: // 'context'
  36651. case 102: // 'continue'
  36652. case 103: // 'copy'
  36653. case 104: // 'copy-namespaces'
  36654. case 105: // 'count'
  36655. case 106: // 'decimal-format'
  36656. case 108: // 'declare'
  36657. case 109: // 'default'
  36658. case 110: // 'delete'
  36659. case 113: // 'descending'
  36660. case 118: // 'div'
  36661. case 120: // 'document-node'
  36662. case 122: // 'else'
  36663. case 123: // 'empty'
  36664. case 125: // 'encoding'
  36665. case 126: // 'end'
  36666. case 128: // 'eq'
  36667. case 129: // 'every'
  36668. case 131: // 'except'
  36669. case 132: // 'exit'
  36670. case 133: // 'external'
  36671. case 134: // 'first'
  36672. case 137: // 'for'
  36673. case 141: // 'ft-option'
  36674. case 145: // 'function'
  36675. case 146: // 'ge'
  36676. case 148: // 'group'
  36677. case 150: // 'gt'
  36678. case 151: // 'idiv'
  36679. case 153: // 'import'
  36680. case 154: // 'in'
  36681. case 155: // 'index'
  36682. case 159: // 'insert'
  36683. case 160: // 'instance'
  36684. case 161: // 'integrity'
  36685. case 162: // 'intersect'
  36686. case 163: // 'into'
  36687. case 164: // 'is'
  36688. case 166: // 'json'
  36689. case 170: // 'last'
  36690. case 171: // 'lax'
  36691. case 172: // 'le'
  36692. case 174: // 'let'
  36693. case 176: // 'loop'
  36694. case 178: // 'lt'
  36695. case 180: // 'mod'
  36696. case 181: // 'modify'
  36697. case 182: // 'module'
  36698. case 185: // 'namespace-node'
  36699. case 186: // 'ne'
  36700. case 191: // 'node'
  36701. case 192: // 'nodes'
  36702. case 194: // 'object'
  36703. case 198: // 'only'
  36704. case 199: // 'option'
  36705. case 200: // 'or'
  36706. case 201: // 'order'
  36707. case 203: // 'ordering'
  36708. case 218: // 'rename'
  36709. case 219: // 'replace'
  36710. case 220: // 'return'
  36711. case 221: // 'returning'
  36712. case 222: // 'revalidation'
  36713. case 224: // 'satisfies'
  36714. case 225: // 'schema'
  36715. case 226: // 'schema-attribute'
  36716. case 227: // 'schema-element'
  36717. case 228: // 'score'
  36718. case 234: // 'sliding'
  36719. case 235: // 'some'
  36720. case 236: // 'stable'
  36721. case 237: // 'start'
  36722. case 240: // 'strict'
  36723. case 248: // 'to'
  36724. case 249: // 'treat'
  36725. case 250: // 'try'
  36726. case 251: // 'tumbling'
  36727. case 252: // 'type'
  36728. case 254: // 'union'
  36729. case 257: // 'updating'
  36730. case 260: // 'validate'
  36731. case 261: // 'value'
  36732. case 262: // 'variable'
  36733. case 263: // 'version'
  36734. case 266: // 'where'
  36735. case 267: // 'while'
  36736. case 270: // 'with'
  36737. case 274: // 'xquery'
  36738. lookahead2W(243); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  36739. break;
  36740. default:
  36741. lk = l1;
  36742. }
  36743. if (lk == 35922 // 'attribute' 'after'
  36744. || lk == 35961 // 'element' 'after'
  36745. || lk == 36024 // 'namespace' 'after'
  36746. || lk == 36056 // 'processing-instruction' 'after'
  36747. || lk == 38482 // 'attribute' 'and'
  36748. || lk == 38521 // 'element' 'and'
  36749. || lk == 38584 // 'namespace' 'and'
  36750. || lk == 38616 // 'processing-instruction' 'and'
  36751. || lk == 40530 // 'attribute' 'as'
  36752. || lk == 40569 // 'element' 'as'
  36753. || lk == 40632 // 'namespace' 'as'
  36754. || lk == 40664 // 'processing-instruction' 'as'
  36755. || lk == 41042 // 'attribute' 'ascending'
  36756. || lk == 41081 // 'element' 'ascending'
  36757. || lk == 41144 // 'namespace' 'ascending'
  36758. || lk == 41176 // 'processing-instruction' 'ascending'
  36759. || lk == 41554 // 'attribute' 'at'
  36760. || lk == 41593 // 'element' 'at'
  36761. || lk == 41656 // 'namespace' 'at'
  36762. || lk == 41688 // 'processing-instruction' 'at'
  36763. || lk == 43090 // 'attribute' 'before'
  36764. || lk == 43129 // 'element' 'before'
  36765. || lk == 43192 // 'namespace' 'before'
  36766. || lk == 43224 // 'processing-instruction' 'before'
  36767. || lk == 45138 // 'attribute' 'case'
  36768. || lk == 45177 // 'element' 'case'
  36769. || lk == 45240 // 'namespace' 'case'
  36770. || lk == 45272 // 'processing-instruction' 'case'
  36771. || lk == 45650 // 'attribute' 'cast'
  36772. || lk == 45689 // 'element' 'cast'
  36773. || lk == 45752 // 'namespace' 'cast'
  36774. || lk == 45784 // 'processing-instruction' 'cast'
  36775. || lk == 46162 // 'attribute' 'castable'
  36776. || lk == 46201 // 'element' 'castable'
  36777. || lk == 46264 // 'namespace' 'castable'
  36778. || lk == 46296 // 'processing-instruction' 'castable'
  36779. || lk == 48210 // 'attribute' 'collation'
  36780. || lk == 48249 // 'element' 'collation'
  36781. || lk == 48312 // 'namespace' 'collation'
  36782. || lk == 48344 // 'processing-instruction' 'collation'
  36783. || lk == 53842 // 'attribute' 'count'
  36784. || lk == 53881 // 'element' 'count'
  36785. || lk == 53944 // 'namespace' 'count'
  36786. || lk == 53976 // 'processing-instruction' 'count'
  36787. || lk == 55890 // 'attribute' 'default'
  36788. || lk == 55929 // 'element' 'default'
  36789. || lk == 55992 // 'namespace' 'default'
  36790. || lk == 56024 // 'processing-instruction' 'default'
  36791. || lk == 57938 // 'attribute' 'descending'
  36792. || lk == 57977 // 'element' 'descending'
  36793. || lk == 58040 // 'namespace' 'descending'
  36794. || lk == 58072 // 'processing-instruction' 'descending'
  36795. || lk == 60498 // 'attribute' 'div'
  36796. || lk == 60537 // 'element' 'div'
  36797. || lk == 60600 // 'namespace' 'div'
  36798. || lk == 60632 // 'processing-instruction' 'div'
  36799. || lk == 62546 // 'attribute' 'else'
  36800. || lk == 62585 // 'element' 'else'
  36801. || lk == 62648 // 'namespace' 'else'
  36802. || lk == 62680 // 'processing-instruction' 'else'
  36803. || lk == 63058 // 'attribute' 'empty'
  36804. || lk == 63097 // 'element' 'empty'
  36805. || lk == 63160 // 'namespace' 'empty'
  36806. || lk == 63192 // 'processing-instruction' 'empty'
  36807. || lk == 64594 // 'attribute' 'end'
  36808. || lk == 64633 // 'element' 'end'
  36809. || lk == 64696 // 'namespace' 'end'
  36810. || lk == 64728 // 'processing-instruction' 'end'
  36811. || lk == 65618 // 'attribute' 'eq'
  36812. || lk == 65657 // 'element' 'eq'
  36813. || lk == 65720 // 'namespace' 'eq'
  36814. || lk == 65752 // 'processing-instruction' 'eq'
  36815. || lk == 67154 // 'attribute' 'except'
  36816. || lk == 67193 // 'element' 'except'
  36817. || lk == 67256 // 'namespace' 'except'
  36818. || lk == 67288 // 'processing-instruction' 'except'
  36819. || lk == 70226 // 'attribute' 'for'
  36820. || lk == 70265 // 'element' 'for'
  36821. || lk == 70328 // 'namespace' 'for'
  36822. || lk == 70360 // 'processing-instruction' 'for'
  36823. || lk == 74834 // 'attribute' 'ge'
  36824. || lk == 74873 // 'element' 'ge'
  36825. || lk == 74936 // 'namespace' 'ge'
  36826. || lk == 74968 // 'processing-instruction' 'ge'
  36827. || lk == 75858 // 'attribute' 'group'
  36828. || lk == 75897 // 'element' 'group'
  36829. || lk == 75960 // 'namespace' 'group'
  36830. || lk == 75992 // 'processing-instruction' 'group'
  36831. || lk == 76882 // 'attribute' 'gt'
  36832. || lk == 76921 // 'element' 'gt'
  36833. || lk == 76984 // 'namespace' 'gt'
  36834. || lk == 77016 // 'processing-instruction' 'gt'
  36835. || lk == 77394 // 'attribute' 'idiv'
  36836. || lk == 77433 // 'element' 'idiv'
  36837. || lk == 77496 // 'namespace' 'idiv'
  36838. || lk == 77528 // 'processing-instruction' 'idiv'
  36839. || lk == 82002 // 'attribute' 'instance'
  36840. || lk == 82041 // 'element' 'instance'
  36841. || lk == 82104 // 'namespace' 'instance'
  36842. || lk == 82136 // 'processing-instruction' 'instance'
  36843. || lk == 83026 // 'attribute' 'intersect'
  36844. || lk == 83065 // 'element' 'intersect'
  36845. || lk == 83128 // 'namespace' 'intersect'
  36846. || lk == 83160 // 'processing-instruction' 'intersect'
  36847. || lk == 83538 // 'attribute' 'into'
  36848. || lk == 83577 // 'element' 'into'
  36849. || lk == 83640 // 'namespace' 'into'
  36850. || lk == 83672 // 'processing-instruction' 'into'
  36851. || lk == 84050 // 'attribute' 'is'
  36852. || lk == 84089 // 'element' 'is'
  36853. || lk == 84152 // 'namespace' 'is'
  36854. || lk == 84184 // 'processing-instruction' 'is'
  36855. || lk == 88146 // 'attribute' 'le'
  36856. || lk == 88185 // 'element' 'le'
  36857. || lk == 88248 // 'namespace' 'le'
  36858. || lk == 88280 // 'processing-instruction' 'le'
  36859. || lk == 89170 // 'attribute' 'let'
  36860. || lk == 89209 // 'element' 'let'
  36861. || lk == 89272 // 'namespace' 'let'
  36862. || lk == 89304 // 'processing-instruction' 'let'
  36863. || lk == 91218 // 'attribute' 'lt'
  36864. || lk == 91257 // 'element' 'lt'
  36865. || lk == 91320 // 'namespace' 'lt'
  36866. || lk == 91352 // 'processing-instruction' 'lt'
  36867. || lk == 92242 // 'attribute' 'mod'
  36868. || lk == 92281 // 'element' 'mod'
  36869. || lk == 92344 // 'namespace' 'mod'
  36870. || lk == 92376 // 'processing-instruction' 'mod'
  36871. || lk == 92754 // 'attribute' 'modify'
  36872. || lk == 92793 // 'element' 'modify'
  36873. || lk == 92856 // 'namespace' 'modify'
  36874. || lk == 92888 // 'processing-instruction' 'modify'
  36875. || lk == 95314 // 'attribute' 'ne'
  36876. || lk == 95353 // 'element' 'ne'
  36877. || lk == 95416 // 'namespace' 'ne'
  36878. || lk == 95448 // 'processing-instruction' 'ne'
  36879. || lk == 101458 // 'attribute' 'only'
  36880. || lk == 101497 // 'element' 'only'
  36881. || lk == 101560 // 'namespace' 'only'
  36882. || lk == 101592 // 'processing-instruction' 'only'
  36883. || lk == 102482 // 'attribute' 'or'
  36884. || lk == 102521 // 'element' 'or'
  36885. || lk == 102584 // 'namespace' 'or'
  36886. || lk == 102616 // 'processing-instruction' 'or'
  36887. || lk == 102994 // 'attribute' 'order'
  36888. || lk == 103033 // 'element' 'order'
  36889. || lk == 103096 // 'namespace' 'order'
  36890. || lk == 103128 // 'processing-instruction' 'order'
  36891. || lk == 112722 // 'attribute' 'return'
  36892. || lk == 112761 // 'element' 'return'
  36893. || lk == 112824 // 'namespace' 'return'
  36894. || lk == 112856 // 'processing-instruction' 'return'
  36895. || lk == 114770 // 'attribute' 'satisfies'
  36896. || lk == 114809 // 'element' 'satisfies'
  36897. || lk == 114872 // 'namespace' 'satisfies'
  36898. || lk == 114904 // 'processing-instruction' 'satisfies'
  36899. || lk == 120914 // 'attribute' 'stable'
  36900. || lk == 120953 // 'element' 'stable'
  36901. || lk == 121016 // 'namespace' 'stable'
  36902. || lk == 121048 // 'processing-instruction' 'stable'
  36903. || lk == 121426 // 'attribute' 'start'
  36904. || lk == 121465 // 'element' 'start'
  36905. || lk == 121528 // 'namespace' 'start'
  36906. || lk == 121560 // 'processing-instruction' 'start'
  36907. || lk == 127058 // 'attribute' 'to'
  36908. || lk == 127097 // 'element' 'to'
  36909. || lk == 127160 // 'namespace' 'to'
  36910. || lk == 127192 // 'processing-instruction' 'to'
  36911. || lk == 127570 // 'attribute' 'treat'
  36912. || lk == 127609 // 'element' 'treat'
  36913. || lk == 127672 // 'namespace' 'treat'
  36914. || lk == 127704 // 'processing-instruction' 'treat'
  36915. || lk == 130130 // 'attribute' 'union'
  36916. || lk == 130169 // 'element' 'union'
  36917. || lk == 130232 // 'namespace' 'union'
  36918. || lk == 130264 // 'processing-instruction' 'union'
  36919. || lk == 136274 // 'attribute' 'where'
  36920. || lk == 136313 // 'element' 'where'
  36921. || lk == 136376 // 'namespace' 'where'
  36922. || lk == 136408 // 'processing-instruction' 'where'
  36923. || lk == 138322 // 'attribute' 'with'
  36924. || lk == 138361 // 'element' 'with'
  36925. || lk == 138424 // 'namespace' 'with'
  36926. || lk == 138456) // 'processing-instruction' 'with'
  36927. {
  36928. lk = memoized(4, e0);
  36929. if (lk == 0)
  36930. {
  36931. var b0A = b0; var e0A = e0; var l1A = l1;
  36932. var b1A = b1; var e1A = e1; var l2A = l2;
  36933. var b2A = b2; var e2A = e2;
  36934. try
  36935. {
  36936. try_PostfixExpr();
  36937. memoize(4, e0A, -1);
  36938. lk = -3;
  36939. }
  36940. catch (p1A)
  36941. {
  36942. lk = -2;
  36943. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  36944. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  36945. b2 = b2A; e2 = e2A; end = e2A; }}
  36946. memoize(4, e0A, -2);
  36947. }
  36948. }
  36949. }
  36950. switch (lk)
  36951. {
  36952. case -1:
  36953. case 8: // IntegerLiteral
  36954. case 9: // DecimalLiteral
  36955. case 10: // DoubleLiteral
  36956. case 11: // StringLiteral
  36957. case 31: // '$'
  36958. case 32: // '%'
  36959. case 34: // '('
  36960. case 44: // '.'
  36961. case 54: // '<'
  36962. case 55: // '<!--'
  36963. case 59: // '<?'
  36964. case 68: // '['
  36965. case 276: // '{'
  36966. case 278: // '{|'
  36967. case 3154: // 'attribute' EQName^Token
  36968. case 3193: // 'element' EQName^Token
  36969. case 9912: // 'namespace' NCName^Token
  36970. case 9944: // 'processing-instruction' NCName^Token
  36971. case 14854: // EQName^Token '#'
  36972. case 14918: // 'after' '#'
  36973. case 14920: // 'allowing' '#'
  36974. case 14921: // 'ancestor' '#'
  36975. case 14922: // 'ancestor-or-self' '#'
  36976. case 14923: // 'and' '#'
  36977. case 14925: // 'append' '#'
  36978. case 14926: // 'array' '#'
  36979. case 14927: // 'as' '#'
  36980. case 14928: // 'ascending' '#'
  36981. case 14929: // 'at' '#'
  36982. case 14930: // 'attribute' '#'
  36983. case 14931: // 'base-uri' '#'
  36984. case 14932: // 'before' '#'
  36985. case 14933: // 'boundary-space' '#'
  36986. case 14934: // 'break' '#'
  36987. case 14936: // 'case' '#'
  36988. case 14937: // 'cast' '#'
  36989. case 14938: // 'castable' '#'
  36990. case 14939: // 'catch' '#'
  36991. case 14941: // 'child' '#'
  36992. case 14942: // 'collation' '#'
  36993. case 14944: // 'comment' '#'
  36994. case 14945: // 'constraint' '#'
  36995. case 14946: // 'construction' '#'
  36996. case 14949: // 'context' '#'
  36997. case 14950: // 'continue' '#'
  36998. case 14951: // 'copy' '#'
  36999. case 14952: // 'copy-namespaces' '#'
  37000. case 14953: // 'count' '#'
  37001. case 14954: // 'decimal-format' '#'
  37002. case 14956: // 'declare' '#'
  37003. case 14957: // 'default' '#'
  37004. case 14958: // 'delete' '#'
  37005. case 14959: // 'descendant' '#'
  37006. case 14960: // 'descendant-or-self' '#'
  37007. case 14961: // 'descending' '#'
  37008. case 14966: // 'div' '#'
  37009. case 14967: // 'document' '#'
  37010. case 14968: // 'document-node' '#'
  37011. case 14969: // 'element' '#'
  37012. case 14970: // 'else' '#'
  37013. case 14971: // 'empty' '#'
  37014. case 14972: // 'empty-sequence' '#'
  37015. case 14973: // 'encoding' '#'
  37016. case 14974: // 'end' '#'
  37017. case 14976: // 'eq' '#'
  37018. case 14977: // 'every' '#'
  37019. case 14979: // 'except' '#'
  37020. case 14980: // 'exit' '#'
  37021. case 14981: // 'external' '#'
  37022. case 14982: // 'first' '#'
  37023. case 14983: // 'following' '#'
  37024. case 14984: // 'following-sibling' '#'
  37025. case 14985: // 'for' '#'
  37026. case 14989: // 'ft-option' '#'
  37027. case 14993: // 'function' '#'
  37028. case 14994: // 'ge' '#'
  37029. case 14996: // 'group' '#'
  37030. case 14998: // 'gt' '#'
  37031. case 14999: // 'idiv' '#'
  37032. case 15000: // 'if' '#'
  37033. case 15001: // 'import' '#'
  37034. case 15002: // 'in' '#'
  37035. case 15003: // 'index' '#'
  37036. case 15007: // 'insert' '#'
  37037. case 15008: // 'instance' '#'
  37038. case 15009: // 'integrity' '#'
  37039. case 15010: // 'intersect' '#'
  37040. case 15011: // 'into' '#'
  37041. case 15012: // 'is' '#'
  37042. case 15013: // 'item' '#'
  37043. case 15014: // 'json' '#'
  37044. case 15015: // 'json-item' '#'
  37045. case 15018: // 'last' '#'
  37046. case 15019: // 'lax' '#'
  37047. case 15020: // 'le' '#'
  37048. case 15022: // 'let' '#'
  37049. case 15024: // 'loop' '#'
  37050. case 15026: // 'lt' '#'
  37051. case 15028: // 'mod' '#'
  37052. case 15029: // 'modify' '#'
  37053. case 15030: // 'module' '#'
  37054. case 15032: // 'namespace' '#'
  37055. case 15033: // 'namespace-node' '#'
  37056. case 15034: // 'ne' '#'
  37057. case 15039: // 'node' '#'
  37058. case 15040: // 'nodes' '#'
  37059. case 15042: // 'object' '#'
  37060. case 15046: // 'only' '#'
  37061. case 15047: // 'option' '#'
  37062. case 15048: // 'or' '#'
  37063. case 15049: // 'order' '#'
  37064. case 15050: // 'ordered' '#'
  37065. case 15051: // 'ordering' '#'
  37066. case 15054: // 'parent' '#'
  37067. case 15060: // 'preceding' '#'
  37068. case 15061: // 'preceding-sibling' '#'
  37069. case 15064: // 'processing-instruction' '#'
  37070. case 15066: // 'rename' '#'
  37071. case 15067: // 'replace' '#'
  37072. case 15068: // 'return' '#'
  37073. case 15069: // 'returning' '#'
  37074. case 15070: // 'revalidation' '#'
  37075. case 15072: // 'satisfies' '#'
  37076. case 15073: // 'schema' '#'
  37077. case 15074: // 'schema-attribute' '#'
  37078. case 15075: // 'schema-element' '#'
  37079. case 15076: // 'score' '#'
  37080. case 15077: // 'self' '#'
  37081. case 15082: // 'sliding' '#'
  37082. case 15083: // 'some' '#'
  37083. case 15084: // 'stable' '#'
  37084. case 15085: // 'start' '#'
  37085. case 15088: // 'strict' '#'
  37086. case 15090: // 'structured-item' '#'
  37087. case 15091: // 'switch' '#'
  37088. case 15092: // 'text' '#'
  37089. case 15096: // 'to' '#'
  37090. case 15097: // 'treat' '#'
  37091. case 15098: // 'try' '#'
  37092. case 15099: // 'tumbling' '#'
  37093. case 15100: // 'type' '#'
  37094. case 15101: // 'typeswitch' '#'
  37095. case 15102: // 'union' '#'
  37096. case 15104: // 'unordered' '#'
  37097. case 15105: // 'updating' '#'
  37098. case 15108: // 'validate' '#'
  37099. case 15109: // 'value' '#'
  37100. case 15110: // 'variable' '#'
  37101. case 15111: // 'version' '#'
  37102. case 15114: // 'where' '#'
  37103. case 15115: // 'while' '#'
  37104. case 15118: // 'with' '#'
  37105. case 15122: // 'xquery' '#'
  37106. case 17414: // EQName^Token '('
  37107. case 17478: // 'after' '('
  37108. case 17480: // 'allowing' '('
  37109. case 17481: // 'ancestor' '('
  37110. case 17482: // 'ancestor-or-self' '('
  37111. case 17483: // 'and' '('
  37112. case 17485: // 'append' '('
  37113. case 17487: // 'as' '('
  37114. case 17488: // 'ascending' '('
  37115. case 17489: // 'at' '('
  37116. case 17491: // 'base-uri' '('
  37117. case 17492: // 'before' '('
  37118. case 17493: // 'boundary-space' '('
  37119. case 17494: // 'break' '('
  37120. case 17496: // 'case' '('
  37121. case 17497: // 'cast' '('
  37122. case 17498: // 'castable' '('
  37123. case 17499: // 'catch' '('
  37124. case 17501: // 'child' '('
  37125. case 17502: // 'collation' '('
  37126. case 17505: // 'constraint' '('
  37127. case 17506: // 'construction' '('
  37128. case 17509: // 'context' '('
  37129. case 17510: // 'continue' '('
  37130. case 17511: // 'copy' '('
  37131. case 17512: // 'copy-namespaces' '('
  37132. case 17513: // 'count' '('
  37133. case 17514: // 'decimal-format' '('
  37134. case 17516: // 'declare' '('
  37135. case 17517: // 'default' '('
  37136. case 17518: // 'delete' '('
  37137. case 17519: // 'descendant' '('
  37138. case 17520: // 'descendant-or-self' '('
  37139. case 17521: // 'descending' '('
  37140. case 17526: // 'div' '('
  37141. case 17527: // 'document' '('
  37142. case 17530: // 'else' '('
  37143. case 17531: // 'empty' '('
  37144. case 17533: // 'encoding' '('
  37145. case 17534: // 'end' '('
  37146. case 17536: // 'eq' '('
  37147. case 17537: // 'every' '('
  37148. case 17539: // 'except' '('
  37149. case 17540: // 'exit' '('
  37150. case 17541: // 'external' '('
  37151. case 17542: // 'first' '('
  37152. case 17543: // 'following' '('
  37153. case 17544: // 'following-sibling' '('
  37154. case 17545: // 'for' '('
  37155. case 17549: // 'ft-option' '('
  37156. case 17553: // 'function' '('
  37157. case 17554: // 'ge' '('
  37158. case 17556: // 'group' '('
  37159. case 17558: // 'gt' '('
  37160. case 17559: // 'idiv' '('
  37161. case 17561: // 'import' '('
  37162. case 17562: // 'in' '('
  37163. case 17563: // 'index' '('
  37164. case 17567: // 'insert' '('
  37165. case 17568: // 'instance' '('
  37166. case 17569: // 'integrity' '('
  37167. case 17570: // 'intersect' '('
  37168. case 17571: // 'into' '('
  37169. case 17572: // 'is' '('
  37170. case 17574: // 'json' '('
  37171. case 17578: // 'last' '('
  37172. case 17579: // 'lax' '('
  37173. case 17580: // 'le' '('
  37174. case 17582: // 'let' '('
  37175. case 17584: // 'loop' '('
  37176. case 17586: // 'lt' '('
  37177. case 17588: // 'mod' '('
  37178. case 17589: // 'modify' '('
  37179. case 17590: // 'module' '('
  37180. case 17592: // 'namespace' '('
  37181. case 17594: // 'ne' '('
  37182. case 17600: // 'nodes' '('
  37183. case 17602: // 'object' '('
  37184. case 17606: // 'only' '('
  37185. case 17607: // 'option' '('
  37186. case 17608: // 'or' '('
  37187. case 17609: // 'order' '('
  37188. case 17610: // 'ordered' '('
  37189. case 17611: // 'ordering' '('
  37190. case 17614: // 'parent' '('
  37191. case 17620: // 'preceding' '('
  37192. case 17621: // 'preceding-sibling' '('
  37193. case 17626: // 'rename' '('
  37194. case 17627: // 'replace' '('
  37195. case 17628: // 'return' '('
  37196. case 17629: // 'returning' '('
  37197. case 17630: // 'revalidation' '('
  37198. case 17632: // 'satisfies' '('
  37199. case 17633: // 'schema' '('
  37200. case 17636: // 'score' '('
  37201. case 17637: // 'self' '('
  37202. case 17642: // 'sliding' '('
  37203. case 17643: // 'some' '('
  37204. case 17644: // 'stable' '('
  37205. case 17645: // 'start' '('
  37206. case 17648: // 'strict' '('
  37207. case 17656: // 'to' '('
  37208. case 17657: // 'treat' '('
  37209. case 17658: // 'try' '('
  37210. case 17659: // 'tumbling' '('
  37211. case 17660: // 'type' '('
  37212. case 17662: // 'union' '('
  37213. case 17664: // 'unordered' '('
  37214. case 17665: // 'updating' '('
  37215. case 17668: // 'validate' '('
  37216. case 17669: // 'value' '('
  37217. case 17670: // 'variable' '('
  37218. case 17671: // 'version' '('
  37219. case 17674: // 'where' '('
  37220. case 17675: // 'while' '('
  37221. case 17678: // 'with' '('
  37222. case 17682: // 'xquery' '('
  37223. case 36946: // 'attribute' 'allowing'
  37224. case 36985: // 'element' 'allowing'
  37225. case 37048: // 'namespace' 'allowing'
  37226. case 37080: // 'processing-instruction' 'allowing'
  37227. case 37458: // 'attribute' 'ancestor'
  37228. case 37497: // 'element' 'ancestor'
  37229. case 37560: // 'namespace' 'ancestor'
  37230. case 37592: // 'processing-instruction' 'ancestor'
  37231. case 37970: // 'attribute' 'ancestor-or-self'
  37232. case 38009: // 'element' 'ancestor-or-self'
  37233. case 38072: // 'namespace' 'ancestor-or-self'
  37234. case 38104: // 'processing-instruction' 'ancestor-or-self'
  37235. case 39506: // 'attribute' 'append'
  37236. case 39545: // 'element' 'append'
  37237. case 39608: // 'namespace' 'append'
  37238. case 39640: // 'processing-instruction' 'append'
  37239. case 40018: // 'attribute' 'array'
  37240. case 40057: // 'element' 'array'
  37241. case 42066: // 'attribute' 'attribute'
  37242. case 42105: // 'element' 'attribute'
  37243. case 42168: // 'namespace' 'attribute'
  37244. case 42200: // 'processing-instruction' 'attribute'
  37245. case 42578: // 'attribute' 'base-uri'
  37246. case 42617: // 'element' 'base-uri'
  37247. case 42680: // 'namespace' 'base-uri'
  37248. case 42712: // 'processing-instruction' 'base-uri'
  37249. case 43602: // 'attribute' 'boundary-space'
  37250. case 43641: // 'element' 'boundary-space'
  37251. case 43704: // 'namespace' 'boundary-space'
  37252. case 43736: // 'processing-instruction' 'boundary-space'
  37253. case 44114: // 'attribute' 'break'
  37254. case 44153: // 'element' 'break'
  37255. case 44216: // 'namespace' 'break'
  37256. case 44248: // 'processing-instruction' 'break'
  37257. case 46674: // 'attribute' 'catch'
  37258. case 46713: // 'element' 'catch'
  37259. case 46776: // 'namespace' 'catch'
  37260. case 46808: // 'processing-instruction' 'catch'
  37261. case 47698: // 'attribute' 'child'
  37262. case 47737: // 'element' 'child'
  37263. case 47800: // 'namespace' 'child'
  37264. case 47832: // 'processing-instruction' 'child'
  37265. case 49234: // 'attribute' 'comment'
  37266. case 49273: // 'element' 'comment'
  37267. case 49336: // 'namespace' 'comment'
  37268. case 49368: // 'processing-instruction' 'comment'
  37269. case 49746: // 'attribute' 'constraint'
  37270. case 49785: // 'element' 'constraint'
  37271. case 49848: // 'namespace' 'constraint'
  37272. case 49880: // 'processing-instruction' 'constraint'
  37273. case 50258: // 'attribute' 'construction'
  37274. case 50297: // 'element' 'construction'
  37275. case 50360: // 'namespace' 'construction'
  37276. case 50392: // 'processing-instruction' 'construction'
  37277. case 51794: // 'attribute' 'context'
  37278. case 51833: // 'element' 'context'
  37279. case 51896: // 'namespace' 'context'
  37280. case 51928: // 'processing-instruction' 'context'
  37281. case 52306: // 'attribute' 'continue'
  37282. case 52345: // 'element' 'continue'
  37283. case 52408: // 'namespace' 'continue'
  37284. case 52440: // 'processing-instruction' 'continue'
  37285. case 52818: // 'attribute' 'copy'
  37286. case 52857: // 'element' 'copy'
  37287. case 52920: // 'namespace' 'copy'
  37288. case 52952: // 'processing-instruction' 'copy'
  37289. case 53330: // 'attribute' 'copy-namespaces'
  37290. case 53369: // 'element' 'copy-namespaces'
  37291. case 53432: // 'namespace' 'copy-namespaces'
  37292. case 53464: // 'processing-instruction' 'copy-namespaces'
  37293. case 54354: // 'attribute' 'decimal-format'
  37294. case 54393: // 'element' 'decimal-format'
  37295. case 54456: // 'namespace' 'decimal-format'
  37296. case 54488: // 'processing-instruction' 'decimal-format'
  37297. case 55378: // 'attribute' 'declare'
  37298. case 55417: // 'element' 'declare'
  37299. case 55480: // 'namespace' 'declare'
  37300. case 55512: // 'processing-instruction' 'declare'
  37301. case 56402: // 'attribute' 'delete'
  37302. case 56441: // 'element' 'delete'
  37303. case 56504: // 'namespace' 'delete'
  37304. case 56536: // 'processing-instruction' 'delete'
  37305. case 56914: // 'attribute' 'descendant'
  37306. case 56953: // 'element' 'descendant'
  37307. case 57016: // 'namespace' 'descendant'
  37308. case 57048: // 'processing-instruction' 'descendant'
  37309. case 57426: // 'attribute' 'descendant-or-self'
  37310. case 57465: // 'element' 'descendant-or-self'
  37311. case 57528: // 'namespace' 'descendant-or-self'
  37312. case 57560: // 'processing-instruction' 'descendant-or-self'
  37313. case 61010: // 'attribute' 'document'
  37314. case 61049: // 'element' 'document'
  37315. case 61112: // 'namespace' 'document'
  37316. case 61144: // 'processing-instruction' 'document'
  37317. case 61522: // 'attribute' 'document-node'
  37318. case 61561: // 'element' 'document-node'
  37319. case 61624: // 'namespace' 'document-node'
  37320. case 61656: // 'processing-instruction' 'document-node'
  37321. case 62034: // 'attribute' 'element'
  37322. case 62073: // 'element' 'element'
  37323. case 62136: // 'namespace' 'element'
  37324. case 62168: // 'processing-instruction' 'element'
  37325. case 63570: // 'attribute' 'empty-sequence'
  37326. case 63609: // 'element' 'empty-sequence'
  37327. case 63672: // 'namespace' 'empty-sequence'
  37328. case 63704: // 'processing-instruction' 'empty-sequence'
  37329. case 64082: // 'attribute' 'encoding'
  37330. case 64121: // 'element' 'encoding'
  37331. case 64184: // 'namespace' 'encoding'
  37332. case 64216: // 'processing-instruction' 'encoding'
  37333. case 66130: // 'attribute' 'every'
  37334. case 66169: // 'element' 'every'
  37335. case 66232: // 'namespace' 'every'
  37336. case 66264: // 'processing-instruction' 'every'
  37337. case 67666: // 'attribute' 'exit'
  37338. case 67705: // 'element' 'exit'
  37339. case 67768: // 'namespace' 'exit'
  37340. case 67800: // 'processing-instruction' 'exit'
  37341. case 68178: // 'attribute' 'external'
  37342. case 68217: // 'element' 'external'
  37343. case 68280: // 'namespace' 'external'
  37344. case 68312: // 'processing-instruction' 'external'
  37345. case 68690: // 'attribute' 'first'
  37346. case 68729: // 'element' 'first'
  37347. case 68792: // 'namespace' 'first'
  37348. case 68824: // 'processing-instruction' 'first'
  37349. case 69202: // 'attribute' 'following'
  37350. case 69241: // 'element' 'following'
  37351. case 69304: // 'namespace' 'following'
  37352. case 69336: // 'processing-instruction' 'following'
  37353. case 69714: // 'attribute' 'following-sibling'
  37354. case 69753: // 'element' 'following-sibling'
  37355. case 69816: // 'namespace' 'following-sibling'
  37356. case 69848: // 'processing-instruction' 'following-sibling'
  37357. case 72274: // 'attribute' 'ft-option'
  37358. case 72313: // 'element' 'ft-option'
  37359. case 72376: // 'namespace' 'ft-option'
  37360. case 72408: // 'processing-instruction' 'ft-option'
  37361. case 74322: // 'attribute' 'function'
  37362. case 74361: // 'element' 'function'
  37363. case 74424: // 'namespace' 'function'
  37364. case 74456: // 'processing-instruction' 'function'
  37365. case 77906: // 'attribute' 'if'
  37366. case 77945: // 'element' 'if'
  37367. case 78008: // 'namespace' 'if'
  37368. case 78040: // 'processing-instruction' 'if'
  37369. case 78418: // 'attribute' 'import'
  37370. case 78457: // 'element' 'import'
  37371. case 78520: // 'namespace' 'import'
  37372. case 78552: // 'processing-instruction' 'import'
  37373. case 78930: // 'attribute' 'in'
  37374. case 78969: // 'element' 'in'
  37375. case 79032: // 'namespace' 'in'
  37376. case 79064: // 'processing-instruction' 'in'
  37377. case 79442: // 'attribute' 'index'
  37378. case 79481: // 'element' 'index'
  37379. case 79544: // 'namespace' 'index'
  37380. case 79576: // 'processing-instruction' 'index'
  37381. case 81490: // 'attribute' 'insert'
  37382. case 81529: // 'element' 'insert'
  37383. case 81592: // 'namespace' 'insert'
  37384. case 81624: // 'processing-instruction' 'insert'
  37385. case 82514: // 'attribute' 'integrity'
  37386. case 82553: // 'element' 'integrity'
  37387. case 82616: // 'namespace' 'integrity'
  37388. case 82648: // 'processing-instruction' 'integrity'
  37389. case 84562: // 'attribute' 'item'
  37390. case 84601: // 'element' 'item'
  37391. case 84664: // 'namespace' 'item'
  37392. case 84696: // 'processing-instruction' 'item'
  37393. case 85074: // 'attribute' 'json'
  37394. case 85113: // 'element' 'json'
  37395. case 85176: // 'namespace' 'json'
  37396. case 85208: // 'processing-instruction' 'json'
  37397. case 85586: // 'attribute' 'json-item'
  37398. case 85625: // 'element' 'json-item'
  37399. case 87122: // 'attribute' 'last'
  37400. case 87161: // 'element' 'last'
  37401. case 87224: // 'namespace' 'last'
  37402. case 87256: // 'processing-instruction' 'last'
  37403. case 87634: // 'attribute' 'lax'
  37404. case 87673: // 'element' 'lax'
  37405. case 87736: // 'namespace' 'lax'
  37406. case 87768: // 'processing-instruction' 'lax'
  37407. case 90194: // 'attribute' 'loop'
  37408. case 90233: // 'element' 'loop'
  37409. case 90296: // 'namespace' 'loop'
  37410. case 90328: // 'processing-instruction' 'loop'
  37411. case 93266: // 'attribute' 'module'
  37412. case 93305: // 'element' 'module'
  37413. case 93368: // 'namespace' 'module'
  37414. case 93400: // 'processing-instruction' 'module'
  37415. case 94290: // 'attribute' 'namespace'
  37416. case 94329: // 'element' 'namespace'
  37417. case 94392: // 'namespace' 'namespace'
  37418. case 94424: // 'processing-instruction' 'namespace'
  37419. case 94802: // 'attribute' 'namespace-node'
  37420. case 94841: // 'element' 'namespace-node'
  37421. case 94904: // 'namespace' 'namespace-node'
  37422. case 94936: // 'processing-instruction' 'namespace-node'
  37423. case 97874: // 'attribute' 'node'
  37424. case 97913: // 'element' 'node'
  37425. case 97976: // 'namespace' 'node'
  37426. case 98008: // 'processing-instruction' 'node'
  37427. case 98386: // 'attribute' 'nodes'
  37428. case 98425: // 'element' 'nodes'
  37429. case 98488: // 'namespace' 'nodes'
  37430. case 98520: // 'processing-instruction' 'nodes'
  37431. case 99410: // 'attribute' 'object'
  37432. case 99449: // 'element' 'object'
  37433. case 99512: // 'namespace' 'object'
  37434. case 99544: // 'processing-instruction' 'object'
  37435. case 101970: // 'attribute' 'option'
  37436. case 102009: // 'element' 'option'
  37437. case 102072: // 'namespace' 'option'
  37438. case 102104: // 'processing-instruction' 'option'
  37439. case 103506: // 'attribute' 'ordered'
  37440. case 103545: // 'element' 'ordered'
  37441. case 103608: // 'namespace' 'ordered'
  37442. case 103640: // 'processing-instruction' 'ordered'
  37443. case 104018: // 'attribute' 'ordering'
  37444. case 104057: // 'element' 'ordering'
  37445. case 104120: // 'namespace' 'ordering'
  37446. case 104152: // 'processing-instruction' 'ordering'
  37447. case 105554: // 'attribute' 'parent'
  37448. case 105593: // 'element' 'parent'
  37449. case 105656: // 'namespace' 'parent'
  37450. case 105688: // 'processing-instruction' 'parent'
  37451. case 108626: // 'attribute' 'preceding'
  37452. case 108665: // 'element' 'preceding'
  37453. case 108728: // 'namespace' 'preceding'
  37454. case 108760: // 'processing-instruction' 'preceding'
  37455. case 109138: // 'attribute' 'preceding-sibling'
  37456. case 109177: // 'element' 'preceding-sibling'
  37457. case 109240: // 'namespace' 'preceding-sibling'
  37458. case 109272: // 'processing-instruction' 'preceding-sibling'
  37459. case 110674: // 'attribute' 'processing-instruction'
  37460. case 110713: // 'element' 'processing-instruction'
  37461. case 110776: // 'namespace' 'processing-instruction'
  37462. case 110808: // 'processing-instruction' 'processing-instruction'
  37463. case 111698: // 'attribute' 'rename'
  37464. case 111737: // 'element' 'rename'
  37465. case 111800: // 'namespace' 'rename'
  37466. case 111832: // 'processing-instruction' 'rename'
  37467. case 112210: // 'attribute' 'replace'
  37468. case 112249: // 'element' 'replace'
  37469. case 112312: // 'namespace' 'replace'
  37470. case 112344: // 'processing-instruction' 'replace'
  37471. case 113234: // 'attribute' 'returning'
  37472. case 113273: // 'element' 'returning'
  37473. case 113336: // 'namespace' 'returning'
  37474. case 113368: // 'processing-instruction' 'returning'
  37475. case 113746: // 'attribute' 'revalidation'
  37476. case 113785: // 'element' 'revalidation'
  37477. case 113848: // 'namespace' 'revalidation'
  37478. case 113880: // 'processing-instruction' 'revalidation'
  37479. case 115282: // 'attribute' 'schema'
  37480. case 115321: // 'element' 'schema'
  37481. case 115384: // 'namespace' 'schema'
  37482. case 115416: // 'processing-instruction' 'schema'
  37483. case 115794: // 'attribute' 'schema-attribute'
  37484. case 115833: // 'element' 'schema-attribute'
  37485. case 115896: // 'namespace' 'schema-attribute'
  37486. case 115928: // 'processing-instruction' 'schema-attribute'
  37487. case 116306: // 'attribute' 'schema-element'
  37488. case 116345: // 'element' 'schema-element'
  37489. case 116408: // 'namespace' 'schema-element'
  37490. case 116440: // 'processing-instruction' 'schema-element'
  37491. case 116818: // 'attribute' 'score'
  37492. case 116857: // 'element' 'score'
  37493. case 116920: // 'namespace' 'score'
  37494. case 116952: // 'processing-instruction' 'score'
  37495. case 117330: // 'attribute' 'self'
  37496. case 117369: // 'element' 'self'
  37497. case 117432: // 'namespace' 'self'
  37498. case 117464: // 'processing-instruction' 'self'
  37499. case 119890: // 'attribute' 'sliding'
  37500. case 119929: // 'element' 'sliding'
  37501. case 119992: // 'namespace' 'sliding'
  37502. case 120024: // 'processing-instruction' 'sliding'
  37503. case 120402: // 'attribute' 'some'
  37504. case 120441: // 'element' 'some'
  37505. case 120504: // 'namespace' 'some'
  37506. case 120536: // 'processing-instruction' 'some'
  37507. case 122962: // 'attribute' 'strict'
  37508. case 123001: // 'element' 'strict'
  37509. case 123064: // 'namespace' 'strict'
  37510. case 123096: // 'processing-instruction' 'strict'
  37511. case 123986: // 'attribute' 'structured-item'
  37512. case 124025: // 'element' 'structured-item'
  37513. case 124498: // 'attribute' 'switch'
  37514. case 124537: // 'element' 'switch'
  37515. case 124600: // 'namespace' 'switch'
  37516. case 124632: // 'processing-instruction' 'switch'
  37517. case 125010: // 'attribute' 'text'
  37518. case 125049: // 'element' 'text'
  37519. case 125112: // 'namespace' 'text'
  37520. case 125144: // 'processing-instruction' 'text'
  37521. case 128082: // 'attribute' 'try'
  37522. case 128121: // 'element' 'try'
  37523. case 128184: // 'namespace' 'try'
  37524. case 128216: // 'processing-instruction' 'try'
  37525. case 128594: // 'attribute' 'tumbling'
  37526. case 128633: // 'element' 'tumbling'
  37527. case 128696: // 'namespace' 'tumbling'
  37528. case 128728: // 'processing-instruction' 'tumbling'
  37529. case 129106: // 'attribute' 'type'
  37530. case 129145: // 'element' 'type'
  37531. case 129208: // 'namespace' 'type'
  37532. case 129240: // 'processing-instruction' 'type'
  37533. case 129618: // 'attribute' 'typeswitch'
  37534. case 129657: // 'element' 'typeswitch'
  37535. case 129720: // 'namespace' 'typeswitch'
  37536. case 129752: // 'processing-instruction' 'typeswitch'
  37537. case 131154: // 'attribute' 'unordered'
  37538. case 131193: // 'element' 'unordered'
  37539. case 131256: // 'namespace' 'unordered'
  37540. case 131288: // 'processing-instruction' 'unordered'
  37541. case 131666: // 'attribute' 'updating'
  37542. case 131705: // 'element' 'updating'
  37543. case 131768: // 'namespace' 'updating'
  37544. case 131800: // 'processing-instruction' 'updating'
  37545. case 133202: // 'attribute' 'validate'
  37546. case 133241: // 'element' 'validate'
  37547. case 133304: // 'namespace' 'validate'
  37548. case 133336: // 'processing-instruction' 'validate'
  37549. case 133714: // 'attribute' 'value'
  37550. case 133753: // 'element' 'value'
  37551. case 133816: // 'namespace' 'value'
  37552. case 133848: // 'processing-instruction' 'value'
  37553. case 134226: // 'attribute' 'variable'
  37554. case 134265: // 'element' 'variable'
  37555. case 134328: // 'namespace' 'variable'
  37556. case 134360: // 'processing-instruction' 'variable'
  37557. case 134738: // 'attribute' 'version'
  37558. case 134777: // 'element' 'version'
  37559. case 134840: // 'namespace' 'version'
  37560. case 134872: // 'processing-instruction' 'version'
  37561. case 136786: // 'attribute' 'while'
  37562. case 136825: // 'element' 'while'
  37563. case 136888: // 'namespace' 'while'
  37564. case 136920: // 'processing-instruction' 'while'
  37565. case 140370: // 'attribute' 'xquery'
  37566. case 140409: // 'element' 'xquery'
  37567. case 140472: // 'namespace' 'xquery'
  37568. case 140504: // 'processing-instruction' 'xquery'
  37569. case 141394: // 'attribute' '{'
  37570. case 141408: // 'comment' '{'
  37571. case 141431: // 'document' '{'
  37572. case 141433: // 'element' '{'
  37573. case 141496: // 'namespace' '{'
  37574. case 141514: // 'ordered' '{'
  37575. case 141528: // 'processing-instruction' '{'
  37576. case 141556: // 'text' '{'
  37577. case 141568: // 'unordered' '{'
  37578. try_PostfixExpr();
  37579. break;
  37580. case -3:
  37581. break;
  37582. default:
  37583. try_AxisStep();
  37584. }
  37585. }
  37586. function parse_AxisStep()
  37587. {
  37588. eventHandler.startNonterminal("AxisStep", e0);
  37589. switch (l1)
  37590. {
  37591. case 73: // 'ancestor'
  37592. case 74: // 'ancestor-or-self'
  37593. case 206: // 'parent'
  37594. case 212: // 'preceding'
  37595. case 213: // 'preceding-sibling'
  37596. lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  37597. break;
  37598. default:
  37599. lk = l1;
  37600. }
  37601. switch (lk)
  37602. {
  37603. case 45: // '..'
  37604. case 26185: // 'ancestor' '::'
  37605. case 26186: // 'ancestor-or-self' '::'
  37606. case 26318: // 'parent' '::'
  37607. case 26324: // 'preceding' '::'
  37608. case 26325: // 'preceding-sibling' '::'
  37609. parse_ReverseStep();
  37610. break;
  37611. default:
  37612. parse_ForwardStep();
  37613. }
  37614. lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  37615. whitespace();
  37616. parse_PredicateList();
  37617. eventHandler.endNonterminal("AxisStep", e0);
  37618. }
  37619. function try_AxisStep()
  37620. {
  37621. switch (l1)
  37622. {
  37623. case 73: // 'ancestor'
  37624. case 74: // 'ancestor-or-self'
  37625. case 206: // 'parent'
  37626. case 212: // 'preceding'
  37627. case 213: // 'preceding-sibling'
  37628. lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  37629. break;
  37630. default:
  37631. lk = l1;
  37632. }
  37633. switch (lk)
  37634. {
  37635. case 45: // '..'
  37636. case 26185: // 'ancestor' '::'
  37637. case 26186: // 'ancestor-or-self' '::'
  37638. case 26318: // 'parent' '::'
  37639. case 26324: // 'preceding' '::'
  37640. case 26325: // 'preceding-sibling' '::'
  37641. try_ReverseStep();
  37642. break;
  37643. default:
  37644. try_ForwardStep();
  37645. }
  37646. lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  37647. try_PredicateList();
  37648. }
  37649. function parse_ForwardStep()
  37650. {
  37651. eventHandler.startNonterminal("ForwardStep", e0);
  37652. switch (l1)
  37653. {
  37654. case 82: // 'attribute'
  37655. lookahead2W(244); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  37656. break;
  37657. case 93: // 'child'
  37658. case 111: // 'descendant'
  37659. case 112: // 'descendant-or-self'
  37660. case 135: // 'following'
  37661. case 136: // 'following-sibling'
  37662. case 229: // 'self'
  37663. lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  37664. break;
  37665. default:
  37666. lk = l1;
  37667. }
  37668. switch (lk)
  37669. {
  37670. case 26194: // 'attribute' '::'
  37671. case 26205: // 'child' '::'
  37672. case 26223: // 'descendant' '::'
  37673. case 26224: // 'descendant-or-self' '::'
  37674. case 26247: // 'following' '::'
  37675. case 26248: // 'following-sibling' '::'
  37676. case 26341: // 'self' '::'
  37677. parse_ForwardAxis();
  37678. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37679. whitespace();
  37680. parse_NodeTest();
  37681. break;
  37682. default:
  37683. parse_AbbrevForwardStep();
  37684. }
  37685. eventHandler.endNonterminal("ForwardStep", e0);
  37686. }
  37687. function try_ForwardStep()
  37688. {
  37689. switch (l1)
  37690. {
  37691. case 82: // 'attribute'
  37692. lookahead2W(244); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  37693. break;
  37694. case 93: // 'child'
  37695. case 111: // 'descendant'
  37696. case 112: // 'descendant-or-self'
  37697. case 135: // 'following'
  37698. case 136: // 'following-sibling'
  37699. case 229: // 'self'
  37700. lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  37701. break;
  37702. default:
  37703. lk = l1;
  37704. }
  37705. switch (lk)
  37706. {
  37707. case 26194: // 'attribute' '::'
  37708. case 26205: // 'child' '::'
  37709. case 26223: // 'descendant' '::'
  37710. case 26224: // 'descendant-or-self' '::'
  37711. case 26247: // 'following' '::'
  37712. case 26248: // 'following-sibling' '::'
  37713. case 26341: // 'self' '::'
  37714. try_ForwardAxis();
  37715. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37716. try_NodeTest();
  37717. break;
  37718. default:
  37719. try_AbbrevForwardStep();
  37720. }
  37721. }
  37722. function parse_ForwardAxis()
  37723. {
  37724. eventHandler.startNonterminal("ForwardAxis", e0);
  37725. switch (l1)
  37726. {
  37727. case 93: // 'child'
  37728. shift(93); // 'child'
  37729. lookahead1W(26); // S^WS | '(:' | '::'
  37730. shift(51); // '::'
  37731. break;
  37732. case 111: // 'descendant'
  37733. shift(111); // 'descendant'
  37734. lookahead1W(26); // S^WS | '(:' | '::'
  37735. shift(51); // '::'
  37736. break;
  37737. case 82: // 'attribute'
  37738. shift(82); // 'attribute'
  37739. lookahead1W(26); // S^WS | '(:' | '::'
  37740. shift(51); // '::'
  37741. break;
  37742. case 229: // 'self'
  37743. shift(229); // 'self'
  37744. lookahead1W(26); // S^WS | '(:' | '::'
  37745. shift(51); // '::'
  37746. break;
  37747. case 112: // 'descendant-or-self'
  37748. shift(112); // 'descendant-or-self'
  37749. lookahead1W(26); // S^WS | '(:' | '::'
  37750. shift(51); // '::'
  37751. break;
  37752. case 136: // 'following-sibling'
  37753. shift(136); // 'following-sibling'
  37754. lookahead1W(26); // S^WS | '(:' | '::'
  37755. shift(51); // '::'
  37756. break;
  37757. default:
  37758. shift(135); // 'following'
  37759. lookahead1W(26); // S^WS | '(:' | '::'
  37760. shift(51); // '::'
  37761. }
  37762. eventHandler.endNonterminal("ForwardAxis", e0);
  37763. }
  37764. function try_ForwardAxis()
  37765. {
  37766. switch (l1)
  37767. {
  37768. case 93: // 'child'
  37769. shiftT(93); // 'child'
  37770. lookahead1W(26); // S^WS | '(:' | '::'
  37771. shiftT(51); // '::'
  37772. break;
  37773. case 111: // 'descendant'
  37774. shiftT(111); // 'descendant'
  37775. lookahead1W(26); // S^WS | '(:' | '::'
  37776. shiftT(51); // '::'
  37777. break;
  37778. case 82: // 'attribute'
  37779. shiftT(82); // 'attribute'
  37780. lookahead1W(26); // S^WS | '(:' | '::'
  37781. shiftT(51); // '::'
  37782. break;
  37783. case 229: // 'self'
  37784. shiftT(229); // 'self'
  37785. lookahead1W(26); // S^WS | '(:' | '::'
  37786. shiftT(51); // '::'
  37787. break;
  37788. case 112: // 'descendant-or-self'
  37789. shiftT(112); // 'descendant-or-self'
  37790. lookahead1W(26); // S^WS | '(:' | '::'
  37791. shiftT(51); // '::'
  37792. break;
  37793. case 136: // 'following-sibling'
  37794. shiftT(136); // 'following-sibling'
  37795. lookahead1W(26); // S^WS | '(:' | '::'
  37796. shiftT(51); // '::'
  37797. break;
  37798. default:
  37799. shiftT(135); // 'following'
  37800. lookahead1W(26); // S^WS | '(:' | '::'
  37801. shiftT(51); // '::'
  37802. }
  37803. }
  37804. function parse_AbbrevForwardStep()
  37805. {
  37806. eventHandler.startNonterminal("AbbrevForwardStep", e0);
  37807. if (l1 == 66) // '@'
  37808. {
  37809. shift(66); // '@'
  37810. }
  37811. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37812. whitespace();
  37813. parse_NodeTest();
  37814. eventHandler.endNonterminal("AbbrevForwardStep", e0);
  37815. }
  37816. function try_AbbrevForwardStep()
  37817. {
  37818. if (l1 == 66) // '@'
  37819. {
  37820. shiftT(66); // '@'
  37821. }
  37822. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37823. try_NodeTest();
  37824. }
  37825. function parse_ReverseStep()
  37826. {
  37827. eventHandler.startNonterminal("ReverseStep", e0);
  37828. switch (l1)
  37829. {
  37830. case 45: // '..'
  37831. parse_AbbrevReverseStep();
  37832. break;
  37833. default:
  37834. parse_ReverseAxis();
  37835. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37836. whitespace();
  37837. parse_NodeTest();
  37838. }
  37839. eventHandler.endNonterminal("ReverseStep", e0);
  37840. }
  37841. function try_ReverseStep()
  37842. {
  37843. switch (l1)
  37844. {
  37845. case 45: // '..'
  37846. try_AbbrevReverseStep();
  37847. break;
  37848. default:
  37849. try_ReverseAxis();
  37850. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  37851. try_NodeTest();
  37852. }
  37853. }
  37854. function parse_ReverseAxis()
  37855. {
  37856. eventHandler.startNonterminal("ReverseAxis", e0);
  37857. switch (l1)
  37858. {
  37859. case 206: // 'parent'
  37860. shift(206); // 'parent'
  37861. lookahead1W(26); // S^WS | '(:' | '::'
  37862. shift(51); // '::'
  37863. break;
  37864. case 73: // 'ancestor'
  37865. shift(73); // 'ancestor'
  37866. lookahead1W(26); // S^WS | '(:' | '::'
  37867. shift(51); // '::'
  37868. break;
  37869. case 213: // 'preceding-sibling'
  37870. shift(213); // 'preceding-sibling'
  37871. lookahead1W(26); // S^WS | '(:' | '::'
  37872. shift(51); // '::'
  37873. break;
  37874. case 212: // 'preceding'
  37875. shift(212); // 'preceding'
  37876. lookahead1W(26); // S^WS | '(:' | '::'
  37877. shift(51); // '::'
  37878. break;
  37879. default:
  37880. shift(74); // 'ancestor-or-self'
  37881. lookahead1W(26); // S^WS | '(:' | '::'
  37882. shift(51); // '::'
  37883. }
  37884. eventHandler.endNonterminal("ReverseAxis", e0);
  37885. }
  37886. function try_ReverseAxis()
  37887. {
  37888. switch (l1)
  37889. {
  37890. case 206: // 'parent'
  37891. shiftT(206); // 'parent'
  37892. lookahead1W(26); // S^WS | '(:' | '::'
  37893. shiftT(51); // '::'
  37894. break;
  37895. case 73: // 'ancestor'
  37896. shiftT(73); // 'ancestor'
  37897. lookahead1W(26); // S^WS | '(:' | '::'
  37898. shiftT(51); // '::'
  37899. break;
  37900. case 213: // 'preceding-sibling'
  37901. shiftT(213); // 'preceding-sibling'
  37902. lookahead1W(26); // S^WS | '(:' | '::'
  37903. shiftT(51); // '::'
  37904. break;
  37905. case 212: // 'preceding'
  37906. shiftT(212); // 'preceding'
  37907. lookahead1W(26); // S^WS | '(:' | '::'
  37908. shiftT(51); // '::'
  37909. break;
  37910. default:
  37911. shiftT(74); // 'ancestor-or-self'
  37912. lookahead1W(26); // S^WS | '(:' | '::'
  37913. shiftT(51); // '::'
  37914. }
  37915. }
  37916. function parse_AbbrevReverseStep()
  37917. {
  37918. eventHandler.startNonterminal("AbbrevReverseStep", e0);
  37919. shift(45); // '..'
  37920. eventHandler.endNonterminal("AbbrevReverseStep", e0);
  37921. }
  37922. function try_AbbrevReverseStep()
  37923. {
  37924. shiftT(45); // '..'
  37925. }
  37926. function parse_NodeTest()
  37927. {
  37928. eventHandler.startNonterminal("NodeTest", e0);
  37929. switch (l1)
  37930. {
  37931. case 82: // 'attribute'
  37932. case 96: // 'comment'
  37933. case 120: // 'document-node'
  37934. case 121: // 'element'
  37935. case 185: // 'namespace-node'
  37936. case 191: // 'node'
  37937. case 216: // 'processing-instruction'
  37938. case 226: // 'schema-attribute'
  37939. case 227: // 'schema-element'
  37940. case 244: // 'text'
  37941. lookahead2W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  37942. break;
  37943. default:
  37944. lk = l1;
  37945. }
  37946. switch (lk)
  37947. {
  37948. case 17490: // 'attribute' '('
  37949. case 17504: // 'comment' '('
  37950. case 17528: // 'document-node' '('
  37951. case 17529: // 'element' '('
  37952. case 17593: // 'namespace-node' '('
  37953. case 17599: // 'node' '('
  37954. case 17624: // 'processing-instruction' '('
  37955. case 17634: // 'schema-attribute' '('
  37956. case 17635: // 'schema-element' '('
  37957. case 17652: // 'text' '('
  37958. parse_KindTest();
  37959. break;
  37960. default:
  37961. parse_NameTest();
  37962. }
  37963. eventHandler.endNonterminal("NodeTest", e0);
  37964. }
  37965. function try_NodeTest()
  37966. {
  37967. switch (l1)
  37968. {
  37969. case 82: // 'attribute'
  37970. case 96: // 'comment'
  37971. case 120: // 'document-node'
  37972. case 121: // 'element'
  37973. case 185: // 'namespace-node'
  37974. case 191: // 'node'
  37975. case 216: // 'processing-instruction'
  37976. case 226: // 'schema-attribute'
  37977. case 227: // 'schema-element'
  37978. case 244: // 'text'
  37979. lookahead2W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  37980. break;
  37981. default:
  37982. lk = l1;
  37983. }
  37984. switch (lk)
  37985. {
  37986. case 17490: // 'attribute' '('
  37987. case 17504: // 'comment' '('
  37988. case 17528: // 'document-node' '('
  37989. case 17529: // 'element' '('
  37990. case 17593: // 'namespace-node' '('
  37991. case 17599: // 'node' '('
  37992. case 17624: // 'processing-instruction' '('
  37993. case 17634: // 'schema-attribute' '('
  37994. case 17635: // 'schema-element' '('
  37995. case 17652: // 'text' '('
  37996. try_KindTest();
  37997. break;
  37998. default:
  37999. try_NameTest();
  38000. }
  38001. }
  38002. function parse_NameTest()
  38003. {
  38004. eventHandler.startNonterminal("NameTest", e0);
  38005. switch (l1)
  38006. {
  38007. case 5: // Wildcard
  38008. shift(5); // Wildcard
  38009. break;
  38010. default:
  38011. parse_EQName();
  38012. }
  38013. eventHandler.endNonterminal("NameTest", e0);
  38014. }
  38015. function try_NameTest()
  38016. {
  38017. switch (l1)
  38018. {
  38019. case 5: // Wildcard
  38020. shiftT(5); // Wildcard
  38021. break;
  38022. default:
  38023. try_EQName();
  38024. }
  38025. }
  38026. function parse_PostfixExpr()
  38027. {
  38028. eventHandler.startNonterminal("PostfixExpr", e0);
  38029. parse_PrimaryExpr();
  38030. for (;;)
  38031. {
  38032. lookahead1W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  38033. if (l1 != 34 // '('
  38034. && l1 != 68) // '['
  38035. {
  38036. break;
  38037. }
  38038. switch (l1)
  38039. {
  38040. case 68: // '['
  38041. whitespace();
  38042. parse_Predicate();
  38043. break;
  38044. default:
  38045. whitespace();
  38046. parse_ArgumentList();
  38047. }
  38048. }
  38049. eventHandler.endNonterminal("PostfixExpr", e0);
  38050. }
  38051. function try_PostfixExpr()
  38052. {
  38053. try_PrimaryExpr();
  38054. for (;;)
  38055. {
  38056. lookahead1W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
  38057. if (l1 != 34 // '('
  38058. && l1 != 68) // '['
  38059. {
  38060. break;
  38061. }
  38062. switch (l1)
  38063. {
  38064. case 68: // '['
  38065. try_Predicate();
  38066. break;
  38067. default:
  38068. try_ArgumentList();
  38069. }
  38070. }
  38071. }
  38072. function parse_ArgumentList()
  38073. {
  38074. eventHandler.startNonterminal("ArgumentList", e0);
  38075. shift(34); // '('
  38076. lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38077. if (l1 != 37) // ')'
  38078. {
  38079. whitespace();
  38080. parse_Argument();
  38081. for (;;)
  38082. {
  38083. lookahead1W(101); // S^WS | '(:' | ')' | ','
  38084. if (l1 != 41) // ','
  38085. {
  38086. break;
  38087. }
  38088. shift(41); // ','
  38089. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38090. whitespace();
  38091. parse_Argument();
  38092. }
  38093. }
  38094. shift(37); // ')'
  38095. eventHandler.endNonterminal("ArgumentList", e0);
  38096. }
  38097. function try_ArgumentList()
  38098. {
  38099. shiftT(34); // '('
  38100. lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38101. if (l1 != 37) // ')'
  38102. {
  38103. try_Argument();
  38104. for (;;)
  38105. {
  38106. lookahead1W(101); // S^WS | '(:' | ')' | ','
  38107. if (l1 != 41) // ','
  38108. {
  38109. break;
  38110. }
  38111. shiftT(41); // ','
  38112. lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38113. try_Argument();
  38114. }
  38115. }
  38116. shiftT(37); // ')'
  38117. }
  38118. function parse_PredicateList()
  38119. {
  38120. eventHandler.startNonterminal("PredicateList", e0);
  38121. for (;;)
  38122. {
  38123. lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  38124. if (l1 != 68) // '['
  38125. {
  38126. break;
  38127. }
  38128. whitespace();
  38129. parse_Predicate();
  38130. }
  38131. eventHandler.endNonterminal("PredicateList", e0);
  38132. }
  38133. function try_PredicateList()
  38134. {
  38135. for (;;)
  38136. {
  38137. lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
  38138. if (l1 != 68) // '['
  38139. {
  38140. break;
  38141. }
  38142. try_Predicate();
  38143. }
  38144. }
  38145. function parse_Predicate()
  38146. {
  38147. eventHandler.startNonterminal("Predicate", e0);
  38148. shift(68); // '['
  38149. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38150. whitespace();
  38151. parse_Expr();
  38152. shift(69); // ']'
  38153. eventHandler.endNonterminal("Predicate", e0);
  38154. }
  38155. function try_Predicate()
  38156. {
  38157. shiftT(68); // '['
  38158. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38159. try_Expr();
  38160. shiftT(69); // ']'
  38161. }
  38162. function parse_Literal()
  38163. {
  38164. eventHandler.startNonterminal("Literal", e0);
  38165. switch (l1)
  38166. {
  38167. case 11: // StringLiteral
  38168. shift(11); // StringLiteral
  38169. break;
  38170. default:
  38171. parse_NumericLiteral();
  38172. }
  38173. eventHandler.endNonterminal("Literal", e0);
  38174. }
  38175. function try_Literal()
  38176. {
  38177. switch (l1)
  38178. {
  38179. case 11: // StringLiteral
  38180. shiftT(11); // StringLiteral
  38181. break;
  38182. default:
  38183. try_NumericLiteral();
  38184. }
  38185. }
  38186. function parse_NumericLiteral()
  38187. {
  38188. eventHandler.startNonterminal("NumericLiteral", e0);
  38189. switch (l1)
  38190. {
  38191. case 8: // IntegerLiteral
  38192. shift(8); // IntegerLiteral
  38193. break;
  38194. case 9: // DecimalLiteral
  38195. shift(9); // DecimalLiteral
  38196. break;
  38197. default:
  38198. shift(10); // DoubleLiteral
  38199. }
  38200. eventHandler.endNonterminal("NumericLiteral", e0);
  38201. }
  38202. function try_NumericLiteral()
  38203. {
  38204. switch (l1)
  38205. {
  38206. case 8: // IntegerLiteral
  38207. shiftT(8); // IntegerLiteral
  38208. break;
  38209. case 9: // DecimalLiteral
  38210. shiftT(9); // DecimalLiteral
  38211. break;
  38212. default:
  38213. shiftT(10); // DoubleLiteral
  38214. }
  38215. }
  38216. function parse_VarRef()
  38217. {
  38218. eventHandler.startNonterminal("VarRef", e0);
  38219. shift(31); // '$'
  38220. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38221. whitespace();
  38222. parse_VarName();
  38223. eventHandler.endNonterminal("VarRef", e0);
  38224. }
  38225. function try_VarRef()
  38226. {
  38227. shiftT(31); // '$'
  38228. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38229. try_VarName();
  38230. }
  38231. function parse_VarName()
  38232. {
  38233. eventHandler.startNonterminal("VarName", e0);
  38234. parse_EQName();
  38235. eventHandler.endNonterminal("VarName", e0);
  38236. }
  38237. function try_VarName()
  38238. {
  38239. try_EQName();
  38240. }
  38241. function parse_ParenthesizedExpr()
  38242. {
  38243. eventHandler.startNonterminal("ParenthesizedExpr", e0);
  38244. shift(34); // '('
  38245. lookahead1W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38246. if (l1 != 37) // ')'
  38247. {
  38248. whitespace();
  38249. parse_Expr();
  38250. }
  38251. shift(37); // ')'
  38252. eventHandler.endNonterminal("ParenthesizedExpr", e0);
  38253. }
  38254. function try_ParenthesizedExpr()
  38255. {
  38256. shiftT(34); // '('
  38257. lookahead1W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38258. if (l1 != 37) // ')'
  38259. {
  38260. try_Expr();
  38261. }
  38262. shiftT(37); // ')'
  38263. }
  38264. function parse_ContextItemExpr()
  38265. {
  38266. eventHandler.startNonterminal("ContextItemExpr", e0);
  38267. shift(44); // '.'
  38268. eventHandler.endNonterminal("ContextItemExpr", e0);
  38269. }
  38270. function try_ContextItemExpr()
  38271. {
  38272. shiftT(44); // '.'
  38273. }
  38274. function parse_OrderedExpr()
  38275. {
  38276. eventHandler.startNonterminal("OrderedExpr", e0);
  38277. shift(202); // 'ordered'
  38278. lookahead1W(87); // S^WS | '(:' | '{'
  38279. shift(276); // '{'
  38280. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38281. whitespace();
  38282. parse_Expr();
  38283. shift(282); // '}'
  38284. eventHandler.endNonterminal("OrderedExpr", e0);
  38285. }
  38286. function try_OrderedExpr()
  38287. {
  38288. shiftT(202); // 'ordered'
  38289. lookahead1W(87); // S^WS | '(:' | '{'
  38290. shiftT(276); // '{'
  38291. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38292. try_Expr();
  38293. shiftT(282); // '}'
  38294. }
  38295. function parse_UnorderedExpr()
  38296. {
  38297. eventHandler.startNonterminal("UnorderedExpr", e0);
  38298. shift(256); // 'unordered'
  38299. lookahead1W(87); // S^WS | '(:' | '{'
  38300. shift(276); // '{'
  38301. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38302. whitespace();
  38303. parse_Expr();
  38304. shift(282); // '}'
  38305. eventHandler.endNonterminal("UnorderedExpr", e0);
  38306. }
  38307. function try_UnorderedExpr()
  38308. {
  38309. shiftT(256); // 'unordered'
  38310. lookahead1W(87); // S^WS | '(:' | '{'
  38311. shiftT(276); // '{'
  38312. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38313. try_Expr();
  38314. shiftT(282); // '}'
  38315. }
  38316. function parse_FunctionCall()
  38317. {
  38318. eventHandler.startNonterminal("FunctionCall", e0);
  38319. parse_FunctionName();
  38320. lookahead1W(22); // S^WS | '(' | '(:'
  38321. whitespace();
  38322. parse_ArgumentList();
  38323. eventHandler.endNonterminal("FunctionCall", e0);
  38324. }
  38325. function try_FunctionCall()
  38326. {
  38327. try_FunctionName();
  38328. lookahead1W(22); // S^WS | '(' | '(:'
  38329. try_ArgumentList();
  38330. }
  38331. function parse_Argument()
  38332. {
  38333. eventHandler.startNonterminal("Argument", e0);
  38334. switch (l1)
  38335. {
  38336. case 64: // '?'
  38337. parse_ArgumentPlaceholder();
  38338. break;
  38339. default:
  38340. parse_ExprSingle();
  38341. }
  38342. eventHandler.endNonterminal("Argument", e0);
  38343. }
  38344. function try_Argument()
  38345. {
  38346. switch (l1)
  38347. {
  38348. case 64: // '?'
  38349. try_ArgumentPlaceholder();
  38350. break;
  38351. default:
  38352. try_ExprSingle();
  38353. }
  38354. }
  38355. function parse_ArgumentPlaceholder()
  38356. {
  38357. eventHandler.startNonterminal("ArgumentPlaceholder", e0);
  38358. shift(64); // '?'
  38359. eventHandler.endNonterminal("ArgumentPlaceholder", e0);
  38360. }
  38361. function try_ArgumentPlaceholder()
  38362. {
  38363. shiftT(64); // '?'
  38364. }
  38365. function parse_Constructor()
  38366. {
  38367. eventHandler.startNonterminal("Constructor", e0);
  38368. switch (l1)
  38369. {
  38370. case 54: // '<'
  38371. case 55: // '<!--'
  38372. case 59: // '<?'
  38373. parse_DirectConstructor();
  38374. break;
  38375. default:
  38376. parse_ComputedConstructor();
  38377. }
  38378. eventHandler.endNonterminal("Constructor", e0);
  38379. }
  38380. function try_Constructor()
  38381. {
  38382. switch (l1)
  38383. {
  38384. case 54: // '<'
  38385. case 55: // '<!--'
  38386. case 59: // '<?'
  38387. try_DirectConstructor();
  38388. break;
  38389. default:
  38390. try_ComputedConstructor();
  38391. }
  38392. }
  38393. function parse_DirectConstructor()
  38394. {
  38395. eventHandler.startNonterminal("DirectConstructor", e0);
  38396. switch (l1)
  38397. {
  38398. case 54: // '<'
  38399. parse_DirElemConstructor();
  38400. break;
  38401. case 55: // '<!--'
  38402. parse_DirCommentConstructor();
  38403. break;
  38404. default:
  38405. parse_DirPIConstructor();
  38406. }
  38407. eventHandler.endNonterminal("DirectConstructor", e0);
  38408. }
  38409. function try_DirectConstructor()
  38410. {
  38411. switch (l1)
  38412. {
  38413. case 54: // '<'
  38414. try_DirElemConstructor();
  38415. break;
  38416. case 55: // '<!--'
  38417. try_DirCommentConstructor();
  38418. break;
  38419. default:
  38420. try_DirPIConstructor();
  38421. }
  38422. }
  38423. function parse_DirElemConstructor()
  38424. {
  38425. eventHandler.startNonterminal("DirElemConstructor", e0);
  38426. shift(54); // '<'
  38427. lookahead1(4); // QName
  38428. shift(20); // QName
  38429. parse_DirAttributeList();
  38430. switch (l1)
  38431. {
  38432. case 48: // '/>'
  38433. shift(48); // '/>'
  38434. break;
  38435. default:
  38436. shift(61); // '>'
  38437. for (;;)
  38438. {
  38439. lookahead1(174); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  38440. if (l1 == 56) // '</'
  38441. {
  38442. break;
  38443. }
  38444. parse_DirElemContent();
  38445. }
  38446. shift(56); // '</'
  38447. lookahead1(4); // QName
  38448. shift(20); // QName
  38449. lookahead1(12); // S | '>'
  38450. if (l1 == 21) // S
  38451. {
  38452. shift(21); // S
  38453. }
  38454. lookahead1(8); // '>'
  38455. shift(61); // '>'
  38456. }
  38457. eventHandler.endNonterminal("DirElemConstructor", e0);
  38458. }
  38459. function try_DirElemConstructor()
  38460. {
  38461. shiftT(54); // '<'
  38462. lookahead1(4); // QName
  38463. shiftT(20); // QName
  38464. try_DirAttributeList();
  38465. switch (l1)
  38466. {
  38467. case 48: // '/>'
  38468. shiftT(48); // '/>'
  38469. break;
  38470. default:
  38471. shiftT(61); // '>'
  38472. for (;;)
  38473. {
  38474. lookahead1(174); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
  38475. if (l1 == 56) // '</'
  38476. {
  38477. break;
  38478. }
  38479. try_DirElemContent();
  38480. }
  38481. shiftT(56); // '</'
  38482. lookahead1(4); // QName
  38483. shiftT(20); // QName
  38484. lookahead1(12); // S | '>'
  38485. if (l1 == 21) // S
  38486. {
  38487. shiftT(21); // S
  38488. }
  38489. lookahead1(8); // '>'
  38490. shiftT(61); // '>'
  38491. }
  38492. }
  38493. function parse_DirAttributeList()
  38494. {
  38495. eventHandler.startNonterminal("DirAttributeList", e0);
  38496. for (;;)
  38497. {
  38498. lookahead1(19); // S | '/>' | '>'
  38499. if (l1 != 21) // S
  38500. {
  38501. break;
  38502. }
  38503. shift(21); // S
  38504. lookahead1(91); // QName | S | '/>' | '>'
  38505. if (l1 == 20) // QName
  38506. {
  38507. shift(20); // QName
  38508. lookahead1(11); // S | '='
  38509. if (l1 == 21) // S
  38510. {
  38511. shift(21); // S
  38512. }
  38513. lookahead1(7); // '='
  38514. shift(60); // '='
  38515. lookahead1(18); // S | '"' | "'"
  38516. if (l1 == 21) // S
  38517. {
  38518. shift(21); // S
  38519. }
  38520. parse_DirAttributeValue();
  38521. }
  38522. }
  38523. eventHandler.endNonterminal("DirAttributeList", e0);
  38524. }
  38525. function try_DirAttributeList()
  38526. {
  38527. for (;;)
  38528. {
  38529. lookahead1(19); // S | '/>' | '>'
  38530. if (l1 != 21) // S
  38531. {
  38532. break;
  38533. }
  38534. shiftT(21); // S
  38535. lookahead1(91); // QName | S | '/>' | '>'
  38536. if (l1 == 20) // QName
  38537. {
  38538. shiftT(20); // QName
  38539. lookahead1(11); // S | '='
  38540. if (l1 == 21) // S
  38541. {
  38542. shiftT(21); // S
  38543. }
  38544. lookahead1(7); // '='
  38545. shiftT(60); // '='
  38546. lookahead1(18); // S | '"' | "'"
  38547. if (l1 == 21) // S
  38548. {
  38549. shiftT(21); // S
  38550. }
  38551. try_DirAttributeValue();
  38552. }
  38553. }
  38554. }
  38555. function parse_DirAttributeValue()
  38556. {
  38557. eventHandler.startNonterminal("DirAttributeValue", e0);
  38558. lookahead1(14); // '"' | "'"
  38559. switch (l1)
  38560. {
  38561. case 28: // '"'
  38562. shift(28); // '"'
  38563. for (;;)
  38564. {
  38565. lookahead1(167); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  38566. if (l1 == 28) // '"'
  38567. {
  38568. break;
  38569. }
  38570. switch (l1)
  38571. {
  38572. case 13: // EscapeQuot
  38573. shift(13); // EscapeQuot
  38574. break;
  38575. default:
  38576. parse_QuotAttrValueContent();
  38577. }
  38578. }
  38579. shift(28); // '"'
  38580. break;
  38581. default:
  38582. shift(33); // "'"
  38583. for (;;)
  38584. {
  38585. lookahead1(168); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  38586. if (l1 == 33) // "'"
  38587. {
  38588. break;
  38589. }
  38590. switch (l1)
  38591. {
  38592. case 14: // EscapeApos
  38593. shift(14); // EscapeApos
  38594. break;
  38595. default:
  38596. parse_AposAttrValueContent();
  38597. }
  38598. }
  38599. shift(33); // "'"
  38600. }
  38601. eventHandler.endNonterminal("DirAttributeValue", e0);
  38602. }
  38603. function try_DirAttributeValue()
  38604. {
  38605. lookahead1(14); // '"' | "'"
  38606. switch (l1)
  38607. {
  38608. case 28: // '"'
  38609. shiftT(28); // '"'
  38610. for (;;)
  38611. {
  38612. lookahead1(167); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
  38613. if (l1 == 28) // '"'
  38614. {
  38615. break;
  38616. }
  38617. switch (l1)
  38618. {
  38619. case 13: // EscapeQuot
  38620. shiftT(13); // EscapeQuot
  38621. break;
  38622. default:
  38623. try_QuotAttrValueContent();
  38624. }
  38625. }
  38626. shiftT(28); // '"'
  38627. break;
  38628. default:
  38629. shiftT(33); // "'"
  38630. for (;;)
  38631. {
  38632. lookahead1(168); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
  38633. if (l1 == 33) // "'"
  38634. {
  38635. break;
  38636. }
  38637. switch (l1)
  38638. {
  38639. case 14: // EscapeApos
  38640. shiftT(14); // EscapeApos
  38641. break;
  38642. default:
  38643. try_AposAttrValueContent();
  38644. }
  38645. }
  38646. shiftT(33); // "'"
  38647. }
  38648. }
  38649. function parse_QuotAttrValueContent()
  38650. {
  38651. eventHandler.startNonterminal("QuotAttrValueContent", e0);
  38652. switch (l1)
  38653. {
  38654. case 16: // QuotAttrContentChar
  38655. shift(16); // QuotAttrContentChar
  38656. break;
  38657. default:
  38658. parse_CommonContent();
  38659. }
  38660. eventHandler.endNonterminal("QuotAttrValueContent", e0);
  38661. }
  38662. function try_QuotAttrValueContent()
  38663. {
  38664. switch (l1)
  38665. {
  38666. case 16: // QuotAttrContentChar
  38667. shiftT(16); // QuotAttrContentChar
  38668. break;
  38669. default:
  38670. try_CommonContent();
  38671. }
  38672. }
  38673. function parse_AposAttrValueContent()
  38674. {
  38675. eventHandler.startNonterminal("AposAttrValueContent", e0);
  38676. switch (l1)
  38677. {
  38678. case 17: // AposAttrContentChar
  38679. shift(17); // AposAttrContentChar
  38680. break;
  38681. default:
  38682. parse_CommonContent();
  38683. }
  38684. eventHandler.endNonterminal("AposAttrValueContent", e0);
  38685. }
  38686. function try_AposAttrValueContent()
  38687. {
  38688. switch (l1)
  38689. {
  38690. case 17: // AposAttrContentChar
  38691. shiftT(17); // AposAttrContentChar
  38692. break;
  38693. default:
  38694. try_CommonContent();
  38695. }
  38696. }
  38697. function parse_DirElemContent()
  38698. {
  38699. eventHandler.startNonterminal("DirElemContent", e0);
  38700. switch (l1)
  38701. {
  38702. case 54: // '<'
  38703. case 55: // '<!--'
  38704. case 59: // '<?'
  38705. parse_DirectConstructor();
  38706. break;
  38707. case 4: // CDataSection
  38708. shift(4); // CDataSection
  38709. break;
  38710. case 15: // ElementContentChar
  38711. shift(15); // ElementContentChar
  38712. break;
  38713. default:
  38714. parse_CommonContent();
  38715. }
  38716. eventHandler.endNonterminal("DirElemContent", e0);
  38717. }
  38718. function try_DirElemContent()
  38719. {
  38720. switch (l1)
  38721. {
  38722. case 54: // '<'
  38723. case 55: // '<!--'
  38724. case 59: // '<?'
  38725. try_DirectConstructor();
  38726. break;
  38727. case 4: // CDataSection
  38728. shiftT(4); // CDataSection
  38729. break;
  38730. case 15: // ElementContentChar
  38731. shiftT(15); // ElementContentChar
  38732. break;
  38733. default:
  38734. try_CommonContent();
  38735. }
  38736. }
  38737. function parse_DirCommentConstructor()
  38738. {
  38739. eventHandler.startNonterminal("DirCommentConstructor", e0);
  38740. shift(55); // '<!--'
  38741. lookahead1(1); // DirCommentContents
  38742. shift(2); // DirCommentContents
  38743. lookahead1(6); // '-->'
  38744. shift(43); // '-->'
  38745. eventHandler.endNonterminal("DirCommentConstructor", e0);
  38746. }
  38747. function try_DirCommentConstructor()
  38748. {
  38749. shiftT(55); // '<!--'
  38750. lookahead1(1); // DirCommentContents
  38751. shiftT(2); // DirCommentContents
  38752. lookahead1(6); // '-->'
  38753. shiftT(43); // '-->'
  38754. }
  38755. function parse_DirPIConstructor()
  38756. {
  38757. eventHandler.startNonterminal("DirPIConstructor", e0);
  38758. shift(59); // '<?'
  38759. lookahead1(3); // PITarget
  38760. shift(18); // PITarget
  38761. lookahead1(13); // S | '?>'
  38762. if (l1 == 21) // S
  38763. {
  38764. shift(21); // S
  38765. lookahead1(2); // DirPIContents
  38766. shift(3); // DirPIContents
  38767. }
  38768. lookahead1(9); // '?>'
  38769. shift(65); // '?>'
  38770. eventHandler.endNonterminal("DirPIConstructor", e0);
  38771. }
  38772. function try_DirPIConstructor()
  38773. {
  38774. shiftT(59); // '<?'
  38775. lookahead1(3); // PITarget
  38776. shiftT(18); // PITarget
  38777. lookahead1(13); // S | '?>'
  38778. if (l1 == 21) // S
  38779. {
  38780. shiftT(21); // S
  38781. lookahead1(2); // DirPIContents
  38782. shiftT(3); // DirPIContents
  38783. }
  38784. lookahead1(9); // '?>'
  38785. shiftT(65); // '?>'
  38786. }
  38787. function parse_ComputedConstructor()
  38788. {
  38789. eventHandler.startNonterminal("ComputedConstructor", e0);
  38790. switch (l1)
  38791. {
  38792. case 119: // 'document'
  38793. parse_CompDocConstructor();
  38794. break;
  38795. case 121: // 'element'
  38796. parse_CompElemConstructor();
  38797. break;
  38798. case 82: // 'attribute'
  38799. parse_CompAttrConstructor();
  38800. break;
  38801. case 184: // 'namespace'
  38802. parse_CompNamespaceConstructor();
  38803. break;
  38804. case 244: // 'text'
  38805. parse_CompTextConstructor();
  38806. break;
  38807. case 96: // 'comment'
  38808. parse_CompCommentConstructor();
  38809. break;
  38810. default:
  38811. parse_CompPIConstructor();
  38812. }
  38813. eventHandler.endNonterminal("ComputedConstructor", e0);
  38814. }
  38815. function try_ComputedConstructor()
  38816. {
  38817. switch (l1)
  38818. {
  38819. case 119: // 'document'
  38820. try_CompDocConstructor();
  38821. break;
  38822. case 121: // 'element'
  38823. try_CompElemConstructor();
  38824. break;
  38825. case 82: // 'attribute'
  38826. try_CompAttrConstructor();
  38827. break;
  38828. case 184: // 'namespace'
  38829. try_CompNamespaceConstructor();
  38830. break;
  38831. case 244: // 'text'
  38832. try_CompTextConstructor();
  38833. break;
  38834. case 96: // 'comment'
  38835. try_CompCommentConstructor();
  38836. break;
  38837. default:
  38838. try_CompPIConstructor();
  38839. }
  38840. }
  38841. function parse_CompElemConstructor()
  38842. {
  38843. eventHandler.startNonterminal("CompElemConstructor", e0);
  38844. shift(121); // 'element'
  38845. lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38846. switch (l1)
  38847. {
  38848. case 276: // '{'
  38849. shift(276); // '{'
  38850. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38851. whitespace();
  38852. parse_Expr();
  38853. shift(282); // '}'
  38854. break;
  38855. default:
  38856. whitespace();
  38857. parse_EQName();
  38858. }
  38859. lookahead1W(87); // S^WS | '(:' | '{'
  38860. shift(276); // '{'
  38861. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38862. if (l1 != 282) // '}'
  38863. {
  38864. whitespace();
  38865. parse_ContentExpr();
  38866. }
  38867. shift(282); // '}'
  38868. eventHandler.endNonterminal("CompElemConstructor", e0);
  38869. }
  38870. function try_CompElemConstructor()
  38871. {
  38872. shiftT(121); // 'element'
  38873. lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38874. switch (l1)
  38875. {
  38876. case 276: // '{'
  38877. shiftT(276); // '{'
  38878. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38879. try_Expr();
  38880. shiftT(282); // '}'
  38881. break;
  38882. default:
  38883. try_EQName();
  38884. }
  38885. lookahead1W(87); // S^WS | '(:' | '{'
  38886. shiftT(276); // '{'
  38887. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38888. if (l1 != 282) // '}'
  38889. {
  38890. try_ContentExpr();
  38891. }
  38892. shiftT(282); // '}'
  38893. }
  38894. function parse_CompNamespaceConstructor()
  38895. {
  38896. eventHandler.startNonterminal("CompNamespaceConstructor", e0);
  38897. shift(184); // 'namespace'
  38898. lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38899. switch (l1)
  38900. {
  38901. case 276: // '{'
  38902. shift(276); // '{'
  38903. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38904. whitespace();
  38905. parse_PrefixExpr();
  38906. shift(282); // '}'
  38907. break;
  38908. default:
  38909. whitespace();
  38910. parse_Prefix();
  38911. }
  38912. lookahead1W(87); // S^WS | '(:' | '{'
  38913. shift(276); // '{'
  38914. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38915. whitespace();
  38916. parse_URIExpr();
  38917. shift(282); // '}'
  38918. eventHandler.endNonterminal("CompNamespaceConstructor", e0);
  38919. }
  38920. function try_CompNamespaceConstructor()
  38921. {
  38922. shiftT(184); // 'namespace'
  38923. lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  38924. switch (l1)
  38925. {
  38926. case 276: // '{'
  38927. shiftT(276); // '{'
  38928. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38929. try_PrefixExpr();
  38930. shiftT(282); // '}'
  38931. break;
  38932. default:
  38933. try_Prefix();
  38934. }
  38935. lookahead1W(87); // S^WS | '(:' | '{'
  38936. shiftT(276); // '{'
  38937. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  38938. try_URIExpr();
  38939. shiftT(282); // '}'
  38940. }
  38941. function parse_Prefix()
  38942. {
  38943. eventHandler.startNonterminal("Prefix", e0);
  38944. parse_NCName();
  38945. eventHandler.endNonterminal("Prefix", e0);
  38946. }
  38947. function try_Prefix()
  38948. {
  38949. try_NCName();
  38950. }
  38951. function parse_PrefixExpr()
  38952. {
  38953. eventHandler.startNonterminal("PrefixExpr", e0);
  38954. parse_Expr();
  38955. eventHandler.endNonterminal("PrefixExpr", e0);
  38956. }
  38957. function try_PrefixExpr()
  38958. {
  38959. try_Expr();
  38960. }
  38961. function parse_URIExpr()
  38962. {
  38963. eventHandler.startNonterminal("URIExpr", e0);
  38964. parse_Expr();
  38965. eventHandler.endNonterminal("URIExpr", e0);
  38966. }
  38967. function try_URIExpr()
  38968. {
  38969. try_Expr();
  38970. }
  38971. function parse_FunctionItemExpr()
  38972. {
  38973. eventHandler.startNonterminal("FunctionItemExpr", e0);
  38974. switch (l1)
  38975. {
  38976. case 145: // 'function'
  38977. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  38978. break;
  38979. default:
  38980. lk = l1;
  38981. }
  38982. switch (lk)
  38983. {
  38984. case 32: // '%'
  38985. case 17553: // 'function' '('
  38986. parse_InlineFunctionExpr();
  38987. break;
  38988. default:
  38989. parse_NamedFunctionRef();
  38990. }
  38991. eventHandler.endNonterminal("FunctionItemExpr", e0);
  38992. }
  38993. function try_FunctionItemExpr()
  38994. {
  38995. switch (l1)
  38996. {
  38997. case 145: // 'function'
  38998. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  38999. break;
  39000. default:
  39001. lk = l1;
  39002. }
  39003. switch (lk)
  39004. {
  39005. case 32: // '%'
  39006. case 17553: // 'function' '('
  39007. try_InlineFunctionExpr();
  39008. break;
  39009. default:
  39010. try_NamedFunctionRef();
  39011. }
  39012. }
  39013. function parse_NamedFunctionRef()
  39014. {
  39015. eventHandler.startNonterminal("NamedFunctionRef", e0);
  39016. parse_EQName();
  39017. lookahead1W(20); // S^WS | '#' | '(:'
  39018. shift(29); // '#'
  39019. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  39020. shift(8); // IntegerLiteral
  39021. eventHandler.endNonterminal("NamedFunctionRef", e0);
  39022. }
  39023. function try_NamedFunctionRef()
  39024. {
  39025. try_EQName();
  39026. lookahead1W(20); // S^WS | '#' | '(:'
  39027. shiftT(29); // '#'
  39028. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  39029. shiftT(8); // IntegerLiteral
  39030. }
  39031. function parse_InlineFunctionExpr()
  39032. {
  39033. eventHandler.startNonterminal("InlineFunctionExpr", e0);
  39034. for (;;)
  39035. {
  39036. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  39037. if (l1 != 32) // '%'
  39038. {
  39039. break;
  39040. }
  39041. whitespace();
  39042. parse_Annotation();
  39043. }
  39044. shift(145); // 'function'
  39045. lookahead1W(22); // S^WS | '(' | '(:'
  39046. shift(34); // '('
  39047. lookahead1W(94); // S^WS | '$' | '(:' | ')'
  39048. if (l1 == 31) // '$'
  39049. {
  39050. whitespace();
  39051. parse_ParamList();
  39052. }
  39053. shift(37); // ')'
  39054. lookahead1W(111); // S^WS | '(:' | 'as' | '{'
  39055. if (l1 == 79) // 'as'
  39056. {
  39057. shift(79); // 'as'
  39058. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  39059. whitespace();
  39060. parse_SequenceType();
  39061. }
  39062. lookahead1W(87); // S^WS | '(:' | '{'
  39063. whitespace();
  39064. parse_FunctionBody();
  39065. eventHandler.endNonterminal("InlineFunctionExpr", e0);
  39066. }
  39067. function try_InlineFunctionExpr()
  39068. {
  39069. for (;;)
  39070. {
  39071. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  39072. if (l1 != 32) // '%'
  39073. {
  39074. break;
  39075. }
  39076. try_Annotation();
  39077. }
  39078. shiftT(145); // 'function'
  39079. lookahead1W(22); // S^WS | '(' | '(:'
  39080. shiftT(34); // '('
  39081. lookahead1W(94); // S^WS | '$' | '(:' | ')'
  39082. if (l1 == 31) // '$'
  39083. {
  39084. try_ParamList();
  39085. }
  39086. shiftT(37); // ')'
  39087. lookahead1W(111); // S^WS | '(:' | 'as' | '{'
  39088. if (l1 == 79) // 'as'
  39089. {
  39090. shiftT(79); // 'as'
  39091. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  39092. try_SequenceType();
  39093. }
  39094. lookahead1W(87); // S^WS | '(:' | '{'
  39095. try_FunctionBody();
  39096. }
  39097. function parse_SingleType()
  39098. {
  39099. eventHandler.startNonterminal("SingleType", e0);
  39100. parse_SimpleTypeName();
  39101. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  39102. if (l1 == 64) // '?'
  39103. {
  39104. shift(64); // '?'
  39105. }
  39106. eventHandler.endNonterminal("SingleType", e0);
  39107. }
  39108. function try_SingleType()
  39109. {
  39110. try_SimpleTypeName();
  39111. lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
  39112. if (l1 == 64) // '?'
  39113. {
  39114. shiftT(64); // '?'
  39115. }
  39116. }
  39117. function parse_TypeDeclaration()
  39118. {
  39119. eventHandler.startNonterminal("TypeDeclaration", e0);
  39120. shift(79); // 'as'
  39121. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  39122. whitespace();
  39123. parse_SequenceType();
  39124. eventHandler.endNonterminal("TypeDeclaration", e0);
  39125. }
  39126. function try_TypeDeclaration()
  39127. {
  39128. shiftT(79); // 'as'
  39129. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  39130. try_SequenceType();
  39131. }
  39132. function parse_SequenceType()
  39133. {
  39134. eventHandler.startNonterminal("SequenceType", e0);
  39135. switch (l1)
  39136. {
  39137. case 124: // 'empty-sequence'
  39138. lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  39139. break;
  39140. default:
  39141. lk = l1;
  39142. }
  39143. switch (lk)
  39144. {
  39145. case 17532: // 'empty-sequence' '('
  39146. shift(124); // 'empty-sequence'
  39147. lookahead1W(22); // S^WS | '(' | '(:'
  39148. shift(34); // '('
  39149. lookahead1W(23); // S^WS | '(:' | ')'
  39150. shift(37); // ')'
  39151. break;
  39152. default:
  39153. parse_ItemType();
  39154. lookahead1W(238); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  39155. switch (l1)
  39156. {
  39157. case 39: // '*'
  39158. case 40: // '+'
  39159. case 64: // '?'
  39160. whitespace();
  39161. parse_OccurrenceIndicator();
  39162. break;
  39163. default:
  39164. break;
  39165. }
  39166. }
  39167. eventHandler.endNonterminal("SequenceType", e0);
  39168. }
  39169. function try_SequenceType()
  39170. {
  39171. switch (l1)
  39172. {
  39173. case 124: // 'empty-sequence'
  39174. lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  39175. break;
  39176. default:
  39177. lk = l1;
  39178. }
  39179. switch (lk)
  39180. {
  39181. case 17532: // 'empty-sequence' '('
  39182. shiftT(124); // 'empty-sequence'
  39183. lookahead1W(22); // S^WS | '(' | '(:'
  39184. shiftT(34); // '('
  39185. lookahead1W(23); // S^WS | '(:' | ')'
  39186. shiftT(37); // ')'
  39187. break;
  39188. default:
  39189. try_ItemType();
  39190. lookahead1W(238); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
  39191. switch (l1)
  39192. {
  39193. case 39: // '*'
  39194. case 40: // '+'
  39195. case 64: // '?'
  39196. try_OccurrenceIndicator();
  39197. break;
  39198. default:
  39199. break;
  39200. }
  39201. }
  39202. }
  39203. function parse_OccurrenceIndicator()
  39204. {
  39205. eventHandler.startNonterminal("OccurrenceIndicator", e0);
  39206. switch (l1)
  39207. {
  39208. case 64: // '?'
  39209. shift(64); // '?'
  39210. break;
  39211. case 39: // '*'
  39212. shift(39); // '*'
  39213. break;
  39214. default:
  39215. shift(40); // '+'
  39216. }
  39217. eventHandler.endNonterminal("OccurrenceIndicator", e0);
  39218. }
  39219. function try_OccurrenceIndicator()
  39220. {
  39221. switch (l1)
  39222. {
  39223. case 64: // '?'
  39224. shiftT(64); // '?'
  39225. break;
  39226. case 39: // '*'
  39227. shiftT(39); // '*'
  39228. break;
  39229. default:
  39230. shiftT(40); // '+'
  39231. }
  39232. }
  39233. function parse_ItemType()
  39234. {
  39235. eventHandler.startNonterminal("ItemType", e0);
  39236. switch (l1)
  39237. {
  39238. case 78: // 'array'
  39239. case 82: // 'attribute'
  39240. case 96: // 'comment'
  39241. case 120: // 'document-node'
  39242. case 121: // 'element'
  39243. case 145: // 'function'
  39244. case 165: // 'item'
  39245. case 167: // 'json-item'
  39246. case 185: // 'namespace-node'
  39247. case 191: // 'node'
  39248. case 194: // 'object'
  39249. case 216: // 'processing-instruction'
  39250. case 226: // 'schema-attribute'
  39251. case 227: // 'schema-element'
  39252. case 242: // 'structured-item'
  39253. case 244: // 'text'
  39254. lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  39255. break;
  39256. default:
  39257. lk = l1;
  39258. }
  39259. switch (lk)
  39260. {
  39261. case 17490: // 'attribute' '('
  39262. case 17504: // 'comment' '('
  39263. case 17528: // 'document-node' '('
  39264. case 17529: // 'element' '('
  39265. case 17593: // 'namespace-node' '('
  39266. case 17599: // 'node' '('
  39267. case 17624: // 'processing-instruction' '('
  39268. case 17634: // 'schema-attribute' '('
  39269. case 17635: // 'schema-element' '('
  39270. case 17652: // 'text' '('
  39271. parse_KindTest();
  39272. break;
  39273. case 17573: // 'item' '('
  39274. shift(165); // 'item'
  39275. lookahead1W(22); // S^WS | '(' | '(:'
  39276. shift(34); // '('
  39277. lookahead1W(23); // S^WS | '(:' | ')'
  39278. shift(37); // ')'
  39279. break;
  39280. case 32: // '%'
  39281. case 17553: // 'function' '('
  39282. parse_FunctionTest();
  39283. break;
  39284. case 34: // '('
  39285. parse_ParenthesizedItemType();
  39286. break;
  39287. case 17486: // 'array' '('
  39288. case 17575: // 'json-item' '('
  39289. case 17602: // 'object' '('
  39290. parse_JSONTest();
  39291. break;
  39292. case 17650: // 'structured-item' '('
  39293. parse_StructuredItemTest();
  39294. break;
  39295. default:
  39296. parse_AtomicOrUnionType();
  39297. }
  39298. eventHandler.endNonterminal("ItemType", e0);
  39299. }
  39300. function try_ItemType()
  39301. {
  39302. switch (l1)
  39303. {
  39304. case 78: // 'array'
  39305. case 82: // 'attribute'
  39306. case 96: // 'comment'
  39307. case 120: // 'document-node'
  39308. case 121: // 'element'
  39309. case 145: // 'function'
  39310. case 165: // 'item'
  39311. case 167: // 'json-item'
  39312. case 185: // 'namespace-node'
  39313. case 191: // 'node'
  39314. case 194: // 'object'
  39315. case 216: // 'processing-instruction'
  39316. case 226: // 'schema-attribute'
  39317. case 227: // 'schema-element'
  39318. case 242: // 'structured-item'
  39319. case 244: // 'text'
  39320. lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
  39321. break;
  39322. default:
  39323. lk = l1;
  39324. }
  39325. switch (lk)
  39326. {
  39327. case 17490: // 'attribute' '('
  39328. case 17504: // 'comment' '('
  39329. case 17528: // 'document-node' '('
  39330. case 17529: // 'element' '('
  39331. case 17593: // 'namespace-node' '('
  39332. case 17599: // 'node' '('
  39333. case 17624: // 'processing-instruction' '('
  39334. case 17634: // 'schema-attribute' '('
  39335. case 17635: // 'schema-element' '('
  39336. case 17652: // 'text' '('
  39337. try_KindTest();
  39338. break;
  39339. case 17573: // 'item' '('
  39340. shiftT(165); // 'item'
  39341. lookahead1W(22); // S^WS | '(' | '(:'
  39342. shiftT(34); // '('
  39343. lookahead1W(23); // S^WS | '(:' | ')'
  39344. shiftT(37); // ')'
  39345. break;
  39346. case 32: // '%'
  39347. case 17553: // 'function' '('
  39348. try_FunctionTest();
  39349. break;
  39350. case 34: // '('
  39351. try_ParenthesizedItemType();
  39352. break;
  39353. case 17486: // 'array' '('
  39354. case 17575: // 'json-item' '('
  39355. case 17602: // 'object' '('
  39356. try_JSONTest();
  39357. break;
  39358. case 17650: // 'structured-item' '('
  39359. try_StructuredItemTest();
  39360. break;
  39361. default:
  39362. try_AtomicOrUnionType();
  39363. }
  39364. }
  39365. function parse_JSONTest()
  39366. {
  39367. eventHandler.startNonterminal("JSONTest", e0);
  39368. switch (l1)
  39369. {
  39370. case 167: // 'json-item'
  39371. parse_JSONItemTest();
  39372. break;
  39373. case 194: // 'object'
  39374. parse_JSONObjectTest();
  39375. break;
  39376. default:
  39377. parse_JSONArrayTest();
  39378. }
  39379. eventHandler.endNonterminal("JSONTest", e0);
  39380. }
  39381. function try_JSONTest()
  39382. {
  39383. switch (l1)
  39384. {
  39385. case 167: // 'json-item'
  39386. try_JSONItemTest();
  39387. break;
  39388. case 194: // 'object'
  39389. try_JSONObjectTest();
  39390. break;
  39391. default:
  39392. try_JSONArrayTest();
  39393. }
  39394. }
  39395. function parse_StructuredItemTest()
  39396. {
  39397. eventHandler.startNonterminal("StructuredItemTest", e0);
  39398. shift(242); // 'structured-item'
  39399. lookahead1W(22); // S^WS | '(' | '(:'
  39400. shift(34); // '('
  39401. lookahead1W(23); // S^WS | '(:' | ')'
  39402. shift(37); // ')'
  39403. eventHandler.endNonterminal("StructuredItemTest", e0);
  39404. }
  39405. function try_StructuredItemTest()
  39406. {
  39407. shiftT(242); // 'structured-item'
  39408. lookahead1W(22); // S^WS | '(' | '(:'
  39409. shiftT(34); // '('
  39410. lookahead1W(23); // S^WS | '(:' | ')'
  39411. shiftT(37); // ')'
  39412. }
  39413. function parse_JSONItemTest()
  39414. {
  39415. eventHandler.startNonterminal("JSONItemTest", e0);
  39416. shift(167); // 'json-item'
  39417. lookahead1W(22); // S^WS | '(' | '(:'
  39418. shift(34); // '('
  39419. lookahead1W(23); // S^WS | '(:' | ')'
  39420. shift(37); // ')'
  39421. eventHandler.endNonterminal("JSONItemTest", e0);
  39422. }
  39423. function try_JSONItemTest()
  39424. {
  39425. shiftT(167); // 'json-item'
  39426. lookahead1W(22); // S^WS | '(' | '(:'
  39427. shiftT(34); // '('
  39428. lookahead1W(23); // S^WS | '(:' | ')'
  39429. shiftT(37); // ')'
  39430. }
  39431. function parse_JSONObjectTest()
  39432. {
  39433. eventHandler.startNonterminal("JSONObjectTest", e0);
  39434. shift(194); // 'object'
  39435. lookahead1W(22); // S^WS | '(' | '(:'
  39436. shift(34); // '('
  39437. lookahead1W(23); // S^WS | '(:' | ')'
  39438. shift(37); // ')'
  39439. eventHandler.endNonterminal("JSONObjectTest", e0);
  39440. }
  39441. function try_JSONObjectTest()
  39442. {
  39443. shiftT(194); // 'object'
  39444. lookahead1W(22); // S^WS | '(' | '(:'
  39445. shiftT(34); // '('
  39446. lookahead1W(23); // S^WS | '(:' | ')'
  39447. shiftT(37); // ')'
  39448. }
  39449. function parse_JSONArrayTest()
  39450. {
  39451. eventHandler.startNonterminal("JSONArrayTest", e0);
  39452. shift(78); // 'array'
  39453. lookahead1W(22); // S^WS | '(' | '(:'
  39454. shift(34); // '('
  39455. lookahead1W(23); // S^WS | '(:' | ')'
  39456. shift(37); // ')'
  39457. eventHandler.endNonterminal("JSONArrayTest", e0);
  39458. }
  39459. function try_JSONArrayTest()
  39460. {
  39461. shiftT(78); // 'array'
  39462. lookahead1W(22); // S^WS | '(' | '(:'
  39463. shiftT(34); // '('
  39464. lookahead1W(23); // S^WS | '(:' | ')'
  39465. shiftT(37); // ')'
  39466. }
  39467. function parse_AtomicOrUnionType()
  39468. {
  39469. eventHandler.startNonterminal("AtomicOrUnionType", e0);
  39470. parse_EQName();
  39471. eventHandler.endNonterminal("AtomicOrUnionType", e0);
  39472. }
  39473. function try_AtomicOrUnionType()
  39474. {
  39475. try_EQName();
  39476. }
  39477. function parse_KindTest()
  39478. {
  39479. eventHandler.startNonterminal("KindTest", e0);
  39480. switch (l1)
  39481. {
  39482. case 120: // 'document-node'
  39483. parse_DocumentTest();
  39484. break;
  39485. case 121: // 'element'
  39486. parse_ElementTest();
  39487. break;
  39488. case 82: // 'attribute'
  39489. parse_AttributeTest();
  39490. break;
  39491. case 227: // 'schema-element'
  39492. parse_SchemaElementTest();
  39493. break;
  39494. case 226: // 'schema-attribute'
  39495. parse_SchemaAttributeTest();
  39496. break;
  39497. case 216: // 'processing-instruction'
  39498. parse_PITest();
  39499. break;
  39500. case 96: // 'comment'
  39501. parse_CommentTest();
  39502. break;
  39503. case 244: // 'text'
  39504. parse_TextTest();
  39505. break;
  39506. case 185: // 'namespace-node'
  39507. parse_NamespaceNodeTest();
  39508. break;
  39509. default:
  39510. parse_AnyKindTest();
  39511. }
  39512. eventHandler.endNonterminal("KindTest", e0);
  39513. }
  39514. function try_KindTest()
  39515. {
  39516. switch (l1)
  39517. {
  39518. case 120: // 'document-node'
  39519. try_DocumentTest();
  39520. break;
  39521. case 121: // 'element'
  39522. try_ElementTest();
  39523. break;
  39524. case 82: // 'attribute'
  39525. try_AttributeTest();
  39526. break;
  39527. case 227: // 'schema-element'
  39528. try_SchemaElementTest();
  39529. break;
  39530. case 226: // 'schema-attribute'
  39531. try_SchemaAttributeTest();
  39532. break;
  39533. case 216: // 'processing-instruction'
  39534. try_PITest();
  39535. break;
  39536. case 96: // 'comment'
  39537. try_CommentTest();
  39538. break;
  39539. case 244: // 'text'
  39540. try_TextTest();
  39541. break;
  39542. case 185: // 'namespace-node'
  39543. try_NamespaceNodeTest();
  39544. break;
  39545. default:
  39546. try_AnyKindTest();
  39547. }
  39548. }
  39549. function parse_AnyKindTest()
  39550. {
  39551. eventHandler.startNonterminal("AnyKindTest", e0);
  39552. shift(191); // 'node'
  39553. lookahead1W(22); // S^WS | '(' | '(:'
  39554. shift(34); // '('
  39555. lookahead1W(23); // S^WS | '(:' | ')'
  39556. shift(37); // ')'
  39557. eventHandler.endNonterminal("AnyKindTest", e0);
  39558. }
  39559. function try_AnyKindTest()
  39560. {
  39561. shiftT(191); // 'node'
  39562. lookahead1W(22); // S^WS | '(' | '(:'
  39563. shiftT(34); // '('
  39564. lookahead1W(23); // S^WS | '(:' | ')'
  39565. shiftT(37); // ')'
  39566. }
  39567. function parse_DocumentTest()
  39568. {
  39569. eventHandler.startNonterminal("DocumentTest", e0);
  39570. shift(120); // 'document-node'
  39571. lookahead1W(22); // S^WS | '(' | '(:'
  39572. shift(34); // '('
  39573. lookahead1W(144); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  39574. if (l1 != 37) // ')'
  39575. {
  39576. switch (l1)
  39577. {
  39578. case 121: // 'element'
  39579. whitespace();
  39580. parse_ElementTest();
  39581. break;
  39582. default:
  39583. whitespace();
  39584. parse_SchemaElementTest();
  39585. }
  39586. }
  39587. lookahead1W(23); // S^WS | '(:' | ')'
  39588. shift(37); // ')'
  39589. eventHandler.endNonterminal("DocumentTest", e0);
  39590. }
  39591. function try_DocumentTest()
  39592. {
  39593. shiftT(120); // 'document-node'
  39594. lookahead1W(22); // S^WS | '(' | '(:'
  39595. shiftT(34); // '('
  39596. lookahead1W(144); // S^WS | '(:' | ')' | 'element' | 'schema-element'
  39597. if (l1 != 37) // ')'
  39598. {
  39599. switch (l1)
  39600. {
  39601. case 121: // 'element'
  39602. try_ElementTest();
  39603. break;
  39604. default:
  39605. try_SchemaElementTest();
  39606. }
  39607. }
  39608. lookahead1W(23); // S^WS | '(:' | ')'
  39609. shiftT(37); // ')'
  39610. }
  39611. function parse_TextTest()
  39612. {
  39613. eventHandler.startNonterminal("TextTest", e0);
  39614. shift(244); // 'text'
  39615. lookahead1W(22); // S^WS | '(' | '(:'
  39616. shift(34); // '('
  39617. lookahead1W(23); // S^WS | '(:' | ')'
  39618. shift(37); // ')'
  39619. eventHandler.endNonterminal("TextTest", e0);
  39620. }
  39621. function try_TextTest()
  39622. {
  39623. shiftT(244); // 'text'
  39624. lookahead1W(22); // S^WS | '(' | '(:'
  39625. shiftT(34); // '('
  39626. lookahead1W(23); // S^WS | '(:' | ')'
  39627. shiftT(37); // ')'
  39628. }
  39629. function parse_CommentTest()
  39630. {
  39631. eventHandler.startNonterminal("CommentTest", e0);
  39632. shift(96); // 'comment'
  39633. lookahead1W(22); // S^WS | '(' | '(:'
  39634. shift(34); // '('
  39635. lookahead1W(23); // S^WS | '(:' | ')'
  39636. shift(37); // ')'
  39637. eventHandler.endNonterminal("CommentTest", e0);
  39638. }
  39639. function try_CommentTest()
  39640. {
  39641. shiftT(96); // 'comment'
  39642. lookahead1W(22); // S^WS | '(' | '(:'
  39643. shiftT(34); // '('
  39644. lookahead1W(23); // S^WS | '(:' | ')'
  39645. shiftT(37); // ')'
  39646. }
  39647. function parse_NamespaceNodeTest()
  39648. {
  39649. eventHandler.startNonterminal("NamespaceNodeTest", e0);
  39650. shift(185); // 'namespace-node'
  39651. lookahead1W(22); // S^WS | '(' | '(:'
  39652. shift(34); // '('
  39653. lookahead1W(23); // S^WS | '(:' | ')'
  39654. shift(37); // ')'
  39655. eventHandler.endNonterminal("NamespaceNodeTest", e0);
  39656. }
  39657. function try_NamespaceNodeTest()
  39658. {
  39659. shiftT(185); // 'namespace-node'
  39660. lookahead1W(22); // S^WS | '(' | '(:'
  39661. shiftT(34); // '('
  39662. lookahead1W(23); // S^WS | '(:' | ')'
  39663. shiftT(37); // ')'
  39664. }
  39665. function parse_PITest()
  39666. {
  39667. eventHandler.startNonterminal("PITest", e0);
  39668. shift(216); // 'processing-instruction'
  39669. lookahead1W(22); // S^WS | '(' | '(:'
  39670. shift(34); // '('
  39671. lookahead1W(252); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  39672. if (l1 != 37) // ')'
  39673. {
  39674. switch (l1)
  39675. {
  39676. case 11: // StringLiteral
  39677. shift(11); // StringLiteral
  39678. break;
  39679. default:
  39680. whitespace();
  39681. parse_NCName();
  39682. }
  39683. }
  39684. lookahead1W(23); // S^WS | '(:' | ')'
  39685. shift(37); // ')'
  39686. eventHandler.endNonterminal("PITest", e0);
  39687. }
  39688. function try_PITest()
  39689. {
  39690. shiftT(216); // 'processing-instruction'
  39691. lookahead1W(22); // S^WS | '(' | '(:'
  39692. shiftT(34); // '('
  39693. lookahead1W(252); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
  39694. if (l1 != 37) // ')'
  39695. {
  39696. switch (l1)
  39697. {
  39698. case 11: // StringLiteral
  39699. shiftT(11); // StringLiteral
  39700. break;
  39701. default:
  39702. try_NCName();
  39703. }
  39704. }
  39705. lookahead1W(23); // S^WS | '(:' | ')'
  39706. shiftT(37); // ')'
  39707. }
  39708. function parse_AttributeTest()
  39709. {
  39710. eventHandler.startNonterminal("AttributeTest", e0);
  39711. shift(82); // 'attribute'
  39712. lookahead1W(22); // S^WS | '(' | '(:'
  39713. shift(34); // '('
  39714. lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  39715. if (l1 != 37) // ')'
  39716. {
  39717. whitespace();
  39718. parse_AttribNameOrWildcard();
  39719. lookahead1W(101); // S^WS | '(:' | ')' | ','
  39720. if (l1 == 41) // ','
  39721. {
  39722. shift(41); // ','
  39723. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39724. whitespace();
  39725. parse_TypeName();
  39726. }
  39727. }
  39728. lookahead1W(23); // S^WS | '(:' | ')'
  39729. shift(37); // ')'
  39730. eventHandler.endNonterminal("AttributeTest", e0);
  39731. }
  39732. function try_AttributeTest()
  39733. {
  39734. shiftT(82); // 'attribute'
  39735. lookahead1W(22); // S^WS | '(' | '(:'
  39736. shiftT(34); // '('
  39737. lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  39738. if (l1 != 37) // ')'
  39739. {
  39740. try_AttribNameOrWildcard();
  39741. lookahead1W(101); // S^WS | '(:' | ')' | ','
  39742. if (l1 == 41) // ','
  39743. {
  39744. shiftT(41); // ','
  39745. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39746. try_TypeName();
  39747. }
  39748. }
  39749. lookahead1W(23); // S^WS | '(:' | ')'
  39750. shiftT(37); // ')'
  39751. }
  39752. function parse_AttribNameOrWildcard()
  39753. {
  39754. eventHandler.startNonterminal("AttribNameOrWildcard", e0);
  39755. switch (l1)
  39756. {
  39757. case 38: // '*'
  39758. shift(38); // '*'
  39759. break;
  39760. default:
  39761. parse_AttributeName();
  39762. }
  39763. eventHandler.endNonterminal("AttribNameOrWildcard", e0);
  39764. }
  39765. function try_AttribNameOrWildcard()
  39766. {
  39767. switch (l1)
  39768. {
  39769. case 38: // '*'
  39770. shiftT(38); // '*'
  39771. break;
  39772. default:
  39773. try_AttributeName();
  39774. }
  39775. }
  39776. function parse_SchemaAttributeTest()
  39777. {
  39778. eventHandler.startNonterminal("SchemaAttributeTest", e0);
  39779. shift(226); // 'schema-attribute'
  39780. lookahead1W(22); // S^WS | '(' | '(:'
  39781. shift(34); // '('
  39782. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39783. whitespace();
  39784. parse_AttributeDeclaration();
  39785. lookahead1W(23); // S^WS | '(:' | ')'
  39786. shift(37); // ')'
  39787. eventHandler.endNonterminal("SchemaAttributeTest", e0);
  39788. }
  39789. function try_SchemaAttributeTest()
  39790. {
  39791. shiftT(226); // 'schema-attribute'
  39792. lookahead1W(22); // S^WS | '(' | '(:'
  39793. shiftT(34); // '('
  39794. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39795. try_AttributeDeclaration();
  39796. lookahead1W(23); // S^WS | '(:' | ')'
  39797. shiftT(37); // ')'
  39798. }
  39799. function parse_AttributeDeclaration()
  39800. {
  39801. eventHandler.startNonterminal("AttributeDeclaration", e0);
  39802. parse_AttributeName();
  39803. eventHandler.endNonterminal("AttributeDeclaration", e0);
  39804. }
  39805. function try_AttributeDeclaration()
  39806. {
  39807. try_AttributeName();
  39808. }
  39809. function parse_ElementTest()
  39810. {
  39811. eventHandler.startNonterminal("ElementTest", e0);
  39812. shift(121); // 'element'
  39813. lookahead1W(22); // S^WS | '(' | '(:'
  39814. shift(34); // '('
  39815. lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  39816. if (l1 != 37) // ')'
  39817. {
  39818. whitespace();
  39819. parse_ElementNameOrWildcard();
  39820. lookahead1W(101); // S^WS | '(:' | ')' | ','
  39821. if (l1 == 41) // ','
  39822. {
  39823. shift(41); // ','
  39824. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39825. whitespace();
  39826. parse_TypeName();
  39827. lookahead1W(102); // S^WS | '(:' | ')' | '?'
  39828. if (l1 == 64) // '?'
  39829. {
  39830. shift(64); // '?'
  39831. }
  39832. }
  39833. }
  39834. lookahead1W(23); // S^WS | '(:' | ')'
  39835. shift(37); // ')'
  39836. eventHandler.endNonterminal("ElementTest", e0);
  39837. }
  39838. function try_ElementTest()
  39839. {
  39840. shiftT(121); // 'element'
  39841. lookahead1W(22); // S^WS | '(' | '(:'
  39842. shiftT(34); // '('
  39843. lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
  39844. if (l1 != 37) // ')'
  39845. {
  39846. try_ElementNameOrWildcard();
  39847. lookahead1W(101); // S^WS | '(:' | ')' | ','
  39848. if (l1 == 41) // ','
  39849. {
  39850. shiftT(41); // ','
  39851. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39852. try_TypeName();
  39853. lookahead1W(102); // S^WS | '(:' | ')' | '?'
  39854. if (l1 == 64) // '?'
  39855. {
  39856. shiftT(64); // '?'
  39857. }
  39858. }
  39859. }
  39860. lookahead1W(23); // S^WS | '(:' | ')'
  39861. shiftT(37); // ')'
  39862. }
  39863. function parse_ElementNameOrWildcard()
  39864. {
  39865. eventHandler.startNonterminal("ElementNameOrWildcard", e0);
  39866. switch (l1)
  39867. {
  39868. case 38: // '*'
  39869. shift(38); // '*'
  39870. break;
  39871. default:
  39872. parse_ElementName();
  39873. }
  39874. eventHandler.endNonterminal("ElementNameOrWildcard", e0);
  39875. }
  39876. function try_ElementNameOrWildcard()
  39877. {
  39878. switch (l1)
  39879. {
  39880. case 38: // '*'
  39881. shiftT(38); // '*'
  39882. break;
  39883. default:
  39884. try_ElementName();
  39885. }
  39886. }
  39887. function parse_SchemaElementTest()
  39888. {
  39889. eventHandler.startNonterminal("SchemaElementTest", e0);
  39890. shift(227); // 'schema-element'
  39891. lookahead1W(22); // S^WS | '(' | '(:'
  39892. shift(34); // '('
  39893. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39894. whitespace();
  39895. parse_ElementDeclaration();
  39896. lookahead1W(23); // S^WS | '(:' | ')'
  39897. shift(37); // ')'
  39898. eventHandler.endNonterminal("SchemaElementTest", e0);
  39899. }
  39900. function try_SchemaElementTest()
  39901. {
  39902. shiftT(227); // 'schema-element'
  39903. lookahead1W(22); // S^WS | '(' | '(:'
  39904. shiftT(34); // '('
  39905. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  39906. try_ElementDeclaration();
  39907. lookahead1W(23); // S^WS | '(:' | ')'
  39908. shiftT(37); // ')'
  39909. }
  39910. function parse_ElementDeclaration()
  39911. {
  39912. eventHandler.startNonterminal("ElementDeclaration", e0);
  39913. parse_ElementName();
  39914. eventHandler.endNonterminal("ElementDeclaration", e0);
  39915. }
  39916. function try_ElementDeclaration()
  39917. {
  39918. try_ElementName();
  39919. }
  39920. function parse_AttributeName()
  39921. {
  39922. eventHandler.startNonterminal("AttributeName", e0);
  39923. parse_EQName();
  39924. eventHandler.endNonterminal("AttributeName", e0);
  39925. }
  39926. function try_AttributeName()
  39927. {
  39928. try_EQName();
  39929. }
  39930. function parse_ElementName()
  39931. {
  39932. eventHandler.startNonterminal("ElementName", e0);
  39933. parse_EQName();
  39934. eventHandler.endNonterminal("ElementName", e0);
  39935. }
  39936. function try_ElementName()
  39937. {
  39938. try_EQName();
  39939. }
  39940. function parse_SimpleTypeName()
  39941. {
  39942. eventHandler.startNonterminal("SimpleTypeName", e0);
  39943. parse_TypeName();
  39944. eventHandler.endNonterminal("SimpleTypeName", e0);
  39945. }
  39946. function try_SimpleTypeName()
  39947. {
  39948. try_TypeName();
  39949. }
  39950. function parse_TypeName()
  39951. {
  39952. eventHandler.startNonterminal("TypeName", e0);
  39953. parse_EQName();
  39954. eventHandler.endNonterminal("TypeName", e0);
  39955. }
  39956. function try_TypeName()
  39957. {
  39958. try_EQName();
  39959. }
  39960. function parse_FunctionTest()
  39961. {
  39962. eventHandler.startNonterminal("FunctionTest", e0);
  39963. for (;;)
  39964. {
  39965. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  39966. if (l1 != 32) // '%'
  39967. {
  39968. break;
  39969. }
  39970. whitespace();
  39971. parse_Annotation();
  39972. }
  39973. switch (l1)
  39974. {
  39975. case 145: // 'function'
  39976. lookahead2W(22); // S^WS | '(' | '(:'
  39977. break;
  39978. default:
  39979. lk = l1;
  39980. }
  39981. lk = memoized(5, e0);
  39982. if (lk == 0)
  39983. {
  39984. var b0A = b0; var e0A = e0; var l1A = l1;
  39985. var b1A = b1; var e1A = e1; var l2A = l2;
  39986. var b2A = b2; var e2A = e2;
  39987. try
  39988. {
  39989. try_AnyFunctionTest();
  39990. lk = -1;
  39991. }
  39992. catch (p1A)
  39993. {
  39994. lk = -2;
  39995. }
  39996. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  39997. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  39998. b2 = b2A; e2 = e2A; end = e2A; }}
  39999. memoize(5, e0, lk);
  40000. }
  40001. switch (lk)
  40002. {
  40003. case -1:
  40004. whitespace();
  40005. parse_AnyFunctionTest();
  40006. break;
  40007. default:
  40008. whitespace();
  40009. parse_TypedFunctionTest();
  40010. }
  40011. eventHandler.endNonterminal("FunctionTest", e0);
  40012. }
  40013. function try_FunctionTest()
  40014. {
  40015. for (;;)
  40016. {
  40017. lookahead1W(97); // S^WS | '%' | '(:' | 'function'
  40018. if (l1 != 32) // '%'
  40019. {
  40020. break;
  40021. }
  40022. try_Annotation();
  40023. }
  40024. switch (l1)
  40025. {
  40026. case 145: // 'function'
  40027. lookahead2W(22); // S^WS | '(' | '(:'
  40028. break;
  40029. default:
  40030. lk = l1;
  40031. }
  40032. lk = memoized(5, e0);
  40033. if (lk == 0)
  40034. {
  40035. var b0A = b0; var e0A = e0; var l1A = l1;
  40036. var b1A = b1; var e1A = e1; var l2A = l2;
  40037. var b2A = b2; var e2A = e2;
  40038. try
  40039. {
  40040. try_AnyFunctionTest();
  40041. memoize(5, e0A, -1);
  40042. lk = -3;
  40043. }
  40044. catch (p1A)
  40045. {
  40046. lk = -2;
  40047. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  40048. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  40049. b2 = b2A; e2 = e2A; end = e2A; }}
  40050. memoize(5, e0A, -2);
  40051. }
  40052. }
  40053. switch (lk)
  40054. {
  40055. case -1:
  40056. try_AnyFunctionTest();
  40057. break;
  40058. case -3:
  40059. break;
  40060. default:
  40061. try_TypedFunctionTest();
  40062. }
  40063. }
  40064. function parse_AnyFunctionTest()
  40065. {
  40066. eventHandler.startNonterminal("AnyFunctionTest", e0);
  40067. shift(145); // 'function'
  40068. lookahead1W(22); // S^WS | '(' | '(:'
  40069. shift(34); // '('
  40070. lookahead1W(24); // S^WS | '(:' | '*'
  40071. shift(38); // '*'
  40072. lookahead1W(23); // S^WS | '(:' | ')'
  40073. shift(37); // ')'
  40074. eventHandler.endNonterminal("AnyFunctionTest", e0);
  40075. }
  40076. function try_AnyFunctionTest()
  40077. {
  40078. shiftT(145); // 'function'
  40079. lookahead1W(22); // S^WS | '(' | '(:'
  40080. shiftT(34); // '('
  40081. lookahead1W(24); // S^WS | '(:' | '*'
  40082. shiftT(38); // '*'
  40083. lookahead1W(23); // S^WS | '(:' | ')'
  40084. shiftT(37); // ')'
  40085. }
  40086. function parse_TypedFunctionTest()
  40087. {
  40088. eventHandler.startNonterminal("TypedFunctionTest", e0);
  40089. shift(145); // 'function'
  40090. lookahead1W(22); // S^WS | '(' | '(:'
  40091. shift(34); // '('
  40092. lookahead1W(262); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  40093. if (l1 != 37) // ')'
  40094. {
  40095. whitespace();
  40096. parse_SequenceType();
  40097. for (;;)
  40098. {
  40099. lookahead1W(101); // S^WS | '(:' | ')' | ','
  40100. if (l1 != 41) // ','
  40101. {
  40102. break;
  40103. }
  40104. shift(41); // ','
  40105. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  40106. whitespace();
  40107. parse_SequenceType();
  40108. }
  40109. }
  40110. shift(37); // ')'
  40111. lookahead1W(30); // S^WS | '(:' | 'as'
  40112. shift(79); // 'as'
  40113. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  40114. whitespace();
  40115. parse_SequenceType();
  40116. eventHandler.endNonterminal("TypedFunctionTest", e0);
  40117. }
  40118. function try_TypedFunctionTest()
  40119. {
  40120. shiftT(145); // 'function'
  40121. lookahead1W(22); // S^WS | '(' | '(:'
  40122. shiftT(34); // '('
  40123. lookahead1W(262); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
  40124. if (l1 != 37) // ')'
  40125. {
  40126. try_SequenceType();
  40127. for (;;)
  40128. {
  40129. lookahead1W(101); // S^WS | '(:' | ')' | ','
  40130. if (l1 != 41) // ','
  40131. {
  40132. break;
  40133. }
  40134. shiftT(41); // ','
  40135. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  40136. try_SequenceType();
  40137. }
  40138. }
  40139. shiftT(37); // ')'
  40140. lookahead1W(30); // S^WS | '(:' | 'as'
  40141. shiftT(79); // 'as'
  40142. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  40143. try_SequenceType();
  40144. }
  40145. function parse_ParenthesizedItemType()
  40146. {
  40147. eventHandler.startNonterminal("ParenthesizedItemType", e0);
  40148. shift(34); // '('
  40149. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  40150. whitespace();
  40151. parse_ItemType();
  40152. lookahead1W(23); // S^WS | '(:' | ')'
  40153. shift(37); // ')'
  40154. eventHandler.endNonterminal("ParenthesizedItemType", e0);
  40155. }
  40156. function try_ParenthesizedItemType()
  40157. {
  40158. shiftT(34); // '('
  40159. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  40160. try_ItemType();
  40161. lookahead1W(23); // S^WS | '(:' | ')'
  40162. shiftT(37); // ')'
  40163. }
  40164. function parse_RevalidationDecl()
  40165. {
  40166. eventHandler.startNonterminal("RevalidationDecl", e0);
  40167. shift(108); // 'declare'
  40168. lookahead1W(72); // S^WS | '(:' | 'revalidation'
  40169. shift(222); // 'revalidation'
  40170. lookahead1W(152); // S^WS | '(:' | 'lax' | 'skip' | 'strict'
  40171. switch (l1)
  40172. {
  40173. case 240: // 'strict'
  40174. shift(240); // 'strict'
  40175. break;
  40176. case 171: // 'lax'
  40177. shift(171); // 'lax'
  40178. break;
  40179. default:
  40180. shift(233); // 'skip'
  40181. }
  40182. eventHandler.endNonterminal("RevalidationDecl", e0);
  40183. }
  40184. function parse_InsertExprTargetChoice()
  40185. {
  40186. eventHandler.startNonterminal("InsertExprTargetChoice", e0);
  40187. switch (l1)
  40188. {
  40189. case 70: // 'after'
  40190. shift(70); // 'after'
  40191. break;
  40192. case 84: // 'before'
  40193. shift(84); // 'before'
  40194. break;
  40195. default:
  40196. if (l1 == 79) // 'as'
  40197. {
  40198. shift(79); // 'as'
  40199. lookahead1W(119); // S^WS | '(:' | 'first' | 'last'
  40200. switch (l1)
  40201. {
  40202. case 134: // 'first'
  40203. shift(134); // 'first'
  40204. break;
  40205. default:
  40206. shift(170); // 'last'
  40207. }
  40208. }
  40209. lookahead1W(54); // S^WS | '(:' | 'into'
  40210. shift(163); // 'into'
  40211. }
  40212. eventHandler.endNonterminal("InsertExprTargetChoice", e0);
  40213. }
  40214. function try_InsertExprTargetChoice()
  40215. {
  40216. switch (l1)
  40217. {
  40218. case 70: // 'after'
  40219. shiftT(70); // 'after'
  40220. break;
  40221. case 84: // 'before'
  40222. shiftT(84); // 'before'
  40223. break;
  40224. default:
  40225. if (l1 == 79) // 'as'
  40226. {
  40227. shiftT(79); // 'as'
  40228. lookahead1W(119); // S^WS | '(:' | 'first' | 'last'
  40229. switch (l1)
  40230. {
  40231. case 134: // 'first'
  40232. shiftT(134); // 'first'
  40233. break;
  40234. default:
  40235. shiftT(170); // 'last'
  40236. }
  40237. }
  40238. lookahead1W(54); // S^WS | '(:' | 'into'
  40239. shiftT(163); // 'into'
  40240. }
  40241. }
  40242. function parse_InsertExpr()
  40243. {
  40244. eventHandler.startNonterminal("InsertExpr", e0);
  40245. shift(159); // 'insert'
  40246. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  40247. switch (l1)
  40248. {
  40249. case 191: // 'node'
  40250. shift(191); // 'node'
  40251. break;
  40252. default:
  40253. shift(192); // 'nodes'
  40254. }
  40255. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40256. whitespace();
  40257. parse_SourceExpr();
  40258. whitespace();
  40259. parse_InsertExprTargetChoice();
  40260. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40261. whitespace();
  40262. parse_TargetExpr();
  40263. eventHandler.endNonterminal("InsertExpr", e0);
  40264. }
  40265. function try_InsertExpr()
  40266. {
  40267. shiftT(159); // 'insert'
  40268. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  40269. switch (l1)
  40270. {
  40271. case 191: // 'node'
  40272. shiftT(191); // 'node'
  40273. break;
  40274. default:
  40275. shiftT(192); // 'nodes'
  40276. }
  40277. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40278. try_SourceExpr();
  40279. try_InsertExprTargetChoice();
  40280. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40281. try_TargetExpr();
  40282. }
  40283. function parse_DeleteExpr()
  40284. {
  40285. eventHandler.startNonterminal("DeleteExpr", e0);
  40286. shift(110); // 'delete'
  40287. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  40288. switch (l1)
  40289. {
  40290. case 191: // 'node'
  40291. shift(191); // 'node'
  40292. break;
  40293. default:
  40294. shift(192); // 'nodes'
  40295. }
  40296. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40297. whitespace();
  40298. parse_TargetExpr();
  40299. eventHandler.endNonterminal("DeleteExpr", e0);
  40300. }
  40301. function try_DeleteExpr()
  40302. {
  40303. shiftT(110); // 'delete'
  40304. lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
  40305. switch (l1)
  40306. {
  40307. case 191: // 'node'
  40308. shiftT(191); // 'node'
  40309. break;
  40310. default:
  40311. shiftT(192); // 'nodes'
  40312. }
  40313. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40314. try_TargetExpr();
  40315. }
  40316. function parse_ReplaceExpr()
  40317. {
  40318. eventHandler.startNonterminal("ReplaceExpr", e0);
  40319. shift(219); // 'replace'
  40320. lookahead1W(130); // S^WS | '(:' | 'node' | 'value'
  40321. if (l1 == 261) // 'value'
  40322. {
  40323. shift(261); // 'value'
  40324. lookahead1W(64); // S^WS | '(:' | 'of'
  40325. shift(196); // 'of'
  40326. }
  40327. lookahead1W(62); // S^WS | '(:' | 'node'
  40328. shift(191); // 'node'
  40329. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40330. whitespace();
  40331. parse_TargetExpr();
  40332. shift(270); // 'with'
  40333. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40334. whitespace();
  40335. parse_ExprSingle();
  40336. eventHandler.endNonterminal("ReplaceExpr", e0);
  40337. }
  40338. function try_ReplaceExpr()
  40339. {
  40340. shiftT(219); // 'replace'
  40341. lookahead1W(130); // S^WS | '(:' | 'node' | 'value'
  40342. if (l1 == 261) // 'value'
  40343. {
  40344. shiftT(261); // 'value'
  40345. lookahead1W(64); // S^WS | '(:' | 'of'
  40346. shiftT(196); // 'of'
  40347. }
  40348. lookahead1W(62); // S^WS | '(:' | 'node'
  40349. shiftT(191); // 'node'
  40350. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40351. try_TargetExpr();
  40352. shiftT(270); // 'with'
  40353. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40354. try_ExprSingle();
  40355. }
  40356. function parse_RenameExpr()
  40357. {
  40358. eventHandler.startNonterminal("RenameExpr", e0);
  40359. shift(218); // 'rename'
  40360. lookahead1W(62); // S^WS | '(:' | 'node'
  40361. shift(191); // 'node'
  40362. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40363. whitespace();
  40364. parse_TargetExpr();
  40365. shift(79); // 'as'
  40366. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40367. whitespace();
  40368. parse_NewNameExpr();
  40369. eventHandler.endNonterminal("RenameExpr", e0);
  40370. }
  40371. function try_RenameExpr()
  40372. {
  40373. shiftT(218); // 'rename'
  40374. lookahead1W(62); // S^WS | '(:' | 'node'
  40375. shiftT(191); // 'node'
  40376. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40377. try_TargetExpr();
  40378. shiftT(79); // 'as'
  40379. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40380. try_NewNameExpr();
  40381. }
  40382. function parse_SourceExpr()
  40383. {
  40384. eventHandler.startNonterminal("SourceExpr", e0);
  40385. parse_ExprSingle();
  40386. eventHandler.endNonterminal("SourceExpr", e0);
  40387. }
  40388. function try_SourceExpr()
  40389. {
  40390. try_ExprSingle();
  40391. }
  40392. function parse_TargetExpr()
  40393. {
  40394. eventHandler.startNonterminal("TargetExpr", e0);
  40395. parse_ExprSingle();
  40396. eventHandler.endNonterminal("TargetExpr", e0);
  40397. }
  40398. function try_TargetExpr()
  40399. {
  40400. try_ExprSingle();
  40401. }
  40402. function parse_NewNameExpr()
  40403. {
  40404. eventHandler.startNonterminal("NewNameExpr", e0);
  40405. parse_ExprSingle();
  40406. eventHandler.endNonterminal("NewNameExpr", e0);
  40407. }
  40408. function try_NewNameExpr()
  40409. {
  40410. try_ExprSingle();
  40411. }
  40412. function parse_TransformExpr()
  40413. {
  40414. eventHandler.startNonterminal("TransformExpr", e0);
  40415. shift(103); // 'copy'
  40416. lookahead1W(21); // S^WS | '$' | '(:'
  40417. whitespace();
  40418. parse_TransformSpec();
  40419. for (;;)
  40420. {
  40421. if (l1 != 41) // ','
  40422. {
  40423. break;
  40424. }
  40425. shift(41); // ','
  40426. lookahead1W(21); // S^WS | '$' | '(:'
  40427. whitespace();
  40428. parse_TransformSpec();
  40429. }
  40430. shift(181); // 'modify'
  40431. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40432. whitespace();
  40433. parse_ExprSingle();
  40434. shift(220); // 'return'
  40435. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40436. whitespace();
  40437. parse_ExprSingle();
  40438. eventHandler.endNonterminal("TransformExpr", e0);
  40439. }
  40440. function try_TransformExpr()
  40441. {
  40442. shiftT(103); // 'copy'
  40443. lookahead1W(21); // S^WS | '$' | '(:'
  40444. try_TransformSpec();
  40445. for (;;)
  40446. {
  40447. if (l1 != 41) // ','
  40448. {
  40449. break;
  40450. }
  40451. shiftT(41); // ','
  40452. lookahead1W(21); // S^WS | '$' | '(:'
  40453. try_TransformSpec();
  40454. }
  40455. shiftT(181); // 'modify'
  40456. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40457. try_ExprSingle();
  40458. shiftT(220); // 'return'
  40459. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40460. try_ExprSingle();
  40461. }
  40462. function parse_TransformSpec()
  40463. {
  40464. eventHandler.startNonterminal("TransformSpec", e0);
  40465. shift(31); // '$'
  40466. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  40467. whitespace();
  40468. parse_VarName();
  40469. lookahead1W(27); // S^WS | '(:' | ':='
  40470. shift(52); // ':='
  40471. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40472. whitespace();
  40473. parse_ExprSingle();
  40474. eventHandler.endNonterminal("TransformSpec", e0);
  40475. }
  40476. function try_TransformSpec()
  40477. {
  40478. shiftT(31); // '$'
  40479. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  40480. try_VarName();
  40481. lookahead1W(27); // S^WS | '(:' | ':='
  40482. shiftT(52); // ':='
  40483. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40484. try_ExprSingle();
  40485. }
  40486. function parse_FTSelection()
  40487. {
  40488. eventHandler.startNonterminal("FTSelection", e0);
  40489. parse_FTOr();
  40490. for (;;)
  40491. {
  40492. lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40493. switch (l1)
  40494. {
  40495. case 81: // 'at'
  40496. lookahead2W(151); // S^WS | '(:' | 'end' | 'position' | 'start'
  40497. break;
  40498. default:
  40499. lk = l1;
  40500. }
  40501. if (lk != 115 // 'different'
  40502. && lk != 117 // 'distance'
  40503. && lk != 127 // 'entire'
  40504. && lk != 202 // 'ordered'
  40505. && lk != 223 // 'same'
  40506. && lk != 269 // 'window'
  40507. && lk != 64593 // 'at' 'end'
  40508. && lk != 121425) // 'at' 'start'
  40509. {
  40510. break;
  40511. }
  40512. whitespace();
  40513. parse_FTPosFilter();
  40514. }
  40515. eventHandler.endNonterminal("FTSelection", e0);
  40516. }
  40517. function try_FTSelection()
  40518. {
  40519. try_FTOr();
  40520. for (;;)
  40521. {
  40522. lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40523. switch (l1)
  40524. {
  40525. case 81: // 'at'
  40526. lookahead2W(151); // S^WS | '(:' | 'end' | 'position' | 'start'
  40527. break;
  40528. default:
  40529. lk = l1;
  40530. }
  40531. if (lk != 115 // 'different'
  40532. && lk != 117 // 'distance'
  40533. && lk != 127 // 'entire'
  40534. && lk != 202 // 'ordered'
  40535. && lk != 223 // 'same'
  40536. && lk != 269 // 'window'
  40537. && lk != 64593 // 'at' 'end'
  40538. && lk != 121425) // 'at' 'start'
  40539. {
  40540. break;
  40541. }
  40542. try_FTPosFilter();
  40543. }
  40544. }
  40545. function parse_FTWeight()
  40546. {
  40547. eventHandler.startNonterminal("FTWeight", e0);
  40548. shift(264); // 'weight'
  40549. lookahead1W(87); // S^WS | '(:' | '{'
  40550. shift(276); // '{'
  40551. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40552. whitespace();
  40553. parse_Expr();
  40554. shift(282); // '}'
  40555. eventHandler.endNonterminal("FTWeight", e0);
  40556. }
  40557. function try_FTWeight()
  40558. {
  40559. shiftT(264); // 'weight'
  40560. lookahead1W(87); // S^WS | '(:' | '{'
  40561. shiftT(276); // '{'
  40562. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40563. try_Expr();
  40564. shiftT(282); // '}'
  40565. }
  40566. function parse_FTOr()
  40567. {
  40568. eventHandler.startNonterminal("FTOr", e0);
  40569. parse_FTAnd();
  40570. for (;;)
  40571. {
  40572. if (l1 != 144) // 'ftor'
  40573. {
  40574. break;
  40575. }
  40576. shift(144); // 'ftor'
  40577. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40578. whitespace();
  40579. parse_FTAnd();
  40580. }
  40581. eventHandler.endNonterminal("FTOr", e0);
  40582. }
  40583. function try_FTOr()
  40584. {
  40585. try_FTAnd();
  40586. for (;;)
  40587. {
  40588. if (l1 != 144) // 'ftor'
  40589. {
  40590. break;
  40591. }
  40592. shiftT(144); // 'ftor'
  40593. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40594. try_FTAnd();
  40595. }
  40596. }
  40597. function parse_FTAnd()
  40598. {
  40599. eventHandler.startNonterminal("FTAnd", e0);
  40600. parse_FTMildNot();
  40601. for (;;)
  40602. {
  40603. if (l1 != 142) // 'ftand'
  40604. {
  40605. break;
  40606. }
  40607. shift(142); // 'ftand'
  40608. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40609. whitespace();
  40610. parse_FTMildNot();
  40611. }
  40612. eventHandler.endNonterminal("FTAnd", e0);
  40613. }
  40614. function try_FTAnd()
  40615. {
  40616. try_FTMildNot();
  40617. for (;;)
  40618. {
  40619. if (l1 != 142) // 'ftand'
  40620. {
  40621. break;
  40622. }
  40623. shiftT(142); // 'ftand'
  40624. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40625. try_FTMildNot();
  40626. }
  40627. }
  40628. function parse_FTMildNot()
  40629. {
  40630. eventHandler.startNonterminal("FTMildNot", e0);
  40631. parse_FTUnaryNot();
  40632. for (;;)
  40633. {
  40634. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40635. if (l1 != 193) // 'not'
  40636. {
  40637. break;
  40638. }
  40639. shift(193); // 'not'
  40640. lookahead1W(53); // S^WS | '(:' | 'in'
  40641. shift(154); // 'in'
  40642. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40643. whitespace();
  40644. parse_FTUnaryNot();
  40645. }
  40646. eventHandler.endNonterminal("FTMildNot", e0);
  40647. }
  40648. function try_FTMildNot()
  40649. {
  40650. try_FTUnaryNot();
  40651. for (;;)
  40652. {
  40653. lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40654. if (l1 != 193) // 'not'
  40655. {
  40656. break;
  40657. }
  40658. shiftT(193); // 'not'
  40659. lookahead1W(53); // S^WS | '(:' | 'in'
  40660. shiftT(154); // 'in'
  40661. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40662. try_FTUnaryNot();
  40663. }
  40664. }
  40665. function parse_FTUnaryNot()
  40666. {
  40667. eventHandler.startNonterminal("FTUnaryNot", e0);
  40668. if (l1 == 143) // 'ftnot'
  40669. {
  40670. shift(143); // 'ftnot'
  40671. }
  40672. lookahead1W(155); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  40673. whitespace();
  40674. parse_FTPrimaryWithOptions();
  40675. eventHandler.endNonterminal("FTUnaryNot", e0);
  40676. }
  40677. function try_FTUnaryNot()
  40678. {
  40679. if (l1 == 143) // 'ftnot'
  40680. {
  40681. shiftT(143); // 'ftnot'
  40682. }
  40683. lookahead1W(155); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
  40684. try_FTPrimaryWithOptions();
  40685. }
  40686. function parse_FTPrimaryWithOptions()
  40687. {
  40688. eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
  40689. parse_FTPrimary();
  40690. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40691. if (l1 == 259) // 'using'
  40692. {
  40693. whitespace();
  40694. parse_FTMatchOptions();
  40695. }
  40696. if (l1 == 264) // 'weight'
  40697. {
  40698. whitespace();
  40699. parse_FTWeight();
  40700. }
  40701. eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
  40702. }
  40703. function try_FTPrimaryWithOptions()
  40704. {
  40705. try_FTPrimary();
  40706. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40707. if (l1 == 259) // 'using'
  40708. {
  40709. try_FTMatchOptions();
  40710. }
  40711. if (l1 == 264) // 'weight'
  40712. {
  40713. try_FTWeight();
  40714. }
  40715. }
  40716. function parse_FTPrimary()
  40717. {
  40718. eventHandler.startNonterminal("FTPrimary", e0);
  40719. switch (l1)
  40720. {
  40721. case 34: // '('
  40722. shift(34); // '('
  40723. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40724. whitespace();
  40725. parse_FTSelection();
  40726. shift(37); // ')'
  40727. break;
  40728. case 35: // '(#'
  40729. parse_FTExtensionSelection();
  40730. break;
  40731. default:
  40732. parse_FTWords();
  40733. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40734. if (l1 == 195) // 'occurs'
  40735. {
  40736. whitespace();
  40737. parse_FTTimes();
  40738. }
  40739. }
  40740. eventHandler.endNonterminal("FTPrimary", e0);
  40741. }
  40742. function try_FTPrimary()
  40743. {
  40744. switch (l1)
  40745. {
  40746. case 34: // '('
  40747. shiftT(34); // '('
  40748. lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
  40749. try_FTSelection();
  40750. shiftT(37); // ')'
  40751. break;
  40752. case 35: // '(#'
  40753. try_FTExtensionSelection();
  40754. break;
  40755. default:
  40756. try_FTWords();
  40757. lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40758. if (l1 == 195) // 'occurs'
  40759. {
  40760. try_FTTimes();
  40761. }
  40762. }
  40763. }
  40764. function parse_FTWords()
  40765. {
  40766. eventHandler.startNonterminal("FTWords", e0);
  40767. parse_FTWordsValue();
  40768. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40769. if (l1 == 71 // 'all'
  40770. || l1 == 76 // 'any'
  40771. || l1 == 210) // 'phrase'
  40772. {
  40773. whitespace();
  40774. parse_FTAnyallOption();
  40775. }
  40776. eventHandler.endNonterminal("FTWords", e0);
  40777. }
  40778. function try_FTWords()
  40779. {
  40780. try_FTWordsValue();
  40781. lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40782. if (l1 == 71 // 'all'
  40783. || l1 == 76 // 'any'
  40784. || l1 == 210) // 'phrase'
  40785. {
  40786. try_FTAnyallOption();
  40787. }
  40788. }
  40789. function parse_FTWordsValue()
  40790. {
  40791. eventHandler.startNonterminal("FTWordsValue", e0);
  40792. switch (l1)
  40793. {
  40794. case 11: // StringLiteral
  40795. shift(11); // StringLiteral
  40796. break;
  40797. default:
  40798. shift(276); // '{'
  40799. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40800. whitespace();
  40801. parse_Expr();
  40802. shift(282); // '}'
  40803. }
  40804. eventHandler.endNonterminal("FTWordsValue", e0);
  40805. }
  40806. function try_FTWordsValue()
  40807. {
  40808. switch (l1)
  40809. {
  40810. case 11: // StringLiteral
  40811. shiftT(11); // StringLiteral
  40812. break;
  40813. default:
  40814. shiftT(276); // '{'
  40815. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40816. try_Expr();
  40817. shiftT(282); // '}'
  40818. }
  40819. }
  40820. function parse_FTExtensionSelection()
  40821. {
  40822. eventHandler.startNonterminal("FTExtensionSelection", e0);
  40823. for (;;)
  40824. {
  40825. whitespace();
  40826. parse_Pragma();
  40827. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  40828. if (l1 != 35) // '(#'
  40829. {
  40830. break;
  40831. }
  40832. }
  40833. shift(276); // '{'
  40834. lookahead1W(166); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  40835. if (l1 != 282) // '}'
  40836. {
  40837. whitespace();
  40838. parse_FTSelection();
  40839. }
  40840. shift(282); // '}'
  40841. eventHandler.endNonterminal("FTExtensionSelection", e0);
  40842. }
  40843. function try_FTExtensionSelection()
  40844. {
  40845. for (;;)
  40846. {
  40847. try_Pragma();
  40848. lookahead1W(100); // S^WS | '(#' | '(:' | '{'
  40849. if (l1 != 35) // '(#'
  40850. {
  40851. break;
  40852. }
  40853. }
  40854. shiftT(276); // '{'
  40855. lookahead1W(166); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
  40856. if (l1 != 282) // '}'
  40857. {
  40858. try_FTSelection();
  40859. }
  40860. shiftT(282); // '}'
  40861. }
  40862. function parse_FTAnyallOption()
  40863. {
  40864. eventHandler.startNonterminal("FTAnyallOption", e0);
  40865. switch (l1)
  40866. {
  40867. case 76: // 'any'
  40868. shift(76); // 'any'
  40869. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40870. if (l1 == 272) // 'word'
  40871. {
  40872. shift(272); // 'word'
  40873. }
  40874. break;
  40875. case 71: // 'all'
  40876. shift(71); // 'all'
  40877. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40878. if (l1 == 273) // 'words'
  40879. {
  40880. shift(273); // 'words'
  40881. }
  40882. break;
  40883. default:
  40884. shift(210); // 'phrase'
  40885. }
  40886. eventHandler.endNonterminal("FTAnyallOption", e0);
  40887. }
  40888. function try_FTAnyallOption()
  40889. {
  40890. switch (l1)
  40891. {
  40892. case 76: // 'any'
  40893. shiftT(76); // 'any'
  40894. lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40895. if (l1 == 272) // 'word'
  40896. {
  40897. shiftT(272); // 'word'
  40898. }
  40899. break;
  40900. case 71: // 'all'
  40901. shiftT(71); // 'all'
  40902. lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  40903. if (l1 == 273) // 'words'
  40904. {
  40905. shiftT(273); // 'words'
  40906. }
  40907. break;
  40908. default:
  40909. shiftT(210); // 'phrase'
  40910. }
  40911. }
  40912. function parse_FTTimes()
  40913. {
  40914. eventHandler.startNonterminal("FTTimes", e0);
  40915. shift(195); // 'occurs'
  40916. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  40917. whitespace();
  40918. parse_FTRange();
  40919. shift(247); // 'times'
  40920. eventHandler.endNonterminal("FTTimes", e0);
  40921. }
  40922. function try_FTTimes()
  40923. {
  40924. shiftT(195); // 'occurs'
  40925. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  40926. try_FTRange();
  40927. shiftT(247); // 'times'
  40928. }
  40929. function parse_FTRange()
  40930. {
  40931. eventHandler.startNonterminal("FTRange", e0);
  40932. switch (l1)
  40933. {
  40934. case 130: // 'exactly'
  40935. shift(130); // 'exactly'
  40936. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40937. whitespace();
  40938. parse_AdditiveExpr();
  40939. break;
  40940. case 81: // 'at'
  40941. shift(81); // 'at'
  40942. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  40943. switch (l1)
  40944. {
  40945. case 173: // 'least'
  40946. shift(173); // 'least'
  40947. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40948. whitespace();
  40949. parse_AdditiveExpr();
  40950. break;
  40951. default:
  40952. shift(183); // 'most'
  40953. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40954. whitespace();
  40955. parse_AdditiveExpr();
  40956. }
  40957. break;
  40958. default:
  40959. shift(140); // 'from'
  40960. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40961. whitespace();
  40962. parse_AdditiveExpr();
  40963. shift(248); // 'to'
  40964. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40965. whitespace();
  40966. parse_AdditiveExpr();
  40967. }
  40968. eventHandler.endNonterminal("FTRange", e0);
  40969. }
  40970. function try_FTRange()
  40971. {
  40972. switch (l1)
  40973. {
  40974. case 130: // 'exactly'
  40975. shiftT(130); // 'exactly'
  40976. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40977. try_AdditiveExpr();
  40978. break;
  40979. case 81: // 'at'
  40980. shiftT(81); // 'at'
  40981. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  40982. switch (l1)
  40983. {
  40984. case 173: // 'least'
  40985. shiftT(173); // 'least'
  40986. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40987. try_AdditiveExpr();
  40988. break;
  40989. default:
  40990. shiftT(183); // 'most'
  40991. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40992. try_AdditiveExpr();
  40993. }
  40994. break;
  40995. default:
  40996. shiftT(140); // 'from'
  40997. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  40998. try_AdditiveExpr();
  40999. shiftT(248); // 'to'
  41000. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  41001. try_AdditiveExpr();
  41002. }
  41003. }
  41004. function parse_FTPosFilter()
  41005. {
  41006. eventHandler.startNonterminal("FTPosFilter", e0);
  41007. switch (l1)
  41008. {
  41009. case 202: // 'ordered'
  41010. parse_FTOrder();
  41011. break;
  41012. case 269: // 'window'
  41013. parse_FTWindow();
  41014. break;
  41015. case 117: // 'distance'
  41016. parse_FTDistance();
  41017. break;
  41018. case 115: // 'different'
  41019. case 223: // 'same'
  41020. parse_FTScope();
  41021. break;
  41022. default:
  41023. parse_FTContent();
  41024. }
  41025. eventHandler.endNonterminal("FTPosFilter", e0);
  41026. }
  41027. function try_FTPosFilter()
  41028. {
  41029. switch (l1)
  41030. {
  41031. case 202: // 'ordered'
  41032. try_FTOrder();
  41033. break;
  41034. case 269: // 'window'
  41035. try_FTWindow();
  41036. break;
  41037. case 117: // 'distance'
  41038. try_FTDistance();
  41039. break;
  41040. case 115: // 'different'
  41041. case 223: // 'same'
  41042. try_FTScope();
  41043. break;
  41044. default:
  41045. try_FTContent();
  41046. }
  41047. }
  41048. function parse_FTOrder()
  41049. {
  41050. eventHandler.startNonterminal("FTOrder", e0);
  41051. shift(202); // 'ordered'
  41052. eventHandler.endNonterminal("FTOrder", e0);
  41053. }
  41054. function try_FTOrder()
  41055. {
  41056. shiftT(202); // 'ordered'
  41057. }
  41058. function parse_FTWindow()
  41059. {
  41060. eventHandler.startNonterminal("FTWindow", e0);
  41061. shift(269); // 'window'
  41062. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  41063. whitespace();
  41064. parse_AdditiveExpr();
  41065. whitespace();
  41066. parse_FTUnit();
  41067. eventHandler.endNonterminal("FTWindow", e0);
  41068. }
  41069. function try_FTWindow()
  41070. {
  41071. shiftT(269); // 'window'
  41072. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  41073. try_AdditiveExpr();
  41074. try_FTUnit();
  41075. }
  41076. function parse_FTDistance()
  41077. {
  41078. eventHandler.startNonterminal("FTDistance", e0);
  41079. shift(117); // 'distance'
  41080. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  41081. whitespace();
  41082. parse_FTRange();
  41083. whitespace();
  41084. parse_FTUnit();
  41085. eventHandler.endNonterminal("FTDistance", e0);
  41086. }
  41087. function try_FTDistance()
  41088. {
  41089. shiftT(117); // 'distance'
  41090. lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
  41091. try_FTRange();
  41092. try_FTUnit();
  41093. }
  41094. function parse_FTUnit()
  41095. {
  41096. eventHandler.startNonterminal("FTUnit", e0);
  41097. switch (l1)
  41098. {
  41099. case 273: // 'words'
  41100. shift(273); // 'words'
  41101. break;
  41102. case 232: // 'sentences'
  41103. shift(232); // 'sentences'
  41104. break;
  41105. default:
  41106. shift(205); // 'paragraphs'
  41107. }
  41108. eventHandler.endNonterminal("FTUnit", e0);
  41109. }
  41110. function try_FTUnit()
  41111. {
  41112. switch (l1)
  41113. {
  41114. case 273: // 'words'
  41115. shiftT(273); // 'words'
  41116. break;
  41117. case 232: // 'sentences'
  41118. shiftT(232); // 'sentences'
  41119. break;
  41120. default:
  41121. shiftT(205); // 'paragraphs'
  41122. }
  41123. }
  41124. function parse_FTScope()
  41125. {
  41126. eventHandler.startNonterminal("FTScope", e0);
  41127. switch (l1)
  41128. {
  41129. case 223: // 'same'
  41130. shift(223); // 'same'
  41131. break;
  41132. default:
  41133. shift(115); // 'different'
  41134. }
  41135. lookahead1W(132); // S^WS | '(:' | 'paragraph' | 'sentence'
  41136. whitespace();
  41137. parse_FTBigUnit();
  41138. eventHandler.endNonterminal("FTScope", e0);
  41139. }
  41140. function try_FTScope()
  41141. {
  41142. switch (l1)
  41143. {
  41144. case 223: // 'same'
  41145. shiftT(223); // 'same'
  41146. break;
  41147. default:
  41148. shiftT(115); // 'different'
  41149. }
  41150. lookahead1W(132); // S^WS | '(:' | 'paragraph' | 'sentence'
  41151. try_FTBigUnit();
  41152. }
  41153. function parse_FTBigUnit()
  41154. {
  41155. eventHandler.startNonterminal("FTBigUnit", e0);
  41156. switch (l1)
  41157. {
  41158. case 231: // 'sentence'
  41159. shift(231); // 'sentence'
  41160. break;
  41161. default:
  41162. shift(204); // 'paragraph'
  41163. }
  41164. eventHandler.endNonterminal("FTBigUnit", e0);
  41165. }
  41166. function try_FTBigUnit()
  41167. {
  41168. switch (l1)
  41169. {
  41170. case 231: // 'sentence'
  41171. shiftT(231); // 'sentence'
  41172. break;
  41173. default:
  41174. shiftT(204); // 'paragraph'
  41175. }
  41176. }
  41177. function parse_FTContent()
  41178. {
  41179. eventHandler.startNonterminal("FTContent", e0);
  41180. switch (l1)
  41181. {
  41182. case 81: // 'at'
  41183. shift(81); // 'at'
  41184. lookahead1W(117); // S^WS | '(:' | 'end' | 'start'
  41185. switch (l1)
  41186. {
  41187. case 237: // 'start'
  41188. shift(237); // 'start'
  41189. break;
  41190. default:
  41191. shift(126); // 'end'
  41192. }
  41193. break;
  41194. default:
  41195. shift(127); // 'entire'
  41196. lookahead1W(42); // S^WS | '(:' | 'content'
  41197. shift(100); // 'content'
  41198. }
  41199. eventHandler.endNonterminal("FTContent", e0);
  41200. }
  41201. function try_FTContent()
  41202. {
  41203. switch (l1)
  41204. {
  41205. case 81: // 'at'
  41206. shiftT(81); // 'at'
  41207. lookahead1W(117); // S^WS | '(:' | 'end' | 'start'
  41208. switch (l1)
  41209. {
  41210. case 237: // 'start'
  41211. shiftT(237); // 'start'
  41212. break;
  41213. default:
  41214. shiftT(126); // 'end'
  41215. }
  41216. break;
  41217. default:
  41218. shiftT(127); // 'entire'
  41219. lookahead1W(42); // S^WS | '(:' | 'content'
  41220. shiftT(100); // 'content'
  41221. }
  41222. }
  41223. function parse_FTMatchOptions()
  41224. {
  41225. eventHandler.startNonterminal("FTMatchOptions", e0);
  41226. for (;;)
  41227. {
  41228. shift(259); // 'using'
  41229. lookahead1W(181); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  41230. whitespace();
  41231. parse_FTMatchOption();
  41232. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41233. if (l1 != 259) // 'using'
  41234. {
  41235. break;
  41236. }
  41237. }
  41238. eventHandler.endNonterminal("FTMatchOptions", e0);
  41239. }
  41240. function try_FTMatchOptions()
  41241. {
  41242. for (;;)
  41243. {
  41244. shiftT(259); // 'using'
  41245. lookahead1W(181); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
  41246. try_FTMatchOption();
  41247. lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41248. if (l1 != 259) // 'using'
  41249. {
  41250. break;
  41251. }
  41252. }
  41253. }
  41254. function parse_FTMatchOption()
  41255. {
  41256. eventHandler.startNonterminal("FTMatchOption", e0);
  41257. switch (l1)
  41258. {
  41259. case 188: // 'no'
  41260. lookahead2W(161); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  41261. break;
  41262. default:
  41263. lk = l1;
  41264. }
  41265. switch (lk)
  41266. {
  41267. case 169: // 'language'
  41268. parse_FTLanguageOption();
  41269. break;
  41270. case 268: // 'wildcards'
  41271. case 137404: // 'no' 'wildcards'
  41272. parse_FTWildCardOption();
  41273. break;
  41274. case 246: // 'thesaurus'
  41275. case 126140: // 'no' 'thesaurus'
  41276. parse_FTThesaurusOption();
  41277. break;
  41278. case 238: // 'stemming'
  41279. case 122044: // 'no' 'stemming'
  41280. parse_FTStemOption();
  41281. break;
  41282. case 114: // 'diacritics'
  41283. parse_FTDiacriticsOption();
  41284. break;
  41285. case 239: // 'stop'
  41286. case 122556: // 'no' 'stop'
  41287. parse_FTStopWordOption();
  41288. break;
  41289. case 199: // 'option'
  41290. parse_FTExtensionOption();
  41291. break;
  41292. default:
  41293. parse_FTCaseOption();
  41294. }
  41295. eventHandler.endNonterminal("FTMatchOption", e0);
  41296. }
  41297. function try_FTMatchOption()
  41298. {
  41299. switch (l1)
  41300. {
  41301. case 188: // 'no'
  41302. lookahead2W(161); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
  41303. break;
  41304. default:
  41305. lk = l1;
  41306. }
  41307. switch (lk)
  41308. {
  41309. case 169: // 'language'
  41310. try_FTLanguageOption();
  41311. break;
  41312. case 268: // 'wildcards'
  41313. case 137404: // 'no' 'wildcards'
  41314. try_FTWildCardOption();
  41315. break;
  41316. case 246: // 'thesaurus'
  41317. case 126140: // 'no' 'thesaurus'
  41318. try_FTThesaurusOption();
  41319. break;
  41320. case 238: // 'stemming'
  41321. case 122044: // 'no' 'stemming'
  41322. try_FTStemOption();
  41323. break;
  41324. case 114: // 'diacritics'
  41325. try_FTDiacriticsOption();
  41326. break;
  41327. case 239: // 'stop'
  41328. case 122556: // 'no' 'stop'
  41329. try_FTStopWordOption();
  41330. break;
  41331. case 199: // 'option'
  41332. try_FTExtensionOption();
  41333. break;
  41334. default:
  41335. try_FTCaseOption();
  41336. }
  41337. }
  41338. function parse_FTCaseOption()
  41339. {
  41340. eventHandler.startNonterminal("FTCaseOption", e0);
  41341. switch (l1)
  41342. {
  41343. case 88: // 'case'
  41344. shift(88); // 'case'
  41345. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  41346. switch (l1)
  41347. {
  41348. case 158: // 'insensitive'
  41349. shift(158); // 'insensitive'
  41350. break;
  41351. default:
  41352. shift(230); // 'sensitive'
  41353. }
  41354. break;
  41355. case 177: // 'lowercase'
  41356. shift(177); // 'lowercase'
  41357. break;
  41358. default:
  41359. shift(258); // 'uppercase'
  41360. }
  41361. eventHandler.endNonterminal("FTCaseOption", e0);
  41362. }
  41363. function try_FTCaseOption()
  41364. {
  41365. switch (l1)
  41366. {
  41367. case 88: // 'case'
  41368. shiftT(88); // 'case'
  41369. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  41370. switch (l1)
  41371. {
  41372. case 158: // 'insensitive'
  41373. shiftT(158); // 'insensitive'
  41374. break;
  41375. default:
  41376. shiftT(230); // 'sensitive'
  41377. }
  41378. break;
  41379. case 177: // 'lowercase'
  41380. shiftT(177); // 'lowercase'
  41381. break;
  41382. default:
  41383. shiftT(258); // 'uppercase'
  41384. }
  41385. }
  41386. function parse_FTDiacriticsOption()
  41387. {
  41388. eventHandler.startNonterminal("FTDiacriticsOption", e0);
  41389. shift(114); // 'diacritics'
  41390. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  41391. switch (l1)
  41392. {
  41393. case 158: // 'insensitive'
  41394. shift(158); // 'insensitive'
  41395. break;
  41396. default:
  41397. shift(230); // 'sensitive'
  41398. }
  41399. eventHandler.endNonterminal("FTDiacriticsOption", e0);
  41400. }
  41401. function try_FTDiacriticsOption()
  41402. {
  41403. shiftT(114); // 'diacritics'
  41404. lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
  41405. switch (l1)
  41406. {
  41407. case 158: // 'insensitive'
  41408. shiftT(158); // 'insensitive'
  41409. break;
  41410. default:
  41411. shiftT(230); // 'sensitive'
  41412. }
  41413. }
  41414. function parse_FTStemOption()
  41415. {
  41416. eventHandler.startNonterminal("FTStemOption", e0);
  41417. switch (l1)
  41418. {
  41419. case 238: // 'stemming'
  41420. shift(238); // 'stemming'
  41421. break;
  41422. default:
  41423. shift(188); // 'no'
  41424. lookahead1W(74); // S^WS | '(:' | 'stemming'
  41425. shift(238); // 'stemming'
  41426. }
  41427. eventHandler.endNonterminal("FTStemOption", e0);
  41428. }
  41429. function try_FTStemOption()
  41430. {
  41431. switch (l1)
  41432. {
  41433. case 238: // 'stemming'
  41434. shiftT(238); // 'stemming'
  41435. break;
  41436. default:
  41437. shiftT(188); // 'no'
  41438. lookahead1W(74); // S^WS | '(:' | 'stemming'
  41439. shiftT(238); // 'stemming'
  41440. }
  41441. }
  41442. function parse_FTThesaurusOption()
  41443. {
  41444. eventHandler.startNonterminal("FTThesaurusOption", e0);
  41445. switch (l1)
  41446. {
  41447. case 246: // 'thesaurus'
  41448. shift(246); // 'thesaurus'
  41449. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  41450. switch (l1)
  41451. {
  41452. case 81: // 'at'
  41453. whitespace();
  41454. parse_FTThesaurusID();
  41455. break;
  41456. case 109: // 'default'
  41457. shift(109); // 'default'
  41458. break;
  41459. default:
  41460. shift(34); // '('
  41461. lookahead1W(112); // S^WS | '(:' | 'at' | 'default'
  41462. switch (l1)
  41463. {
  41464. case 81: // 'at'
  41465. whitespace();
  41466. parse_FTThesaurusID();
  41467. break;
  41468. default:
  41469. shift(109); // 'default'
  41470. }
  41471. for (;;)
  41472. {
  41473. lookahead1W(101); // S^WS | '(:' | ')' | ','
  41474. if (l1 != 41) // ','
  41475. {
  41476. break;
  41477. }
  41478. shift(41); // ','
  41479. lookahead1W(31); // S^WS | '(:' | 'at'
  41480. whitespace();
  41481. parse_FTThesaurusID();
  41482. }
  41483. shift(37); // ')'
  41484. }
  41485. break;
  41486. default:
  41487. shift(188); // 'no'
  41488. lookahead1W(78); // S^WS | '(:' | 'thesaurus'
  41489. shift(246); // 'thesaurus'
  41490. }
  41491. eventHandler.endNonterminal("FTThesaurusOption", e0);
  41492. }
  41493. function try_FTThesaurusOption()
  41494. {
  41495. switch (l1)
  41496. {
  41497. case 246: // 'thesaurus'
  41498. shiftT(246); // 'thesaurus'
  41499. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  41500. switch (l1)
  41501. {
  41502. case 81: // 'at'
  41503. try_FTThesaurusID();
  41504. break;
  41505. case 109: // 'default'
  41506. shiftT(109); // 'default'
  41507. break;
  41508. default:
  41509. shiftT(34); // '('
  41510. lookahead1W(112); // S^WS | '(:' | 'at' | 'default'
  41511. switch (l1)
  41512. {
  41513. case 81: // 'at'
  41514. try_FTThesaurusID();
  41515. break;
  41516. default:
  41517. shiftT(109); // 'default'
  41518. }
  41519. for (;;)
  41520. {
  41521. lookahead1W(101); // S^WS | '(:' | ')' | ','
  41522. if (l1 != 41) // ','
  41523. {
  41524. break;
  41525. }
  41526. shiftT(41); // ','
  41527. lookahead1W(31); // S^WS | '(:' | 'at'
  41528. try_FTThesaurusID();
  41529. }
  41530. shiftT(37); // ')'
  41531. }
  41532. break;
  41533. default:
  41534. shiftT(188); // 'no'
  41535. lookahead1W(78); // S^WS | '(:' | 'thesaurus'
  41536. shiftT(246); // 'thesaurus'
  41537. }
  41538. }
  41539. function parse_FTThesaurusID()
  41540. {
  41541. eventHandler.startNonterminal("FTThesaurusID", e0);
  41542. shift(81); // 'at'
  41543. lookahead1W(15); // URILiteral | S^WS | '(:'
  41544. shift(7); // URILiteral
  41545. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41546. if (l1 == 217) // 'relationship'
  41547. {
  41548. shift(217); // 'relationship'
  41549. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41550. shift(11); // StringLiteral
  41551. }
  41552. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41553. switch (l1)
  41554. {
  41555. case 81: // 'at'
  41556. lookahead2W(165); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  41557. break;
  41558. default:
  41559. lk = l1;
  41560. }
  41561. if (lk == 130 // 'exactly'
  41562. || lk == 140 // 'from'
  41563. || lk == 88657 // 'at' 'least'
  41564. || lk == 93777) // 'at' 'most'
  41565. {
  41566. whitespace();
  41567. parse_FTLiteralRange();
  41568. lookahead1W(58); // S^WS | '(:' | 'levels'
  41569. shift(175); // 'levels'
  41570. }
  41571. eventHandler.endNonterminal("FTThesaurusID", e0);
  41572. }
  41573. function try_FTThesaurusID()
  41574. {
  41575. shiftT(81); // 'at'
  41576. lookahead1W(15); // URILiteral | S^WS | '(:'
  41577. shiftT(7); // URILiteral
  41578. lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41579. if (l1 == 217) // 'relationship'
  41580. {
  41581. shiftT(217); // 'relationship'
  41582. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41583. shiftT(11); // StringLiteral
  41584. }
  41585. lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41586. switch (l1)
  41587. {
  41588. case 81: // 'at'
  41589. lookahead2W(165); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
  41590. break;
  41591. default:
  41592. lk = l1;
  41593. }
  41594. if (lk == 130 // 'exactly'
  41595. || lk == 140 // 'from'
  41596. || lk == 88657 // 'at' 'least'
  41597. || lk == 93777) // 'at' 'most'
  41598. {
  41599. try_FTLiteralRange();
  41600. lookahead1W(58); // S^WS | '(:' | 'levels'
  41601. shiftT(175); // 'levels'
  41602. }
  41603. }
  41604. function parse_FTLiteralRange()
  41605. {
  41606. eventHandler.startNonterminal("FTLiteralRange", e0);
  41607. switch (l1)
  41608. {
  41609. case 130: // 'exactly'
  41610. shift(130); // 'exactly'
  41611. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41612. shift(8); // IntegerLiteral
  41613. break;
  41614. case 81: // 'at'
  41615. shift(81); // 'at'
  41616. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  41617. switch (l1)
  41618. {
  41619. case 173: // 'least'
  41620. shift(173); // 'least'
  41621. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41622. shift(8); // IntegerLiteral
  41623. break;
  41624. default:
  41625. shift(183); // 'most'
  41626. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41627. shift(8); // IntegerLiteral
  41628. }
  41629. break;
  41630. default:
  41631. shift(140); // 'from'
  41632. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41633. shift(8); // IntegerLiteral
  41634. lookahead1W(79); // S^WS | '(:' | 'to'
  41635. shift(248); // 'to'
  41636. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41637. shift(8); // IntegerLiteral
  41638. }
  41639. eventHandler.endNonterminal("FTLiteralRange", e0);
  41640. }
  41641. function try_FTLiteralRange()
  41642. {
  41643. switch (l1)
  41644. {
  41645. case 130: // 'exactly'
  41646. shiftT(130); // 'exactly'
  41647. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41648. shiftT(8); // IntegerLiteral
  41649. break;
  41650. case 81: // 'at'
  41651. shiftT(81); // 'at'
  41652. lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
  41653. switch (l1)
  41654. {
  41655. case 173: // 'least'
  41656. shiftT(173); // 'least'
  41657. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41658. shiftT(8); // IntegerLiteral
  41659. break;
  41660. default:
  41661. shiftT(183); // 'most'
  41662. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41663. shiftT(8); // IntegerLiteral
  41664. }
  41665. break;
  41666. default:
  41667. shiftT(140); // 'from'
  41668. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41669. shiftT(8); // IntegerLiteral
  41670. lookahead1W(79); // S^WS | '(:' | 'to'
  41671. shiftT(248); // 'to'
  41672. lookahead1W(16); // IntegerLiteral | S^WS | '(:'
  41673. shiftT(8); // IntegerLiteral
  41674. }
  41675. }
  41676. function parse_FTStopWordOption()
  41677. {
  41678. eventHandler.startNonterminal("FTStopWordOption", e0);
  41679. switch (l1)
  41680. {
  41681. case 239: // 'stop'
  41682. shift(239); // 'stop'
  41683. lookahead1W(86); // S^WS | '(:' | 'words'
  41684. shift(273); // 'words'
  41685. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  41686. switch (l1)
  41687. {
  41688. case 109: // 'default'
  41689. shift(109); // 'default'
  41690. for (;;)
  41691. {
  41692. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41693. if (l1 != 131 // 'except'
  41694. && l1 != 254) // 'union'
  41695. {
  41696. break;
  41697. }
  41698. whitespace();
  41699. parse_FTStopWordsInclExcl();
  41700. }
  41701. break;
  41702. default:
  41703. whitespace();
  41704. parse_FTStopWords();
  41705. for (;;)
  41706. {
  41707. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41708. if (l1 != 131 // 'except'
  41709. && l1 != 254) // 'union'
  41710. {
  41711. break;
  41712. }
  41713. whitespace();
  41714. parse_FTStopWordsInclExcl();
  41715. }
  41716. }
  41717. break;
  41718. default:
  41719. shift(188); // 'no'
  41720. lookahead1W(75); // S^WS | '(:' | 'stop'
  41721. shift(239); // 'stop'
  41722. lookahead1W(86); // S^WS | '(:' | 'words'
  41723. shift(273); // 'words'
  41724. }
  41725. eventHandler.endNonterminal("FTStopWordOption", e0);
  41726. }
  41727. function try_FTStopWordOption()
  41728. {
  41729. switch (l1)
  41730. {
  41731. case 239: // 'stop'
  41732. shiftT(239); // 'stop'
  41733. lookahead1W(86); // S^WS | '(:' | 'words'
  41734. shiftT(273); // 'words'
  41735. lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
  41736. switch (l1)
  41737. {
  41738. case 109: // 'default'
  41739. shiftT(109); // 'default'
  41740. for (;;)
  41741. {
  41742. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41743. if (l1 != 131 // 'except'
  41744. && l1 != 254) // 'union'
  41745. {
  41746. break;
  41747. }
  41748. try_FTStopWordsInclExcl();
  41749. }
  41750. break;
  41751. default:
  41752. try_FTStopWords();
  41753. for (;;)
  41754. {
  41755. lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
  41756. if (l1 != 131 // 'except'
  41757. && l1 != 254) // 'union'
  41758. {
  41759. break;
  41760. }
  41761. try_FTStopWordsInclExcl();
  41762. }
  41763. }
  41764. break;
  41765. default:
  41766. shiftT(188); // 'no'
  41767. lookahead1W(75); // S^WS | '(:' | 'stop'
  41768. shiftT(239); // 'stop'
  41769. lookahead1W(86); // S^WS | '(:' | 'words'
  41770. shiftT(273); // 'words'
  41771. }
  41772. }
  41773. function parse_FTStopWords()
  41774. {
  41775. eventHandler.startNonterminal("FTStopWords", e0);
  41776. switch (l1)
  41777. {
  41778. case 81: // 'at'
  41779. shift(81); // 'at'
  41780. lookahead1W(15); // URILiteral | S^WS | '(:'
  41781. shift(7); // URILiteral
  41782. break;
  41783. default:
  41784. shift(34); // '('
  41785. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41786. shift(11); // StringLiteral
  41787. for (;;)
  41788. {
  41789. lookahead1W(101); // S^WS | '(:' | ')' | ','
  41790. if (l1 != 41) // ','
  41791. {
  41792. break;
  41793. }
  41794. shift(41); // ','
  41795. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41796. shift(11); // StringLiteral
  41797. }
  41798. shift(37); // ')'
  41799. }
  41800. eventHandler.endNonterminal("FTStopWords", e0);
  41801. }
  41802. function try_FTStopWords()
  41803. {
  41804. switch (l1)
  41805. {
  41806. case 81: // 'at'
  41807. shiftT(81); // 'at'
  41808. lookahead1W(15); // URILiteral | S^WS | '(:'
  41809. shiftT(7); // URILiteral
  41810. break;
  41811. default:
  41812. shiftT(34); // '('
  41813. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41814. shiftT(11); // StringLiteral
  41815. for (;;)
  41816. {
  41817. lookahead1W(101); // S^WS | '(:' | ')' | ','
  41818. if (l1 != 41) // ','
  41819. {
  41820. break;
  41821. }
  41822. shiftT(41); // ','
  41823. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41824. shiftT(11); // StringLiteral
  41825. }
  41826. shiftT(37); // ')'
  41827. }
  41828. }
  41829. function parse_FTStopWordsInclExcl()
  41830. {
  41831. eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
  41832. switch (l1)
  41833. {
  41834. case 254: // 'union'
  41835. shift(254); // 'union'
  41836. break;
  41837. default:
  41838. shift(131); // 'except'
  41839. }
  41840. lookahead1W(99); // S^WS | '(' | '(:' | 'at'
  41841. whitespace();
  41842. parse_FTStopWords();
  41843. eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
  41844. }
  41845. function try_FTStopWordsInclExcl()
  41846. {
  41847. switch (l1)
  41848. {
  41849. case 254: // 'union'
  41850. shiftT(254); // 'union'
  41851. break;
  41852. default:
  41853. shiftT(131); // 'except'
  41854. }
  41855. lookahead1W(99); // S^WS | '(' | '(:' | 'at'
  41856. try_FTStopWords();
  41857. }
  41858. function parse_FTLanguageOption()
  41859. {
  41860. eventHandler.startNonterminal("FTLanguageOption", e0);
  41861. shift(169); // 'language'
  41862. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41863. shift(11); // StringLiteral
  41864. eventHandler.endNonterminal("FTLanguageOption", e0);
  41865. }
  41866. function try_FTLanguageOption()
  41867. {
  41868. shiftT(169); // 'language'
  41869. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41870. shiftT(11); // StringLiteral
  41871. }
  41872. function parse_FTWildCardOption()
  41873. {
  41874. eventHandler.startNonterminal("FTWildCardOption", e0);
  41875. switch (l1)
  41876. {
  41877. case 268: // 'wildcards'
  41878. shift(268); // 'wildcards'
  41879. break;
  41880. default:
  41881. shift(188); // 'no'
  41882. lookahead1W(84); // S^WS | '(:' | 'wildcards'
  41883. shift(268); // 'wildcards'
  41884. }
  41885. eventHandler.endNonterminal("FTWildCardOption", e0);
  41886. }
  41887. function try_FTWildCardOption()
  41888. {
  41889. switch (l1)
  41890. {
  41891. case 268: // 'wildcards'
  41892. shiftT(268); // 'wildcards'
  41893. break;
  41894. default:
  41895. shiftT(188); // 'no'
  41896. lookahead1W(84); // S^WS | '(:' | 'wildcards'
  41897. shiftT(268); // 'wildcards'
  41898. }
  41899. }
  41900. function parse_FTExtensionOption()
  41901. {
  41902. eventHandler.startNonterminal("FTExtensionOption", e0);
  41903. shift(199); // 'option'
  41904. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  41905. whitespace();
  41906. parse_EQName();
  41907. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41908. shift(11); // StringLiteral
  41909. eventHandler.endNonterminal("FTExtensionOption", e0);
  41910. }
  41911. function try_FTExtensionOption()
  41912. {
  41913. shiftT(199); // 'option'
  41914. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  41915. try_EQName();
  41916. lookahead1W(17); // StringLiteral | S^WS | '(:'
  41917. shiftT(11); // StringLiteral
  41918. }
  41919. function parse_FTIgnoreOption()
  41920. {
  41921. eventHandler.startNonterminal("FTIgnoreOption", e0);
  41922. shift(271); // 'without'
  41923. lookahead1W(42); // S^WS | '(:' | 'content'
  41924. shift(100); // 'content'
  41925. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  41926. whitespace();
  41927. parse_UnionExpr();
  41928. eventHandler.endNonterminal("FTIgnoreOption", e0);
  41929. }
  41930. function try_FTIgnoreOption()
  41931. {
  41932. shiftT(271); // 'without'
  41933. lookahead1W(42); // S^WS | '(:' | 'content'
  41934. shiftT(100); // 'content'
  41935. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  41936. try_UnionExpr();
  41937. }
  41938. function parse_CollectionDecl()
  41939. {
  41940. eventHandler.startNonterminal("CollectionDecl", e0);
  41941. shift(95); // 'collection'
  41942. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  41943. whitespace();
  41944. parse_EQName();
  41945. lookahead1W(107); // S^WS | '(:' | ';' | 'as'
  41946. if (l1 == 79) // 'as'
  41947. {
  41948. whitespace();
  41949. parse_CollectionTypeDecl();
  41950. }
  41951. eventHandler.endNonterminal("CollectionDecl", e0);
  41952. }
  41953. function parse_CollectionTypeDecl()
  41954. {
  41955. eventHandler.startNonterminal("CollectionTypeDecl", e0);
  41956. shift(79); // 'as'
  41957. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  41958. whitespace();
  41959. parse_ItemType();
  41960. lookahead1W(156); // S^WS | '(:' | '*' | '+' | ';' | '?'
  41961. if (l1 != 53) // ';'
  41962. {
  41963. whitespace();
  41964. parse_OccurrenceIndicator();
  41965. }
  41966. eventHandler.endNonterminal("CollectionTypeDecl", e0);
  41967. }
  41968. function parse_IndexName()
  41969. {
  41970. eventHandler.startNonterminal("IndexName", e0);
  41971. parse_EQName();
  41972. eventHandler.endNonterminal("IndexName", e0);
  41973. }
  41974. function parse_IndexDomainExpr()
  41975. {
  41976. eventHandler.startNonterminal("IndexDomainExpr", e0);
  41977. parse_PathExpr();
  41978. eventHandler.endNonterminal("IndexDomainExpr", e0);
  41979. }
  41980. function parse_IndexKeySpec()
  41981. {
  41982. eventHandler.startNonterminal("IndexKeySpec", e0);
  41983. parse_IndexKeyExpr();
  41984. if (l1 == 79) // 'as'
  41985. {
  41986. whitespace();
  41987. parse_IndexKeyTypeDecl();
  41988. }
  41989. lookahead1W(146); // S^WS | '(:' | ',' | ';' | 'collation'
  41990. if (l1 == 94) // 'collation'
  41991. {
  41992. whitespace();
  41993. parse_IndexKeyCollation();
  41994. }
  41995. eventHandler.endNonterminal("IndexKeySpec", e0);
  41996. }
  41997. function parse_IndexKeyExpr()
  41998. {
  41999. eventHandler.startNonterminal("IndexKeyExpr", e0);
  42000. parse_PathExpr();
  42001. eventHandler.endNonterminal("IndexKeyExpr", e0);
  42002. }
  42003. function parse_IndexKeyTypeDecl()
  42004. {
  42005. eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
  42006. shift(79); // 'as'
  42007. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  42008. whitespace();
  42009. parse_AtomicType();
  42010. lookahead1W(169); // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
  42011. if (l1 == 39 // '*'
  42012. || l1 == 40 // '+'
  42013. || l1 == 64) // '?'
  42014. {
  42015. whitespace();
  42016. parse_OccurrenceIndicator();
  42017. }
  42018. eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
  42019. }
  42020. function parse_AtomicType()
  42021. {
  42022. eventHandler.startNonterminal("AtomicType", e0);
  42023. parse_EQName();
  42024. eventHandler.endNonterminal("AtomicType", e0);
  42025. }
  42026. function parse_IndexKeyCollation()
  42027. {
  42028. eventHandler.startNonterminal("IndexKeyCollation", e0);
  42029. shift(94); // 'collation'
  42030. lookahead1W(15); // URILiteral | S^WS | '(:'
  42031. shift(7); // URILiteral
  42032. eventHandler.endNonterminal("IndexKeyCollation", e0);
  42033. }
  42034. function parse_IndexDecl()
  42035. {
  42036. eventHandler.startNonterminal("IndexDecl", e0);
  42037. shift(155); // 'index'
  42038. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  42039. whitespace();
  42040. parse_IndexName();
  42041. lookahead1W(65); // S^WS | '(:' | 'on'
  42042. shift(197); // 'on'
  42043. lookahead1W(63); // S^WS | '(:' | 'nodes'
  42044. shift(192); // 'nodes'
  42045. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42046. whitespace();
  42047. parse_IndexDomainExpr();
  42048. shift(87); // 'by'
  42049. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42050. whitespace();
  42051. parse_IndexKeySpec();
  42052. for (;;)
  42053. {
  42054. lookahead1W(103); // S^WS | '(:' | ',' | ';'
  42055. if (l1 != 41) // ','
  42056. {
  42057. break;
  42058. }
  42059. shift(41); // ','
  42060. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42061. whitespace();
  42062. parse_IndexKeySpec();
  42063. }
  42064. eventHandler.endNonterminal("IndexDecl", e0);
  42065. }
  42066. function parse_ICDecl()
  42067. {
  42068. eventHandler.startNonterminal("ICDecl", e0);
  42069. shift(161); // 'integrity'
  42070. lookahead1W(40); // S^WS | '(:' | 'constraint'
  42071. shift(97); // 'constraint'
  42072. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  42073. whitespace();
  42074. parse_EQName();
  42075. lookahead1W(120); // S^WS | '(:' | 'foreign' | 'on'
  42076. switch (l1)
  42077. {
  42078. case 197: // 'on'
  42079. whitespace();
  42080. parse_ICCollection();
  42081. break;
  42082. default:
  42083. whitespace();
  42084. parse_ICForeignKey();
  42085. }
  42086. eventHandler.endNonterminal("ICDecl", e0);
  42087. }
  42088. function parse_ICCollection()
  42089. {
  42090. eventHandler.startNonterminal("ICCollection", e0);
  42091. shift(197); // 'on'
  42092. lookahead1W(39); // S^WS | '(:' | 'collection'
  42093. shift(95); // 'collection'
  42094. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  42095. whitespace();
  42096. parse_EQName();
  42097. lookahead1W(140); // S^WS | '$' | '(:' | 'foreach' | 'node'
  42098. switch (l1)
  42099. {
  42100. case 31: // '$'
  42101. whitespace();
  42102. parse_ICCollSequence();
  42103. break;
  42104. case 191: // 'node'
  42105. whitespace();
  42106. parse_ICCollSequenceUnique();
  42107. break;
  42108. default:
  42109. whitespace();
  42110. parse_ICCollNode();
  42111. }
  42112. eventHandler.endNonterminal("ICCollection", e0);
  42113. }
  42114. function parse_ICCollSequence()
  42115. {
  42116. eventHandler.startNonterminal("ICCollSequence", e0);
  42117. parse_VarRef();
  42118. lookahead1W(37); // S^WS | '(:' | 'check'
  42119. shift(92); // 'check'
  42120. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42121. whitespace();
  42122. parse_ExprSingle();
  42123. eventHandler.endNonterminal("ICCollSequence", e0);
  42124. }
  42125. function parse_ICCollSequenceUnique()
  42126. {
  42127. eventHandler.startNonterminal("ICCollSequenceUnique", e0);
  42128. shift(191); // 'node'
  42129. lookahead1W(21); // S^WS | '$' | '(:'
  42130. whitespace();
  42131. parse_VarRef();
  42132. lookahead1W(37); // S^WS | '(:' | 'check'
  42133. shift(92); // 'check'
  42134. lookahead1W(80); // S^WS | '(:' | 'unique'
  42135. shift(255); // 'unique'
  42136. lookahead1W(57); // S^WS | '(:' | 'key'
  42137. shift(168); // 'key'
  42138. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42139. whitespace();
  42140. parse_PathExpr();
  42141. eventHandler.endNonterminal("ICCollSequenceUnique", e0);
  42142. }
  42143. function parse_ICCollNode()
  42144. {
  42145. eventHandler.startNonterminal("ICCollNode", e0);
  42146. shift(138); // 'foreach'
  42147. lookahead1W(62); // S^WS | '(:' | 'node'
  42148. shift(191); // 'node'
  42149. lookahead1W(21); // S^WS | '$' | '(:'
  42150. whitespace();
  42151. parse_VarRef();
  42152. lookahead1W(37); // S^WS | '(:' | 'check'
  42153. shift(92); // 'check'
  42154. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42155. whitespace();
  42156. parse_ExprSingle();
  42157. eventHandler.endNonterminal("ICCollNode", e0);
  42158. }
  42159. function parse_ICForeignKey()
  42160. {
  42161. eventHandler.startNonterminal("ICForeignKey", e0);
  42162. shift(139); // 'foreign'
  42163. lookahead1W(57); // S^WS | '(:' | 'key'
  42164. shift(168); // 'key'
  42165. lookahead1W(51); // S^WS | '(:' | 'from'
  42166. whitespace();
  42167. parse_ICForeignKeySource();
  42168. whitespace();
  42169. parse_ICForeignKeyTarget();
  42170. eventHandler.endNonterminal("ICForeignKey", e0);
  42171. }
  42172. function parse_ICForeignKeySource()
  42173. {
  42174. eventHandler.startNonterminal("ICForeignKeySource", e0);
  42175. shift(140); // 'from'
  42176. lookahead1W(39); // S^WS | '(:' | 'collection'
  42177. whitespace();
  42178. parse_ICForeignKeyValues();
  42179. eventHandler.endNonterminal("ICForeignKeySource", e0);
  42180. }
  42181. function parse_ICForeignKeyTarget()
  42182. {
  42183. eventHandler.startNonterminal("ICForeignKeyTarget", e0);
  42184. shift(248); // 'to'
  42185. lookahead1W(39); // S^WS | '(:' | 'collection'
  42186. whitespace();
  42187. parse_ICForeignKeyValues();
  42188. eventHandler.endNonterminal("ICForeignKeyTarget", e0);
  42189. }
  42190. function parse_ICForeignKeyValues()
  42191. {
  42192. eventHandler.startNonterminal("ICForeignKeyValues", e0);
  42193. shift(95); // 'collection'
  42194. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  42195. whitespace();
  42196. parse_EQName();
  42197. lookahead1W(62); // S^WS | '(:' | 'node'
  42198. shift(191); // 'node'
  42199. lookahead1W(21); // S^WS | '$' | '(:'
  42200. whitespace();
  42201. parse_VarRef();
  42202. lookahead1W(57); // S^WS | '(:' | 'key'
  42203. shift(168); // 'key'
  42204. lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  42205. whitespace();
  42206. parse_PathExpr();
  42207. eventHandler.endNonterminal("ICForeignKeyValues", e0);
  42208. }
  42209. function try_Comment()
  42210. {
  42211. shiftT(36); // '(:'
  42212. for (;;)
  42213. {
  42214. lookahead1(89); // CommentContents | '(:' | ':)'
  42215. if (l1 == 50) // ':)'
  42216. {
  42217. break;
  42218. }
  42219. switch (l1)
  42220. {
  42221. case 24: // CommentContents
  42222. shiftT(24); // CommentContents
  42223. break;
  42224. default:
  42225. try_Comment();
  42226. }
  42227. }
  42228. shiftT(50); // ':)'
  42229. }
  42230. function try_Whitespace()
  42231. {
  42232. switch (l1)
  42233. {
  42234. case 22: // S^WS
  42235. shiftT(22); // S^WS
  42236. break;
  42237. default:
  42238. try_Comment();
  42239. }
  42240. }
  42241. function parse_EQName()
  42242. {
  42243. eventHandler.startNonterminal("EQName", e0);
  42244. lookahead1(249); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  42245. switch (l1)
  42246. {
  42247. case 82: // 'attribute'
  42248. shift(82); // 'attribute'
  42249. break;
  42250. case 96: // 'comment'
  42251. shift(96); // 'comment'
  42252. break;
  42253. case 120: // 'document-node'
  42254. shift(120); // 'document-node'
  42255. break;
  42256. case 121: // 'element'
  42257. shift(121); // 'element'
  42258. break;
  42259. case 124: // 'empty-sequence'
  42260. shift(124); // 'empty-sequence'
  42261. break;
  42262. case 145: // 'function'
  42263. shift(145); // 'function'
  42264. break;
  42265. case 152: // 'if'
  42266. shift(152); // 'if'
  42267. break;
  42268. case 165: // 'item'
  42269. shift(165); // 'item'
  42270. break;
  42271. case 185: // 'namespace-node'
  42272. shift(185); // 'namespace-node'
  42273. break;
  42274. case 191: // 'node'
  42275. shift(191); // 'node'
  42276. break;
  42277. case 216: // 'processing-instruction'
  42278. shift(216); // 'processing-instruction'
  42279. break;
  42280. case 226: // 'schema-attribute'
  42281. shift(226); // 'schema-attribute'
  42282. break;
  42283. case 227: // 'schema-element'
  42284. shift(227); // 'schema-element'
  42285. break;
  42286. case 243: // 'switch'
  42287. shift(243); // 'switch'
  42288. break;
  42289. case 244: // 'text'
  42290. shift(244); // 'text'
  42291. break;
  42292. case 253: // 'typeswitch'
  42293. shift(253); // 'typeswitch'
  42294. break;
  42295. case 78: // 'array'
  42296. shift(78); // 'array'
  42297. break;
  42298. case 167: // 'json-item'
  42299. shift(167); // 'json-item'
  42300. break;
  42301. case 242: // 'structured-item'
  42302. shift(242); // 'structured-item'
  42303. break;
  42304. default:
  42305. parse_FunctionName();
  42306. }
  42307. eventHandler.endNonterminal("EQName", e0);
  42308. }
  42309. function try_EQName()
  42310. {
  42311. lookahead1(249); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
  42312. switch (l1)
  42313. {
  42314. case 82: // 'attribute'
  42315. shiftT(82); // 'attribute'
  42316. break;
  42317. case 96: // 'comment'
  42318. shiftT(96); // 'comment'
  42319. break;
  42320. case 120: // 'document-node'
  42321. shiftT(120); // 'document-node'
  42322. break;
  42323. case 121: // 'element'
  42324. shiftT(121); // 'element'
  42325. break;
  42326. case 124: // 'empty-sequence'
  42327. shiftT(124); // 'empty-sequence'
  42328. break;
  42329. case 145: // 'function'
  42330. shiftT(145); // 'function'
  42331. break;
  42332. case 152: // 'if'
  42333. shiftT(152); // 'if'
  42334. break;
  42335. case 165: // 'item'
  42336. shiftT(165); // 'item'
  42337. break;
  42338. case 185: // 'namespace-node'
  42339. shiftT(185); // 'namespace-node'
  42340. break;
  42341. case 191: // 'node'
  42342. shiftT(191); // 'node'
  42343. break;
  42344. case 216: // 'processing-instruction'
  42345. shiftT(216); // 'processing-instruction'
  42346. break;
  42347. case 226: // 'schema-attribute'
  42348. shiftT(226); // 'schema-attribute'
  42349. break;
  42350. case 227: // 'schema-element'
  42351. shiftT(227); // 'schema-element'
  42352. break;
  42353. case 243: // 'switch'
  42354. shiftT(243); // 'switch'
  42355. break;
  42356. case 244: // 'text'
  42357. shiftT(244); // 'text'
  42358. break;
  42359. case 253: // 'typeswitch'
  42360. shiftT(253); // 'typeswitch'
  42361. break;
  42362. case 78: // 'array'
  42363. shiftT(78); // 'array'
  42364. break;
  42365. case 167: // 'json-item'
  42366. shiftT(167); // 'json-item'
  42367. break;
  42368. case 242: // 'structured-item'
  42369. shiftT(242); // 'structured-item'
  42370. break;
  42371. default:
  42372. try_FunctionName();
  42373. }
  42374. }
  42375. function parse_FunctionName()
  42376. {
  42377. eventHandler.startNonterminal("FunctionName", e0);
  42378. switch (l1)
  42379. {
  42380. case 6: // EQName^Token
  42381. shift(6); // EQName^Token
  42382. break;
  42383. case 70: // 'after'
  42384. shift(70); // 'after'
  42385. break;
  42386. case 73: // 'ancestor'
  42387. shift(73); // 'ancestor'
  42388. break;
  42389. case 74: // 'ancestor-or-self'
  42390. shift(74); // 'ancestor-or-self'
  42391. break;
  42392. case 75: // 'and'
  42393. shift(75); // 'and'
  42394. break;
  42395. case 79: // 'as'
  42396. shift(79); // 'as'
  42397. break;
  42398. case 80: // 'ascending'
  42399. shift(80); // 'ascending'
  42400. break;
  42401. case 84: // 'before'
  42402. shift(84); // 'before'
  42403. break;
  42404. case 88: // 'case'
  42405. shift(88); // 'case'
  42406. break;
  42407. case 89: // 'cast'
  42408. shift(89); // 'cast'
  42409. break;
  42410. case 90: // 'castable'
  42411. shift(90); // 'castable'
  42412. break;
  42413. case 93: // 'child'
  42414. shift(93); // 'child'
  42415. break;
  42416. case 94: // 'collation'
  42417. shift(94); // 'collation'
  42418. break;
  42419. case 103: // 'copy'
  42420. shift(103); // 'copy'
  42421. break;
  42422. case 105: // 'count'
  42423. shift(105); // 'count'
  42424. break;
  42425. case 108: // 'declare'
  42426. shift(108); // 'declare'
  42427. break;
  42428. case 109: // 'default'
  42429. shift(109); // 'default'
  42430. break;
  42431. case 110: // 'delete'
  42432. shift(110); // 'delete'
  42433. break;
  42434. case 111: // 'descendant'
  42435. shift(111); // 'descendant'
  42436. break;
  42437. case 112: // 'descendant-or-self'
  42438. shift(112); // 'descendant-or-self'
  42439. break;
  42440. case 113: // 'descending'
  42441. shift(113); // 'descending'
  42442. break;
  42443. case 118: // 'div'
  42444. shift(118); // 'div'
  42445. break;
  42446. case 119: // 'document'
  42447. shift(119); // 'document'
  42448. break;
  42449. case 122: // 'else'
  42450. shift(122); // 'else'
  42451. break;
  42452. case 123: // 'empty'
  42453. shift(123); // 'empty'
  42454. break;
  42455. case 126: // 'end'
  42456. shift(126); // 'end'
  42457. break;
  42458. case 128: // 'eq'
  42459. shift(128); // 'eq'
  42460. break;
  42461. case 129: // 'every'
  42462. shift(129); // 'every'
  42463. break;
  42464. case 131: // 'except'
  42465. shift(131); // 'except'
  42466. break;
  42467. case 134: // 'first'
  42468. shift(134); // 'first'
  42469. break;
  42470. case 135: // 'following'
  42471. shift(135); // 'following'
  42472. break;
  42473. case 136: // 'following-sibling'
  42474. shift(136); // 'following-sibling'
  42475. break;
  42476. case 137: // 'for'
  42477. shift(137); // 'for'
  42478. break;
  42479. case 146: // 'ge'
  42480. shift(146); // 'ge'
  42481. break;
  42482. case 148: // 'group'
  42483. shift(148); // 'group'
  42484. break;
  42485. case 150: // 'gt'
  42486. shift(150); // 'gt'
  42487. break;
  42488. case 151: // 'idiv'
  42489. shift(151); // 'idiv'
  42490. break;
  42491. case 153: // 'import'
  42492. shift(153); // 'import'
  42493. break;
  42494. case 159: // 'insert'
  42495. shift(159); // 'insert'
  42496. break;
  42497. case 160: // 'instance'
  42498. shift(160); // 'instance'
  42499. break;
  42500. case 162: // 'intersect'
  42501. shift(162); // 'intersect'
  42502. break;
  42503. case 163: // 'into'
  42504. shift(163); // 'into'
  42505. break;
  42506. case 164: // 'is'
  42507. shift(164); // 'is'
  42508. break;
  42509. case 170: // 'last'
  42510. shift(170); // 'last'
  42511. break;
  42512. case 172: // 'le'
  42513. shift(172); // 'le'
  42514. break;
  42515. case 174: // 'let'
  42516. shift(174); // 'let'
  42517. break;
  42518. case 178: // 'lt'
  42519. shift(178); // 'lt'
  42520. break;
  42521. case 180: // 'mod'
  42522. shift(180); // 'mod'
  42523. break;
  42524. case 181: // 'modify'
  42525. shift(181); // 'modify'
  42526. break;
  42527. case 182: // 'module'
  42528. shift(182); // 'module'
  42529. break;
  42530. case 184: // 'namespace'
  42531. shift(184); // 'namespace'
  42532. break;
  42533. case 186: // 'ne'
  42534. shift(186); // 'ne'
  42535. break;
  42536. case 198: // 'only'
  42537. shift(198); // 'only'
  42538. break;
  42539. case 200: // 'or'
  42540. shift(200); // 'or'
  42541. break;
  42542. case 201: // 'order'
  42543. shift(201); // 'order'
  42544. break;
  42545. case 202: // 'ordered'
  42546. shift(202); // 'ordered'
  42547. break;
  42548. case 206: // 'parent'
  42549. shift(206); // 'parent'
  42550. break;
  42551. case 212: // 'preceding'
  42552. shift(212); // 'preceding'
  42553. break;
  42554. case 213: // 'preceding-sibling'
  42555. shift(213); // 'preceding-sibling'
  42556. break;
  42557. case 218: // 'rename'
  42558. shift(218); // 'rename'
  42559. break;
  42560. case 219: // 'replace'
  42561. shift(219); // 'replace'
  42562. break;
  42563. case 220: // 'return'
  42564. shift(220); // 'return'
  42565. break;
  42566. case 224: // 'satisfies'
  42567. shift(224); // 'satisfies'
  42568. break;
  42569. case 229: // 'self'
  42570. shift(229); // 'self'
  42571. break;
  42572. case 235: // 'some'
  42573. shift(235); // 'some'
  42574. break;
  42575. case 236: // 'stable'
  42576. shift(236); // 'stable'
  42577. break;
  42578. case 237: // 'start'
  42579. shift(237); // 'start'
  42580. break;
  42581. case 248: // 'to'
  42582. shift(248); // 'to'
  42583. break;
  42584. case 249: // 'treat'
  42585. shift(249); // 'treat'
  42586. break;
  42587. case 250: // 'try'
  42588. shift(250); // 'try'
  42589. break;
  42590. case 254: // 'union'
  42591. shift(254); // 'union'
  42592. break;
  42593. case 256: // 'unordered'
  42594. shift(256); // 'unordered'
  42595. break;
  42596. case 260: // 'validate'
  42597. shift(260); // 'validate'
  42598. break;
  42599. case 266: // 'where'
  42600. shift(266); // 'where'
  42601. break;
  42602. case 270: // 'with'
  42603. shift(270); // 'with'
  42604. break;
  42605. case 274: // 'xquery'
  42606. shift(274); // 'xquery'
  42607. break;
  42608. case 72: // 'allowing'
  42609. shift(72); // 'allowing'
  42610. break;
  42611. case 81: // 'at'
  42612. shift(81); // 'at'
  42613. break;
  42614. case 83: // 'base-uri'
  42615. shift(83); // 'base-uri'
  42616. break;
  42617. case 85: // 'boundary-space'
  42618. shift(85); // 'boundary-space'
  42619. break;
  42620. case 86: // 'break'
  42621. shift(86); // 'break'
  42622. break;
  42623. case 91: // 'catch'
  42624. shift(91); // 'catch'
  42625. break;
  42626. case 98: // 'construction'
  42627. shift(98); // 'construction'
  42628. break;
  42629. case 101: // 'context'
  42630. shift(101); // 'context'
  42631. break;
  42632. case 102: // 'continue'
  42633. shift(102); // 'continue'
  42634. break;
  42635. case 104: // 'copy-namespaces'
  42636. shift(104); // 'copy-namespaces'
  42637. break;
  42638. case 106: // 'decimal-format'
  42639. shift(106); // 'decimal-format'
  42640. break;
  42641. case 125: // 'encoding'
  42642. shift(125); // 'encoding'
  42643. break;
  42644. case 132: // 'exit'
  42645. shift(132); // 'exit'
  42646. break;
  42647. case 133: // 'external'
  42648. shift(133); // 'external'
  42649. break;
  42650. case 141: // 'ft-option'
  42651. shift(141); // 'ft-option'
  42652. break;
  42653. case 154: // 'in'
  42654. shift(154); // 'in'
  42655. break;
  42656. case 155: // 'index'
  42657. shift(155); // 'index'
  42658. break;
  42659. case 161: // 'integrity'
  42660. shift(161); // 'integrity'
  42661. break;
  42662. case 171: // 'lax'
  42663. shift(171); // 'lax'
  42664. break;
  42665. case 192: // 'nodes'
  42666. shift(192); // 'nodes'
  42667. break;
  42668. case 199: // 'option'
  42669. shift(199); // 'option'
  42670. break;
  42671. case 203: // 'ordering'
  42672. shift(203); // 'ordering'
  42673. break;
  42674. case 222: // 'revalidation'
  42675. shift(222); // 'revalidation'
  42676. break;
  42677. case 225: // 'schema'
  42678. shift(225); // 'schema'
  42679. break;
  42680. case 228: // 'score'
  42681. shift(228); // 'score'
  42682. break;
  42683. case 234: // 'sliding'
  42684. shift(234); // 'sliding'
  42685. break;
  42686. case 240: // 'strict'
  42687. shift(240); // 'strict'
  42688. break;
  42689. case 251: // 'tumbling'
  42690. shift(251); // 'tumbling'
  42691. break;
  42692. case 252: // 'type'
  42693. shift(252); // 'type'
  42694. break;
  42695. case 257: // 'updating'
  42696. shift(257); // 'updating'
  42697. break;
  42698. case 261: // 'value'
  42699. shift(261); // 'value'
  42700. break;
  42701. case 262: // 'variable'
  42702. shift(262); // 'variable'
  42703. break;
  42704. case 263: // 'version'
  42705. shift(263); // 'version'
  42706. break;
  42707. case 267: // 'while'
  42708. shift(267); // 'while'
  42709. break;
  42710. case 97: // 'constraint'
  42711. shift(97); // 'constraint'
  42712. break;
  42713. case 176: // 'loop'
  42714. shift(176); // 'loop'
  42715. break;
  42716. case 221: // 'returning'
  42717. shift(221); // 'returning'
  42718. break;
  42719. case 77: // 'append'
  42720. shift(77); // 'append'
  42721. break;
  42722. case 166: // 'json'
  42723. shift(166); // 'json'
  42724. break;
  42725. default:
  42726. shift(194); // 'object'
  42727. }
  42728. eventHandler.endNonterminal("FunctionName", e0);
  42729. }
  42730. function try_FunctionName()
  42731. {
  42732. switch (l1)
  42733. {
  42734. case 6: // EQName^Token
  42735. shiftT(6); // EQName^Token
  42736. break;
  42737. case 70: // 'after'
  42738. shiftT(70); // 'after'
  42739. break;
  42740. case 73: // 'ancestor'
  42741. shiftT(73); // 'ancestor'
  42742. break;
  42743. case 74: // 'ancestor-or-self'
  42744. shiftT(74); // 'ancestor-or-self'
  42745. break;
  42746. case 75: // 'and'
  42747. shiftT(75); // 'and'
  42748. break;
  42749. case 79: // 'as'
  42750. shiftT(79); // 'as'
  42751. break;
  42752. case 80: // 'ascending'
  42753. shiftT(80); // 'ascending'
  42754. break;
  42755. case 84: // 'before'
  42756. shiftT(84); // 'before'
  42757. break;
  42758. case 88: // 'case'
  42759. shiftT(88); // 'case'
  42760. break;
  42761. case 89: // 'cast'
  42762. shiftT(89); // 'cast'
  42763. break;
  42764. case 90: // 'castable'
  42765. shiftT(90); // 'castable'
  42766. break;
  42767. case 93: // 'child'
  42768. shiftT(93); // 'child'
  42769. break;
  42770. case 94: // 'collation'
  42771. shiftT(94); // 'collation'
  42772. break;
  42773. case 103: // 'copy'
  42774. shiftT(103); // 'copy'
  42775. break;
  42776. case 105: // 'count'
  42777. shiftT(105); // 'count'
  42778. break;
  42779. case 108: // 'declare'
  42780. shiftT(108); // 'declare'
  42781. break;
  42782. case 109: // 'default'
  42783. shiftT(109); // 'default'
  42784. break;
  42785. case 110: // 'delete'
  42786. shiftT(110); // 'delete'
  42787. break;
  42788. case 111: // 'descendant'
  42789. shiftT(111); // 'descendant'
  42790. break;
  42791. case 112: // 'descendant-or-self'
  42792. shiftT(112); // 'descendant-or-self'
  42793. break;
  42794. case 113: // 'descending'
  42795. shiftT(113); // 'descending'
  42796. break;
  42797. case 118: // 'div'
  42798. shiftT(118); // 'div'
  42799. break;
  42800. case 119: // 'document'
  42801. shiftT(119); // 'document'
  42802. break;
  42803. case 122: // 'else'
  42804. shiftT(122); // 'else'
  42805. break;
  42806. case 123: // 'empty'
  42807. shiftT(123); // 'empty'
  42808. break;
  42809. case 126: // 'end'
  42810. shiftT(126); // 'end'
  42811. break;
  42812. case 128: // 'eq'
  42813. shiftT(128); // 'eq'
  42814. break;
  42815. case 129: // 'every'
  42816. shiftT(129); // 'every'
  42817. break;
  42818. case 131: // 'except'
  42819. shiftT(131); // 'except'
  42820. break;
  42821. case 134: // 'first'
  42822. shiftT(134); // 'first'
  42823. break;
  42824. case 135: // 'following'
  42825. shiftT(135); // 'following'
  42826. break;
  42827. case 136: // 'following-sibling'
  42828. shiftT(136); // 'following-sibling'
  42829. break;
  42830. case 137: // 'for'
  42831. shiftT(137); // 'for'
  42832. break;
  42833. case 146: // 'ge'
  42834. shiftT(146); // 'ge'
  42835. break;
  42836. case 148: // 'group'
  42837. shiftT(148); // 'group'
  42838. break;
  42839. case 150: // 'gt'
  42840. shiftT(150); // 'gt'
  42841. break;
  42842. case 151: // 'idiv'
  42843. shiftT(151); // 'idiv'
  42844. break;
  42845. case 153: // 'import'
  42846. shiftT(153); // 'import'
  42847. break;
  42848. case 159: // 'insert'
  42849. shiftT(159); // 'insert'
  42850. break;
  42851. case 160: // 'instance'
  42852. shiftT(160); // 'instance'
  42853. break;
  42854. case 162: // 'intersect'
  42855. shiftT(162); // 'intersect'
  42856. break;
  42857. case 163: // 'into'
  42858. shiftT(163); // 'into'
  42859. break;
  42860. case 164: // 'is'
  42861. shiftT(164); // 'is'
  42862. break;
  42863. case 170: // 'last'
  42864. shiftT(170); // 'last'
  42865. break;
  42866. case 172: // 'le'
  42867. shiftT(172); // 'le'
  42868. break;
  42869. case 174: // 'let'
  42870. shiftT(174); // 'let'
  42871. break;
  42872. case 178: // 'lt'
  42873. shiftT(178); // 'lt'
  42874. break;
  42875. case 180: // 'mod'
  42876. shiftT(180); // 'mod'
  42877. break;
  42878. case 181: // 'modify'
  42879. shiftT(181); // 'modify'
  42880. break;
  42881. case 182: // 'module'
  42882. shiftT(182); // 'module'
  42883. break;
  42884. case 184: // 'namespace'
  42885. shiftT(184); // 'namespace'
  42886. break;
  42887. case 186: // 'ne'
  42888. shiftT(186); // 'ne'
  42889. break;
  42890. case 198: // 'only'
  42891. shiftT(198); // 'only'
  42892. break;
  42893. case 200: // 'or'
  42894. shiftT(200); // 'or'
  42895. break;
  42896. case 201: // 'order'
  42897. shiftT(201); // 'order'
  42898. break;
  42899. case 202: // 'ordered'
  42900. shiftT(202); // 'ordered'
  42901. break;
  42902. case 206: // 'parent'
  42903. shiftT(206); // 'parent'
  42904. break;
  42905. case 212: // 'preceding'
  42906. shiftT(212); // 'preceding'
  42907. break;
  42908. case 213: // 'preceding-sibling'
  42909. shiftT(213); // 'preceding-sibling'
  42910. break;
  42911. case 218: // 'rename'
  42912. shiftT(218); // 'rename'
  42913. break;
  42914. case 219: // 'replace'
  42915. shiftT(219); // 'replace'
  42916. break;
  42917. case 220: // 'return'
  42918. shiftT(220); // 'return'
  42919. break;
  42920. case 224: // 'satisfies'
  42921. shiftT(224); // 'satisfies'
  42922. break;
  42923. case 229: // 'self'
  42924. shiftT(229); // 'self'
  42925. break;
  42926. case 235: // 'some'
  42927. shiftT(235); // 'some'
  42928. break;
  42929. case 236: // 'stable'
  42930. shiftT(236); // 'stable'
  42931. break;
  42932. case 237: // 'start'
  42933. shiftT(237); // 'start'
  42934. break;
  42935. case 248: // 'to'
  42936. shiftT(248); // 'to'
  42937. break;
  42938. case 249: // 'treat'
  42939. shiftT(249); // 'treat'
  42940. break;
  42941. case 250: // 'try'
  42942. shiftT(250); // 'try'
  42943. break;
  42944. case 254: // 'union'
  42945. shiftT(254); // 'union'
  42946. break;
  42947. case 256: // 'unordered'
  42948. shiftT(256); // 'unordered'
  42949. break;
  42950. case 260: // 'validate'
  42951. shiftT(260); // 'validate'
  42952. break;
  42953. case 266: // 'where'
  42954. shiftT(266); // 'where'
  42955. break;
  42956. case 270: // 'with'
  42957. shiftT(270); // 'with'
  42958. break;
  42959. case 274: // 'xquery'
  42960. shiftT(274); // 'xquery'
  42961. break;
  42962. case 72: // 'allowing'
  42963. shiftT(72); // 'allowing'
  42964. break;
  42965. case 81: // 'at'
  42966. shiftT(81); // 'at'
  42967. break;
  42968. case 83: // 'base-uri'
  42969. shiftT(83); // 'base-uri'
  42970. break;
  42971. case 85: // 'boundary-space'
  42972. shiftT(85); // 'boundary-space'
  42973. break;
  42974. case 86: // 'break'
  42975. shiftT(86); // 'break'
  42976. break;
  42977. case 91: // 'catch'
  42978. shiftT(91); // 'catch'
  42979. break;
  42980. case 98: // 'construction'
  42981. shiftT(98); // 'construction'
  42982. break;
  42983. case 101: // 'context'
  42984. shiftT(101); // 'context'
  42985. break;
  42986. case 102: // 'continue'
  42987. shiftT(102); // 'continue'
  42988. break;
  42989. case 104: // 'copy-namespaces'
  42990. shiftT(104); // 'copy-namespaces'
  42991. break;
  42992. case 106: // 'decimal-format'
  42993. shiftT(106); // 'decimal-format'
  42994. break;
  42995. case 125: // 'encoding'
  42996. shiftT(125); // 'encoding'
  42997. break;
  42998. case 132: // 'exit'
  42999. shiftT(132); // 'exit'
  43000. break;
  43001. case 133: // 'external'
  43002. shiftT(133); // 'external'
  43003. break;
  43004. case 141: // 'ft-option'
  43005. shiftT(141); // 'ft-option'
  43006. break;
  43007. case 154: // 'in'
  43008. shiftT(154); // 'in'
  43009. break;
  43010. case 155: // 'index'
  43011. shiftT(155); // 'index'
  43012. break;
  43013. case 161: // 'integrity'
  43014. shiftT(161); // 'integrity'
  43015. break;
  43016. case 171: // 'lax'
  43017. shiftT(171); // 'lax'
  43018. break;
  43019. case 192: // 'nodes'
  43020. shiftT(192); // 'nodes'
  43021. break;
  43022. case 199: // 'option'
  43023. shiftT(199); // 'option'
  43024. break;
  43025. case 203: // 'ordering'
  43026. shiftT(203); // 'ordering'
  43027. break;
  43028. case 222: // 'revalidation'
  43029. shiftT(222); // 'revalidation'
  43030. break;
  43031. case 225: // 'schema'
  43032. shiftT(225); // 'schema'
  43033. break;
  43034. case 228: // 'score'
  43035. shiftT(228); // 'score'
  43036. break;
  43037. case 234: // 'sliding'
  43038. shiftT(234); // 'sliding'
  43039. break;
  43040. case 240: // 'strict'
  43041. shiftT(240); // 'strict'
  43042. break;
  43043. case 251: // 'tumbling'
  43044. shiftT(251); // 'tumbling'
  43045. break;
  43046. case 252: // 'type'
  43047. shiftT(252); // 'type'
  43048. break;
  43049. case 257: // 'updating'
  43050. shiftT(257); // 'updating'
  43051. break;
  43052. case 261: // 'value'
  43053. shiftT(261); // 'value'
  43054. break;
  43055. case 262: // 'variable'
  43056. shiftT(262); // 'variable'
  43057. break;
  43058. case 263: // 'version'
  43059. shiftT(263); // 'version'
  43060. break;
  43061. case 267: // 'while'
  43062. shiftT(267); // 'while'
  43063. break;
  43064. case 97: // 'constraint'
  43065. shiftT(97); // 'constraint'
  43066. break;
  43067. case 176: // 'loop'
  43068. shiftT(176); // 'loop'
  43069. break;
  43070. case 221: // 'returning'
  43071. shiftT(221); // 'returning'
  43072. break;
  43073. case 77: // 'append'
  43074. shiftT(77); // 'append'
  43075. break;
  43076. case 166: // 'json'
  43077. shiftT(166); // 'json'
  43078. break;
  43079. default:
  43080. shiftT(194); // 'object'
  43081. }
  43082. }
  43083. function parse_NCName()
  43084. {
  43085. eventHandler.startNonterminal("NCName", e0);
  43086. switch (l1)
  43087. {
  43088. case 19: // NCName^Token
  43089. shift(19); // NCName^Token
  43090. break;
  43091. case 70: // 'after'
  43092. shift(70); // 'after'
  43093. break;
  43094. case 75: // 'and'
  43095. shift(75); // 'and'
  43096. break;
  43097. case 79: // 'as'
  43098. shift(79); // 'as'
  43099. break;
  43100. case 80: // 'ascending'
  43101. shift(80); // 'ascending'
  43102. break;
  43103. case 84: // 'before'
  43104. shift(84); // 'before'
  43105. break;
  43106. case 88: // 'case'
  43107. shift(88); // 'case'
  43108. break;
  43109. case 89: // 'cast'
  43110. shift(89); // 'cast'
  43111. break;
  43112. case 90: // 'castable'
  43113. shift(90); // 'castable'
  43114. break;
  43115. case 94: // 'collation'
  43116. shift(94); // 'collation'
  43117. break;
  43118. case 105: // 'count'
  43119. shift(105); // 'count'
  43120. break;
  43121. case 109: // 'default'
  43122. shift(109); // 'default'
  43123. break;
  43124. case 113: // 'descending'
  43125. shift(113); // 'descending'
  43126. break;
  43127. case 118: // 'div'
  43128. shift(118); // 'div'
  43129. break;
  43130. case 122: // 'else'
  43131. shift(122); // 'else'
  43132. break;
  43133. case 123: // 'empty'
  43134. shift(123); // 'empty'
  43135. break;
  43136. case 126: // 'end'
  43137. shift(126); // 'end'
  43138. break;
  43139. case 128: // 'eq'
  43140. shift(128); // 'eq'
  43141. break;
  43142. case 131: // 'except'
  43143. shift(131); // 'except'
  43144. break;
  43145. case 137: // 'for'
  43146. shift(137); // 'for'
  43147. break;
  43148. case 146: // 'ge'
  43149. shift(146); // 'ge'
  43150. break;
  43151. case 148: // 'group'
  43152. shift(148); // 'group'
  43153. break;
  43154. case 150: // 'gt'
  43155. shift(150); // 'gt'
  43156. break;
  43157. case 151: // 'idiv'
  43158. shift(151); // 'idiv'
  43159. break;
  43160. case 160: // 'instance'
  43161. shift(160); // 'instance'
  43162. break;
  43163. case 162: // 'intersect'
  43164. shift(162); // 'intersect'
  43165. break;
  43166. case 163: // 'into'
  43167. shift(163); // 'into'
  43168. break;
  43169. case 164: // 'is'
  43170. shift(164); // 'is'
  43171. break;
  43172. case 172: // 'le'
  43173. shift(172); // 'le'
  43174. break;
  43175. case 174: // 'let'
  43176. shift(174); // 'let'
  43177. break;
  43178. case 178: // 'lt'
  43179. shift(178); // 'lt'
  43180. break;
  43181. case 180: // 'mod'
  43182. shift(180); // 'mod'
  43183. break;
  43184. case 181: // 'modify'
  43185. shift(181); // 'modify'
  43186. break;
  43187. case 186: // 'ne'
  43188. shift(186); // 'ne'
  43189. break;
  43190. case 198: // 'only'
  43191. shift(198); // 'only'
  43192. break;
  43193. case 200: // 'or'
  43194. shift(200); // 'or'
  43195. break;
  43196. case 201: // 'order'
  43197. shift(201); // 'order'
  43198. break;
  43199. case 220: // 'return'
  43200. shift(220); // 'return'
  43201. break;
  43202. case 224: // 'satisfies'
  43203. shift(224); // 'satisfies'
  43204. break;
  43205. case 236: // 'stable'
  43206. shift(236); // 'stable'
  43207. break;
  43208. case 237: // 'start'
  43209. shift(237); // 'start'
  43210. break;
  43211. case 248: // 'to'
  43212. shift(248); // 'to'
  43213. break;
  43214. case 249: // 'treat'
  43215. shift(249); // 'treat'
  43216. break;
  43217. case 254: // 'union'
  43218. shift(254); // 'union'
  43219. break;
  43220. case 266: // 'where'
  43221. shift(266); // 'where'
  43222. break;
  43223. case 270: // 'with'
  43224. shift(270); // 'with'
  43225. break;
  43226. case 73: // 'ancestor'
  43227. shift(73); // 'ancestor'
  43228. break;
  43229. case 74: // 'ancestor-or-self'
  43230. shift(74); // 'ancestor-or-self'
  43231. break;
  43232. case 82: // 'attribute'
  43233. shift(82); // 'attribute'
  43234. break;
  43235. case 93: // 'child'
  43236. shift(93); // 'child'
  43237. break;
  43238. case 96: // 'comment'
  43239. shift(96); // 'comment'
  43240. break;
  43241. case 103: // 'copy'
  43242. shift(103); // 'copy'
  43243. break;
  43244. case 108: // 'declare'
  43245. shift(108); // 'declare'
  43246. break;
  43247. case 110: // 'delete'
  43248. shift(110); // 'delete'
  43249. break;
  43250. case 111: // 'descendant'
  43251. shift(111); // 'descendant'
  43252. break;
  43253. case 112: // 'descendant-or-self'
  43254. shift(112); // 'descendant-or-self'
  43255. break;
  43256. case 119: // 'document'
  43257. shift(119); // 'document'
  43258. break;
  43259. case 120: // 'document-node'
  43260. shift(120); // 'document-node'
  43261. break;
  43262. case 121: // 'element'
  43263. shift(121); // 'element'
  43264. break;
  43265. case 124: // 'empty-sequence'
  43266. shift(124); // 'empty-sequence'
  43267. break;
  43268. case 129: // 'every'
  43269. shift(129); // 'every'
  43270. break;
  43271. case 134: // 'first'
  43272. shift(134); // 'first'
  43273. break;
  43274. case 135: // 'following'
  43275. shift(135); // 'following'
  43276. break;
  43277. case 136: // 'following-sibling'
  43278. shift(136); // 'following-sibling'
  43279. break;
  43280. case 145: // 'function'
  43281. shift(145); // 'function'
  43282. break;
  43283. case 152: // 'if'
  43284. shift(152); // 'if'
  43285. break;
  43286. case 153: // 'import'
  43287. shift(153); // 'import'
  43288. break;
  43289. case 159: // 'insert'
  43290. shift(159); // 'insert'
  43291. break;
  43292. case 165: // 'item'
  43293. shift(165); // 'item'
  43294. break;
  43295. case 170: // 'last'
  43296. shift(170); // 'last'
  43297. break;
  43298. case 182: // 'module'
  43299. shift(182); // 'module'
  43300. break;
  43301. case 184: // 'namespace'
  43302. shift(184); // 'namespace'
  43303. break;
  43304. case 185: // 'namespace-node'
  43305. shift(185); // 'namespace-node'
  43306. break;
  43307. case 191: // 'node'
  43308. shift(191); // 'node'
  43309. break;
  43310. case 202: // 'ordered'
  43311. shift(202); // 'ordered'
  43312. break;
  43313. case 206: // 'parent'
  43314. shift(206); // 'parent'
  43315. break;
  43316. case 212: // 'preceding'
  43317. shift(212); // 'preceding'
  43318. break;
  43319. case 213: // 'preceding-sibling'
  43320. shift(213); // 'preceding-sibling'
  43321. break;
  43322. case 216: // 'processing-instruction'
  43323. shift(216); // 'processing-instruction'
  43324. break;
  43325. case 218: // 'rename'
  43326. shift(218); // 'rename'
  43327. break;
  43328. case 219: // 'replace'
  43329. shift(219); // 'replace'
  43330. break;
  43331. case 226: // 'schema-attribute'
  43332. shift(226); // 'schema-attribute'
  43333. break;
  43334. case 227: // 'schema-element'
  43335. shift(227); // 'schema-element'
  43336. break;
  43337. case 229: // 'self'
  43338. shift(229); // 'self'
  43339. break;
  43340. case 235: // 'some'
  43341. shift(235); // 'some'
  43342. break;
  43343. case 243: // 'switch'
  43344. shift(243); // 'switch'
  43345. break;
  43346. case 244: // 'text'
  43347. shift(244); // 'text'
  43348. break;
  43349. case 250: // 'try'
  43350. shift(250); // 'try'
  43351. break;
  43352. case 253: // 'typeswitch'
  43353. shift(253); // 'typeswitch'
  43354. break;
  43355. case 256: // 'unordered'
  43356. shift(256); // 'unordered'
  43357. break;
  43358. case 260: // 'validate'
  43359. shift(260); // 'validate'
  43360. break;
  43361. case 262: // 'variable'
  43362. shift(262); // 'variable'
  43363. break;
  43364. case 274: // 'xquery'
  43365. shift(274); // 'xquery'
  43366. break;
  43367. case 72: // 'allowing'
  43368. shift(72); // 'allowing'
  43369. break;
  43370. case 81: // 'at'
  43371. shift(81); // 'at'
  43372. break;
  43373. case 83: // 'base-uri'
  43374. shift(83); // 'base-uri'
  43375. break;
  43376. case 85: // 'boundary-space'
  43377. shift(85); // 'boundary-space'
  43378. break;
  43379. case 86: // 'break'
  43380. shift(86); // 'break'
  43381. break;
  43382. case 91: // 'catch'
  43383. shift(91); // 'catch'
  43384. break;
  43385. case 98: // 'construction'
  43386. shift(98); // 'construction'
  43387. break;
  43388. case 101: // 'context'
  43389. shift(101); // 'context'
  43390. break;
  43391. case 102: // 'continue'
  43392. shift(102); // 'continue'
  43393. break;
  43394. case 104: // 'copy-namespaces'
  43395. shift(104); // 'copy-namespaces'
  43396. break;
  43397. case 106: // 'decimal-format'
  43398. shift(106); // 'decimal-format'
  43399. break;
  43400. case 125: // 'encoding'
  43401. shift(125); // 'encoding'
  43402. break;
  43403. case 132: // 'exit'
  43404. shift(132); // 'exit'
  43405. break;
  43406. case 133: // 'external'
  43407. shift(133); // 'external'
  43408. break;
  43409. case 141: // 'ft-option'
  43410. shift(141); // 'ft-option'
  43411. break;
  43412. case 154: // 'in'
  43413. shift(154); // 'in'
  43414. break;
  43415. case 155: // 'index'
  43416. shift(155); // 'index'
  43417. break;
  43418. case 161: // 'integrity'
  43419. shift(161); // 'integrity'
  43420. break;
  43421. case 171: // 'lax'
  43422. shift(171); // 'lax'
  43423. break;
  43424. case 192: // 'nodes'
  43425. shift(192); // 'nodes'
  43426. break;
  43427. case 199: // 'option'
  43428. shift(199); // 'option'
  43429. break;
  43430. case 203: // 'ordering'
  43431. shift(203); // 'ordering'
  43432. break;
  43433. case 222: // 'revalidation'
  43434. shift(222); // 'revalidation'
  43435. break;
  43436. case 225: // 'schema'
  43437. shift(225); // 'schema'
  43438. break;
  43439. case 228: // 'score'
  43440. shift(228); // 'score'
  43441. break;
  43442. case 234: // 'sliding'
  43443. shift(234); // 'sliding'
  43444. break;
  43445. case 240: // 'strict'
  43446. shift(240); // 'strict'
  43447. break;
  43448. case 251: // 'tumbling'
  43449. shift(251); // 'tumbling'
  43450. break;
  43451. case 252: // 'type'
  43452. shift(252); // 'type'
  43453. break;
  43454. case 257: // 'updating'
  43455. shift(257); // 'updating'
  43456. break;
  43457. case 261: // 'value'
  43458. shift(261); // 'value'
  43459. break;
  43460. case 263: // 'version'
  43461. shift(263); // 'version'
  43462. break;
  43463. case 267: // 'while'
  43464. shift(267); // 'while'
  43465. break;
  43466. case 97: // 'constraint'
  43467. shift(97); // 'constraint'
  43468. break;
  43469. case 176: // 'loop'
  43470. shift(176); // 'loop'
  43471. break;
  43472. case 221: // 'returning'
  43473. shift(221); // 'returning'
  43474. break;
  43475. case 77: // 'append'
  43476. shift(77); // 'append'
  43477. break;
  43478. case 166: // 'json'
  43479. shift(166); // 'json'
  43480. break;
  43481. default:
  43482. shift(194); // 'object'
  43483. }
  43484. eventHandler.endNonterminal("NCName", e0);
  43485. }
  43486. function try_NCName()
  43487. {
  43488. switch (l1)
  43489. {
  43490. case 19: // NCName^Token
  43491. shiftT(19); // NCName^Token
  43492. break;
  43493. case 70: // 'after'
  43494. shiftT(70); // 'after'
  43495. break;
  43496. case 75: // 'and'
  43497. shiftT(75); // 'and'
  43498. break;
  43499. case 79: // 'as'
  43500. shiftT(79); // 'as'
  43501. break;
  43502. case 80: // 'ascending'
  43503. shiftT(80); // 'ascending'
  43504. break;
  43505. case 84: // 'before'
  43506. shiftT(84); // 'before'
  43507. break;
  43508. case 88: // 'case'
  43509. shiftT(88); // 'case'
  43510. break;
  43511. case 89: // 'cast'
  43512. shiftT(89); // 'cast'
  43513. break;
  43514. case 90: // 'castable'
  43515. shiftT(90); // 'castable'
  43516. break;
  43517. case 94: // 'collation'
  43518. shiftT(94); // 'collation'
  43519. break;
  43520. case 105: // 'count'
  43521. shiftT(105); // 'count'
  43522. break;
  43523. case 109: // 'default'
  43524. shiftT(109); // 'default'
  43525. break;
  43526. case 113: // 'descending'
  43527. shiftT(113); // 'descending'
  43528. break;
  43529. case 118: // 'div'
  43530. shiftT(118); // 'div'
  43531. break;
  43532. case 122: // 'else'
  43533. shiftT(122); // 'else'
  43534. break;
  43535. case 123: // 'empty'
  43536. shiftT(123); // 'empty'
  43537. break;
  43538. case 126: // 'end'
  43539. shiftT(126); // 'end'
  43540. break;
  43541. case 128: // 'eq'
  43542. shiftT(128); // 'eq'
  43543. break;
  43544. case 131: // 'except'
  43545. shiftT(131); // 'except'
  43546. break;
  43547. case 137: // 'for'
  43548. shiftT(137); // 'for'
  43549. break;
  43550. case 146: // 'ge'
  43551. shiftT(146); // 'ge'
  43552. break;
  43553. case 148: // 'group'
  43554. shiftT(148); // 'group'
  43555. break;
  43556. case 150: // 'gt'
  43557. shiftT(150); // 'gt'
  43558. break;
  43559. case 151: // 'idiv'
  43560. shiftT(151); // 'idiv'
  43561. break;
  43562. case 160: // 'instance'
  43563. shiftT(160); // 'instance'
  43564. break;
  43565. case 162: // 'intersect'
  43566. shiftT(162); // 'intersect'
  43567. break;
  43568. case 163: // 'into'
  43569. shiftT(163); // 'into'
  43570. break;
  43571. case 164: // 'is'
  43572. shiftT(164); // 'is'
  43573. break;
  43574. case 172: // 'le'
  43575. shiftT(172); // 'le'
  43576. break;
  43577. case 174: // 'let'
  43578. shiftT(174); // 'let'
  43579. break;
  43580. case 178: // 'lt'
  43581. shiftT(178); // 'lt'
  43582. break;
  43583. case 180: // 'mod'
  43584. shiftT(180); // 'mod'
  43585. break;
  43586. case 181: // 'modify'
  43587. shiftT(181); // 'modify'
  43588. break;
  43589. case 186: // 'ne'
  43590. shiftT(186); // 'ne'
  43591. break;
  43592. case 198: // 'only'
  43593. shiftT(198); // 'only'
  43594. break;
  43595. case 200: // 'or'
  43596. shiftT(200); // 'or'
  43597. break;
  43598. case 201: // 'order'
  43599. shiftT(201); // 'order'
  43600. break;
  43601. case 220: // 'return'
  43602. shiftT(220); // 'return'
  43603. break;
  43604. case 224: // 'satisfies'
  43605. shiftT(224); // 'satisfies'
  43606. break;
  43607. case 236: // 'stable'
  43608. shiftT(236); // 'stable'
  43609. break;
  43610. case 237: // 'start'
  43611. shiftT(237); // 'start'
  43612. break;
  43613. case 248: // 'to'
  43614. shiftT(248); // 'to'
  43615. break;
  43616. case 249: // 'treat'
  43617. shiftT(249); // 'treat'
  43618. break;
  43619. case 254: // 'union'
  43620. shiftT(254); // 'union'
  43621. break;
  43622. case 266: // 'where'
  43623. shiftT(266); // 'where'
  43624. break;
  43625. case 270: // 'with'
  43626. shiftT(270); // 'with'
  43627. break;
  43628. case 73: // 'ancestor'
  43629. shiftT(73); // 'ancestor'
  43630. break;
  43631. case 74: // 'ancestor-or-self'
  43632. shiftT(74); // 'ancestor-or-self'
  43633. break;
  43634. case 82: // 'attribute'
  43635. shiftT(82); // 'attribute'
  43636. break;
  43637. case 93: // 'child'
  43638. shiftT(93); // 'child'
  43639. break;
  43640. case 96: // 'comment'
  43641. shiftT(96); // 'comment'
  43642. break;
  43643. case 103: // 'copy'
  43644. shiftT(103); // 'copy'
  43645. break;
  43646. case 108: // 'declare'
  43647. shiftT(108); // 'declare'
  43648. break;
  43649. case 110: // 'delete'
  43650. shiftT(110); // 'delete'
  43651. break;
  43652. case 111: // 'descendant'
  43653. shiftT(111); // 'descendant'
  43654. break;
  43655. case 112: // 'descendant-or-self'
  43656. shiftT(112); // 'descendant-or-self'
  43657. break;
  43658. case 119: // 'document'
  43659. shiftT(119); // 'document'
  43660. break;
  43661. case 120: // 'document-node'
  43662. shiftT(120); // 'document-node'
  43663. break;
  43664. case 121: // 'element'
  43665. shiftT(121); // 'element'
  43666. break;
  43667. case 124: // 'empty-sequence'
  43668. shiftT(124); // 'empty-sequence'
  43669. break;
  43670. case 129: // 'every'
  43671. shiftT(129); // 'every'
  43672. break;
  43673. case 134: // 'first'
  43674. shiftT(134); // 'first'
  43675. break;
  43676. case 135: // 'following'
  43677. shiftT(135); // 'following'
  43678. break;
  43679. case 136: // 'following-sibling'
  43680. shiftT(136); // 'following-sibling'
  43681. break;
  43682. case 145: // 'function'
  43683. shiftT(145); // 'function'
  43684. break;
  43685. case 152: // 'if'
  43686. shiftT(152); // 'if'
  43687. break;
  43688. case 153: // 'import'
  43689. shiftT(153); // 'import'
  43690. break;
  43691. case 159: // 'insert'
  43692. shiftT(159); // 'insert'
  43693. break;
  43694. case 165: // 'item'
  43695. shiftT(165); // 'item'
  43696. break;
  43697. case 170: // 'last'
  43698. shiftT(170); // 'last'
  43699. break;
  43700. case 182: // 'module'
  43701. shiftT(182); // 'module'
  43702. break;
  43703. case 184: // 'namespace'
  43704. shiftT(184); // 'namespace'
  43705. break;
  43706. case 185: // 'namespace-node'
  43707. shiftT(185); // 'namespace-node'
  43708. break;
  43709. case 191: // 'node'
  43710. shiftT(191); // 'node'
  43711. break;
  43712. case 202: // 'ordered'
  43713. shiftT(202); // 'ordered'
  43714. break;
  43715. case 206: // 'parent'
  43716. shiftT(206); // 'parent'
  43717. break;
  43718. case 212: // 'preceding'
  43719. shiftT(212); // 'preceding'
  43720. break;
  43721. case 213: // 'preceding-sibling'
  43722. shiftT(213); // 'preceding-sibling'
  43723. break;
  43724. case 216: // 'processing-instruction'
  43725. shiftT(216); // 'processing-instruction'
  43726. break;
  43727. case 218: // 'rename'
  43728. shiftT(218); // 'rename'
  43729. break;
  43730. case 219: // 'replace'
  43731. shiftT(219); // 'replace'
  43732. break;
  43733. case 226: // 'schema-attribute'
  43734. shiftT(226); // 'schema-attribute'
  43735. break;
  43736. case 227: // 'schema-element'
  43737. shiftT(227); // 'schema-element'
  43738. break;
  43739. case 229: // 'self'
  43740. shiftT(229); // 'self'
  43741. break;
  43742. case 235: // 'some'
  43743. shiftT(235); // 'some'
  43744. break;
  43745. case 243: // 'switch'
  43746. shiftT(243); // 'switch'
  43747. break;
  43748. case 244: // 'text'
  43749. shiftT(244); // 'text'
  43750. break;
  43751. case 250: // 'try'
  43752. shiftT(250); // 'try'
  43753. break;
  43754. case 253: // 'typeswitch'
  43755. shiftT(253); // 'typeswitch'
  43756. break;
  43757. case 256: // 'unordered'
  43758. shiftT(256); // 'unordered'
  43759. break;
  43760. case 260: // 'validate'
  43761. shiftT(260); // 'validate'
  43762. break;
  43763. case 262: // 'variable'
  43764. shiftT(262); // 'variable'
  43765. break;
  43766. case 274: // 'xquery'
  43767. shiftT(274); // 'xquery'
  43768. break;
  43769. case 72: // 'allowing'
  43770. shiftT(72); // 'allowing'
  43771. break;
  43772. case 81: // 'at'
  43773. shiftT(81); // 'at'
  43774. break;
  43775. case 83: // 'base-uri'
  43776. shiftT(83); // 'base-uri'
  43777. break;
  43778. case 85: // 'boundary-space'
  43779. shiftT(85); // 'boundary-space'
  43780. break;
  43781. case 86: // 'break'
  43782. shiftT(86); // 'break'
  43783. break;
  43784. case 91: // 'catch'
  43785. shiftT(91); // 'catch'
  43786. break;
  43787. case 98: // 'construction'
  43788. shiftT(98); // 'construction'
  43789. break;
  43790. case 101: // 'context'
  43791. shiftT(101); // 'context'
  43792. break;
  43793. case 102: // 'continue'
  43794. shiftT(102); // 'continue'
  43795. break;
  43796. case 104: // 'copy-namespaces'
  43797. shiftT(104); // 'copy-namespaces'
  43798. break;
  43799. case 106: // 'decimal-format'
  43800. shiftT(106); // 'decimal-format'
  43801. break;
  43802. case 125: // 'encoding'
  43803. shiftT(125); // 'encoding'
  43804. break;
  43805. case 132: // 'exit'
  43806. shiftT(132); // 'exit'
  43807. break;
  43808. case 133: // 'external'
  43809. shiftT(133); // 'external'
  43810. break;
  43811. case 141: // 'ft-option'
  43812. shiftT(141); // 'ft-option'
  43813. break;
  43814. case 154: // 'in'
  43815. shiftT(154); // 'in'
  43816. break;
  43817. case 155: // 'index'
  43818. shiftT(155); // 'index'
  43819. break;
  43820. case 161: // 'integrity'
  43821. shiftT(161); // 'integrity'
  43822. break;
  43823. case 171: // 'lax'
  43824. shiftT(171); // 'lax'
  43825. break;
  43826. case 192: // 'nodes'
  43827. shiftT(192); // 'nodes'
  43828. break;
  43829. case 199: // 'option'
  43830. shiftT(199); // 'option'
  43831. break;
  43832. case 203: // 'ordering'
  43833. shiftT(203); // 'ordering'
  43834. break;
  43835. case 222: // 'revalidation'
  43836. shiftT(222); // 'revalidation'
  43837. break;
  43838. case 225: // 'schema'
  43839. shiftT(225); // 'schema'
  43840. break;
  43841. case 228: // 'score'
  43842. shiftT(228); // 'score'
  43843. break;
  43844. case 234: // 'sliding'
  43845. shiftT(234); // 'sliding'
  43846. break;
  43847. case 240: // 'strict'
  43848. shiftT(240); // 'strict'
  43849. break;
  43850. case 251: // 'tumbling'
  43851. shiftT(251); // 'tumbling'
  43852. break;
  43853. case 252: // 'type'
  43854. shiftT(252); // 'type'
  43855. break;
  43856. case 257: // 'updating'
  43857. shiftT(257); // 'updating'
  43858. break;
  43859. case 261: // 'value'
  43860. shiftT(261); // 'value'
  43861. break;
  43862. case 263: // 'version'
  43863. shiftT(263); // 'version'
  43864. break;
  43865. case 267: // 'while'
  43866. shiftT(267); // 'while'
  43867. break;
  43868. case 97: // 'constraint'
  43869. shiftT(97); // 'constraint'
  43870. break;
  43871. case 176: // 'loop'
  43872. shiftT(176); // 'loop'
  43873. break;
  43874. case 221: // 'returning'
  43875. shiftT(221); // 'returning'
  43876. break;
  43877. case 77: // 'append'
  43878. shiftT(77); // 'append'
  43879. break;
  43880. case 166: // 'json'
  43881. shiftT(166); // 'json'
  43882. break;
  43883. default:
  43884. shiftT(194); // 'object'
  43885. }
  43886. }
  43887. function parse_MainModule()
  43888. {
  43889. eventHandler.startNonterminal("MainModule", e0);
  43890. parse_Prolog();
  43891. whitespace();
  43892. parse_Program();
  43893. eventHandler.endNonterminal("MainModule", e0);
  43894. }
  43895. function parse_Program()
  43896. {
  43897. eventHandler.startNonterminal("Program", e0);
  43898. parse_StatementsAndOptionalExpr();
  43899. eventHandler.endNonterminal("Program", e0);
  43900. }
  43901. function parse_Statements()
  43902. {
  43903. eventHandler.startNonterminal("Statements", e0);
  43904. for (;;)
  43905. {
  43906. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43907. switch (l1)
  43908. {
  43909. case 34: // '('
  43910. lookahead2W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43911. break;
  43912. case 35: // '(#'
  43913. lookahead2(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  43914. break;
  43915. case 46: // '/'
  43916. lookahead2W(283); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43917. break;
  43918. case 47: // '//'
  43919. lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43920. break;
  43921. case 54: // '<'
  43922. lookahead2(4); // QName
  43923. break;
  43924. case 55: // '<!--'
  43925. lookahead2(1); // DirCommentContents
  43926. break;
  43927. case 59: // '<?'
  43928. lookahead2(3); // PITarget
  43929. break;
  43930. case 66: // '@'
  43931. lookahead2W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43932. break;
  43933. case 68: // '['
  43934. lookahead2W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43935. break;
  43936. case 77: // 'append'
  43937. lookahead2W(199); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43938. break;
  43939. case 82: // 'attribute'
  43940. lookahead2W(280); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  43941. break;
  43942. case 121: // 'element'
  43943. lookahead2W(279); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  43944. break;
  43945. case 132: // 'exit'
  43946. lookahead2W(202); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43947. break;
  43948. case 137: // 'for'
  43949. lookahead2W(207); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  43950. break;
  43951. case 174: // 'let'
  43952. lookahead2W(204); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  43953. break;
  43954. case 218: // 'rename'
  43955. lookahead2W(205); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43956. break;
  43957. case 219: // 'replace'
  43958. lookahead2W(206); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43959. break;
  43960. case 260: // 'validate'
  43961. lookahead2W(209); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43962. break;
  43963. case 276: // '{'
  43964. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43965. break;
  43966. case 278: // '{|'
  43967. lookahead2W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43968. break;
  43969. case 5: // Wildcard
  43970. case 45: // '..'
  43971. lookahead2W(185); // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
  43972. break;
  43973. case 31: // '$'
  43974. case 32: // '%'
  43975. lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  43976. break;
  43977. case 40: // '+'
  43978. case 42: // '-'
  43979. lookahead2W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  43980. break;
  43981. case 86: // 'break'
  43982. case 102: // 'continue'
  43983. lookahead2W(200); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43984. break;
  43985. case 110: // 'delete'
  43986. case 159: // 'insert'
  43987. lookahead2W(208); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  43988. break;
  43989. case 184: // 'namespace'
  43990. case 216: // 'processing-instruction'
  43991. lookahead2W(267); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  43992. break;
  43993. case 103: // 'copy'
  43994. case 129: // 'every'
  43995. case 235: // 'some'
  43996. case 262: // 'variable'
  43997. lookahead2W(196); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  43998. break;
  43999. case 8: // IntegerLiteral
  44000. case 9: // DecimalLiteral
  44001. case 10: // DoubleLiteral
  44002. case 11: // StringLiteral
  44003. case 44: // '.'
  44004. lookahead2W(191); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  44005. break;
  44006. case 78: // 'array'
  44007. case 124: // 'empty-sequence'
  44008. case 165: // 'item'
  44009. case 167: // 'json-item'
  44010. case 242: // 'structured-item'
  44011. lookahead2W(190); // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  44012. break;
  44013. case 96: // 'comment'
  44014. case 119: // 'document'
  44015. case 202: // 'ordered'
  44016. case 244: // 'text'
  44017. case 250: // 'try'
  44018. case 256: // 'unordered'
  44019. lookahead2W(203); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44020. break;
  44021. case 73: // 'ancestor'
  44022. case 74: // 'ancestor-or-self'
  44023. case 93: // 'child'
  44024. case 111: // 'descendant'
  44025. case 112: // 'descendant-or-self'
  44026. case 135: // 'following'
  44027. case 136: // 'following-sibling'
  44028. case 206: // 'parent'
  44029. case 212: // 'preceding'
  44030. case 213: // 'preceding-sibling'
  44031. case 229: // 'self'
  44032. lookahead2W(197); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44033. break;
  44034. case 6: // EQName^Token
  44035. case 70: // 'after'
  44036. case 72: // 'allowing'
  44037. case 75: // 'and'
  44038. case 79: // 'as'
  44039. case 80: // 'ascending'
  44040. case 81: // 'at'
  44041. case 83: // 'base-uri'
  44042. case 84: // 'before'
  44043. case 85: // 'boundary-space'
  44044. case 88: // 'case'
  44045. case 89: // 'cast'
  44046. case 90: // 'castable'
  44047. case 91: // 'catch'
  44048. case 94: // 'collation'
  44049. case 97: // 'constraint'
  44050. case 98: // 'construction'
  44051. case 101: // 'context'
  44052. case 104: // 'copy-namespaces'
  44053. case 105: // 'count'
  44054. case 106: // 'decimal-format'
  44055. case 108: // 'declare'
  44056. case 109: // 'default'
  44057. case 113: // 'descending'
  44058. case 118: // 'div'
  44059. case 120: // 'document-node'
  44060. case 122: // 'else'
  44061. case 123: // 'empty'
  44062. case 125: // 'encoding'
  44063. case 126: // 'end'
  44064. case 128: // 'eq'
  44065. case 131: // 'except'
  44066. case 133: // 'external'
  44067. case 134: // 'first'
  44068. case 141: // 'ft-option'
  44069. case 145: // 'function'
  44070. case 146: // 'ge'
  44071. case 148: // 'group'
  44072. case 150: // 'gt'
  44073. case 151: // 'idiv'
  44074. case 152: // 'if'
  44075. case 153: // 'import'
  44076. case 154: // 'in'
  44077. case 155: // 'index'
  44078. case 160: // 'instance'
  44079. case 161: // 'integrity'
  44080. case 162: // 'intersect'
  44081. case 163: // 'into'
  44082. case 164: // 'is'
  44083. case 166: // 'json'
  44084. case 170: // 'last'
  44085. case 171: // 'lax'
  44086. case 172: // 'le'
  44087. case 176: // 'loop'
  44088. case 178: // 'lt'
  44089. case 180: // 'mod'
  44090. case 181: // 'modify'
  44091. case 182: // 'module'
  44092. case 185: // 'namespace-node'
  44093. case 186: // 'ne'
  44094. case 191: // 'node'
  44095. case 192: // 'nodes'
  44096. case 194: // 'object'
  44097. case 198: // 'only'
  44098. case 199: // 'option'
  44099. case 200: // 'or'
  44100. case 201: // 'order'
  44101. case 203: // 'ordering'
  44102. case 220: // 'return'
  44103. case 221: // 'returning'
  44104. case 222: // 'revalidation'
  44105. case 224: // 'satisfies'
  44106. case 225: // 'schema'
  44107. case 226: // 'schema-attribute'
  44108. case 227: // 'schema-element'
  44109. case 228: // 'score'
  44110. case 234: // 'sliding'
  44111. case 236: // 'stable'
  44112. case 237: // 'start'
  44113. case 240: // 'strict'
  44114. case 243: // 'switch'
  44115. case 248: // 'to'
  44116. case 249: // 'treat'
  44117. case 251: // 'tumbling'
  44118. case 252: // 'type'
  44119. case 253: // 'typeswitch'
  44120. case 254: // 'union'
  44121. case 257: // 'updating'
  44122. case 261: // 'value'
  44123. case 263: // 'version'
  44124. case 266: // 'where'
  44125. case 267: // 'while'
  44126. case 270: // 'with'
  44127. case 274: // 'xquery'
  44128. lookahead2W(194); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44129. break;
  44130. default:
  44131. lk = l1;
  44132. }
  44133. if (lk != 25 // EOF
  44134. && lk != 53 // ';'
  44135. && lk != 282 // '}'
  44136. && lk != 12805 // Wildcard EOF
  44137. && lk != 12806 // EQName^Token EOF
  44138. && lk != 12808 // IntegerLiteral EOF
  44139. && lk != 12809 // DecimalLiteral EOF
  44140. && lk != 12810 // DoubleLiteral EOF
  44141. && lk != 12811 // StringLiteral EOF
  44142. && lk != 12844 // '.' EOF
  44143. && lk != 12845 // '..' EOF
  44144. && lk != 12846 // '/' EOF
  44145. && lk != 12870 // 'after' EOF
  44146. && lk != 12872 // 'allowing' EOF
  44147. && lk != 12873 // 'ancestor' EOF
  44148. && lk != 12874 // 'ancestor-or-self' EOF
  44149. && lk != 12875 // 'and' EOF
  44150. && lk != 12877 // 'append' EOF
  44151. && lk != 12878 // 'array' EOF
  44152. && lk != 12879 // 'as' EOF
  44153. && lk != 12880 // 'ascending' EOF
  44154. && lk != 12881 // 'at' EOF
  44155. && lk != 12882 // 'attribute' EOF
  44156. && lk != 12883 // 'base-uri' EOF
  44157. && lk != 12884 // 'before' EOF
  44158. && lk != 12885 // 'boundary-space' EOF
  44159. && lk != 12886 // 'break' EOF
  44160. && lk != 12888 // 'case' EOF
  44161. && lk != 12889 // 'cast' EOF
  44162. && lk != 12890 // 'castable' EOF
  44163. && lk != 12891 // 'catch' EOF
  44164. && lk != 12893 // 'child' EOF
  44165. && lk != 12894 // 'collation' EOF
  44166. && lk != 12896 // 'comment' EOF
  44167. && lk != 12897 // 'constraint' EOF
  44168. && lk != 12898 // 'construction' EOF
  44169. && lk != 12901 // 'context' EOF
  44170. && lk != 12902 // 'continue' EOF
  44171. && lk != 12903 // 'copy' EOF
  44172. && lk != 12904 // 'copy-namespaces' EOF
  44173. && lk != 12905 // 'count' EOF
  44174. && lk != 12906 // 'decimal-format' EOF
  44175. && lk != 12908 // 'declare' EOF
  44176. && lk != 12909 // 'default' EOF
  44177. && lk != 12910 // 'delete' EOF
  44178. && lk != 12911 // 'descendant' EOF
  44179. && lk != 12912 // 'descendant-or-self' EOF
  44180. && lk != 12913 // 'descending' EOF
  44181. && lk != 12918 // 'div' EOF
  44182. && lk != 12919 // 'document' EOF
  44183. && lk != 12920 // 'document-node' EOF
  44184. && lk != 12921 // 'element' EOF
  44185. && lk != 12922 // 'else' EOF
  44186. && lk != 12923 // 'empty' EOF
  44187. && lk != 12924 // 'empty-sequence' EOF
  44188. && lk != 12925 // 'encoding' EOF
  44189. && lk != 12926 // 'end' EOF
  44190. && lk != 12928 // 'eq' EOF
  44191. && lk != 12929 // 'every' EOF
  44192. && lk != 12931 // 'except' EOF
  44193. && lk != 12932 // 'exit' EOF
  44194. && lk != 12933 // 'external' EOF
  44195. && lk != 12934 // 'first' EOF
  44196. && lk != 12935 // 'following' EOF
  44197. && lk != 12936 // 'following-sibling' EOF
  44198. && lk != 12937 // 'for' EOF
  44199. && lk != 12941 // 'ft-option' EOF
  44200. && lk != 12945 // 'function' EOF
  44201. && lk != 12946 // 'ge' EOF
  44202. && lk != 12948 // 'group' EOF
  44203. && lk != 12950 // 'gt' EOF
  44204. && lk != 12951 // 'idiv' EOF
  44205. && lk != 12952 // 'if' EOF
  44206. && lk != 12953 // 'import' EOF
  44207. && lk != 12954 // 'in' EOF
  44208. && lk != 12955 // 'index' EOF
  44209. && lk != 12959 // 'insert' EOF
  44210. && lk != 12960 // 'instance' EOF
  44211. && lk != 12961 // 'integrity' EOF
  44212. && lk != 12962 // 'intersect' EOF
  44213. && lk != 12963 // 'into' EOF
  44214. && lk != 12964 // 'is' EOF
  44215. && lk != 12965 // 'item' EOF
  44216. && lk != 12966 // 'json' EOF
  44217. && lk != 12967 // 'json-item' EOF
  44218. && lk != 12970 // 'last' EOF
  44219. && lk != 12971 // 'lax' EOF
  44220. && lk != 12972 // 'le' EOF
  44221. && lk != 12974 // 'let' EOF
  44222. && lk != 12976 // 'loop' EOF
  44223. && lk != 12978 // 'lt' EOF
  44224. && lk != 12980 // 'mod' EOF
  44225. && lk != 12981 // 'modify' EOF
  44226. && lk != 12982 // 'module' EOF
  44227. && lk != 12984 // 'namespace' EOF
  44228. && lk != 12985 // 'namespace-node' EOF
  44229. && lk != 12986 // 'ne' EOF
  44230. && lk != 12991 // 'node' EOF
  44231. && lk != 12992 // 'nodes' EOF
  44232. && lk != 12994 // 'object' EOF
  44233. && lk != 12998 // 'only' EOF
  44234. && lk != 12999 // 'option' EOF
  44235. && lk != 13000 // 'or' EOF
  44236. && lk != 13001 // 'order' EOF
  44237. && lk != 13002 // 'ordered' EOF
  44238. && lk != 13003 // 'ordering' EOF
  44239. && lk != 13006 // 'parent' EOF
  44240. && lk != 13012 // 'preceding' EOF
  44241. && lk != 13013 // 'preceding-sibling' EOF
  44242. && lk != 13016 // 'processing-instruction' EOF
  44243. && lk != 13018 // 'rename' EOF
  44244. && lk != 13019 // 'replace' EOF
  44245. && lk != 13020 // 'return' EOF
  44246. && lk != 13021 // 'returning' EOF
  44247. && lk != 13022 // 'revalidation' EOF
  44248. && lk != 13024 // 'satisfies' EOF
  44249. && lk != 13025 // 'schema' EOF
  44250. && lk != 13026 // 'schema-attribute' EOF
  44251. && lk != 13027 // 'schema-element' EOF
  44252. && lk != 13028 // 'score' EOF
  44253. && lk != 13029 // 'self' EOF
  44254. && lk != 13034 // 'sliding' EOF
  44255. && lk != 13035 // 'some' EOF
  44256. && lk != 13036 // 'stable' EOF
  44257. && lk != 13037 // 'start' EOF
  44258. && lk != 13040 // 'strict' EOF
  44259. && lk != 13042 // 'structured-item' EOF
  44260. && lk != 13043 // 'switch' EOF
  44261. && lk != 13044 // 'text' EOF
  44262. && lk != 13048 // 'to' EOF
  44263. && lk != 13049 // 'treat' EOF
  44264. && lk != 13050 // 'try' EOF
  44265. && lk != 13051 // 'tumbling' EOF
  44266. && lk != 13052 // 'type' EOF
  44267. && lk != 13053 // 'typeswitch' EOF
  44268. && lk != 13054 // 'union' EOF
  44269. && lk != 13056 // 'unordered' EOF
  44270. && lk != 13057 // 'updating' EOF
  44271. && lk != 13060 // 'validate' EOF
  44272. && lk != 13061 // 'value' EOF
  44273. && lk != 13062 // 'variable' EOF
  44274. && lk != 13063 // 'version' EOF
  44275. && lk != 13066 // 'where' EOF
  44276. && lk != 13067 // 'while' EOF
  44277. && lk != 13070 // 'with' EOF
  44278. && lk != 13074 // 'xquery' EOF
  44279. && lk != 16134 // 'variable' '$'
  44280. && lk != 20997 // Wildcard ','
  44281. && lk != 20998 // EQName^Token ','
  44282. && lk != 21000 // IntegerLiteral ','
  44283. && lk != 21001 // DecimalLiteral ','
  44284. && lk != 21002 // DoubleLiteral ','
  44285. && lk != 21003 // StringLiteral ','
  44286. && lk != 21036 // '.' ','
  44287. && lk != 21037 // '..' ','
  44288. && lk != 21038 // '/' ','
  44289. && lk != 21062 // 'after' ','
  44290. && lk != 21064 // 'allowing' ','
  44291. && lk != 21065 // 'ancestor' ','
  44292. && lk != 21066 // 'ancestor-or-self' ','
  44293. && lk != 21067 // 'and' ','
  44294. && lk != 21069 // 'append' ','
  44295. && lk != 21070 // 'array' ','
  44296. && lk != 21071 // 'as' ','
  44297. && lk != 21072 // 'ascending' ','
  44298. && lk != 21073 // 'at' ','
  44299. && lk != 21074 // 'attribute' ','
  44300. && lk != 21075 // 'base-uri' ','
  44301. && lk != 21076 // 'before' ','
  44302. && lk != 21077 // 'boundary-space' ','
  44303. && lk != 21078 // 'break' ','
  44304. && lk != 21080 // 'case' ','
  44305. && lk != 21081 // 'cast' ','
  44306. && lk != 21082 // 'castable' ','
  44307. && lk != 21083 // 'catch' ','
  44308. && lk != 21085 // 'child' ','
  44309. && lk != 21086 // 'collation' ','
  44310. && lk != 21088 // 'comment' ','
  44311. && lk != 21089 // 'constraint' ','
  44312. && lk != 21090 // 'construction' ','
  44313. && lk != 21093 // 'context' ','
  44314. && lk != 21094 // 'continue' ','
  44315. && lk != 21095 // 'copy' ','
  44316. && lk != 21096 // 'copy-namespaces' ','
  44317. && lk != 21097 // 'count' ','
  44318. && lk != 21098 // 'decimal-format' ','
  44319. && lk != 21100 // 'declare' ','
  44320. && lk != 21101 // 'default' ','
  44321. && lk != 21102 // 'delete' ','
  44322. && lk != 21103 // 'descendant' ','
  44323. && lk != 21104 // 'descendant-or-self' ','
  44324. && lk != 21105 // 'descending' ','
  44325. && lk != 21110 // 'div' ','
  44326. && lk != 21111 // 'document' ','
  44327. && lk != 21112 // 'document-node' ','
  44328. && lk != 21113 // 'element' ','
  44329. && lk != 21114 // 'else' ','
  44330. && lk != 21115 // 'empty' ','
  44331. && lk != 21116 // 'empty-sequence' ','
  44332. && lk != 21117 // 'encoding' ','
  44333. && lk != 21118 // 'end' ','
  44334. && lk != 21120 // 'eq' ','
  44335. && lk != 21121 // 'every' ','
  44336. && lk != 21123 // 'except' ','
  44337. && lk != 21124 // 'exit' ','
  44338. && lk != 21125 // 'external' ','
  44339. && lk != 21126 // 'first' ','
  44340. && lk != 21127 // 'following' ','
  44341. && lk != 21128 // 'following-sibling' ','
  44342. && lk != 21129 // 'for' ','
  44343. && lk != 21133 // 'ft-option' ','
  44344. && lk != 21137 // 'function' ','
  44345. && lk != 21138 // 'ge' ','
  44346. && lk != 21140 // 'group' ','
  44347. && lk != 21142 // 'gt' ','
  44348. && lk != 21143 // 'idiv' ','
  44349. && lk != 21144 // 'if' ','
  44350. && lk != 21145 // 'import' ','
  44351. && lk != 21146 // 'in' ','
  44352. && lk != 21147 // 'index' ','
  44353. && lk != 21151 // 'insert' ','
  44354. && lk != 21152 // 'instance' ','
  44355. && lk != 21153 // 'integrity' ','
  44356. && lk != 21154 // 'intersect' ','
  44357. && lk != 21155 // 'into' ','
  44358. && lk != 21156 // 'is' ','
  44359. && lk != 21157 // 'item' ','
  44360. && lk != 21158 // 'json' ','
  44361. && lk != 21159 // 'json-item' ','
  44362. && lk != 21162 // 'last' ','
  44363. && lk != 21163 // 'lax' ','
  44364. && lk != 21164 // 'le' ','
  44365. && lk != 21166 // 'let' ','
  44366. && lk != 21168 // 'loop' ','
  44367. && lk != 21170 // 'lt' ','
  44368. && lk != 21172 // 'mod' ','
  44369. && lk != 21173 // 'modify' ','
  44370. && lk != 21174 // 'module' ','
  44371. && lk != 21176 // 'namespace' ','
  44372. && lk != 21177 // 'namespace-node' ','
  44373. && lk != 21178 // 'ne' ','
  44374. && lk != 21183 // 'node' ','
  44375. && lk != 21184 // 'nodes' ','
  44376. && lk != 21186 // 'object' ','
  44377. && lk != 21190 // 'only' ','
  44378. && lk != 21191 // 'option' ','
  44379. && lk != 21192 // 'or' ','
  44380. && lk != 21193 // 'order' ','
  44381. && lk != 21194 // 'ordered' ','
  44382. && lk != 21195 // 'ordering' ','
  44383. && lk != 21198 // 'parent' ','
  44384. && lk != 21204 // 'preceding' ','
  44385. && lk != 21205 // 'preceding-sibling' ','
  44386. && lk != 21208 // 'processing-instruction' ','
  44387. && lk != 21210 // 'rename' ','
  44388. && lk != 21211 // 'replace' ','
  44389. && lk != 21212 // 'return' ','
  44390. && lk != 21213 // 'returning' ','
  44391. && lk != 21214 // 'revalidation' ','
  44392. && lk != 21216 // 'satisfies' ','
  44393. && lk != 21217 // 'schema' ','
  44394. && lk != 21218 // 'schema-attribute' ','
  44395. && lk != 21219 // 'schema-element' ','
  44396. && lk != 21220 // 'score' ','
  44397. && lk != 21221 // 'self' ','
  44398. && lk != 21226 // 'sliding' ','
  44399. && lk != 21227 // 'some' ','
  44400. && lk != 21228 // 'stable' ','
  44401. && lk != 21229 // 'start' ','
  44402. && lk != 21232 // 'strict' ','
  44403. && lk != 21234 // 'structured-item' ','
  44404. && lk != 21235 // 'switch' ','
  44405. && lk != 21236 // 'text' ','
  44406. && lk != 21240 // 'to' ','
  44407. && lk != 21241 // 'treat' ','
  44408. && lk != 21242 // 'try' ','
  44409. && lk != 21243 // 'tumbling' ','
  44410. && lk != 21244 // 'type' ','
  44411. && lk != 21245 // 'typeswitch' ','
  44412. && lk != 21246 // 'union' ','
  44413. && lk != 21248 // 'unordered' ','
  44414. && lk != 21249 // 'updating' ','
  44415. && lk != 21252 // 'validate' ','
  44416. && lk != 21253 // 'value' ','
  44417. && lk != 21254 // 'variable' ','
  44418. && lk != 21255 // 'version' ','
  44419. && lk != 21258 // 'where' ','
  44420. && lk != 21259 // 'while' ','
  44421. && lk != 21262 // 'with' ','
  44422. && lk != 21266 // 'xquery' ','
  44423. && lk != 27141 // Wildcard ';'
  44424. && lk != 27142 // EQName^Token ';'
  44425. && lk != 27144 // IntegerLiteral ';'
  44426. && lk != 27145 // DecimalLiteral ';'
  44427. && lk != 27146 // DoubleLiteral ';'
  44428. && lk != 27147 // StringLiteral ';'
  44429. && lk != 27180 // '.' ';'
  44430. && lk != 27181 // '..' ';'
  44431. && lk != 27182 // '/' ';'
  44432. && lk != 27206 // 'after' ';'
  44433. && lk != 27208 // 'allowing' ';'
  44434. && lk != 27209 // 'ancestor' ';'
  44435. && lk != 27210 // 'ancestor-or-self' ';'
  44436. && lk != 27211 // 'and' ';'
  44437. && lk != 27213 // 'append' ';'
  44438. && lk != 27214 // 'array' ';'
  44439. && lk != 27215 // 'as' ';'
  44440. && lk != 27216 // 'ascending' ';'
  44441. && lk != 27217 // 'at' ';'
  44442. && lk != 27218 // 'attribute' ';'
  44443. && lk != 27219 // 'base-uri' ';'
  44444. && lk != 27220 // 'before' ';'
  44445. && lk != 27221 // 'boundary-space' ';'
  44446. && lk != 27222 // 'break' ';'
  44447. && lk != 27224 // 'case' ';'
  44448. && lk != 27225 // 'cast' ';'
  44449. && lk != 27226 // 'castable' ';'
  44450. && lk != 27227 // 'catch' ';'
  44451. && lk != 27229 // 'child' ';'
  44452. && lk != 27230 // 'collation' ';'
  44453. && lk != 27232 // 'comment' ';'
  44454. && lk != 27233 // 'constraint' ';'
  44455. && lk != 27234 // 'construction' ';'
  44456. && lk != 27237 // 'context' ';'
  44457. && lk != 27238 // 'continue' ';'
  44458. && lk != 27239 // 'copy' ';'
  44459. && lk != 27240 // 'copy-namespaces' ';'
  44460. && lk != 27241 // 'count' ';'
  44461. && lk != 27242 // 'decimal-format' ';'
  44462. && lk != 27244 // 'declare' ';'
  44463. && lk != 27245 // 'default' ';'
  44464. && lk != 27246 // 'delete' ';'
  44465. && lk != 27247 // 'descendant' ';'
  44466. && lk != 27248 // 'descendant-or-self' ';'
  44467. && lk != 27249 // 'descending' ';'
  44468. && lk != 27254 // 'div' ';'
  44469. && lk != 27255 // 'document' ';'
  44470. && lk != 27256 // 'document-node' ';'
  44471. && lk != 27257 // 'element' ';'
  44472. && lk != 27258 // 'else' ';'
  44473. && lk != 27259 // 'empty' ';'
  44474. && lk != 27260 // 'empty-sequence' ';'
  44475. && lk != 27261 // 'encoding' ';'
  44476. && lk != 27262 // 'end' ';'
  44477. && lk != 27264 // 'eq' ';'
  44478. && lk != 27265 // 'every' ';'
  44479. && lk != 27267 // 'except' ';'
  44480. && lk != 27268 // 'exit' ';'
  44481. && lk != 27269 // 'external' ';'
  44482. && lk != 27270 // 'first' ';'
  44483. && lk != 27271 // 'following' ';'
  44484. && lk != 27272 // 'following-sibling' ';'
  44485. && lk != 27273 // 'for' ';'
  44486. && lk != 27277 // 'ft-option' ';'
  44487. && lk != 27281 // 'function' ';'
  44488. && lk != 27282 // 'ge' ';'
  44489. && lk != 27284 // 'group' ';'
  44490. && lk != 27286 // 'gt' ';'
  44491. && lk != 27287 // 'idiv' ';'
  44492. && lk != 27288 // 'if' ';'
  44493. && lk != 27289 // 'import' ';'
  44494. && lk != 27290 // 'in' ';'
  44495. && lk != 27291 // 'index' ';'
  44496. && lk != 27295 // 'insert' ';'
  44497. && lk != 27296 // 'instance' ';'
  44498. && lk != 27297 // 'integrity' ';'
  44499. && lk != 27298 // 'intersect' ';'
  44500. && lk != 27299 // 'into' ';'
  44501. && lk != 27300 // 'is' ';'
  44502. && lk != 27301 // 'item' ';'
  44503. && lk != 27302 // 'json' ';'
  44504. && lk != 27303 // 'json-item' ';'
  44505. && lk != 27306 // 'last' ';'
  44506. && lk != 27307 // 'lax' ';'
  44507. && lk != 27308 // 'le' ';'
  44508. && lk != 27310 // 'let' ';'
  44509. && lk != 27312 // 'loop' ';'
  44510. && lk != 27314 // 'lt' ';'
  44511. && lk != 27316 // 'mod' ';'
  44512. && lk != 27317 // 'modify' ';'
  44513. && lk != 27318 // 'module' ';'
  44514. && lk != 27320 // 'namespace' ';'
  44515. && lk != 27321 // 'namespace-node' ';'
  44516. && lk != 27322 // 'ne' ';'
  44517. && lk != 27327 // 'node' ';'
  44518. && lk != 27328 // 'nodes' ';'
  44519. && lk != 27330 // 'object' ';'
  44520. && lk != 27334 // 'only' ';'
  44521. && lk != 27335 // 'option' ';'
  44522. && lk != 27336 // 'or' ';'
  44523. && lk != 27337 // 'order' ';'
  44524. && lk != 27338 // 'ordered' ';'
  44525. && lk != 27339 // 'ordering' ';'
  44526. && lk != 27342 // 'parent' ';'
  44527. && lk != 27348 // 'preceding' ';'
  44528. && lk != 27349 // 'preceding-sibling' ';'
  44529. && lk != 27352 // 'processing-instruction' ';'
  44530. && lk != 27354 // 'rename' ';'
  44531. && lk != 27355 // 'replace' ';'
  44532. && lk != 27356 // 'return' ';'
  44533. && lk != 27357 // 'returning' ';'
  44534. && lk != 27358 // 'revalidation' ';'
  44535. && lk != 27360 // 'satisfies' ';'
  44536. && lk != 27361 // 'schema' ';'
  44537. && lk != 27362 // 'schema-attribute' ';'
  44538. && lk != 27363 // 'schema-element' ';'
  44539. && lk != 27364 // 'score' ';'
  44540. && lk != 27365 // 'self' ';'
  44541. && lk != 27370 // 'sliding' ';'
  44542. && lk != 27371 // 'some' ';'
  44543. && lk != 27372 // 'stable' ';'
  44544. && lk != 27373 // 'start' ';'
  44545. && lk != 27376 // 'strict' ';'
  44546. && lk != 27378 // 'structured-item' ';'
  44547. && lk != 27379 // 'switch' ';'
  44548. && lk != 27380 // 'text' ';'
  44549. && lk != 27384 // 'to' ';'
  44550. && lk != 27385 // 'treat' ';'
  44551. && lk != 27386 // 'try' ';'
  44552. && lk != 27387 // 'tumbling' ';'
  44553. && lk != 27388 // 'type' ';'
  44554. && lk != 27389 // 'typeswitch' ';'
  44555. && lk != 27390 // 'union' ';'
  44556. && lk != 27392 // 'unordered' ';'
  44557. && lk != 27393 // 'updating' ';'
  44558. && lk != 27396 // 'validate' ';'
  44559. && lk != 27397 // 'value' ';'
  44560. && lk != 27398 // 'variable' ';'
  44561. && lk != 27399 // 'version' ';'
  44562. && lk != 27402 // 'where' ';'
  44563. && lk != 27403 // 'while' ';'
  44564. && lk != 27406 // 'with' ';'
  44565. && lk != 27410 // 'xquery' ';'
  44566. && lk != 90198 // 'break' 'loop'
  44567. && lk != 90214 // 'continue' 'loop'
  44568. && lk != 113284 // 'exit' 'returning'
  44569. && lk != 144389 // Wildcard '}'
  44570. && lk != 144390 // EQName^Token '}'
  44571. && lk != 144392 // IntegerLiteral '}'
  44572. && lk != 144393 // DecimalLiteral '}'
  44573. && lk != 144394 // DoubleLiteral '}'
  44574. && lk != 144395 // StringLiteral '}'
  44575. && lk != 144428 // '.' '}'
  44576. && lk != 144429 // '..' '}'
  44577. && lk != 144430 // '/' '}'
  44578. && lk != 144454 // 'after' '}'
  44579. && lk != 144456 // 'allowing' '}'
  44580. && lk != 144457 // 'ancestor' '}'
  44581. && lk != 144458 // 'ancestor-or-self' '}'
  44582. && lk != 144459 // 'and' '}'
  44583. && lk != 144461 // 'append' '}'
  44584. && lk != 144462 // 'array' '}'
  44585. && lk != 144463 // 'as' '}'
  44586. && lk != 144464 // 'ascending' '}'
  44587. && lk != 144465 // 'at' '}'
  44588. && lk != 144466 // 'attribute' '}'
  44589. && lk != 144467 // 'base-uri' '}'
  44590. && lk != 144468 // 'before' '}'
  44591. && lk != 144469 // 'boundary-space' '}'
  44592. && lk != 144470 // 'break' '}'
  44593. && lk != 144472 // 'case' '}'
  44594. && lk != 144473 // 'cast' '}'
  44595. && lk != 144474 // 'castable' '}'
  44596. && lk != 144475 // 'catch' '}'
  44597. && lk != 144477 // 'child' '}'
  44598. && lk != 144478 // 'collation' '}'
  44599. && lk != 144480 // 'comment' '}'
  44600. && lk != 144481 // 'constraint' '}'
  44601. && lk != 144482 // 'construction' '}'
  44602. && lk != 144485 // 'context' '}'
  44603. && lk != 144486 // 'continue' '}'
  44604. && lk != 144487 // 'copy' '}'
  44605. && lk != 144488 // 'copy-namespaces' '}'
  44606. && lk != 144489 // 'count' '}'
  44607. && lk != 144490 // 'decimal-format' '}'
  44608. && lk != 144492 // 'declare' '}'
  44609. && lk != 144493 // 'default' '}'
  44610. && lk != 144494 // 'delete' '}'
  44611. && lk != 144495 // 'descendant' '}'
  44612. && lk != 144496 // 'descendant-or-self' '}'
  44613. && lk != 144497 // 'descending' '}'
  44614. && lk != 144502 // 'div' '}'
  44615. && lk != 144503 // 'document' '}'
  44616. && lk != 144504 // 'document-node' '}'
  44617. && lk != 144505 // 'element' '}'
  44618. && lk != 144506 // 'else' '}'
  44619. && lk != 144507 // 'empty' '}'
  44620. && lk != 144508 // 'empty-sequence' '}'
  44621. && lk != 144509 // 'encoding' '}'
  44622. && lk != 144510 // 'end' '}'
  44623. && lk != 144512 // 'eq' '}'
  44624. && lk != 144513 // 'every' '}'
  44625. && lk != 144515 // 'except' '}'
  44626. && lk != 144516 // 'exit' '}'
  44627. && lk != 144517 // 'external' '}'
  44628. && lk != 144518 // 'first' '}'
  44629. && lk != 144519 // 'following' '}'
  44630. && lk != 144520 // 'following-sibling' '}'
  44631. && lk != 144521 // 'for' '}'
  44632. && lk != 144525 // 'ft-option' '}'
  44633. && lk != 144529 // 'function' '}'
  44634. && lk != 144530 // 'ge' '}'
  44635. && lk != 144532 // 'group' '}'
  44636. && lk != 144534 // 'gt' '}'
  44637. && lk != 144535 // 'idiv' '}'
  44638. && lk != 144536 // 'if' '}'
  44639. && lk != 144537 // 'import' '}'
  44640. && lk != 144538 // 'in' '}'
  44641. && lk != 144539 // 'index' '}'
  44642. && lk != 144543 // 'insert' '}'
  44643. && lk != 144544 // 'instance' '}'
  44644. && lk != 144545 // 'integrity' '}'
  44645. && lk != 144546 // 'intersect' '}'
  44646. && lk != 144547 // 'into' '}'
  44647. && lk != 144548 // 'is' '}'
  44648. && lk != 144549 // 'item' '}'
  44649. && lk != 144550 // 'json' '}'
  44650. && lk != 144551 // 'json-item' '}'
  44651. && lk != 144554 // 'last' '}'
  44652. && lk != 144555 // 'lax' '}'
  44653. && lk != 144556 // 'le' '}'
  44654. && lk != 144558 // 'let' '}'
  44655. && lk != 144560 // 'loop' '}'
  44656. && lk != 144562 // 'lt' '}'
  44657. && lk != 144564 // 'mod' '}'
  44658. && lk != 144565 // 'modify' '}'
  44659. && lk != 144566 // 'module' '}'
  44660. && lk != 144568 // 'namespace' '}'
  44661. && lk != 144569 // 'namespace-node' '}'
  44662. && lk != 144570 // 'ne' '}'
  44663. && lk != 144575 // 'node' '}'
  44664. && lk != 144576 // 'nodes' '}'
  44665. && lk != 144578 // 'object' '}'
  44666. && lk != 144582 // 'only' '}'
  44667. && lk != 144583 // 'option' '}'
  44668. && lk != 144584 // 'or' '}'
  44669. && lk != 144585 // 'order' '}'
  44670. && lk != 144586 // 'ordered' '}'
  44671. && lk != 144587 // 'ordering' '}'
  44672. && lk != 144590 // 'parent' '}'
  44673. && lk != 144596 // 'preceding' '}'
  44674. && lk != 144597 // 'preceding-sibling' '}'
  44675. && lk != 144600 // 'processing-instruction' '}'
  44676. && lk != 144602 // 'rename' '}'
  44677. && lk != 144603 // 'replace' '}'
  44678. && lk != 144604 // 'return' '}'
  44679. && lk != 144605 // 'returning' '}'
  44680. && lk != 144606 // 'revalidation' '}'
  44681. && lk != 144608 // 'satisfies' '}'
  44682. && lk != 144609 // 'schema' '}'
  44683. && lk != 144610 // 'schema-attribute' '}'
  44684. && lk != 144611 // 'schema-element' '}'
  44685. && lk != 144612 // 'score' '}'
  44686. && lk != 144613 // 'self' '}'
  44687. && lk != 144618 // 'sliding' '}'
  44688. && lk != 144619 // 'some' '}'
  44689. && lk != 144620 // 'stable' '}'
  44690. && lk != 144621 // 'start' '}'
  44691. && lk != 144624 // 'strict' '}'
  44692. && lk != 144626 // 'structured-item' '}'
  44693. && lk != 144627 // 'switch' '}'
  44694. && lk != 144628 // 'text' '}'
  44695. && lk != 144632 // 'to' '}'
  44696. && lk != 144633 // 'treat' '}'
  44697. && lk != 144634 // 'try' '}'
  44698. && lk != 144635 // 'tumbling' '}'
  44699. && lk != 144636 // 'type' '}'
  44700. && lk != 144637 // 'typeswitch' '}'
  44701. && lk != 144638 // 'union' '}'
  44702. && lk != 144640 // 'unordered' '}'
  44703. && lk != 144641 // 'updating' '}'
  44704. && lk != 144644 // 'validate' '}'
  44705. && lk != 144645 // 'value' '}'
  44706. && lk != 144646 // 'variable' '}'
  44707. && lk != 144647 // 'version' '}'
  44708. && lk != 144650 // 'where' '}'
  44709. && lk != 144651 // 'while' '}'
  44710. && lk != 144654 // 'with' '}'
  44711. && lk != 144658) // 'xquery' '}'
  44712. {
  44713. lk = memoized(6, e0);
  44714. if (lk == 0)
  44715. {
  44716. var b0A = b0; var e0A = e0; var l1A = l1;
  44717. var b1A = b1; var e1A = e1; var l2A = l2;
  44718. var b2A = b2; var e2A = e2;
  44719. try
  44720. {
  44721. try_Statement();
  44722. lk = -1;
  44723. }
  44724. catch (p1A)
  44725. {
  44726. lk = -2;
  44727. }
  44728. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  44729. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  44730. b2 = b2A; e2 = e2A; end = e2A; }}
  44731. memoize(6, e0, lk);
  44732. }
  44733. }
  44734. if (lk != -1
  44735. && lk != 53 // ';'
  44736. && lk != 16134 // 'variable' '$'
  44737. && lk != 27141 // Wildcard ';'
  44738. && lk != 27142 // EQName^Token ';'
  44739. && lk != 27144 // IntegerLiteral ';'
  44740. && lk != 27145 // DecimalLiteral ';'
  44741. && lk != 27146 // DoubleLiteral ';'
  44742. && lk != 27147 // StringLiteral ';'
  44743. && lk != 27180 // '.' ';'
  44744. && lk != 27181 // '..' ';'
  44745. && lk != 27182 // '/' ';'
  44746. && lk != 27206 // 'after' ';'
  44747. && lk != 27208 // 'allowing' ';'
  44748. && lk != 27209 // 'ancestor' ';'
  44749. && lk != 27210 // 'ancestor-or-self' ';'
  44750. && lk != 27211 // 'and' ';'
  44751. && lk != 27213 // 'append' ';'
  44752. && lk != 27214 // 'array' ';'
  44753. && lk != 27215 // 'as' ';'
  44754. && lk != 27216 // 'ascending' ';'
  44755. && lk != 27217 // 'at' ';'
  44756. && lk != 27218 // 'attribute' ';'
  44757. && lk != 27219 // 'base-uri' ';'
  44758. && lk != 27220 // 'before' ';'
  44759. && lk != 27221 // 'boundary-space' ';'
  44760. && lk != 27222 // 'break' ';'
  44761. && lk != 27224 // 'case' ';'
  44762. && lk != 27225 // 'cast' ';'
  44763. && lk != 27226 // 'castable' ';'
  44764. && lk != 27227 // 'catch' ';'
  44765. && lk != 27229 // 'child' ';'
  44766. && lk != 27230 // 'collation' ';'
  44767. && lk != 27232 // 'comment' ';'
  44768. && lk != 27233 // 'constraint' ';'
  44769. && lk != 27234 // 'construction' ';'
  44770. && lk != 27237 // 'context' ';'
  44771. && lk != 27238 // 'continue' ';'
  44772. && lk != 27239 // 'copy' ';'
  44773. && lk != 27240 // 'copy-namespaces' ';'
  44774. && lk != 27241 // 'count' ';'
  44775. && lk != 27242 // 'decimal-format' ';'
  44776. && lk != 27244 // 'declare' ';'
  44777. && lk != 27245 // 'default' ';'
  44778. && lk != 27246 // 'delete' ';'
  44779. && lk != 27247 // 'descendant' ';'
  44780. && lk != 27248 // 'descendant-or-self' ';'
  44781. && lk != 27249 // 'descending' ';'
  44782. && lk != 27254 // 'div' ';'
  44783. && lk != 27255 // 'document' ';'
  44784. && lk != 27256 // 'document-node' ';'
  44785. && lk != 27257 // 'element' ';'
  44786. && lk != 27258 // 'else' ';'
  44787. && lk != 27259 // 'empty' ';'
  44788. && lk != 27260 // 'empty-sequence' ';'
  44789. && lk != 27261 // 'encoding' ';'
  44790. && lk != 27262 // 'end' ';'
  44791. && lk != 27264 // 'eq' ';'
  44792. && lk != 27265 // 'every' ';'
  44793. && lk != 27267 // 'except' ';'
  44794. && lk != 27268 // 'exit' ';'
  44795. && lk != 27269 // 'external' ';'
  44796. && lk != 27270 // 'first' ';'
  44797. && lk != 27271 // 'following' ';'
  44798. && lk != 27272 // 'following-sibling' ';'
  44799. && lk != 27273 // 'for' ';'
  44800. && lk != 27277 // 'ft-option' ';'
  44801. && lk != 27281 // 'function' ';'
  44802. && lk != 27282 // 'ge' ';'
  44803. && lk != 27284 // 'group' ';'
  44804. && lk != 27286 // 'gt' ';'
  44805. && lk != 27287 // 'idiv' ';'
  44806. && lk != 27288 // 'if' ';'
  44807. && lk != 27289 // 'import' ';'
  44808. && lk != 27290 // 'in' ';'
  44809. && lk != 27291 // 'index' ';'
  44810. && lk != 27295 // 'insert' ';'
  44811. && lk != 27296 // 'instance' ';'
  44812. && lk != 27297 // 'integrity' ';'
  44813. && lk != 27298 // 'intersect' ';'
  44814. && lk != 27299 // 'into' ';'
  44815. && lk != 27300 // 'is' ';'
  44816. && lk != 27301 // 'item' ';'
  44817. && lk != 27302 // 'json' ';'
  44818. && lk != 27303 // 'json-item' ';'
  44819. && lk != 27306 // 'last' ';'
  44820. && lk != 27307 // 'lax' ';'
  44821. && lk != 27308 // 'le' ';'
  44822. && lk != 27310 // 'let' ';'
  44823. && lk != 27312 // 'loop' ';'
  44824. && lk != 27314 // 'lt' ';'
  44825. && lk != 27316 // 'mod' ';'
  44826. && lk != 27317 // 'modify' ';'
  44827. && lk != 27318 // 'module' ';'
  44828. && lk != 27320 // 'namespace' ';'
  44829. && lk != 27321 // 'namespace-node' ';'
  44830. && lk != 27322 // 'ne' ';'
  44831. && lk != 27327 // 'node' ';'
  44832. && lk != 27328 // 'nodes' ';'
  44833. && lk != 27330 // 'object' ';'
  44834. && lk != 27334 // 'only' ';'
  44835. && lk != 27335 // 'option' ';'
  44836. && lk != 27336 // 'or' ';'
  44837. && lk != 27337 // 'order' ';'
  44838. && lk != 27338 // 'ordered' ';'
  44839. && lk != 27339 // 'ordering' ';'
  44840. && lk != 27342 // 'parent' ';'
  44841. && lk != 27348 // 'preceding' ';'
  44842. && lk != 27349 // 'preceding-sibling' ';'
  44843. && lk != 27352 // 'processing-instruction' ';'
  44844. && lk != 27354 // 'rename' ';'
  44845. && lk != 27355 // 'replace' ';'
  44846. && lk != 27356 // 'return' ';'
  44847. && lk != 27357 // 'returning' ';'
  44848. && lk != 27358 // 'revalidation' ';'
  44849. && lk != 27360 // 'satisfies' ';'
  44850. && lk != 27361 // 'schema' ';'
  44851. && lk != 27362 // 'schema-attribute' ';'
  44852. && lk != 27363 // 'schema-element' ';'
  44853. && lk != 27364 // 'score' ';'
  44854. && lk != 27365 // 'self' ';'
  44855. && lk != 27370 // 'sliding' ';'
  44856. && lk != 27371 // 'some' ';'
  44857. && lk != 27372 // 'stable' ';'
  44858. && lk != 27373 // 'start' ';'
  44859. && lk != 27376 // 'strict' ';'
  44860. && lk != 27378 // 'structured-item' ';'
  44861. && lk != 27379 // 'switch' ';'
  44862. && lk != 27380 // 'text' ';'
  44863. && lk != 27384 // 'to' ';'
  44864. && lk != 27385 // 'treat' ';'
  44865. && lk != 27386 // 'try' ';'
  44866. && lk != 27387 // 'tumbling' ';'
  44867. && lk != 27388 // 'type' ';'
  44868. && lk != 27389 // 'typeswitch' ';'
  44869. && lk != 27390 // 'union' ';'
  44870. && lk != 27392 // 'unordered' ';'
  44871. && lk != 27393 // 'updating' ';'
  44872. && lk != 27396 // 'validate' ';'
  44873. && lk != 27397 // 'value' ';'
  44874. && lk != 27398 // 'variable' ';'
  44875. && lk != 27399 // 'version' ';'
  44876. && lk != 27402 // 'where' ';'
  44877. && lk != 27403 // 'while' ';'
  44878. && lk != 27406 // 'with' ';'
  44879. && lk != 27410 // 'xquery' ';'
  44880. && lk != 90198 // 'break' 'loop'
  44881. && lk != 90214 // 'continue' 'loop'
  44882. && lk != 113284) // 'exit' 'returning'
  44883. {
  44884. break;
  44885. }
  44886. whitespace();
  44887. parse_Statement();
  44888. }
  44889. eventHandler.endNonterminal("Statements", e0);
  44890. }
  44891. function try_Statements()
  44892. {
  44893. for (;;)
  44894. {
  44895. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44896. switch (l1)
  44897. {
  44898. case 34: // '('
  44899. lookahead2W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44900. break;
  44901. case 35: // '(#'
  44902. lookahead2(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
  44903. break;
  44904. case 46: // '/'
  44905. lookahead2W(283); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44906. break;
  44907. case 47: // '//'
  44908. lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44909. break;
  44910. case 54: // '<'
  44911. lookahead2(4); // QName
  44912. break;
  44913. case 55: // '<!--'
  44914. lookahead2(1); // DirCommentContents
  44915. break;
  44916. case 59: // '<?'
  44917. lookahead2(3); // PITarget
  44918. break;
  44919. case 66: // '@'
  44920. lookahead2W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  44921. break;
  44922. case 68: // '['
  44923. lookahead2W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44924. break;
  44925. case 77: // 'append'
  44926. lookahead2W(199); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44927. break;
  44928. case 82: // 'attribute'
  44929. lookahead2W(280); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  44930. break;
  44931. case 121: // 'element'
  44932. lookahead2W(279); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  44933. break;
  44934. case 132: // 'exit'
  44935. lookahead2W(202); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44936. break;
  44937. case 137: // 'for'
  44938. lookahead2W(207); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  44939. break;
  44940. case 174: // 'let'
  44941. lookahead2W(204); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  44942. break;
  44943. case 218: // 'rename'
  44944. lookahead2W(205); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44945. break;
  44946. case 219: // 'replace'
  44947. lookahead2W(206); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44948. break;
  44949. case 260: // 'validate'
  44950. lookahead2W(209); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44951. break;
  44952. case 276: // '{'
  44953. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44954. break;
  44955. case 278: // '{|'
  44956. lookahead2W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44957. break;
  44958. case 5: // Wildcard
  44959. case 45: // '..'
  44960. lookahead2W(185); // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
  44961. break;
  44962. case 31: // '$'
  44963. case 32: // '%'
  44964. lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  44965. break;
  44966. case 40: // '+'
  44967. case 42: // '-'
  44968. lookahead2W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  44969. break;
  44970. case 86: // 'break'
  44971. case 102: // 'continue'
  44972. lookahead2W(200); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44973. break;
  44974. case 110: // 'delete'
  44975. case 159: // 'insert'
  44976. lookahead2W(208); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  44977. break;
  44978. case 184: // 'namespace'
  44979. case 216: // 'processing-instruction'
  44980. lookahead2W(267); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
  44981. break;
  44982. case 103: // 'copy'
  44983. case 129: // 'every'
  44984. case 235: // 'some'
  44985. case 262: // 'variable'
  44986. lookahead2W(196); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
  44987. break;
  44988. case 8: // IntegerLiteral
  44989. case 9: // DecimalLiteral
  44990. case 10: // DoubleLiteral
  44991. case 11: // StringLiteral
  44992. case 44: // '.'
  44993. lookahead2W(191); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  44994. break;
  44995. case 78: // 'array'
  44996. case 124: // 'empty-sequence'
  44997. case 165: // 'item'
  44998. case 167: // 'json-item'
  44999. case 242: // 'structured-item'
  45000. lookahead2W(190); // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
  45001. break;
  45002. case 96: // 'comment'
  45003. case 119: // 'document'
  45004. case 202: // 'ordered'
  45005. case 244: // 'text'
  45006. case 250: // 'try'
  45007. case 256: // 'unordered'
  45008. lookahead2W(203); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  45009. break;
  45010. case 73: // 'ancestor'
  45011. case 74: // 'ancestor-or-self'
  45012. case 93: // 'child'
  45013. case 111: // 'descendant'
  45014. case 112: // 'descendant-or-self'
  45015. case 135: // 'following'
  45016. case 136: // 'following-sibling'
  45017. case 206: // 'parent'
  45018. case 212: // 'preceding'
  45019. case 213: // 'preceding-sibling'
  45020. case 229: // 'self'
  45021. lookahead2W(197); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  45022. break;
  45023. case 6: // EQName^Token
  45024. case 70: // 'after'
  45025. case 72: // 'allowing'
  45026. case 75: // 'and'
  45027. case 79: // 'as'
  45028. case 80: // 'ascending'
  45029. case 81: // 'at'
  45030. case 83: // 'base-uri'
  45031. case 84: // 'before'
  45032. case 85: // 'boundary-space'
  45033. case 88: // 'case'
  45034. case 89: // 'cast'
  45035. case 90: // 'castable'
  45036. case 91: // 'catch'
  45037. case 94: // 'collation'
  45038. case 97: // 'constraint'
  45039. case 98: // 'construction'
  45040. case 101: // 'context'
  45041. case 104: // 'copy-namespaces'
  45042. case 105: // 'count'
  45043. case 106: // 'decimal-format'
  45044. case 108: // 'declare'
  45045. case 109: // 'default'
  45046. case 113: // 'descending'
  45047. case 118: // 'div'
  45048. case 120: // 'document-node'
  45049. case 122: // 'else'
  45050. case 123: // 'empty'
  45051. case 125: // 'encoding'
  45052. case 126: // 'end'
  45053. case 128: // 'eq'
  45054. case 131: // 'except'
  45055. case 133: // 'external'
  45056. case 134: // 'first'
  45057. case 141: // 'ft-option'
  45058. case 145: // 'function'
  45059. case 146: // 'ge'
  45060. case 148: // 'group'
  45061. case 150: // 'gt'
  45062. case 151: // 'idiv'
  45063. case 152: // 'if'
  45064. case 153: // 'import'
  45065. case 154: // 'in'
  45066. case 155: // 'index'
  45067. case 160: // 'instance'
  45068. case 161: // 'integrity'
  45069. case 162: // 'intersect'
  45070. case 163: // 'into'
  45071. case 164: // 'is'
  45072. case 166: // 'json'
  45073. case 170: // 'last'
  45074. case 171: // 'lax'
  45075. case 172: // 'le'
  45076. case 176: // 'loop'
  45077. case 178: // 'lt'
  45078. case 180: // 'mod'
  45079. case 181: // 'modify'
  45080. case 182: // 'module'
  45081. case 185: // 'namespace-node'
  45082. case 186: // 'ne'
  45083. case 191: // 'node'
  45084. case 192: // 'nodes'
  45085. case 194: // 'object'
  45086. case 198: // 'only'
  45087. case 199: // 'option'
  45088. case 200: // 'or'
  45089. case 201: // 'order'
  45090. case 203: // 'ordering'
  45091. case 220: // 'return'
  45092. case 221: // 'returning'
  45093. case 222: // 'revalidation'
  45094. case 224: // 'satisfies'
  45095. case 225: // 'schema'
  45096. case 226: // 'schema-attribute'
  45097. case 227: // 'schema-element'
  45098. case 228: // 'score'
  45099. case 234: // 'sliding'
  45100. case 236: // 'stable'
  45101. case 237: // 'start'
  45102. case 240: // 'strict'
  45103. case 243: // 'switch'
  45104. case 248: // 'to'
  45105. case 249: // 'treat'
  45106. case 251: // 'tumbling'
  45107. case 252: // 'type'
  45108. case 253: // 'typeswitch'
  45109. case 254: // 'union'
  45110. case 257: // 'updating'
  45111. case 261: // 'value'
  45112. case 263: // 'version'
  45113. case 266: // 'where'
  45114. case 267: // 'while'
  45115. case 270: // 'with'
  45116. case 274: // 'xquery'
  45117. lookahead2W(194); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
  45118. break;
  45119. default:
  45120. lk = l1;
  45121. }
  45122. if (lk != 25 // EOF
  45123. && lk != 53 // ';'
  45124. && lk != 282 // '}'
  45125. && lk != 12805 // Wildcard EOF
  45126. && lk != 12806 // EQName^Token EOF
  45127. && lk != 12808 // IntegerLiteral EOF
  45128. && lk != 12809 // DecimalLiteral EOF
  45129. && lk != 12810 // DoubleLiteral EOF
  45130. && lk != 12811 // StringLiteral EOF
  45131. && lk != 12844 // '.' EOF
  45132. && lk != 12845 // '..' EOF
  45133. && lk != 12846 // '/' EOF
  45134. && lk != 12870 // 'after' EOF
  45135. && lk != 12872 // 'allowing' EOF
  45136. && lk != 12873 // 'ancestor' EOF
  45137. && lk != 12874 // 'ancestor-or-self' EOF
  45138. && lk != 12875 // 'and' EOF
  45139. && lk != 12877 // 'append' EOF
  45140. && lk != 12878 // 'array' EOF
  45141. && lk != 12879 // 'as' EOF
  45142. && lk != 12880 // 'ascending' EOF
  45143. && lk != 12881 // 'at' EOF
  45144. && lk != 12882 // 'attribute' EOF
  45145. && lk != 12883 // 'base-uri' EOF
  45146. && lk != 12884 // 'before' EOF
  45147. && lk != 12885 // 'boundary-space' EOF
  45148. && lk != 12886 // 'break' EOF
  45149. && lk != 12888 // 'case' EOF
  45150. && lk != 12889 // 'cast' EOF
  45151. && lk != 12890 // 'castable' EOF
  45152. && lk != 12891 // 'catch' EOF
  45153. && lk != 12893 // 'child' EOF
  45154. && lk != 12894 // 'collation' EOF
  45155. && lk != 12896 // 'comment' EOF
  45156. && lk != 12897 // 'constraint' EOF
  45157. && lk != 12898 // 'construction' EOF
  45158. && lk != 12901 // 'context' EOF
  45159. && lk != 12902 // 'continue' EOF
  45160. && lk != 12903 // 'copy' EOF
  45161. && lk != 12904 // 'copy-namespaces' EOF
  45162. && lk != 12905 // 'count' EOF
  45163. && lk != 12906 // 'decimal-format' EOF
  45164. && lk != 12908 // 'declare' EOF
  45165. && lk != 12909 // 'default' EOF
  45166. && lk != 12910 // 'delete' EOF
  45167. && lk != 12911 // 'descendant' EOF
  45168. && lk != 12912 // 'descendant-or-self' EOF
  45169. && lk != 12913 // 'descending' EOF
  45170. && lk != 12918 // 'div' EOF
  45171. && lk != 12919 // 'document' EOF
  45172. && lk != 12920 // 'document-node' EOF
  45173. && lk != 12921 // 'element' EOF
  45174. && lk != 12922 // 'else' EOF
  45175. && lk != 12923 // 'empty' EOF
  45176. && lk != 12924 // 'empty-sequence' EOF
  45177. && lk != 12925 // 'encoding' EOF
  45178. && lk != 12926 // 'end' EOF
  45179. && lk != 12928 // 'eq' EOF
  45180. && lk != 12929 // 'every' EOF
  45181. && lk != 12931 // 'except' EOF
  45182. && lk != 12932 // 'exit' EOF
  45183. && lk != 12933 // 'external' EOF
  45184. && lk != 12934 // 'first' EOF
  45185. && lk != 12935 // 'following' EOF
  45186. && lk != 12936 // 'following-sibling' EOF
  45187. && lk != 12937 // 'for' EOF
  45188. && lk != 12941 // 'ft-option' EOF
  45189. && lk != 12945 // 'function' EOF
  45190. && lk != 12946 // 'ge' EOF
  45191. && lk != 12948 // 'group' EOF
  45192. && lk != 12950 // 'gt' EOF
  45193. && lk != 12951 // 'idiv' EOF
  45194. && lk != 12952 // 'if' EOF
  45195. && lk != 12953 // 'import' EOF
  45196. && lk != 12954 // 'in' EOF
  45197. && lk != 12955 // 'index' EOF
  45198. && lk != 12959 // 'insert' EOF
  45199. && lk != 12960 // 'instance' EOF
  45200. && lk != 12961 // 'integrity' EOF
  45201. && lk != 12962 // 'intersect' EOF
  45202. && lk != 12963 // 'into' EOF
  45203. && lk != 12964 // 'is' EOF
  45204. && lk != 12965 // 'item' EOF
  45205. && lk != 12966 // 'json' EOF
  45206. && lk != 12967 // 'json-item' EOF
  45207. && lk != 12970 // 'last' EOF
  45208. && lk != 12971 // 'lax' EOF
  45209. && lk != 12972 // 'le' EOF
  45210. && lk != 12974 // 'let' EOF
  45211. && lk != 12976 // 'loop' EOF
  45212. && lk != 12978 // 'lt' EOF
  45213. && lk != 12980 // 'mod' EOF
  45214. && lk != 12981 // 'modify' EOF
  45215. && lk != 12982 // 'module' EOF
  45216. && lk != 12984 // 'namespace' EOF
  45217. && lk != 12985 // 'namespace-node' EOF
  45218. && lk != 12986 // 'ne' EOF
  45219. && lk != 12991 // 'node' EOF
  45220. && lk != 12992 // 'nodes' EOF
  45221. && lk != 12994 // 'object' EOF
  45222. && lk != 12998 // 'only' EOF
  45223. && lk != 12999 // 'option' EOF
  45224. && lk != 13000 // 'or' EOF
  45225. && lk != 13001 // 'order' EOF
  45226. && lk != 13002 // 'ordered' EOF
  45227. && lk != 13003 // 'ordering' EOF
  45228. && lk != 13006 // 'parent' EOF
  45229. && lk != 13012 // 'preceding' EOF
  45230. && lk != 13013 // 'preceding-sibling' EOF
  45231. && lk != 13016 // 'processing-instruction' EOF
  45232. && lk != 13018 // 'rename' EOF
  45233. && lk != 13019 // 'replace' EOF
  45234. && lk != 13020 // 'return' EOF
  45235. && lk != 13021 // 'returning' EOF
  45236. && lk != 13022 // 'revalidation' EOF
  45237. && lk != 13024 // 'satisfies' EOF
  45238. && lk != 13025 // 'schema' EOF
  45239. && lk != 13026 // 'schema-attribute' EOF
  45240. && lk != 13027 // 'schema-element' EOF
  45241. && lk != 13028 // 'score' EOF
  45242. && lk != 13029 // 'self' EOF
  45243. && lk != 13034 // 'sliding' EOF
  45244. && lk != 13035 // 'some' EOF
  45245. && lk != 13036 // 'stable' EOF
  45246. && lk != 13037 // 'start' EOF
  45247. && lk != 13040 // 'strict' EOF
  45248. && lk != 13042 // 'structured-item' EOF
  45249. && lk != 13043 // 'switch' EOF
  45250. && lk != 13044 // 'text' EOF
  45251. && lk != 13048 // 'to' EOF
  45252. && lk != 13049 // 'treat' EOF
  45253. && lk != 13050 // 'try' EOF
  45254. && lk != 13051 // 'tumbling' EOF
  45255. && lk != 13052 // 'type' EOF
  45256. && lk != 13053 // 'typeswitch' EOF
  45257. && lk != 13054 // 'union' EOF
  45258. && lk != 13056 // 'unordered' EOF
  45259. && lk != 13057 // 'updating' EOF
  45260. && lk != 13060 // 'validate' EOF
  45261. && lk != 13061 // 'value' EOF
  45262. && lk != 13062 // 'variable' EOF
  45263. && lk != 13063 // 'version' EOF
  45264. && lk != 13066 // 'where' EOF
  45265. && lk != 13067 // 'while' EOF
  45266. && lk != 13070 // 'with' EOF
  45267. && lk != 13074 // 'xquery' EOF
  45268. && lk != 16134 // 'variable' '$'
  45269. && lk != 20997 // Wildcard ','
  45270. && lk != 20998 // EQName^Token ','
  45271. && lk != 21000 // IntegerLiteral ','
  45272. && lk != 21001 // DecimalLiteral ','
  45273. && lk != 21002 // DoubleLiteral ','
  45274. && lk != 21003 // StringLiteral ','
  45275. && lk != 21036 // '.' ','
  45276. && lk != 21037 // '..' ','
  45277. && lk != 21038 // '/' ','
  45278. && lk != 21062 // 'after' ','
  45279. && lk != 21064 // 'allowing' ','
  45280. && lk != 21065 // 'ancestor' ','
  45281. && lk != 21066 // 'ancestor-or-self' ','
  45282. && lk != 21067 // 'and' ','
  45283. && lk != 21069 // 'append' ','
  45284. && lk != 21070 // 'array' ','
  45285. && lk != 21071 // 'as' ','
  45286. && lk != 21072 // 'ascending' ','
  45287. && lk != 21073 // 'at' ','
  45288. && lk != 21074 // 'attribute' ','
  45289. && lk != 21075 // 'base-uri' ','
  45290. && lk != 21076 // 'before' ','
  45291. && lk != 21077 // 'boundary-space' ','
  45292. && lk != 21078 // 'break' ','
  45293. && lk != 21080 // 'case' ','
  45294. && lk != 21081 // 'cast' ','
  45295. && lk != 21082 // 'castable' ','
  45296. && lk != 21083 // 'catch' ','
  45297. && lk != 21085 // 'child' ','
  45298. && lk != 21086 // 'collation' ','
  45299. && lk != 21088 // 'comment' ','
  45300. && lk != 21089 // 'constraint' ','
  45301. && lk != 21090 // 'construction' ','
  45302. && lk != 21093 // 'context' ','
  45303. && lk != 21094 // 'continue' ','
  45304. && lk != 21095 // 'copy' ','
  45305. && lk != 21096 // 'copy-namespaces' ','
  45306. && lk != 21097 // 'count' ','
  45307. && lk != 21098 // 'decimal-format' ','
  45308. && lk != 21100 // 'declare' ','
  45309. && lk != 21101 // 'default' ','
  45310. && lk != 21102 // 'delete' ','
  45311. && lk != 21103 // 'descendant' ','
  45312. && lk != 21104 // 'descendant-or-self' ','
  45313. && lk != 21105 // 'descending' ','
  45314. && lk != 21110 // 'div' ','
  45315. && lk != 21111 // 'document' ','
  45316. && lk != 21112 // 'document-node' ','
  45317. && lk != 21113 // 'element' ','
  45318. && lk != 21114 // 'else' ','
  45319. && lk != 21115 // 'empty' ','
  45320. && lk != 21116 // 'empty-sequence' ','
  45321. && lk != 21117 // 'encoding' ','
  45322. && lk != 21118 // 'end' ','
  45323. && lk != 21120 // 'eq' ','
  45324. && lk != 21121 // 'every' ','
  45325. && lk != 21123 // 'except' ','
  45326. && lk != 21124 // 'exit' ','
  45327. && lk != 21125 // 'external' ','
  45328. && lk != 21126 // 'first' ','
  45329. && lk != 21127 // 'following' ','
  45330. && lk != 21128 // 'following-sibling' ','
  45331. && lk != 21129 // 'for' ','
  45332. && lk != 21133 // 'ft-option' ','
  45333. && lk != 21137 // 'function' ','
  45334. && lk != 21138 // 'ge' ','
  45335. && lk != 21140 // 'group' ','
  45336. && lk != 21142 // 'gt' ','
  45337. && lk != 21143 // 'idiv' ','
  45338. && lk != 21144 // 'if' ','
  45339. && lk != 21145 // 'import' ','
  45340. && lk != 21146 // 'in' ','
  45341. && lk != 21147 // 'index' ','
  45342. && lk != 21151 // 'insert' ','
  45343. && lk != 21152 // 'instance' ','
  45344. && lk != 21153 // 'integrity' ','
  45345. && lk != 21154 // 'intersect' ','
  45346. && lk != 21155 // 'into' ','
  45347. && lk != 21156 // 'is' ','
  45348. && lk != 21157 // 'item' ','
  45349. && lk != 21158 // 'json' ','
  45350. && lk != 21159 // 'json-item' ','
  45351. && lk != 21162 // 'last' ','
  45352. && lk != 21163 // 'lax' ','
  45353. && lk != 21164 // 'le' ','
  45354. && lk != 21166 // 'let' ','
  45355. && lk != 21168 // 'loop' ','
  45356. && lk != 21170 // 'lt' ','
  45357. && lk != 21172 // 'mod' ','
  45358. && lk != 21173 // 'modify' ','
  45359. && lk != 21174 // 'module' ','
  45360. && lk != 21176 // 'namespace' ','
  45361. && lk != 21177 // 'namespace-node' ','
  45362. && lk != 21178 // 'ne' ','
  45363. && lk != 21183 // 'node' ','
  45364. && lk != 21184 // 'nodes' ','
  45365. && lk != 21186 // 'object' ','
  45366. && lk != 21190 // 'only' ','
  45367. && lk != 21191 // 'option' ','
  45368. && lk != 21192 // 'or' ','
  45369. && lk != 21193 // 'order' ','
  45370. && lk != 21194 // 'ordered' ','
  45371. && lk != 21195 // 'ordering' ','
  45372. && lk != 21198 // 'parent' ','
  45373. && lk != 21204 // 'preceding' ','
  45374. && lk != 21205 // 'preceding-sibling' ','
  45375. && lk != 21208 // 'processing-instruction' ','
  45376. && lk != 21210 // 'rename' ','
  45377. && lk != 21211 // 'replace' ','
  45378. && lk != 21212 // 'return' ','
  45379. && lk != 21213 // 'returning' ','
  45380. && lk != 21214 // 'revalidation' ','
  45381. && lk != 21216 // 'satisfies' ','
  45382. && lk != 21217 // 'schema' ','
  45383. && lk != 21218 // 'schema-attribute' ','
  45384. && lk != 21219 // 'schema-element' ','
  45385. && lk != 21220 // 'score' ','
  45386. && lk != 21221 // 'self' ','
  45387. && lk != 21226 // 'sliding' ','
  45388. && lk != 21227 // 'some' ','
  45389. && lk != 21228 // 'stable' ','
  45390. && lk != 21229 // 'start' ','
  45391. && lk != 21232 // 'strict' ','
  45392. && lk != 21234 // 'structured-item' ','
  45393. && lk != 21235 // 'switch' ','
  45394. && lk != 21236 // 'text' ','
  45395. && lk != 21240 // 'to' ','
  45396. && lk != 21241 // 'treat' ','
  45397. && lk != 21242 // 'try' ','
  45398. && lk != 21243 // 'tumbling' ','
  45399. && lk != 21244 // 'type' ','
  45400. && lk != 21245 // 'typeswitch' ','
  45401. && lk != 21246 // 'union' ','
  45402. && lk != 21248 // 'unordered' ','
  45403. && lk != 21249 // 'updating' ','
  45404. && lk != 21252 // 'validate' ','
  45405. && lk != 21253 // 'value' ','
  45406. && lk != 21254 // 'variable' ','
  45407. && lk != 21255 // 'version' ','
  45408. && lk != 21258 // 'where' ','
  45409. && lk != 21259 // 'while' ','
  45410. && lk != 21262 // 'with' ','
  45411. && lk != 21266 // 'xquery' ','
  45412. && lk != 27141 // Wildcard ';'
  45413. && lk != 27142 // EQName^Token ';'
  45414. && lk != 27144 // IntegerLiteral ';'
  45415. && lk != 27145 // DecimalLiteral ';'
  45416. && lk != 27146 // DoubleLiteral ';'
  45417. && lk != 27147 // StringLiteral ';'
  45418. && lk != 27180 // '.' ';'
  45419. && lk != 27181 // '..' ';'
  45420. && lk != 27182 // '/' ';'
  45421. && lk != 27206 // 'after' ';'
  45422. && lk != 27208 // 'allowing' ';'
  45423. && lk != 27209 // 'ancestor' ';'
  45424. && lk != 27210 // 'ancestor-or-self' ';'
  45425. && lk != 27211 // 'and' ';'
  45426. && lk != 27213 // 'append' ';'
  45427. && lk != 27214 // 'array' ';'
  45428. && lk != 27215 // 'as' ';'
  45429. && lk != 27216 // 'ascending' ';'
  45430. && lk != 27217 // 'at' ';'
  45431. && lk != 27218 // 'attribute' ';'
  45432. && lk != 27219 // 'base-uri' ';'
  45433. && lk != 27220 // 'before' ';'
  45434. && lk != 27221 // 'boundary-space' ';'
  45435. && lk != 27222 // 'break' ';'
  45436. && lk != 27224 // 'case' ';'
  45437. && lk != 27225 // 'cast' ';'
  45438. && lk != 27226 // 'castable' ';'
  45439. && lk != 27227 // 'catch' ';'
  45440. && lk != 27229 // 'child' ';'
  45441. && lk != 27230 // 'collation' ';'
  45442. && lk != 27232 // 'comment' ';'
  45443. && lk != 27233 // 'constraint' ';'
  45444. && lk != 27234 // 'construction' ';'
  45445. && lk != 27237 // 'context' ';'
  45446. && lk != 27238 // 'continue' ';'
  45447. && lk != 27239 // 'copy' ';'
  45448. && lk != 27240 // 'copy-namespaces' ';'
  45449. && lk != 27241 // 'count' ';'
  45450. && lk != 27242 // 'decimal-format' ';'
  45451. && lk != 27244 // 'declare' ';'
  45452. && lk != 27245 // 'default' ';'
  45453. && lk != 27246 // 'delete' ';'
  45454. && lk != 27247 // 'descendant' ';'
  45455. && lk != 27248 // 'descendant-or-self' ';'
  45456. && lk != 27249 // 'descending' ';'
  45457. && lk != 27254 // 'div' ';'
  45458. && lk != 27255 // 'document' ';'
  45459. && lk != 27256 // 'document-node' ';'
  45460. && lk != 27257 // 'element' ';'
  45461. && lk != 27258 // 'else' ';'
  45462. && lk != 27259 // 'empty' ';'
  45463. && lk != 27260 // 'empty-sequence' ';'
  45464. && lk != 27261 // 'encoding' ';'
  45465. && lk != 27262 // 'end' ';'
  45466. && lk != 27264 // 'eq' ';'
  45467. && lk != 27265 // 'every' ';'
  45468. && lk != 27267 // 'except' ';'
  45469. && lk != 27268 // 'exit' ';'
  45470. && lk != 27269 // 'external' ';'
  45471. && lk != 27270 // 'first' ';'
  45472. && lk != 27271 // 'following' ';'
  45473. && lk != 27272 // 'following-sibling' ';'
  45474. && lk != 27273 // 'for' ';'
  45475. && lk != 27277 // 'ft-option' ';'
  45476. && lk != 27281 // 'function' ';'
  45477. && lk != 27282 // 'ge' ';'
  45478. && lk != 27284 // 'group' ';'
  45479. && lk != 27286 // 'gt' ';'
  45480. && lk != 27287 // 'idiv' ';'
  45481. && lk != 27288 // 'if' ';'
  45482. && lk != 27289 // 'import' ';'
  45483. && lk != 27290 // 'in' ';'
  45484. && lk != 27291 // 'index' ';'
  45485. && lk != 27295 // 'insert' ';'
  45486. && lk != 27296 // 'instance' ';'
  45487. && lk != 27297 // 'integrity' ';'
  45488. && lk != 27298 // 'intersect' ';'
  45489. && lk != 27299 // 'into' ';'
  45490. && lk != 27300 // 'is' ';'
  45491. && lk != 27301 // 'item' ';'
  45492. && lk != 27302 // 'json' ';'
  45493. && lk != 27303 // 'json-item' ';'
  45494. && lk != 27306 // 'last' ';'
  45495. && lk != 27307 // 'lax' ';'
  45496. && lk != 27308 // 'le' ';'
  45497. && lk != 27310 // 'let' ';'
  45498. && lk != 27312 // 'loop' ';'
  45499. && lk != 27314 // 'lt' ';'
  45500. && lk != 27316 // 'mod' ';'
  45501. && lk != 27317 // 'modify' ';'
  45502. && lk != 27318 // 'module' ';'
  45503. && lk != 27320 // 'namespace' ';'
  45504. && lk != 27321 // 'namespace-node' ';'
  45505. && lk != 27322 // 'ne' ';'
  45506. && lk != 27327 // 'node' ';'
  45507. && lk != 27328 // 'nodes' ';'
  45508. && lk != 27330 // 'object' ';'
  45509. && lk != 27334 // 'only' ';'
  45510. && lk != 27335 // 'option' ';'
  45511. && lk != 27336 // 'or' ';'
  45512. && lk != 27337 // 'order' ';'
  45513. && lk != 27338 // 'ordered' ';'
  45514. && lk != 27339 // 'ordering' ';'
  45515. && lk != 27342 // 'parent' ';'
  45516. && lk != 27348 // 'preceding' ';'
  45517. && lk != 27349 // 'preceding-sibling' ';'
  45518. && lk != 27352 // 'processing-instruction' ';'
  45519. && lk != 27354 // 'rename' ';'
  45520. && lk != 27355 // 'replace' ';'
  45521. && lk != 27356 // 'return' ';'
  45522. && lk != 27357 // 'returning' ';'
  45523. && lk != 27358 // 'revalidation' ';'
  45524. && lk != 27360 // 'satisfies' ';'
  45525. && lk != 27361 // 'schema' ';'
  45526. && lk != 27362 // 'schema-attribute' ';'
  45527. && lk != 27363 // 'schema-element' ';'
  45528. && lk != 27364 // 'score' ';'
  45529. && lk != 27365 // 'self' ';'
  45530. && lk != 27370 // 'sliding' ';'
  45531. && lk != 27371 // 'some' ';'
  45532. && lk != 27372 // 'stable' ';'
  45533. && lk != 27373 // 'start' ';'
  45534. && lk != 27376 // 'strict' ';'
  45535. && lk != 27378 // 'structured-item' ';'
  45536. && lk != 27379 // 'switch' ';'
  45537. && lk != 27380 // 'text' ';'
  45538. && lk != 27384 // 'to' ';'
  45539. && lk != 27385 // 'treat' ';'
  45540. && lk != 27386 // 'try' ';'
  45541. && lk != 27387 // 'tumbling' ';'
  45542. && lk != 27388 // 'type' ';'
  45543. && lk != 27389 // 'typeswitch' ';'
  45544. && lk != 27390 // 'union' ';'
  45545. && lk != 27392 // 'unordered' ';'
  45546. && lk != 27393 // 'updating' ';'
  45547. && lk != 27396 // 'validate' ';'
  45548. && lk != 27397 // 'value' ';'
  45549. && lk != 27398 // 'variable' ';'
  45550. && lk != 27399 // 'version' ';'
  45551. && lk != 27402 // 'where' ';'
  45552. && lk != 27403 // 'while' ';'
  45553. && lk != 27406 // 'with' ';'
  45554. && lk != 27410 // 'xquery' ';'
  45555. && lk != 90198 // 'break' 'loop'
  45556. && lk != 90214 // 'continue' 'loop'
  45557. && lk != 113284 // 'exit' 'returning'
  45558. && lk != 144389 // Wildcard '}'
  45559. && lk != 144390 // EQName^Token '}'
  45560. && lk != 144392 // IntegerLiteral '}'
  45561. && lk != 144393 // DecimalLiteral '}'
  45562. && lk != 144394 // DoubleLiteral '}'
  45563. && lk != 144395 // StringLiteral '}'
  45564. && lk != 144428 // '.' '}'
  45565. && lk != 144429 // '..' '}'
  45566. && lk != 144430 // '/' '}'
  45567. && lk != 144454 // 'after' '}'
  45568. && lk != 144456 // 'allowing' '}'
  45569. && lk != 144457 // 'ancestor' '}'
  45570. && lk != 144458 // 'ancestor-or-self' '}'
  45571. && lk != 144459 // 'and' '}'
  45572. && lk != 144461 // 'append' '}'
  45573. && lk != 144462 // 'array' '}'
  45574. && lk != 144463 // 'as' '}'
  45575. && lk != 144464 // 'ascending' '}'
  45576. && lk != 144465 // 'at' '}'
  45577. && lk != 144466 // 'attribute' '}'
  45578. && lk != 144467 // 'base-uri' '}'
  45579. && lk != 144468 // 'before' '}'
  45580. && lk != 144469 // 'boundary-space' '}'
  45581. && lk != 144470 // 'break' '}'
  45582. && lk != 144472 // 'case' '}'
  45583. && lk != 144473 // 'cast' '}'
  45584. && lk != 144474 // 'castable' '}'
  45585. && lk != 144475 // 'catch' '}'
  45586. && lk != 144477 // 'child' '}'
  45587. && lk != 144478 // 'collation' '}'
  45588. && lk != 144480 // 'comment' '}'
  45589. && lk != 144481 // 'constraint' '}'
  45590. && lk != 144482 // 'construction' '}'
  45591. && lk != 144485 // 'context' '}'
  45592. && lk != 144486 // 'continue' '}'
  45593. && lk != 144487 // 'copy' '}'
  45594. && lk != 144488 // 'copy-namespaces' '}'
  45595. && lk != 144489 // 'count' '}'
  45596. && lk != 144490 // 'decimal-format' '}'
  45597. && lk != 144492 // 'declare' '}'
  45598. && lk != 144493 // 'default' '}'
  45599. && lk != 144494 // 'delete' '}'
  45600. && lk != 144495 // 'descendant' '}'
  45601. && lk != 144496 // 'descendant-or-self' '}'
  45602. && lk != 144497 // 'descending' '}'
  45603. && lk != 144502 // 'div' '}'
  45604. && lk != 144503 // 'document' '}'
  45605. && lk != 144504 // 'document-node' '}'
  45606. && lk != 144505 // 'element' '}'
  45607. && lk != 144506 // 'else' '}'
  45608. && lk != 144507 // 'empty' '}'
  45609. && lk != 144508 // 'empty-sequence' '}'
  45610. && lk != 144509 // 'encoding' '}'
  45611. && lk != 144510 // 'end' '}'
  45612. && lk != 144512 // 'eq' '}'
  45613. && lk != 144513 // 'every' '}'
  45614. && lk != 144515 // 'except' '}'
  45615. && lk != 144516 // 'exit' '}'
  45616. && lk != 144517 // 'external' '}'
  45617. && lk != 144518 // 'first' '}'
  45618. && lk != 144519 // 'following' '}'
  45619. && lk != 144520 // 'following-sibling' '}'
  45620. && lk != 144521 // 'for' '}'
  45621. && lk != 144525 // 'ft-option' '}'
  45622. && lk != 144529 // 'function' '}'
  45623. && lk != 144530 // 'ge' '}'
  45624. && lk != 144532 // 'group' '}'
  45625. && lk != 144534 // 'gt' '}'
  45626. && lk != 144535 // 'idiv' '}'
  45627. && lk != 144536 // 'if' '}'
  45628. && lk != 144537 // 'import' '}'
  45629. && lk != 144538 // 'in' '}'
  45630. && lk != 144539 // 'index' '}'
  45631. && lk != 144543 // 'insert' '}'
  45632. && lk != 144544 // 'instance' '}'
  45633. && lk != 144545 // 'integrity' '}'
  45634. && lk != 144546 // 'intersect' '}'
  45635. && lk != 144547 // 'into' '}'
  45636. && lk != 144548 // 'is' '}'
  45637. && lk != 144549 // 'item' '}'
  45638. && lk != 144550 // 'json' '}'
  45639. && lk != 144551 // 'json-item' '}'
  45640. && lk != 144554 // 'last' '}'
  45641. && lk != 144555 // 'lax' '}'
  45642. && lk != 144556 // 'le' '}'
  45643. && lk != 144558 // 'let' '}'
  45644. && lk != 144560 // 'loop' '}'
  45645. && lk != 144562 // 'lt' '}'
  45646. && lk != 144564 // 'mod' '}'
  45647. && lk != 144565 // 'modify' '}'
  45648. && lk != 144566 // 'module' '}'
  45649. && lk != 144568 // 'namespace' '}'
  45650. && lk != 144569 // 'namespace-node' '}'
  45651. && lk != 144570 // 'ne' '}'
  45652. && lk != 144575 // 'node' '}'
  45653. && lk != 144576 // 'nodes' '}'
  45654. && lk != 144578 // 'object' '}'
  45655. && lk != 144582 // 'only' '}'
  45656. && lk != 144583 // 'option' '}'
  45657. && lk != 144584 // 'or' '}'
  45658. && lk != 144585 // 'order' '}'
  45659. && lk != 144586 // 'ordered' '}'
  45660. && lk != 144587 // 'ordering' '}'
  45661. && lk != 144590 // 'parent' '}'
  45662. && lk != 144596 // 'preceding' '}'
  45663. && lk != 144597 // 'preceding-sibling' '}'
  45664. && lk != 144600 // 'processing-instruction' '}'
  45665. && lk != 144602 // 'rename' '}'
  45666. && lk != 144603 // 'replace' '}'
  45667. && lk != 144604 // 'return' '}'
  45668. && lk != 144605 // 'returning' '}'
  45669. && lk != 144606 // 'revalidation' '}'
  45670. && lk != 144608 // 'satisfies' '}'
  45671. && lk != 144609 // 'schema' '}'
  45672. && lk != 144610 // 'schema-attribute' '}'
  45673. && lk != 144611 // 'schema-element' '}'
  45674. && lk != 144612 // 'score' '}'
  45675. && lk != 144613 // 'self' '}'
  45676. && lk != 144618 // 'sliding' '}'
  45677. && lk != 144619 // 'some' '}'
  45678. && lk != 144620 // 'stable' '}'
  45679. && lk != 144621 // 'start' '}'
  45680. && lk != 144624 // 'strict' '}'
  45681. && lk != 144626 // 'structured-item' '}'
  45682. && lk != 144627 // 'switch' '}'
  45683. && lk != 144628 // 'text' '}'
  45684. && lk != 144632 // 'to' '}'
  45685. && lk != 144633 // 'treat' '}'
  45686. && lk != 144634 // 'try' '}'
  45687. && lk != 144635 // 'tumbling' '}'
  45688. && lk != 144636 // 'type' '}'
  45689. && lk != 144637 // 'typeswitch' '}'
  45690. && lk != 144638 // 'union' '}'
  45691. && lk != 144640 // 'unordered' '}'
  45692. && lk != 144641 // 'updating' '}'
  45693. && lk != 144644 // 'validate' '}'
  45694. && lk != 144645 // 'value' '}'
  45695. && lk != 144646 // 'variable' '}'
  45696. && lk != 144647 // 'version' '}'
  45697. && lk != 144650 // 'where' '}'
  45698. && lk != 144651 // 'while' '}'
  45699. && lk != 144654 // 'with' '}'
  45700. && lk != 144658) // 'xquery' '}'
  45701. {
  45702. lk = memoized(6, e0);
  45703. if (lk == 0)
  45704. {
  45705. var b0A = b0; var e0A = e0; var l1A = l1;
  45706. var b1A = b1; var e1A = e1; var l2A = l2;
  45707. var b2A = b2; var e2A = e2;
  45708. try
  45709. {
  45710. try_Statement();
  45711. memoize(6, e0A, -1);
  45712. continue;
  45713. }
  45714. catch (p1A)
  45715. {
  45716. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  45717. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  45718. b2 = b2A; e2 = e2A; end = e2A; }}
  45719. memoize(6, e0A, -2);
  45720. break;
  45721. }
  45722. }
  45723. }
  45724. if (lk != -1
  45725. && lk != 53 // ';'
  45726. && lk != 16134 // 'variable' '$'
  45727. && lk != 27141 // Wildcard ';'
  45728. && lk != 27142 // EQName^Token ';'
  45729. && lk != 27144 // IntegerLiteral ';'
  45730. && lk != 27145 // DecimalLiteral ';'
  45731. && lk != 27146 // DoubleLiteral ';'
  45732. && lk != 27147 // StringLiteral ';'
  45733. && lk != 27180 // '.' ';'
  45734. && lk != 27181 // '..' ';'
  45735. && lk != 27182 // '/' ';'
  45736. && lk != 27206 // 'after' ';'
  45737. && lk != 27208 // 'allowing' ';'
  45738. && lk != 27209 // 'ancestor' ';'
  45739. && lk != 27210 // 'ancestor-or-self' ';'
  45740. && lk != 27211 // 'and' ';'
  45741. && lk != 27213 // 'append' ';'
  45742. && lk != 27214 // 'array' ';'
  45743. && lk != 27215 // 'as' ';'
  45744. && lk != 27216 // 'ascending' ';'
  45745. && lk != 27217 // 'at' ';'
  45746. && lk != 27218 // 'attribute' ';'
  45747. && lk != 27219 // 'base-uri' ';'
  45748. && lk != 27220 // 'before' ';'
  45749. && lk != 27221 // 'boundary-space' ';'
  45750. && lk != 27222 // 'break' ';'
  45751. && lk != 27224 // 'case' ';'
  45752. && lk != 27225 // 'cast' ';'
  45753. && lk != 27226 // 'castable' ';'
  45754. && lk != 27227 // 'catch' ';'
  45755. && lk != 27229 // 'child' ';'
  45756. && lk != 27230 // 'collation' ';'
  45757. && lk != 27232 // 'comment' ';'
  45758. && lk != 27233 // 'constraint' ';'
  45759. && lk != 27234 // 'construction' ';'
  45760. && lk != 27237 // 'context' ';'
  45761. && lk != 27238 // 'continue' ';'
  45762. && lk != 27239 // 'copy' ';'
  45763. && lk != 27240 // 'copy-namespaces' ';'
  45764. && lk != 27241 // 'count' ';'
  45765. && lk != 27242 // 'decimal-format' ';'
  45766. && lk != 27244 // 'declare' ';'
  45767. && lk != 27245 // 'default' ';'
  45768. && lk != 27246 // 'delete' ';'
  45769. && lk != 27247 // 'descendant' ';'
  45770. && lk != 27248 // 'descendant-or-self' ';'
  45771. && lk != 27249 // 'descending' ';'
  45772. && lk != 27254 // 'div' ';'
  45773. && lk != 27255 // 'document' ';'
  45774. && lk != 27256 // 'document-node' ';'
  45775. && lk != 27257 // 'element' ';'
  45776. && lk != 27258 // 'else' ';'
  45777. && lk != 27259 // 'empty' ';'
  45778. && lk != 27260 // 'empty-sequence' ';'
  45779. && lk != 27261 // 'encoding' ';'
  45780. && lk != 27262 // 'end' ';'
  45781. && lk != 27264 // 'eq' ';'
  45782. && lk != 27265 // 'every' ';'
  45783. && lk != 27267 // 'except' ';'
  45784. && lk != 27268 // 'exit' ';'
  45785. && lk != 27269 // 'external' ';'
  45786. && lk != 27270 // 'first' ';'
  45787. && lk != 27271 // 'following' ';'
  45788. && lk != 27272 // 'following-sibling' ';'
  45789. && lk != 27273 // 'for' ';'
  45790. && lk != 27277 // 'ft-option' ';'
  45791. && lk != 27281 // 'function' ';'
  45792. && lk != 27282 // 'ge' ';'
  45793. && lk != 27284 // 'group' ';'
  45794. && lk != 27286 // 'gt' ';'
  45795. && lk != 27287 // 'idiv' ';'
  45796. && lk != 27288 // 'if' ';'
  45797. && lk != 27289 // 'import' ';'
  45798. && lk != 27290 // 'in' ';'
  45799. && lk != 27291 // 'index' ';'
  45800. && lk != 27295 // 'insert' ';'
  45801. && lk != 27296 // 'instance' ';'
  45802. && lk != 27297 // 'integrity' ';'
  45803. && lk != 27298 // 'intersect' ';'
  45804. && lk != 27299 // 'into' ';'
  45805. && lk != 27300 // 'is' ';'
  45806. && lk != 27301 // 'item' ';'
  45807. && lk != 27302 // 'json' ';'
  45808. && lk != 27303 // 'json-item' ';'
  45809. && lk != 27306 // 'last' ';'
  45810. && lk != 27307 // 'lax' ';'
  45811. && lk != 27308 // 'le' ';'
  45812. && lk != 27310 // 'let' ';'
  45813. && lk != 27312 // 'loop' ';'
  45814. && lk != 27314 // 'lt' ';'
  45815. && lk != 27316 // 'mod' ';'
  45816. && lk != 27317 // 'modify' ';'
  45817. && lk != 27318 // 'module' ';'
  45818. && lk != 27320 // 'namespace' ';'
  45819. && lk != 27321 // 'namespace-node' ';'
  45820. && lk != 27322 // 'ne' ';'
  45821. && lk != 27327 // 'node' ';'
  45822. && lk != 27328 // 'nodes' ';'
  45823. && lk != 27330 // 'object' ';'
  45824. && lk != 27334 // 'only' ';'
  45825. && lk != 27335 // 'option' ';'
  45826. && lk != 27336 // 'or' ';'
  45827. && lk != 27337 // 'order' ';'
  45828. && lk != 27338 // 'ordered' ';'
  45829. && lk != 27339 // 'ordering' ';'
  45830. && lk != 27342 // 'parent' ';'
  45831. && lk != 27348 // 'preceding' ';'
  45832. && lk != 27349 // 'preceding-sibling' ';'
  45833. && lk != 27352 // 'processing-instruction' ';'
  45834. && lk != 27354 // 'rename' ';'
  45835. && lk != 27355 // 'replace' ';'
  45836. && lk != 27356 // 'return' ';'
  45837. && lk != 27357 // 'returning' ';'
  45838. && lk != 27358 // 'revalidation' ';'
  45839. && lk != 27360 // 'satisfies' ';'
  45840. && lk != 27361 // 'schema' ';'
  45841. && lk != 27362 // 'schema-attribute' ';'
  45842. && lk != 27363 // 'schema-element' ';'
  45843. && lk != 27364 // 'score' ';'
  45844. && lk != 27365 // 'self' ';'
  45845. && lk != 27370 // 'sliding' ';'
  45846. && lk != 27371 // 'some' ';'
  45847. && lk != 27372 // 'stable' ';'
  45848. && lk != 27373 // 'start' ';'
  45849. && lk != 27376 // 'strict' ';'
  45850. && lk != 27378 // 'structured-item' ';'
  45851. && lk != 27379 // 'switch' ';'
  45852. && lk != 27380 // 'text' ';'
  45853. && lk != 27384 // 'to' ';'
  45854. && lk != 27385 // 'treat' ';'
  45855. && lk != 27386 // 'try' ';'
  45856. && lk != 27387 // 'tumbling' ';'
  45857. && lk != 27388 // 'type' ';'
  45858. && lk != 27389 // 'typeswitch' ';'
  45859. && lk != 27390 // 'union' ';'
  45860. && lk != 27392 // 'unordered' ';'
  45861. && lk != 27393 // 'updating' ';'
  45862. && lk != 27396 // 'validate' ';'
  45863. && lk != 27397 // 'value' ';'
  45864. && lk != 27398 // 'variable' ';'
  45865. && lk != 27399 // 'version' ';'
  45866. && lk != 27402 // 'where' ';'
  45867. && lk != 27403 // 'while' ';'
  45868. && lk != 27406 // 'with' ';'
  45869. && lk != 27410 // 'xquery' ';'
  45870. && lk != 90198 // 'break' 'loop'
  45871. && lk != 90214 // 'continue' 'loop'
  45872. && lk != 113284) // 'exit' 'returning'
  45873. {
  45874. break;
  45875. }
  45876. try_Statement();
  45877. }
  45878. }
  45879. function parse_StatementsAndExpr()
  45880. {
  45881. eventHandler.startNonterminal("StatementsAndExpr", e0);
  45882. parse_Statements();
  45883. whitespace();
  45884. parse_Expr();
  45885. eventHandler.endNonterminal("StatementsAndExpr", e0);
  45886. }
  45887. function try_StatementsAndExpr()
  45888. {
  45889. try_Statements();
  45890. try_Expr();
  45891. }
  45892. function parse_StatementsAndOptionalExpr()
  45893. {
  45894. eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
  45895. parse_Statements();
  45896. if (l1 != 25 // EOF
  45897. && l1 != 282) // '}'
  45898. {
  45899. whitespace();
  45900. parse_Expr();
  45901. }
  45902. eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
  45903. }
  45904. function try_StatementsAndOptionalExpr()
  45905. {
  45906. try_Statements();
  45907. if (l1 != 25 // EOF
  45908. && l1 != 282) // '}'
  45909. {
  45910. try_Expr();
  45911. }
  45912. }
  45913. function parse_Statement()
  45914. {
  45915. eventHandler.startNonterminal("Statement", e0);
  45916. switch (l1)
  45917. {
  45918. case 132: // 'exit'
  45919. lookahead2W(188); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  45920. break;
  45921. case 137: // 'for'
  45922. lookahead2W(195); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  45923. break;
  45924. case 174: // 'let'
  45925. lookahead2W(192); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  45926. break;
  45927. case 250: // 'try'
  45928. lookahead2W(189); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  45929. break;
  45930. case 262: // 'variable'
  45931. lookahead2W(186); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  45932. break;
  45933. case 276: // '{'
  45934. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  45935. break;
  45936. case 31: // '$'
  45937. case 32: // '%'
  45938. lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  45939. break;
  45940. case 86: // 'break'
  45941. case 102: // 'continue'
  45942. lookahead2W(187); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  45943. break;
  45944. case 152: // 'if'
  45945. case 243: // 'switch'
  45946. case 253: // 'typeswitch'
  45947. case 267: // 'while'
  45948. lookahead2W(184); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  45949. break;
  45950. default:
  45951. lk = l1;
  45952. }
  45953. if (lk == 2836 // '{' Wildcard
  45954. || lk == 3103 // '$' EQName^Token
  45955. || lk == 3104 // '%' EQName^Token
  45956. || lk == 3348 // '{' EQName^Token
  45957. || lk == 4372 // '{' IntegerLiteral
  45958. || lk == 4884 // '{' DecimalLiteral
  45959. || lk == 5396 // '{' DoubleLiteral
  45960. || lk == 5908 // '{' StringLiteral
  45961. || lk == 16148 // '{' '$'
  45962. || lk == 16660 // '{' '%'
  45963. || lk == 17675 // 'while' '('
  45964. || lk == 17684 // '{' '('
  45965. || lk == 18196 // '{' '(#'
  45966. || lk == 20756 // '{' '+'
  45967. || lk == 21780 // '{' '-'
  45968. || lk == 22804 // '{' '.'
  45969. || lk == 23316 // '{' '..'
  45970. || lk == 23828 // '{' '/'
  45971. || lk == 24340 // '{' '//'
  45972. || lk == 27412 // '{' ';'
  45973. || lk == 27924 // '{' '<'
  45974. || lk == 28436 // '{' '<!--'
  45975. || lk == 30484 // '{' '<?'
  45976. || lk == 34068 // '{' '@'
  45977. || lk == 35092 // '{' '['
  45978. || lk == 35871 // '$' 'after'
  45979. || lk == 35872 // '%' 'after'
  45980. || lk == 36116 // '{' 'after'
  45981. || lk == 36895 // '$' 'allowing'
  45982. || lk == 36896 // '%' 'allowing'
  45983. || lk == 37140 // '{' 'allowing'
  45984. || lk == 37407 // '$' 'ancestor'
  45985. || lk == 37408 // '%' 'ancestor'
  45986. || lk == 37652 // '{' 'ancestor'
  45987. || lk == 37919 // '$' 'ancestor-or-self'
  45988. || lk == 37920 // '%' 'ancestor-or-self'
  45989. || lk == 38164 // '{' 'ancestor-or-self'
  45990. || lk == 38431 // '$' 'and'
  45991. || lk == 38432 // '%' 'and'
  45992. || lk == 38676 // '{' 'and'
  45993. || lk == 39455 // '$' 'append'
  45994. || lk == 39456 // '%' 'append'
  45995. || lk == 39700 // '{' 'append'
  45996. || lk == 39967 // '$' 'array'
  45997. || lk == 39968 // '%' 'array'
  45998. || lk == 40212 // '{' 'array'
  45999. || lk == 40479 // '$' 'as'
  46000. || lk == 40480 // '%' 'as'
  46001. || lk == 40724 // '{' 'as'
  46002. || lk == 40991 // '$' 'ascending'
  46003. || lk == 40992 // '%' 'ascending'
  46004. || lk == 41236 // '{' 'ascending'
  46005. || lk == 41503 // '$' 'at'
  46006. || lk == 41504 // '%' 'at'
  46007. || lk == 41748 // '{' 'at'
  46008. || lk == 42015 // '$' 'attribute'
  46009. || lk == 42016 // '%' 'attribute'
  46010. || lk == 42260 // '{' 'attribute'
  46011. || lk == 42527 // '$' 'base-uri'
  46012. || lk == 42528 // '%' 'base-uri'
  46013. || lk == 42772 // '{' 'base-uri'
  46014. || lk == 43039 // '$' 'before'
  46015. || lk == 43040 // '%' 'before'
  46016. || lk == 43284 // '{' 'before'
  46017. || lk == 43551 // '$' 'boundary-space'
  46018. || lk == 43552 // '%' 'boundary-space'
  46019. || lk == 43796 // '{' 'boundary-space'
  46020. || lk == 44063 // '$' 'break'
  46021. || lk == 44064 // '%' 'break'
  46022. || lk == 44308 // '{' 'break'
  46023. || lk == 45087 // '$' 'case'
  46024. || lk == 45088 // '%' 'case'
  46025. || lk == 45332 // '{' 'case'
  46026. || lk == 45599 // '$' 'cast'
  46027. || lk == 45600 // '%' 'cast'
  46028. || lk == 45844 // '{' 'cast'
  46029. || lk == 46111 // '$' 'castable'
  46030. || lk == 46112 // '%' 'castable'
  46031. || lk == 46356 // '{' 'castable'
  46032. || lk == 46623 // '$' 'catch'
  46033. || lk == 46624 // '%' 'catch'
  46034. || lk == 46868 // '{' 'catch'
  46035. || lk == 47647 // '$' 'child'
  46036. || lk == 47648 // '%' 'child'
  46037. || lk == 47892 // '{' 'child'
  46038. || lk == 48159 // '$' 'collation'
  46039. || lk == 48160 // '%' 'collation'
  46040. || lk == 48404 // '{' 'collation'
  46041. || lk == 49183 // '$' 'comment'
  46042. || lk == 49184 // '%' 'comment'
  46043. || lk == 49428 // '{' 'comment'
  46044. || lk == 49695 // '$' 'constraint'
  46045. || lk == 49696 // '%' 'constraint'
  46046. || lk == 49940 // '{' 'constraint'
  46047. || lk == 50207 // '$' 'construction'
  46048. || lk == 50208 // '%' 'construction'
  46049. || lk == 50452 // '{' 'construction'
  46050. || lk == 51743 // '$' 'context'
  46051. || lk == 51744 // '%' 'context'
  46052. || lk == 51988 // '{' 'context'
  46053. || lk == 52255 // '$' 'continue'
  46054. || lk == 52256 // '%' 'continue'
  46055. || lk == 52500 // '{' 'continue'
  46056. || lk == 52767 // '$' 'copy'
  46057. || lk == 52768 // '%' 'copy'
  46058. || lk == 53012 // '{' 'copy'
  46059. || lk == 53279 // '$' 'copy-namespaces'
  46060. || lk == 53280 // '%' 'copy-namespaces'
  46061. || lk == 53524 // '{' 'copy-namespaces'
  46062. || lk == 53791 // '$' 'count'
  46063. || lk == 53792 // '%' 'count'
  46064. || lk == 54036 // '{' 'count'
  46065. || lk == 54303 // '$' 'decimal-format'
  46066. || lk == 54304 // '%' 'decimal-format'
  46067. || lk == 54548 // '{' 'decimal-format'
  46068. || lk == 55327 // '$' 'declare'
  46069. || lk == 55328 // '%' 'declare'
  46070. || lk == 55572 // '{' 'declare'
  46071. || lk == 55839 // '$' 'default'
  46072. || lk == 55840 // '%' 'default'
  46073. || lk == 56084 // '{' 'default'
  46074. || lk == 56351 // '$' 'delete'
  46075. || lk == 56352 // '%' 'delete'
  46076. || lk == 56596 // '{' 'delete'
  46077. || lk == 56863 // '$' 'descendant'
  46078. || lk == 56864 // '%' 'descendant'
  46079. || lk == 57108 // '{' 'descendant'
  46080. || lk == 57375 // '$' 'descendant-or-self'
  46081. || lk == 57376 // '%' 'descendant-or-self'
  46082. || lk == 57620 // '{' 'descendant-or-self'
  46083. || lk == 57887 // '$' 'descending'
  46084. || lk == 57888 // '%' 'descending'
  46085. || lk == 58132 // '{' 'descending'
  46086. || lk == 60447 // '$' 'div'
  46087. || lk == 60448 // '%' 'div'
  46088. || lk == 60692 // '{' 'div'
  46089. || lk == 60959 // '$' 'document'
  46090. || lk == 60960 // '%' 'document'
  46091. || lk == 61204 // '{' 'document'
  46092. || lk == 61471 // '$' 'document-node'
  46093. || lk == 61472 // '%' 'document-node'
  46094. || lk == 61716 // '{' 'document-node'
  46095. || lk == 61983 // '$' 'element'
  46096. || lk == 61984 // '%' 'element'
  46097. || lk == 62228 // '{' 'element'
  46098. || lk == 62495 // '$' 'else'
  46099. || lk == 62496 // '%' 'else'
  46100. || lk == 62740 // '{' 'else'
  46101. || lk == 63007 // '$' 'empty'
  46102. || lk == 63008 // '%' 'empty'
  46103. || lk == 63252 // '{' 'empty'
  46104. || lk == 63519 // '$' 'empty-sequence'
  46105. || lk == 63520 // '%' 'empty-sequence'
  46106. || lk == 63764 // '{' 'empty-sequence'
  46107. || lk == 64031 // '$' 'encoding'
  46108. || lk == 64032 // '%' 'encoding'
  46109. || lk == 64276 // '{' 'encoding'
  46110. || lk == 64543 // '$' 'end'
  46111. || lk == 64544 // '%' 'end'
  46112. || lk == 64788 // '{' 'end'
  46113. || lk == 65567 // '$' 'eq'
  46114. || lk == 65568 // '%' 'eq'
  46115. || lk == 65812 // '{' 'eq'
  46116. || lk == 66079 // '$' 'every'
  46117. || lk == 66080 // '%' 'every'
  46118. || lk == 66324 // '{' 'every'
  46119. || lk == 67103 // '$' 'except'
  46120. || lk == 67104 // '%' 'except'
  46121. || lk == 67348 // '{' 'except'
  46122. || lk == 67615 // '$' 'exit'
  46123. || lk == 67616 // '%' 'exit'
  46124. || lk == 67860 // '{' 'exit'
  46125. || lk == 68127 // '$' 'external'
  46126. || lk == 68128 // '%' 'external'
  46127. || lk == 68372 // '{' 'external'
  46128. || lk == 68639 // '$' 'first'
  46129. || lk == 68640 // '%' 'first'
  46130. || lk == 68884 // '{' 'first'
  46131. || lk == 69151 // '$' 'following'
  46132. || lk == 69152 // '%' 'following'
  46133. || lk == 69396 // '{' 'following'
  46134. || lk == 69663 // '$' 'following-sibling'
  46135. || lk == 69664 // '%' 'following-sibling'
  46136. || lk == 69908 // '{' 'following-sibling'
  46137. || lk == 70175 // '$' 'for'
  46138. || lk == 70176 // '%' 'for'
  46139. || lk == 70420 // '{' 'for'
  46140. || lk == 72223 // '$' 'ft-option'
  46141. || lk == 72224 // '%' 'ft-option'
  46142. || lk == 72468 // '{' 'ft-option'
  46143. || lk == 74271 // '$' 'function'
  46144. || lk == 74272 // '%' 'function'
  46145. || lk == 74516 // '{' 'function'
  46146. || lk == 74783 // '$' 'ge'
  46147. || lk == 74784 // '%' 'ge'
  46148. || lk == 75028 // '{' 'ge'
  46149. || lk == 75807 // '$' 'group'
  46150. || lk == 75808 // '%' 'group'
  46151. || lk == 76052 // '{' 'group'
  46152. || lk == 76831 // '$' 'gt'
  46153. || lk == 76832 // '%' 'gt'
  46154. || lk == 77076 // '{' 'gt'
  46155. || lk == 77343 // '$' 'idiv'
  46156. || lk == 77344 // '%' 'idiv'
  46157. || lk == 77588 // '{' 'idiv'
  46158. || lk == 77855 // '$' 'if'
  46159. || lk == 77856 // '%' 'if'
  46160. || lk == 78100 // '{' 'if'
  46161. || lk == 78367 // '$' 'import'
  46162. || lk == 78368 // '%' 'import'
  46163. || lk == 78612 // '{' 'import'
  46164. || lk == 78879 // '$' 'in'
  46165. || lk == 78880 // '%' 'in'
  46166. || lk == 79124 // '{' 'in'
  46167. || lk == 79391 // '$' 'index'
  46168. || lk == 79392 // '%' 'index'
  46169. || lk == 79636 // '{' 'index'
  46170. || lk == 81439 // '$' 'insert'
  46171. || lk == 81440 // '%' 'insert'
  46172. || lk == 81684 // '{' 'insert'
  46173. || lk == 81951 // '$' 'instance'
  46174. || lk == 81952 // '%' 'instance'
  46175. || lk == 82196 // '{' 'instance'
  46176. || lk == 82463 // '$' 'integrity'
  46177. || lk == 82464 // '%' 'integrity'
  46178. || lk == 82708 // '{' 'integrity'
  46179. || lk == 82975 // '$' 'intersect'
  46180. || lk == 82976 // '%' 'intersect'
  46181. || lk == 83220 // '{' 'intersect'
  46182. || lk == 83487 // '$' 'into'
  46183. || lk == 83488 // '%' 'into'
  46184. || lk == 83732 // '{' 'into'
  46185. || lk == 83999 // '$' 'is'
  46186. || lk == 84000 // '%' 'is'
  46187. || lk == 84244 // '{' 'is'
  46188. || lk == 84511 // '$' 'item'
  46189. || lk == 84512 // '%' 'item'
  46190. || lk == 84756 // '{' 'item'
  46191. || lk == 85023 // '$' 'json'
  46192. || lk == 85024 // '%' 'json'
  46193. || lk == 85268 // '{' 'json'
  46194. || lk == 85535 // '$' 'json-item'
  46195. || lk == 85536 // '%' 'json-item'
  46196. || lk == 85780 // '{' 'json-item'
  46197. || lk == 87071 // '$' 'last'
  46198. || lk == 87072 // '%' 'last'
  46199. || lk == 87316 // '{' 'last'
  46200. || lk == 87583 // '$' 'lax'
  46201. || lk == 87584 // '%' 'lax'
  46202. || lk == 87828 // '{' 'lax'
  46203. || lk == 88095 // '$' 'le'
  46204. || lk == 88096 // '%' 'le'
  46205. || lk == 88340 // '{' 'le'
  46206. || lk == 89119 // '$' 'let'
  46207. || lk == 89120 // '%' 'let'
  46208. || lk == 89364 // '{' 'let'
  46209. || lk == 90143 // '$' 'loop'
  46210. || lk == 90144 // '%' 'loop'
  46211. || lk == 90388 // '{' 'loop'
  46212. || lk == 91167 // '$' 'lt'
  46213. || lk == 91168 // '%' 'lt'
  46214. || lk == 91412 // '{' 'lt'
  46215. || lk == 92191 // '$' 'mod'
  46216. || lk == 92192 // '%' 'mod'
  46217. || lk == 92436 // '{' 'mod'
  46218. || lk == 92703 // '$' 'modify'
  46219. || lk == 92704 // '%' 'modify'
  46220. || lk == 92948 // '{' 'modify'
  46221. || lk == 93215 // '$' 'module'
  46222. || lk == 93216 // '%' 'module'
  46223. || lk == 93460 // '{' 'module'
  46224. || lk == 94239 // '$' 'namespace'
  46225. || lk == 94240 // '%' 'namespace'
  46226. || lk == 94484 // '{' 'namespace'
  46227. || lk == 94751 // '$' 'namespace-node'
  46228. || lk == 94752 // '%' 'namespace-node'
  46229. || lk == 94996 // '{' 'namespace-node'
  46230. || lk == 95263 // '$' 'ne'
  46231. || lk == 95264 // '%' 'ne'
  46232. || lk == 95508 // '{' 'ne'
  46233. || lk == 97823 // '$' 'node'
  46234. || lk == 97824 // '%' 'node'
  46235. || lk == 98068 // '{' 'node'
  46236. || lk == 98335 // '$' 'nodes'
  46237. || lk == 98336 // '%' 'nodes'
  46238. || lk == 98580 // '{' 'nodes'
  46239. || lk == 99359 // '$' 'object'
  46240. || lk == 99360 // '%' 'object'
  46241. || lk == 99604 // '{' 'object'
  46242. || lk == 101407 // '$' 'only'
  46243. || lk == 101408 // '%' 'only'
  46244. || lk == 101652 // '{' 'only'
  46245. || lk == 101919 // '$' 'option'
  46246. || lk == 101920 // '%' 'option'
  46247. || lk == 102164 // '{' 'option'
  46248. || lk == 102431 // '$' 'or'
  46249. || lk == 102432 // '%' 'or'
  46250. || lk == 102676 // '{' 'or'
  46251. || lk == 102943 // '$' 'order'
  46252. || lk == 102944 // '%' 'order'
  46253. || lk == 103188 // '{' 'order'
  46254. || lk == 103455 // '$' 'ordered'
  46255. || lk == 103456 // '%' 'ordered'
  46256. || lk == 103700 // '{' 'ordered'
  46257. || lk == 103967 // '$' 'ordering'
  46258. || lk == 103968 // '%' 'ordering'
  46259. || lk == 104212 // '{' 'ordering'
  46260. || lk == 105503 // '$' 'parent'
  46261. || lk == 105504 // '%' 'parent'
  46262. || lk == 105748 // '{' 'parent'
  46263. || lk == 108575 // '$' 'preceding'
  46264. || lk == 108576 // '%' 'preceding'
  46265. || lk == 108820 // '{' 'preceding'
  46266. || lk == 109087 // '$' 'preceding-sibling'
  46267. || lk == 109088 // '%' 'preceding-sibling'
  46268. || lk == 109332 // '{' 'preceding-sibling'
  46269. || lk == 110623 // '$' 'processing-instruction'
  46270. || lk == 110624 // '%' 'processing-instruction'
  46271. || lk == 110868 // '{' 'processing-instruction'
  46272. || lk == 111647 // '$' 'rename'
  46273. || lk == 111648 // '%' 'rename'
  46274. || lk == 111892 // '{' 'rename'
  46275. || lk == 112159 // '$' 'replace'
  46276. || lk == 112160 // '%' 'replace'
  46277. || lk == 112404 // '{' 'replace'
  46278. || lk == 112671 // '$' 'return'
  46279. || lk == 112672 // '%' 'return'
  46280. || lk == 112916 // '{' 'return'
  46281. || lk == 113183 // '$' 'returning'
  46282. || lk == 113184 // '%' 'returning'
  46283. || lk == 113428 // '{' 'returning'
  46284. || lk == 113695 // '$' 'revalidation'
  46285. || lk == 113696 // '%' 'revalidation'
  46286. || lk == 113940 // '{' 'revalidation'
  46287. || lk == 114719 // '$' 'satisfies'
  46288. || lk == 114720 // '%' 'satisfies'
  46289. || lk == 114964 // '{' 'satisfies'
  46290. || lk == 115231 // '$' 'schema'
  46291. || lk == 115232 // '%' 'schema'
  46292. || lk == 115476 // '{' 'schema'
  46293. || lk == 115743 // '$' 'schema-attribute'
  46294. || lk == 115744 // '%' 'schema-attribute'
  46295. || lk == 115988 // '{' 'schema-attribute'
  46296. || lk == 116255 // '$' 'schema-element'
  46297. || lk == 116256 // '%' 'schema-element'
  46298. || lk == 116500 // '{' 'schema-element'
  46299. || lk == 116767 // '$' 'score'
  46300. || lk == 116768 // '%' 'score'
  46301. || lk == 117012 // '{' 'score'
  46302. || lk == 117279 // '$' 'self'
  46303. || lk == 117280 // '%' 'self'
  46304. || lk == 117524 // '{' 'self'
  46305. || lk == 119839 // '$' 'sliding'
  46306. || lk == 119840 // '%' 'sliding'
  46307. || lk == 120084 // '{' 'sliding'
  46308. || lk == 120351 // '$' 'some'
  46309. || lk == 120352 // '%' 'some'
  46310. || lk == 120596 // '{' 'some'
  46311. || lk == 120863 // '$' 'stable'
  46312. || lk == 120864 // '%' 'stable'
  46313. || lk == 121108 // '{' 'stable'
  46314. || lk == 121375 // '$' 'start'
  46315. || lk == 121376 // '%' 'start'
  46316. || lk == 121620 // '{' 'start'
  46317. || lk == 122911 // '$' 'strict'
  46318. || lk == 122912 // '%' 'strict'
  46319. || lk == 123156 // '{' 'strict'
  46320. || lk == 123935 // '$' 'structured-item'
  46321. || lk == 123936 // '%' 'structured-item'
  46322. || lk == 124180 // '{' 'structured-item'
  46323. || lk == 124447 // '$' 'switch'
  46324. || lk == 124448 // '%' 'switch'
  46325. || lk == 124692 // '{' 'switch'
  46326. || lk == 124959 // '$' 'text'
  46327. || lk == 124960 // '%' 'text'
  46328. || lk == 125204 // '{' 'text'
  46329. || lk == 127007 // '$' 'to'
  46330. || lk == 127008 // '%' 'to'
  46331. || lk == 127252 // '{' 'to'
  46332. || lk == 127519 // '$' 'treat'
  46333. || lk == 127520 // '%' 'treat'
  46334. || lk == 127764 // '{' 'treat'
  46335. || lk == 128031 // '$' 'try'
  46336. || lk == 128032 // '%' 'try'
  46337. || lk == 128276 // '{' 'try'
  46338. || lk == 128543 // '$' 'tumbling'
  46339. || lk == 128544 // '%' 'tumbling'
  46340. || lk == 128788 // '{' 'tumbling'
  46341. || lk == 129055 // '$' 'type'
  46342. || lk == 129056 // '%' 'type'
  46343. || lk == 129300 // '{' 'type'
  46344. || lk == 129567 // '$' 'typeswitch'
  46345. || lk == 129568 // '%' 'typeswitch'
  46346. || lk == 129812 // '{' 'typeswitch'
  46347. || lk == 130079 // '$' 'union'
  46348. || lk == 130080 // '%' 'union'
  46349. || lk == 130324 // '{' 'union'
  46350. || lk == 131103 // '$' 'unordered'
  46351. || lk == 131104 // '%' 'unordered'
  46352. || lk == 131348 // '{' 'unordered'
  46353. || lk == 131615 // '$' 'updating'
  46354. || lk == 131616 // '%' 'updating'
  46355. || lk == 131860 // '{' 'updating'
  46356. || lk == 133151 // '$' 'validate'
  46357. || lk == 133152 // '%' 'validate'
  46358. || lk == 133396 // '{' 'validate'
  46359. || lk == 133663 // '$' 'value'
  46360. || lk == 133664 // '%' 'value'
  46361. || lk == 133908 // '{' 'value'
  46362. || lk == 134175 // '$' 'variable'
  46363. || lk == 134176 // '%' 'variable'
  46364. || lk == 134420 // '{' 'variable'
  46365. || lk == 134687 // '$' 'version'
  46366. || lk == 134688 // '%' 'version'
  46367. || lk == 134932 // '{' 'version'
  46368. || lk == 136223 // '$' 'where'
  46369. || lk == 136224 // '%' 'where'
  46370. || lk == 136468 // '{' 'where'
  46371. || lk == 136735 // '$' 'while'
  46372. || lk == 136736 // '%' 'while'
  46373. || lk == 136980 // '{' 'while'
  46374. || lk == 138271 // '$' 'with'
  46375. || lk == 138272 // '%' 'with'
  46376. || lk == 138516 // '{' 'with'
  46377. || lk == 140319 // '$' 'xquery'
  46378. || lk == 140320 // '%' 'xquery'
  46379. || lk == 140564 // '{' 'xquery'
  46380. || lk == 141588 // '{' '{'
  46381. || lk == 142612 // '{' '{|'
  46382. || lk == 144660) // '{' '}'
  46383. {
  46384. lk = memoized(7, e0);
  46385. if (lk == 0)
  46386. {
  46387. var b0A = b0; var e0A = e0; var l1A = l1;
  46388. var b1A = b1; var e1A = e1; var l2A = l2;
  46389. var b2A = b2; var e2A = e2;
  46390. try
  46391. {
  46392. try_ApplyStatement();
  46393. lk = -1;
  46394. }
  46395. catch (p1A)
  46396. {
  46397. try
  46398. {
  46399. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46400. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46401. b2 = b2A; e2 = e2A; end = e2A; }}
  46402. try_AssignStatement();
  46403. lk = -2;
  46404. }
  46405. catch (p2A)
  46406. {
  46407. try
  46408. {
  46409. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46410. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46411. b2 = b2A; e2 = e2A; end = e2A; }}
  46412. try_BlockStatement();
  46413. lk = -3;
  46414. }
  46415. catch (p3A)
  46416. {
  46417. try
  46418. {
  46419. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46420. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46421. b2 = b2A; e2 = e2A; end = e2A; }}
  46422. try_VarDeclStatement();
  46423. lk = -12;
  46424. }
  46425. catch (p12A)
  46426. {
  46427. lk = -13;
  46428. }
  46429. }
  46430. }
  46431. }
  46432. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46433. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46434. b2 = b2A; e2 = e2A; end = e2A; }}
  46435. memoize(7, e0, lk);
  46436. }
  46437. }
  46438. switch (lk)
  46439. {
  46440. case -2:
  46441. parse_AssignStatement();
  46442. break;
  46443. case -3:
  46444. parse_BlockStatement();
  46445. break;
  46446. case 90198: // 'break' 'loop'
  46447. parse_BreakStatement();
  46448. break;
  46449. case 90214: // 'continue' 'loop'
  46450. parse_ContinueStatement();
  46451. break;
  46452. case 113284: // 'exit' 'returning'
  46453. parse_ExitStatement();
  46454. break;
  46455. case 16009: // 'for' '$'
  46456. case 16046: // 'let' '$'
  46457. case 116910: // 'let' 'score'
  46458. case 119945: // 'for' 'sliding'
  46459. case 128649: // 'for' 'tumbling'
  46460. parse_FLWORStatement();
  46461. break;
  46462. case 17560: // 'if' '('
  46463. parse_IfStatement();
  46464. break;
  46465. case 17651: // 'switch' '('
  46466. parse_SwitchStatement();
  46467. break;
  46468. case 141562: // 'try' '{'
  46469. parse_TryCatchStatement();
  46470. break;
  46471. case 17661: // 'typeswitch' '('
  46472. parse_TypeswitchStatement();
  46473. break;
  46474. case -12:
  46475. case 16134: // 'variable' '$'
  46476. parse_VarDeclStatement();
  46477. break;
  46478. case -13:
  46479. parse_WhileStatement();
  46480. break;
  46481. case 53: // ';'
  46482. parse_VoidStatement();
  46483. break;
  46484. default:
  46485. parse_ApplyStatement();
  46486. }
  46487. eventHandler.endNonterminal("Statement", e0);
  46488. }
  46489. function try_Statement()
  46490. {
  46491. switch (l1)
  46492. {
  46493. case 132: // 'exit'
  46494. lookahead2W(188); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  46495. break;
  46496. case 137: // 'for'
  46497. lookahead2W(195); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  46498. break;
  46499. case 174: // 'let'
  46500. lookahead2W(192); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  46501. break;
  46502. case 250: // 'try'
  46503. lookahead2W(189); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  46504. break;
  46505. case 262: // 'variable'
  46506. lookahead2W(186); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
  46507. break;
  46508. case 276: // '{'
  46509. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  46510. break;
  46511. case 31: // '$'
  46512. case 32: // '%'
  46513. lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  46514. break;
  46515. case 86: // 'break'
  46516. case 102: // 'continue'
  46517. lookahead2W(187); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  46518. break;
  46519. case 152: // 'if'
  46520. case 243: // 'switch'
  46521. case 253: // 'typeswitch'
  46522. case 267: // 'while'
  46523. lookahead2W(184); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
  46524. break;
  46525. default:
  46526. lk = l1;
  46527. }
  46528. if (lk == 2836 // '{' Wildcard
  46529. || lk == 3103 // '$' EQName^Token
  46530. || lk == 3104 // '%' EQName^Token
  46531. || lk == 3348 // '{' EQName^Token
  46532. || lk == 4372 // '{' IntegerLiteral
  46533. || lk == 4884 // '{' DecimalLiteral
  46534. || lk == 5396 // '{' DoubleLiteral
  46535. || lk == 5908 // '{' StringLiteral
  46536. || lk == 16148 // '{' '$'
  46537. || lk == 16660 // '{' '%'
  46538. || lk == 17675 // 'while' '('
  46539. || lk == 17684 // '{' '('
  46540. || lk == 18196 // '{' '(#'
  46541. || lk == 20756 // '{' '+'
  46542. || lk == 21780 // '{' '-'
  46543. || lk == 22804 // '{' '.'
  46544. || lk == 23316 // '{' '..'
  46545. || lk == 23828 // '{' '/'
  46546. || lk == 24340 // '{' '//'
  46547. || lk == 27412 // '{' ';'
  46548. || lk == 27924 // '{' '<'
  46549. || lk == 28436 // '{' '<!--'
  46550. || lk == 30484 // '{' '<?'
  46551. || lk == 34068 // '{' '@'
  46552. || lk == 35092 // '{' '['
  46553. || lk == 35871 // '$' 'after'
  46554. || lk == 35872 // '%' 'after'
  46555. || lk == 36116 // '{' 'after'
  46556. || lk == 36895 // '$' 'allowing'
  46557. || lk == 36896 // '%' 'allowing'
  46558. || lk == 37140 // '{' 'allowing'
  46559. || lk == 37407 // '$' 'ancestor'
  46560. || lk == 37408 // '%' 'ancestor'
  46561. || lk == 37652 // '{' 'ancestor'
  46562. || lk == 37919 // '$' 'ancestor-or-self'
  46563. || lk == 37920 // '%' 'ancestor-or-self'
  46564. || lk == 38164 // '{' 'ancestor-or-self'
  46565. || lk == 38431 // '$' 'and'
  46566. || lk == 38432 // '%' 'and'
  46567. || lk == 38676 // '{' 'and'
  46568. || lk == 39455 // '$' 'append'
  46569. || lk == 39456 // '%' 'append'
  46570. || lk == 39700 // '{' 'append'
  46571. || lk == 39967 // '$' 'array'
  46572. || lk == 39968 // '%' 'array'
  46573. || lk == 40212 // '{' 'array'
  46574. || lk == 40479 // '$' 'as'
  46575. || lk == 40480 // '%' 'as'
  46576. || lk == 40724 // '{' 'as'
  46577. || lk == 40991 // '$' 'ascending'
  46578. || lk == 40992 // '%' 'ascending'
  46579. || lk == 41236 // '{' 'ascending'
  46580. || lk == 41503 // '$' 'at'
  46581. || lk == 41504 // '%' 'at'
  46582. || lk == 41748 // '{' 'at'
  46583. || lk == 42015 // '$' 'attribute'
  46584. || lk == 42016 // '%' 'attribute'
  46585. || lk == 42260 // '{' 'attribute'
  46586. || lk == 42527 // '$' 'base-uri'
  46587. || lk == 42528 // '%' 'base-uri'
  46588. || lk == 42772 // '{' 'base-uri'
  46589. || lk == 43039 // '$' 'before'
  46590. || lk == 43040 // '%' 'before'
  46591. || lk == 43284 // '{' 'before'
  46592. || lk == 43551 // '$' 'boundary-space'
  46593. || lk == 43552 // '%' 'boundary-space'
  46594. || lk == 43796 // '{' 'boundary-space'
  46595. || lk == 44063 // '$' 'break'
  46596. || lk == 44064 // '%' 'break'
  46597. || lk == 44308 // '{' 'break'
  46598. || lk == 45087 // '$' 'case'
  46599. || lk == 45088 // '%' 'case'
  46600. || lk == 45332 // '{' 'case'
  46601. || lk == 45599 // '$' 'cast'
  46602. || lk == 45600 // '%' 'cast'
  46603. || lk == 45844 // '{' 'cast'
  46604. || lk == 46111 // '$' 'castable'
  46605. || lk == 46112 // '%' 'castable'
  46606. || lk == 46356 // '{' 'castable'
  46607. || lk == 46623 // '$' 'catch'
  46608. || lk == 46624 // '%' 'catch'
  46609. || lk == 46868 // '{' 'catch'
  46610. || lk == 47647 // '$' 'child'
  46611. || lk == 47648 // '%' 'child'
  46612. || lk == 47892 // '{' 'child'
  46613. || lk == 48159 // '$' 'collation'
  46614. || lk == 48160 // '%' 'collation'
  46615. || lk == 48404 // '{' 'collation'
  46616. || lk == 49183 // '$' 'comment'
  46617. || lk == 49184 // '%' 'comment'
  46618. || lk == 49428 // '{' 'comment'
  46619. || lk == 49695 // '$' 'constraint'
  46620. || lk == 49696 // '%' 'constraint'
  46621. || lk == 49940 // '{' 'constraint'
  46622. || lk == 50207 // '$' 'construction'
  46623. || lk == 50208 // '%' 'construction'
  46624. || lk == 50452 // '{' 'construction'
  46625. || lk == 51743 // '$' 'context'
  46626. || lk == 51744 // '%' 'context'
  46627. || lk == 51988 // '{' 'context'
  46628. || lk == 52255 // '$' 'continue'
  46629. || lk == 52256 // '%' 'continue'
  46630. || lk == 52500 // '{' 'continue'
  46631. || lk == 52767 // '$' 'copy'
  46632. || lk == 52768 // '%' 'copy'
  46633. || lk == 53012 // '{' 'copy'
  46634. || lk == 53279 // '$' 'copy-namespaces'
  46635. || lk == 53280 // '%' 'copy-namespaces'
  46636. || lk == 53524 // '{' 'copy-namespaces'
  46637. || lk == 53791 // '$' 'count'
  46638. || lk == 53792 // '%' 'count'
  46639. || lk == 54036 // '{' 'count'
  46640. || lk == 54303 // '$' 'decimal-format'
  46641. || lk == 54304 // '%' 'decimal-format'
  46642. || lk == 54548 // '{' 'decimal-format'
  46643. || lk == 55327 // '$' 'declare'
  46644. || lk == 55328 // '%' 'declare'
  46645. || lk == 55572 // '{' 'declare'
  46646. || lk == 55839 // '$' 'default'
  46647. || lk == 55840 // '%' 'default'
  46648. || lk == 56084 // '{' 'default'
  46649. || lk == 56351 // '$' 'delete'
  46650. || lk == 56352 // '%' 'delete'
  46651. || lk == 56596 // '{' 'delete'
  46652. || lk == 56863 // '$' 'descendant'
  46653. || lk == 56864 // '%' 'descendant'
  46654. || lk == 57108 // '{' 'descendant'
  46655. || lk == 57375 // '$' 'descendant-or-self'
  46656. || lk == 57376 // '%' 'descendant-or-self'
  46657. || lk == 57620 // '{' 'descendant-or-self'
  46658. || lk == 57887 // '$' 'descending'
  46659. || lk == 57888 // '%' 'descending'
  46660. || lk == 58132 // '{' 'descending'
  46661. || lk == 60447 // '$' 'div'
  46662. || lk == 60448 // '%' 'div'
  46663. || lk == 60692 // '{' 'div'
  46664. || lk == 60959 // '$' 'document'
  46665. || lk == 60960 // '%' 'document'
  46666. || lk == 61204 // '{' 'document'
  46667. || lk == 61471 // '$' 'document-node'
  46668. || lk == 61472 // '%' 'document-node'
  46669. || lk == 61716 // '{' 'document-node'
  46670. || lk == 61983 // '$' 'element'
  46671. || lk == 61984 // '%' 'element'
  46672. || lk == 62228 // '{' 'element'
  46673. || lk == 62495 // '$' 'else'
  46674. || lk == 62496 // '%' 'else'
  46675. || lk == 62740 // '{' 'else'
  46676. || lk == 63007 // '$' 'empty'
  46677. || lk == 63008 // '%' 'empty'
  46678. || lk == 63252 // '{' 'empty'
  46679. || lk == 63519 // '$' 'empty-sequence'
  46680. || lk == 63520 // '%' 'empty-sequence'
  46681. || lk == 63764 // '{' 'empty-sequence'
  46682. || lk == 64031 // '$' 'encoding'
  46683. || lk == 64032 // '%' 'encoding'
  46684. || lk == 64276 // '{' 'encoding'
  46685. || lk == 64543 // '$' 'end'
  46686. || lk == 64544 // '%' 'end'
  46687. || lk == 64788 // '{' 'end'
  46688. || lk == 65567 // '$' 'eq'
  46689. || lk == 65568 // '%' 'eq'
  46690. || lk == 65812 // '{' 'eq'
  46691. || lk == 66079 // '$' 'every'
  46692. || lk == 66080 // '%' 'every'
  46693. || lk == 66324 // '{' 'every'
  46694. || lk == 67103 // '$' 'except'
  46695. || lk == 67104 // '%' 'except'
  46696. || lk == 67348 // '{' 'except'
  46697. || lk == 67615 // '$' 'exit'
  46698. || lk == 67616 // '%' 'exit'
  46699. || lk == 67860 // '{' 'exit'
  46700. || lk == 68127 // '$' 'external'
  46701. || lk == 68128 // '%' 'external'
  46702. || lk == 68372 // '{' 'external'
  46703. || lk == 68639 // '$' 'first'
  46704. || lk == 68640 // '%' 'first'
  46705. || lk == 68884 // '{' 'first'
  46706. || lk == 69151 // '$' 'following'
  46707. || lk == 69152 // '%' 'following'
  46708. || lk == 69396 // '{' 'following'
  46709. || lk == 69663 // '$' 'following-sibling'
  46710. || lk == 69664 // '%' 'following-sibling'
  46711. || lk == 69908 // '{' 'following-sibling'
  46712. || lk == 70175 // '$' 'for'
  46713. || lk == 70176 // '%' 'for'
  46714. || lk == 70420 // '{' 'for'
  46715. || lk == 72223 // '$' 'ft-option'
  46716. || lk == 72224 // '%' 'ft-option'
  46717. || lk == 72468 // '{' 'ft-option'
  46718. || lk == 74271 // '$' 'function'
  46719. || lk == 74272 // '%' 'function'
  46720. || lk == 74516 // '{' 'function'
  46721. || lk == 74783 // '$' 'ge'
  46722. || lk == 74784 // '%' 'ge'
  46723. || lk == 75028 // '{' 'ge'
  46724. || lk == 75807 // '$' 'group'
  46725. || lk == 75808 // '%' 'group'
  46726. || lk == 76052 // '{' 'group'
  46727. || lk == 76831 // '$' 'gt'
  46728. || lk == 76832 // '%' 'gt'
  46729. || lk == 77076 // '{' 'gt'
  46730. || lk == 77343 // '$' 'idiv'
  46731. || lk == 77344 // '%' 'idiv'
  46732. || lk == 77588 // '{' 'idiv'
  46733. || lk == 77855 // '$' 'if'
  46734. || lk == 77856 // '%' 'if'
  46735. || lk == 78100 // '{' 'if'
  46736. || lk == 78367 // '$' 'import'
  46737. || lk == 78368 // '%' 'import'
  46738. || lk == 78612 // '{' 'import'
  46739. || lk == 78879 // '$' 'in'
  46740. || lk == 78880 // '%' 'in'
  46741. || lk == 79124 // '{' 'in'
  46742. || lk == 79391 // '$' 'index'
  46743. || lk == 79392 // '%' 'index'
  46744. || lk == 79636 // '{' 'index'
  46745. || lk == 81439 // '$' 'insert'
  46746. || lk == 81440 // '%' 'insert'
  46747. || lk == 81684 // '{' 'insert'
  46748. || lk == 81951 // '$' 'instance'
  46749. || lk == 81952 // '%' 'instance'
  46750. || lk == 82196 // '{' 'instance'
  46751. || lk == 82463 // '$' 'integrity'
  46752. || lk == 82464 // '%' 'integrity'
  46753. || lk == 82708 // '{' 'integrity'
  46754. || lk == 82975 // '$' 'intersect'
  46755. || lk == 82976 // '%' 'intersect'
  46756. || lk == 83220 // '{' 'intersect'
  46757. || lk == 83487 // '$' 'into'
  46758. || lk == 83488 // '%' 'into'
  46759. || lk == 83732 // '{' 'into'
  46760. || lk == 83999 // '$' 'is'
  46761. || lk == 84000 // '%' 'is'
  46762. || lk == 84244 // '{' 'is'
  46763. || lk == 84511 // '$' 'item'
  46764. || lk == 84512 // '%' 'item'
  46765. || lk == 84756 // '{' 'item'
  46766. || lk == 85023 // '$' 'json'
  46767. || lk == 85024 // '%' 'json'
  46768. || lk == 85268 // '{' 'json'
  46769. || lk == 85535 // '$' 'json-item'
  46770. || lk == 85536 // '%' 'json-item'
  46771. || lk == 85780 // '{' 'json-item'
  46772. || lk == 87071 // '$' 'last'
  46773. || lk == 87072 // '%' 'last'
  46774. || lk == 87316 // '{' 'last'
  46775. || lk == 87583 // '$' 'lax'
  46776. || lk == 87584 // '%' 'lax'
  46777. || lk == 87828 // '{' 'lax'
  46778. || lk == 88095 // '$' 'le'
  46779. || lk == 88096 // '%' 'le'
  46780. || lk == 88340 // '{' 'le'
  46781. || lk == 89119 // '$' 'let'
  46782. || lk == 89120 // '%' 'let'
  46783. || lk == 89364 // '{' 'let'
  46784. || lk == 90143 // '$' 'loop'
  46785. || lk == 90144 // '%' 'loop'
  46786. || lk == 90388 // '{' 'loop'
  46787. || lk == 91167 // '$' 'lt'
  46788. || lk == 91168 // '%' 'lt'
  46789. || lk == 91412 // '{' 'lt'
  46790. || lk == 92191 // '$' 'mod'
  46791. || lk == 92192 // '%' 'mod'
  46792. || lk == 92436 // '{' 'mod'
  46793. || lk == 92703 // '$' 'modify'
  46794. || lk == 92704 // '%' 'modify'
  46795. || lk == 92948 // '{' 'modify'
  46796. || lk == 93215 // '$' 'module'
  46797. || lk == 93216 // '%' 'module'
  46798. || lk == 93460 // '{' 'module'
  46799. || lk == 94239 // '$' 'namespace'
  46800. || lk == 94240 // '%' 'namespace'
  46801. || lk == 94484 // '{' 'namespace'
  46802. || lk == 94751 // '$' 'namespace-node'
  46803. || lk == 94752 // '%' 'namespace-node'
  46804. || lk == 94996 // '{' 'namespace-node'
  46805. || lk == 95263 // '$' 'ne'
  46806. || lk == 95264 // '%' 'ne'
  46807. || lk == 95508 // '{' 'ne'
  46808. || lk == 97823 // '$' 'node'
  46809. || lk == 97824 // '%' 'node'
  46810. || lk == 98068 // '{' 'node'
  46811. || lk == 98335 // '$' 'nodes'
  46812. || lk == 98336 // '%' 'nodes'
  46813. || lk == 98580 // '{' 'nodes'
  46814. || lk == 99359 // '$' 'object'
  46815. || lk == 99360 // '%' 'object'
  46816. || lk == 99604 // '{' 'object'
  46817. || lk == 101407 // '$' 'only'
  46818. || lk == 101408 // '%' 'only'
  46819. || lk == 101652 // '{' 'only'
  46820. || lk == 101919 // '$' 'option'
  46821. || lk == 101920 // '%' 'option'
  46822. || lk == 102164 // '{' 'option'
  46823. || lk == 102431 // '$' 'or'
  46824. || lk == 102432 // '%' 'or'
  46825. || lk == 102676 // '{' 'or'
  46826. || lk == 102943 // '$' 'order'
  46827. || lk == 102944 // '%' 'order'
  46828. || lk == 103188 // '{' 'order'
  46829. || lk == 103455 // '$' 'ordered'
  46830. || lk == 103456 // '%' 'ordered'
  46831. || lk == 103700 // '{' 'ordered'
  46832. || lk == 103967 // '$' 'ordering'
  46833. || lk == 103968 // '%' 'ordering'
  46834. || lk == 104212 // '{' 'ordering'
  46835. || lk == 105503 // '$' 'parent'
  46836. || lk == 105504 // '%' 'parent'
  46837. || lk == 105748 // '{' 'parent'
  46838. || lk == 108575 // '$' 'preceding'
  46839. || lk == 108576 // '%' 'preceding'
  46840. || lk == 108820 // '{' 'preceding'
  46841. || lk == 109087 // '$' 'preceding-sibling'
  46842. || lk == 109088 // '%' 'preceding-sibling'
  46843. || lk == 109332 // '{' 'preceding-sibling'
  46844. || lk == 110623 // '$' 'processing-instruction'
  46845. || lk == 110624 // '%' 'processing-instruction'
  46846. || lk == 110868 // '{' 'processing-instruction'
  46847. || lk == 111647 // '$' 'rename'
  46848. || lk == 111648 // '%' 'rename'
  46849. || lk == 111892 // '{' 'rename'
  46850. || lk == 112159 // '$' 'replace'
  46851. || lk == 112160 // '%' 'replace'
  46852. || lk == 112404 // '{' 'replace'
  46853. || lk == 112671 // '$' 'return'
  46854. || lk == 112672 // '%' 'return'
  46855. || lk == 112916 // '{' 'return'
  46856. || lk == 113183 // '$' 'returning'
  46857. || lk == 113184 // '%' 'returning'
  46858. || lk == 113428 // '{' 'returning'
  46859. || lk == 113695 // '$' 'revalidation'
  46860. || lk == 113696 // '%' 'revalidation'
  46861. || lk == 113940 // '{' 'revalidation'
  46862. || lk == 114719 // '$' 'satisfies'
  46863. || lk == 114720 // '%' 'satisfies'
  46864. || lk == 114964 // '{' 'satisfies'
  46865. || lk == 115231 // '$' 'schema'
  46866. || lk == 115232 // '%' 'schema'
  46867. || lk == 115476 // '{' 'schema'
  46868. || lk == 115743 // '$' 'schema-attribute'
  46869. || lk == 115744 // '%' 'schema-attribute'
  46870. || lk == 115988 // '{' 'schema-attribute'
  46871. || lk == 116255 // '$' 'schema-element'
  46872. || lk == 116256 // '%' 'schema-element'
  46873. || lk == 116500 // '{' 'schema-element'
  46874. || lk == 116767 // '$' 'score'
  46875. || lk == 116768 // '%' 'score'
  46876. || lk == 117012 // '{' 'score'
  46877. || lk == 117279 // '$' 'self'
  46878. || lk == 117280 // '%' 'self'
  46879. || lk == 117524 // '{' 'self'
  46880. || lk == 119839 // '$' 'sliding'
  46881. || lk == 119840 // '%' 'sliding'
  46882. || lk == 120084 // '{' 'sliding'
  46883. || lk == 120351 // '$' 'some'
  46884. || lk == 120352 // '%' 'some'
  46885. || lk == 120596 // '{' 'some'
  46886. || lk == 120863 // '$' 'stable'
  46887. || lk == 120864 // '%' 'stable'
  46888. || lk == 121108 // '{' 'stable'
  46889. || lk == 121375 // '$' 'start'
  46890. || lk == 121376 // '%' 'start'
  46891. || lk == 121620 // '{' 'start'
  46892. || lk == 122911 // '$' 'strict'
  46893. || lk == 122912 // '%' 'strict'
  46894. || lk == 123156 // '{' 'strict'
  46895. || lk == 123935 // '$' 'structured-item'
  46896. || lk == 123936 // '%' 'structured-item'
  46897. || lk == 124180 // '{' 'structured-item'
  46898. || lk == 124447 // '$' 'switch'
  46899. || lk == 124448 // '%' 'switch'
  46900. || lk == 124692 // '{' 'switch'
  46901. || lk == 124959 // '$' 'text'
  46902. || lk == 124960 // '%' 'text'
  46903. || lk == 125204 // '{' 'text'
  46904. || lk == 127007 // '$' 'to'
  46905. || lk == 127008 // '%' 'to'
  46906. || lk == 127252 // '{' 'to'
  46907. || lk == 127519 // '$' 'treat'
  46908. || lk == 127520 // '%' 'treat'
  46909. || lk == 127764 // '{' 'treat'
  46910. || lk == 128031 // '$' 'try'
  46911. || lk == 128032 // '%' 'try'
  46912. || lk == 128276 // '{' 'try'
  46913. || lk == 128543 // '$' 'tumbling'
  46914. || lk == 128544 // '%' 'tumbling'
  46915. || lk == 128788 // '{' 'tumbling'
  46916. || lk == 129055 // '$' 'type'
  46917. || lk == 129056 // '%' 'type'
  46918. || lk == 129300 // '{' 'type'
  46919. || lk == 129567 // '$' 'typeswitch'
  46920. || lk == 129568 // '%' 'typeswitch'
  46921. || lk == 129812 // '{' 'typeswitch'
  46922. || lk == 130079 // '$' 'union'
  46923. || lk == 130080 // '%' 'union'
  46924. || lk == 130324 // '{' 'union'
  46925. || lk == 131103 // '$' 'unordered'
  46926. || lk == 131104 // '%' 'unordered'
  46927. || lk == 131348 // '{' 'unordered'
  46928. || lk == 131615 // '$' 'updating'
  46929. || lk == 131616 // '%' 'updating'
  46930. || lk == 131860 // '{' 'updating'
  46931. || lk == 133151 // '$' 'validate'
  46932. || lk == 133152 // '%' 'validate'
  46933. || lk == 133396 // '{' 'validate'
  46934. || lk == 133663 // '$' 'value'
  46935. || lk == 133664 // '%' 'value'
  46936. || lk == 133908 // '{' 'value'
  46937. || lk == 134175 // '$' 'variable'
  46938. || lk == 134176 // '%' 'variable'
  46939. || lk == 134420 // '{' 'variable'
  46940. || lk == 134687 // '$' 'version'
  46941. || lk == 134688 // '%' 'version'
  46942. || lk == 134932 // '{' 'version'
  46943. || lk == 136223 // '$' 'where'
  46944. || lk == 136224 // '%' 'where'
  46945. || lk == 136468 // '{' 'where'
  46946. || lk == 136735 // '$' 'while'
  46947. || lk == 136736 // '%' 'while'
  46948. || lk == 136980 // '{' 'while'
  46949. || lk == 138271 // '$' 'with'
  46950. || lk == 138272 // '%' 'with'
  46951. || lk == 138516 // '{' 'with'
  46952. || lk == 140319 // '$' 'xquery'
  46953. || lk == 140320 // '%' 'xquery'
  46954. || lk == 140564 // '{' 'xquery'
  46955. || lk == 141588 // '{' '{'
  46956. || lk == 142612 // '{' '{|'
  46957. || lk == 144660) // '{' '}'
  46958. {
  46959. lk = memoized(7, e0);
  46960. if (lk == 0)
  46961. {
  46962. var b0A = b0; var e0A = e0; var l1A = l1;
  46963. var b1A = b1; var e1A = e1; var l2A = l2;
  46964. var b2A = b2; var e2A = e2;
  46965. try
  46966. {
  46967. try_ApplyStatement();
  46968. memoize(7, e0A, -1);
  46969. lk = -15;
  46970. }
  46971. catch (p1A)
  46972. {
  46973. try
  46974. {
  46975. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46976. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46977. b2 = b2A; e2 = e2A; end = e2A; }}
  46978. try_AssignStatement();
  46979. memoize(7, e0A, -2);
  46980. lk = -15;
  46981. }
  46982. catch (p2A)
  46983. {
  46984. try
  46985. {
  46986. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46987. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46988. b2 = b2A; e2 = e2A; end = e2A; }}
  46989. try_BlockStatement();
  46990. memoize(7, e0A, -3);
  46991. lk = -15;
  46992. }
  46993. catch (p3A)
  46994. {
  46995. try
  46996. {
  46997. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  46998. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  46999. b2 = b2A; e2 = e2A; end = e2A; }}
  47000. try_VarDeclStatement();
  47001. memoize(7, e0A, -12);
  47002. lk = -15;
  47003. }
  47004. catch (p12A)
  47005. {
  47006. lk = -13;
  47007. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  47008. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  47009. b2 = b2A; e2 = e2A; end = e2A; }}
  47010. memoize(7, e0A, -13);
  47011. }
  47012. }
  47013. }
  47014. }
  47015. }
  47016. }
  47017. switch (lk)
  47018. {
  47019. case -2:
  47020. try_AssignStatement();
  47021. break;
  47022. case -3:
  47023. try_BlockStatement();
  47024. break;
  47025. case 90198: // 'break' 'loop'
  47026. try_BreakStatement();
  47027. break;
  47028. case 90214: // 'continue' 'loop'
  47029. try_ContinueStatement();
  47030. break;
  47031. case 113284: // 'exit' 'returning'
  47032. try_ExitStatement();
  47033. break;
  47034. case 16009: // 'for' '$'
  47035. case 16046: // 'let' '$'
  47036. case 116910: // 'let' 'score'
  47037. case 119945: // 'for' 'sliding'
  47038. case 128649: // 'for' 'tumbling'
  47039. try_FLWORStatement();
  47040. break;
  47041. case 17560: // 'if' '('
  47042. try_IfStatement();
  47043. break;
  47044. case 17651: // 'switch' '('
  47045. try_SwitchStatement();
  47046. break;
  47047. case 141562: // 'try' '{'
  47048. try_TryCatchStatement();
  47049. break;
  47050. case 17661: // 'typeswitch' '('
  47051. try_TypeswitchStatement();
  47052. break;
  47053. case -12:
  47054. case 16134: // 'variable' '$'
  47055. try_VarDeclStatement();
  47056. break;
  47057. case -13:
  47058. try_WhileStatement();
  47059. break;
  47060. case 53: // ';'
  47061. try_VoidStatement();
  47062. break;
  47063. case -15:
  47064. break;
  47065. default:
  47066. try_ApplyStatement();
  47067. }
  47068. }
  47069. function parse_ApplyStatement()
  47070. {
  47071. eventHandler.startNonterminal("ApplyStatement", e0);
  47072. parse_ExprSimple();
  47073. shift(53); // ';'
  47074. eventHandler.endNonterminal("ApplyStatement", e0);
  47075. }
  47076. function try_ApplyStatement()
  47077. {
  47078. try_ExprSimple();
  47079. shiftT(53); // ';'
  47080. }
  47081. function parse_AssignStatement()
  47082. {
  47083. eventHandler.startNonterminal("AssignStatement", e0);
  47084. shift(31); // '$'
  47085. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47086. whitespace();
  47087. parse_VarName();
  47088. lookahead1W(27); // S^WS | '(:' | ':='
  47089. shift(52); // ':='
  47090. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47091. whitespace();
  47092. parse_ExprSingle();
  47093. shift(53); // ';'
  47094. eventHandler.endNonterminal("AssignStatement", e0);
  47095. }
  47096. function try_AssignStatement()
  47097. {
  47098. shiftT(31); // '$'
  47099. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47100. try_VarName();
  47101. lookahead1W(27); // S^WS | '(:' | ':='
  47102. shiftT(52); // ':='
  47103. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47104. try_ExprSingle();
  47105. shiftT(53); // ';'
  47106. }
  47107. function parse_BlockStatement()
  47108. {
  47109. eventHandler.startNonterminal("BlockStatement", e0);
  47110. shift(276); // '{'
  47111. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47112. whitespace();
  47113. parse_Statements();
  47114. shift(282); // '}'
  47115. eventHandler.endNonterminal("BlockStatement", e0);
  47116. }
  47117. function try_BlockStatement()
  47118. {
  47119. shiftT(276); // '{'
  47120. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47121. try_Statements();
  47122. shiftT(282); // '}'
  47123. }
  47124. function parse_BreakStatement()
  47125. {
  47126. eventHandler.startNonterminal("BreakStatement", e0);
  47127. shift(86); // 'break'
  47128. lookahead1W(59); // S^WS | '(:' | 'loop'
  47129. shift(176); // 'loop'
  47130. lookahead1W(28); // S^WS | '(:' | ';'
  47131. shift(53); // ';'
  47132. eventHandler.endNonterminal("BreakStatement", e0);
  47133. }
  47134. function try_BreakStatement()
  47135. {
  47136. shiftT(86); // 'break'
  47137. lookahead1W(59); // S^WS | '(:' | 'loop'
  47138. shiftT(176); // 'loop'
  47139. lookahead1W(28); // S^WS | '(:' | ';'
  47140. shiftT(53); // ';'
  47141. }
  47142. function parse_ContinueStatement()
  47143. {
  47144. eventHandler.startNonterminal("ContinueStatement", e0);
  47145. shift(102); // 'continue'
  47146. lookahead1W(59); // S^WS | '(:' | 'loop'
  47147. shift(176); // 'loop'
  47148. lookahead1W(28); // S^WS | '(:' | ';'
  47149. shift(53); // ';'
  47150. eventHandler.endNonterminal("ContinueStatement", e0);
  47151. }
  47152. function try_ContinueStatement()
  47153. {
  47154. shiftT(102); // 'continue'
  47155. lookahead1W(59); // S^WS | '(:' | 'loop'
  47156. shiftT(176); // 'loop'
  47157. lookahead1W(28); // S^WS | '(:' | ';'
  47158. shiftT(53); // ';'
  47159. }
  47160. function parse_ExitStatement()
  47161. {
  47162. eventHandler.startNonterminal("ExitStatement", e0);
  47163. shift(132); // 'exit'
  47164. lookahead1W(71); // S^WS | '(:' | 'returning'
  47165. shift(221); // 'returning'
  47166. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47167. whitespace();
  47168. parse_ExprSingle();
  47169. shift(53); // ';'
  47170. eventHandler.endNonterminal("ExitStatement", e0);
  47171. }
  47172. function try_ExitStatement()
  47173. {
  47174. shiftT(132); // 'exit'
  47175. lookahead1W(71); // S^WS | '(:' | 'returning'
  47176. shiftT(221); // 'returning'
  47177. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47178. try_ExprSingle();
  47179. shiftT(53); // ';'
  47180. }
  47181. function parse_FLWORStatement()
  47182. {
  47183. eventHandler.startNonterminal("FLWORStatement", e0);
  47184. parse_InitialClause();
  47185. for (;;)
  47186. {
  47187. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  47188. if (l1 == 220) // 'return'
  47189. {
  47190. break;
  47191. }
  47192. whitespace();
  47193. parse_IntermediateClause();
  47194. }
  47195. whitespace();
  47196. parse_ReturnStatement();
  47197. eventHandler.endNonterminal("FLWORStatement", e0);
  47198. }
  47199. function try_FLWORStatement()
  47200. {
  47201. try_InitialClause();
  47202. for (;;)
  47203. {
  47204. lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
  47205. if (l1 == 220) // 'return'
  47206. {
  47207. break;
  47208. }
  47209. try_IntermediateClause();
  47210. }
  47211. try_ReturnStatement();
  47212. }
  47213. function parse_ReturnStatement()
  47214. {
  47215. eventHandler.startNonterminal("ReturnStatement", e0);
  47216. shift(220); // 'return'
  47217. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47218. whitespace();
  47219. parse_Statement();
  47220. eventHandler.endNonterminal("ReturnStatement", e0);
  47221. }
  47222. function try_ReturnStatement()
  47223. {
  47224. shiftT(220); // 'return'
  47225. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47226. try_Statement();
  47227. }
  47228. function parse_IfStatement()
  47229. {
  47230. eventHandler.startNonterminal("IfStatement", e0);
  47231. shift(152); // 'if'
  47232. lookahead1W(22); // S^WS | '(' | '(:'
  47233. shift(34); // '('
  47234. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47235. whitespace();
  47236. parse_Expr();
  47237. shift(37); // ')'
  47238. lookahead1W(77); // S^WS | '(:' | 'then'
  47239. shift(245); // 'then'
  47240. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47241. whitespace();
  47242. parse_Statement();
  47243. lookahead1W(48); // S^WS | '(:' | 'else'
  47244. shift(122); // 'else'
  47245. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47246. whitespace();
  47247. parse_Statement();
  47248. eventHandler.endNonterminal("IfStatement", e0);
  47249. }
  47250. function try_IfStatement()
  47251. {
  47252. shiftT(152); // 'if'
  47253. lookahead1W(22); // S^WS | '(' | '(:'
  47254. shiftT(34); // '('
  47255. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47256. try_Expr();
  47257. shiftT(37); // ')'
  47258. lookahead1W(77); // S^WS | '(:' | 'then'
  47259. shiftT(245); // 'then'
  47260. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47261. try_Statement();
  47262. lookahead1W(48); // S^WS | '(:' | 'else'
  47263. shiftT(122); // 'else'
  47264. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47265. try_Statement();
  47266. }
  47267. function parse_SwitchStatement()
  47268. {
  47269. eventHandler.startNonterminal("SwitchStatement", e0);
  47270. shift(243); // 'switch'
  47271. lookahead1W(22); // S^WS | '(' | '(:'
  47272. shift(34); // '('
  47273. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47274. whitespace();
  47275. parse_Expr();
  47276. shift(37); // ')'
  47277. for (;;)
  47278. {
  47279. lookahead1W(35); // S^WS | '(:' | 'case'
  47280. whitespace();
  47281. parse_SwitchCaseStatement();
  47282. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  47283. if (l1 != 88) // 'case'
  47284. {
  47285. break;
  47286. }
  47287. }
  47288. shift(109); // 'default'
  47289. lookahead1W(70); // S^WS | '(:' | 'return'
  47290. shift(220); // 'return'
  47291. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47292. whitespace();
  47293. parse_Statement();
  47294. eventHandler.endNonterminal("SwitchStatement", e0);
  47295. }
  47296. function try_SwitchStatement()
  47297. {
  47298. shiftT(243); // 'switch'
  47299. lookahead1W(22); // S^WS | '(' | '(:'
  47300. shiftT(34); // '('
  47301. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47302. try_Expr();
  47303. shiftT(37); // ')'
  47304. for (;;)
  47305. {
  47306. lookahead1W(35); // S^WS | '(:' | 'case'
  47307. try_SwitchCaseStatement();
  47308. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  47309. if (l1 != 88) // 'case'
  47310. {
  47311. break;
  47312. }
  47313. }
  47314. shiftT(109); // 'default'
  47315. lookahead1W(70); // S^WS | '(:' | 'return'
  47316. shiftT(220); // 'return'
  47317. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47318. try_Statement();
  47319. }
  47320. function parse_SwitchCaseStatement()
  47321. {
  47322. eventHandler.startNonterminal("SwitchCaseStatement", e0);
  47323. for (;;)
  47324. {
  47325. shift(88); // 'case'
  47326. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47327. whitespace();
  47328. parse_SwitchCaseOperand();
  47329. if (l1 != 88) // 'case'
  47330. {
  47331. break;
  47332. }
  47333. }
  47334. shift(220); // 'return'
  47335. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47336. whitespace();
  47337. parse_Statement();
  47338. eventHandler.endNonterminal("SwitchCaseStatement", e0);
  47339. }
  47340. function try_SwitchCaseStatement()
  47341. {
  47342. for (;;)
  47343. {
  47344. shiftT(88); // 'case'
  47345. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47346. try_SwitchCaseOperand();
  47347. if (l1 != 88) // 'case'
  47348. {
  47349. break;
  47350. }
  47351. }
  47352. shiftT(220); // 'return'
  47353. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47354. try_Statement();
  47355. }
  47356. function parse_TryCatchStatement()
  47357. {
  47358. eventHandler.startNonterminal("TryCatchStatement", e0);
  47359. shift(250); // 'try'
  47360. lookahead1W(87); // S^WS | '(:' | '{'
  47361. whitespace();
  47362. parse_BlockStatement();
  47363. for (;;)
  47364. {
  47365. lookahead1W(36); // S^WS | '(:' | 'catch'
  47366. shift(91); // 'catch'
  47367. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47368. whitespace();
  47369. parse_CatchErrorList();
  47370. whitespace();
  47371. parse_BlockStatement();
  47372. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47373. switch (l1)
  47374. {
  47375. case 91: // 'catch'
  47376. lookahead2W(278); // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
  47377. break;
  47378. default:
  47379. lk = l1;
  47380. }
  47381. if (lk == 38491 // 'catch' 'and'
  47382. || lk == 45659 // 'catch' 'cast'
  47383. || lk == 46171 // 'catch' 'castable'
  47384. || lk == 60507 // 'catch' 'div'
  47385. || lk == 65627 // 'catch' 'eq'
  47386. || lk == 67163 // 'catch' 'except'
  47387. || lk == 74843 // 'catch' 'ge'
  47388. || lk == 76891 // 'catch' 'gt'
  47389. || lk == 77403 // 'catch' 'idiv'
  47390. || lk == 82011 // 'catch' 'instance'
  47391. || lk == 83035 // 'catch' 'intersect'
  47392. || lk == 84059 // 'catch' 'is'
  47393. || lk == 88155 // 'catch' 'le'
  47394. || lk == 91227 // 'catch' 'lt'
  47395. || lk == 92251 // 'catch' 'mod'
  47396. || lk == 95323 // 'catch' 'ne'
  47397. || lk == 102491 // 'catch' 'or'
  47398. || lk == 127067 // 'catch' 'to'
  47399. || lk == 127579 // 'catch' 'treat'
  47400. || lk == 130139) // 'catch' 'union'
  47401. {
  47402. lk = memoized(8, e0);
  47403. if (lk == 0)
  47404. {
  47405. var b0A = b0; var e0A = e0; var l1A = l1;
  47406. var b1A = b1; var e1A = e1; var l2A = l2;
  47407. var b2A = b2; var e2A = e2;
  47408. try
  47409. {
  47410. lookahead1W(36); // S^WS | '(:' | 'catch'
  47411. shiftT(91); // 'catch'
  47412. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47413. try_CatchErrorList();
  47414. try_BlockStatement();
  47415. lk = -1;
  47416. }
  47417. catch (p1A)
  47418. {
  47419. lk = -2;
  47420. }
  47421. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  47422. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  47423. b2 = b2A; e2 = e2A; end = e2A; }}
  47424. memoize(8, e0, lk);
  47425. }
  47426. }
  47427. if (lk != -1
  47428. && lk != 2651 // 'catch' Wildcard
  47429. && lk != 3163 // 'catch' EQName^Token
  47430. && lk != 35931 // 'catch' 'after'
  47431. && lk != 36955 // 'catch' 'allowing'
  47432. && lk != 37467 // 'catch' 'ancestor'
  47433. && lk != 37979 // 'catch' 'ancestor-or-self'
  47434. && lk != 39515 // 'catch' 'append'
  47435. && lk != 40027 // 'catch' 'array'
  47436. && lk != 40539 // 'catch' 'as'
  47437. && lk != 41051 // 'catch' 'ascending'
  47438. && lk != 41563 // 'catch' 'at'
  47439. && lk != 42075 // 'catch' 'attribute'
  47440. && lk != 42587 // 'catch' 'base-uri'
  47441. && lk != 43099 // 'catch' 'before'
  47442. && lk != 43611 // 'catch' 'boundary-space'
  47443. && lk != 44123 // 'catch' 'break'
  47444. && lk != 45147 // 'catch' 'case'
  47445. && lk != 46683 // 'catch' 'catch'
  47446. && lk != 47707 // 'catch' 'child'
  47447. && lk != 48219 // 'catch' 'collation'
  47448. && lk != 49243 // 'catch' 'comment'
  47449. && lk != 49755 // 'catch' 'constraint'
  47450. && lk != 50267 // 'catch' 'construction'
  47451. && lk != 51803 // 'catch' 'context'
  47452. && lk != 52315 // 'catch' 'continue'
  47453. && lk != 52827 // 'catch' 'copy'
  47454. && lk != 53339 // 'catch' 'copy-namespaces'
  47455. && lk != 53851 // 'catch' 'count'
  47456. && lk != 54363 // 'catch' 'decimal-format'
  47457. && lk != 55387 // 'catch' 'declare'
  47458. && lk != 55899 // 'catch' 'default'
  47459. && lk != 56411 // 'catch' 'delete'
  47460. && lk != 56923 // 'catch' 'descendant'
  47461. && lk != 57435 // 'catch' 'descendant-or-self'
  47462. && lk != 57947 // 'catch' 'descending'
  47463. && lk != 61019 // 'catch' 'document'
  47464. && lk != 61531 // 'catch' 'document-node'
  47465. && lk != 62043 // 'catch' 'element'
  47466. && lk != 62555 // 'catch' 'else'
  47467. && lk != 63067 // 'catch' 'empty'
  47468. && lk != 63579 // 'catch' 'empty-sequence'
  47469. && lk != 64091 // 'catch' 'encoding'
  47470. && lk != 64603 // 'catch' 'end'
  47471. && lk != 66139 // 'catch' 'every'
  47472. && lk != 67675 // 'catch' 'exit'
  47473. && lk != 68187 // 'catch' 'external'
  47474. && lk != 68699 // 'catch' 'first'
  47475. && lk != 69211 // 'catch' 'following'
  47476. && lk != 69723 // 'catch' 'following-sibling'
  47477. && lk != 70235 // 'catch' 'for'
  47478. && lk != 72283 // 'catch' 'ft-option'
  47479. && lk != 74331 // 'catch' 'function'
  47480. && lk != 75867 // 'catch' 'group'
  47481. && lk != 77915 // 'catch' 'if'
  47482. && lk != 78427 // 'catch' 'import'
  47483. && lk != 78939 // 'catch' 'in'
  47484. && lk != 79451 // 'catch' 'index'
  47485. && lk != 81499 // 'catch' 'insert'
  47486. && lk != 82523 // 'catch' 'integrity'
  47487. && lk != 83547 // 'catch' 'into'
  47488. && lk != 84571 // 'catch' 'item'
  47489. && lk != 85083 // 'catch' 'json'
  47490. && lk != 85595 // 'catch' 'json-item'
  47491. && lk != 87131 // 'catch' 'last'
  47492. && lk != 87643 // 'catch' 'lax'
  47493. && lk != 89179 // 'catch' 'let'
  47494. && lk != 90203 // 'catch' 'loop'
  47495. && lk != 92763 // 'catch' 'modify'
  47496. && lk != 93275 // 'catch' 'module'
  47497. && lk != 94299 // 'catch' 'namespace'
  47498. && lk != 94811 // 'catch' 'namespace-node'
  47499. && lk != 97883 // 'catch' 'node'
  47500. && lk != 98395 // 'catch' 'nodes'
  47501. && lk != 99419 // 'catch' 'object'
  47502. && lk != 101467 // 'catch' 'only'
  47503. && lk != 101979 // 'catch' 'option'
  47504. && lk != 103003 // 'catch' 'order'
  47505. && lk != 103515 // 'catch' 'ordered'
  47506. && lk != 104027 // 'catch' 'ordering'
  47507. && lk != 105563 // 'catch' 'parent'
  47508. && lk != 108635 // 'catch' 'preceding'
  47509. && lk != 109147 // 'catch' 'preceding-sibling'
  47510. && lk != 110683 // 'catch' 'processing-instruction'
  47511. && lk != 111707 // 'catch' 'rename'
  47512. && lk != 112219 // 'catch' 'replace'
  47513. && lk != 112731 // 'catch' 'return'
  47514. && lk != 113243 // 'catch' 'returning'
  47515. && lk != 113755 // 'catch' 'revalidation'
  47516. && lk != 114779 // 'catch' 'satisfies'
  47517. && lk != 115291 // 'catch' 'schema'
  47518. && lk != 115803 // 'catch' 'schema-attribute'
  47519. && lk != 116315 // 'catch' 'schema-element'
  47520. && lk != 116827 // 'catch' 'score'
  47521. && lk != 117339 // 'catch' 'self'
  47522. && lk != 119899 // 'catch' 'sliding'
  47523. && lk != 120411 // 'catch' 'some'
  47524. && lk != 120923 // 'catch' 'stable'
  47525. && lk != 121435 // 'catch' 'start'
  47526. && lk != 122971 // 'catch' 'strict'
  47527. && lk != 123995 // 'catch' 'structured-item'
  47528. && lk != 124507 // 'catch' 'switch'
  47529. && lk != 125019 // 'catch' 'text'
  47530. && lk != 128091 // 'catch' 'try'
  47531. && lk != 128603 // 'catch' 'tumbling'
  47532. && lk != 129115 // 'catch' 'type'
  47533. && lk != 129627 // 'catch' 'typeswitch'
  47534. && lk != 131163 // 'catch' 'unordered'
  47535. && lk != 131675 // 'catch' 'updating'
  47536. && lk != 133211 // 'catch' 'validate'
  47537. && lk != 133723 // 'catch' 'value'
  47538. && lk != 134235 // 'catch' 'variable'
  47539. && lk != 134747 // 'catch' 'version'
  47540. && lk != 136283 // 'catch' 'where'
  47541. && lk != 136795 // 'catch' 'while'
  47542. && lk != 138331 // 'catch' 'with'
  47543. && lk != 140379) // 'catch' 'xquery'
  47544. {
  47545. break;
  47546. }
  47547. }
  47548. eventHandler.endNonterminal("TryCatchStatement", e0);
  47549. }
  47550. function try_TryCatchStatement()
  47551. {
  47552. shiftT(250); // 'try'
  47553. lookahead1W(87); // S^WS | '(:' | '{'
  47554. try_BlockStatement();
  47555. lookahead1W(36); // S^WS | '(:' | 'catch'
  47556. shiftT(91); // 'catch'
  47557. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47558. try_CatchErrorList();
  47559. try_BlockStatement();
  47560. for (;;)
  47561. {
  47562. lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47563. switch (l1)
  47564. {
  47565. case 91: // 'catch'
  47566. lookahead2W(278); // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
  47567. break;
  47568. default:
  47569. lk = l1;
  47570. }
  47571. if (lk == 38491 // 'catch' 'and'
  47572. || lk == 45659 // 'catch' 'cast'
  47573. || lk == 46171 // 'catch' 'castable'
  47574. || lk == 60507 // 'catch' 'div'
  47575. || lk == 65627 // 'catch' 'eq'
  47576. || lk == 67163 // 'catch' 'except'
  47577. || lk == 74843 // 'catch' 'ge'
  47578. || lk == 76891 // 'catch' 'gt'
  47579. || lk == 77403 // 'catch' 'idiv'
  47580. || lk == 82011 // 'catch' 'instance'
  47581. || lk == 83035 // 'catch' 'intersect'
  47582. || lk == 84059 // 'catch' 'is'
  47583. || lk == 88155 // 'catch' 'le'
  47584. || lk == 91227 // 'catch' 'lt'
  47585. || lk == 92251 // 'catch' 'mod'
  47586. || lk == 95323 // 'catch' 'ne'
  47587. || lk == 102491 // 'catch' 'or'
  47588. || lk == 127067 // 'catch' 'to'
  47589. || lk == 127579 // 'catch' 'treat'
  47590. || lk == 130139) // 'catch' 'union'
  47591. {
  47592. lk = memoized(8, e0);
  47593. if (lk == 0)
  47594. {
  47595. var b0A = b0; var e0A = e0; var l1A = l1;
  47596. var b1A = b1; var e1A = e1; var l2A = l2;
  47597. var b2A = b2; var e2A = e2;
  47598. try
  47599. {
  47600. lookahead1W(36); // S^WS | '(:' | 'catch'
  47601. shiftT(91); // 'catch'
  47602. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47603. try_CatchErrorList();
  47604. try_BlockStatement();
  47605. memoize(8, e0A, -1);
  47606. continue;
  47607. }
  47608. catch (p1A)
  47609. {
  47610. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  47611. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  47612. b2 = b2A; e2 = e2A; end = e2A; }}
  47613. memoize(8, e0A, -2);
  47614. break;
  47615. }
  47616. }
  47617. }
  47618. if (lk != -1
  47619. && lk != 2651 // 'catch' Wildcard
  47620. && lk != 3163 // 'catch' EQName^Token
  47621. && lk != 35931 // 'catch' 'after'
  47622. && lk != 36955 // 'catch' 'allowing'
  47623. && lk != 37467 // 'catch' 'ancestor'
  47624. && lk != 37979 // 'catch' 'ancestor-or-self'
  47625. && lk != 39515 // 'catch' 'append'
  47626. && lk != 40027 // 'catch' 'array'
  47627. && lk != 40539 // 'catch' 'as'
  47628. && lk != 41051 // 'catch' 'ascending'
  47629. && lk != 41563 // 'catch' 'at'
  47630. && lk != 42075 // 'catch' 'attribute'
  47631. && lk != 42587 // 'catch' 'base-uri'
  47632. && lk != 43099 // 'catch' 'before'
  47633. && lk != 43611 // 'catch' 'boundary-space'
  47634. && lk != 44123 // 'catch' 'break'
  47635. && lk != 45147 // 'catch' 'case'
  47636. && lk != 46683 // 'catch' 'catch'
  47637. && lk != 47707 // 'catch' 'child'
  47638. && lk != 48219 // 'catch' 'collation'
  47639. && lk != 49243 // 'catch' 'comment'
  47640. && lk != 49755 // 'catch' 'constraint'
  47641. && lk != 50267 // 'catch' 'construction'
  47642. && lk != 51803 // 'catch' 'context'
  47643. && lk != 52315 // 'catch' 'continue'
  47644. && lk != 52827 // 'catch' 'copy'
  47645. && lk != 53339 // 'catch' 'copy-namespaces'
  47646. && lk != 53851 // 'catch' 'count'
  47647. && lk != 54363 // 'catch' 'decimal-format'
  47648. && lk != 55387 // 'catch' 'declare'
  47649. && lk != 55899 // 'catch' 'default'
  47650. && lk != 56411 // 'catch' 'delete'
  47651. && lk != 56923 // 'catch' 'descendant'
  47652. && lk != 57435 // 'catch' 'descendant-or-self'
  47653. && lk != 57947 // 'catch' 'descending'
  47654. && lk != 61019 // 'catch' 'document'
  47655. && lk != 61531 // 'catch' 'document-node'
  47656. && lk != 62043 // 'catch' 'element'
  47657. && lk != 62555 // 'catch' 'else'
  47658. && lk != 63067 // 'catch' 'empty'
  47659. && lk != 63579 // 'catch' 'empty-sequence'
  47660. && lk != 64091 // 'catch' 'encoding'
  47661. && lk != 64603 // 'catch' 'end'
  47662. && lk != 66139 // 'catch' 'every'
  47663. && lk != 67675 // 'catch' 'exit'
  47664. && lk != 68187 // 'catch' 'external'
  47665. && lk != 68699 // 'catch' 'first'
  47666. && lk != 69211 // 'catch' 'following'
  47667. && lk != 69723 // 'catch' 'following-sibling'
  47668. && lk != 70235 // 'catch' 'for'
  47669. && lk != 72283 // 'catch' 'ft-option'
  47670. && lk != 74331 // 'catch' 'function'
  47671. && lk != 75867 // 'catch' 'group'
  47672. && lk != 77915 // 'catch' 'if'
  47673. && lk != 78427 // 'catch' 'import'
  47674. && lk != 78939 // 'catch' 'in'
  47675. && lk != 79451 // 'catch' 'index'
  47676. && lk != 81499 // 'catch' 'insert'
  47677. && lk != 82523 // 'catch' 'integrity'
  47678. && lk != 83547 // 'catch' 'into'
  47679. && lk != 84571 // 'catch' 'item'
  47680. && lk != 85083 // 'catch' 'json'
  47681. && lk != 85595 // 'catch' 'json-item'
  47682. && lk != 87131 // 'catch' 'last'
  47683. && lk != 87643 // 'catch' 'lax'
  47684. && lk != 89179 // 'catch' 'let'
  47685. && lk != 90203 // 'catch' 'loop'
  47686. && lk != 92763 // 'catch' 'modify'
  47687. && lk != 93275 // 'catch' 'module'
  47688. && lk != 94299 // 'catch' 'namespace'
  47689. && lk != 94811 // 'catch' 'namespace-node'
  47690. && lk != 97883 // 'catch' 'node'
  47691. && lk != 98395 // 'catch' 'nodes'
  47692. && lk != 99419 // 'catch' 'object'
  47693. && lk != 101467 // 'catch' 'only'
  47694. && lk != 101979 // 'catch' 'option'
  47695. && lk != 103003 // 'catch' 'order'
  47696. && lk != 103515 // 'catch' 'ordered'
  47697. && lk != 104027 // 'catch' 'ordering'
  47698. && lk != 105563 // 'catch' 'parent'
  47699. && lk != 108635 // 'catch' 'preceding'
  47700. && lk != 109147 // 'catch' 'preceding-sibling'
  47701. && lk != 110683 // 'catch' 'processing-instruction'
  47702. && lk != 111707 // 'catch' 'rename'
  47703. && lk != 112219 // 'catch' 'replace'
  47704. && lk != 112731 // 'catch' 'return'
  47705. && lk != 113243 // 'catch' 'returning'
  47706. && lk != 113755 // 'catch' 'revalidation'
  47707. && lk != 114779 // 'catch' 'satisfies'
  47708. && lk != 115291 // 'catch' 'schema'
  47709. && lk != 115803 // 'catch' 'schema-attribute'
  47710. && lk != 116315 // 'catch' 'schema-element'
  47711. && lk != 116827 // 'catch' 'score'
  47712. && lk != 117339 // 'catch' 'self'
  47713. && lk != 119899 // 'catch' 'sliding'
  47714. && lk != 120411 // 'catch' 'some'
  47715. && lk != 120923 // 'catch' 'stable'
  47716. && lk != 121435 // 'catch' 'start'
  47717. && lk != 122971 // 'catch' 'strict'
  47718. && lk != 123995 // 'catch' 'structured-item'
  47719. && lk != 124507 // 'catch' 'switch'
  47720. && lk != 125019 // 'catch' 'text'
  47721. && lk != 128091 // 'catch' 'try'
  47722. && lk != 128603 // 'catch' 'tumbling'
  47723. && lk != 129115 // 'catch' 'type'
  47724. && lk != 129627 // 'catch' 'typeswitch'
  47725. && lk != 131163 // 'catch' 'unordered'
  47726. && lk != 131675 // 'catch' 'updating'
  47727. && lk != 133211 // 'catch' 'validate'
  47728. && lk != 133723 // 'catch' 'value'
  47729. && lk != 134235 // 'catch' 'variable'
  47730. && lk != 134747 // 'catch' 'version'
  47731. && lk != 136283 // 'catch' 'where'
  47732. && lk != 136795 // 'catch' 'while'
  47733. && lk != 138331 // 'catch' 'with'
  47734. && lk != 140379) // 'catch' 'xquery'
  47735. {
  47736. break;
  47737. }
  47738. lookahead1W(36); // S^WS | '(:' | 'catch'
  47739. shiftT(91); // 'catch'
  47740. lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47741. try_CatchErrorList();
  47742. try_BlockStatement();
  47743. }
  47744. }
  47745. function parse_TypeswitchStatement()
  47746. {
  47747. eventHandler.startNonterminal("TypeswitchStatement", e0);
  47748. shift(253); // 'typeswitch'
  47749. lookahead1W(22); // S^WS | '(' | '(:'
  47750. shift(34); // '('
  47751. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47752. whitespace();
  47753. parse_Expr();
  47754. shift(37); // ')'
  47755. for (;;)
  47756. {
  47757. lookahead1W(35); // S^WS | '(:' | 'case'
  47758. whitespace();
  47759. parse_CaseStatement();
  47760. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  47761. if (l1 != 88) // 'case'
  47762. {
  47763. break;
  47764. }
  47765. }
  47766. shift(109); // 'default'
  47767. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  47768. if (l1 == 31) // '$'
  47769. {
  47770. shift(31); // '$'
  47771. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47772. whitespace();
  47773. parse_VarName();
  47774. }
  47775. lookahead1W(70); // S^WS | '(:' | 'return'
  47776. shift(220); // 'return'
  47777. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47778. whitespace();
  47779. parse_Statement();
  47780. eventHandler.endNonterminal("TypeswitchStatement", e0);
  47781. }
  47782. function try_TypeswitchStatement()
  47783. {
  47784. shiftT(253); // 'typeswitch'
  47785. lookahead1W(22); // S^WS | '(' | '(:'
  47786. shiftT(34); // '('
  47787. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47788. try_Expr();
  47789. shiftT(37); // ')'
  47790. for (;;)
  47791. {
  47792. lookahead1W(35); // S^WS | '(:' | 'case'
  47793. try_CaseStatement();
  47794. lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
  47795. if (l1 != 88) // 'case'
  47796. {
  47797. break;
  47798. }
  47799. }
  47800. shiftT(109); // 'default'
  47801. lookahead1W(95); // S^WS | '$' | '(:' | 'return'
  47802. if (l1 == 31) // '$'
  47803. {
  47804. shiftT(31); // '$'
  47805. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47806. try_VarName();
  47807. }
  47808. lookahead1W(70); // S^WS | '(:' | 'return'
  47809. shiftT(220); // 'return'
  47810. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47811. try_Statement();
  47812. }
  47813. function parse_CaseStatement()
  47814. {
  47815. eventHandler.startNonterminal("CaseStatement", e0);
  47816. shift(88); // 'case'
  47817. lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  47818. if (l1 == 31) // '$'
  47819. {
  47820. shift(31); // '$'
  47821. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47822. whitespace();
  47823. parse_VarName();
  47824. lookahead1W(30); // S^WS | '(:' | 'as'
  47825. shift(79); // 'as'
  47826. }
  47827. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  47828. whitespace();
  47829. parse_SequenceType();
  47830. lookahead1W(70); // S^WS | '(:' | 'return'
  47831. shift(220); // 'return'
  47832. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47833. whitespace();
  47834. parse_Statement();
  47835. eventHandler.endNonterminal("CaseStatement", e0);
  47836. }
  47837. function try_CaseStatement()
  47838. {
  47839. shiftT(88); // 'case'
  47840. lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
  47841. if (l1 == 31) // '$'
  47842. {
  47843. shiftT(31); // '$'
  47844. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47845. try_VarName();
  47846. lookahead1W(30); // S^WS | '(:' | 'as'
  47847. shiftT(79); // 'as'
  47848. }
  47849. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  47850. try_SequenceType();
  47851. lookahead1W(70); // S^WS | '(:' | 'return'
  47852. shiftT(220); // 'return'
  47853. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47854. try_Statement();
  47855. }
  47856. function parse_VarDeclStatement()
  47857. {
  47858. eventHandler.startNonterminal("VarDeclStatement", e0);
  47859. for (;;)
  47860. {
  47861. lookahead1W(98); // S^WS | '%' | '(:' | 'variable'
  47862. if (l1 != 32) // '%'
  47863. {
  47864. break;
  47865. }
  47866. whitespace();
  47867. parse_Annotation();
  47868. }
  47869. shift(262); // 'variable'
  47870. lookahead1W(21); // S^WS | '$' | '(:'
  47871. shift(31); // '$'
  47872. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47873. whitespace();
  47874. parse_VarName();
  47875. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  47876. if (l1 == 79) // 'as'
  47877. {
  47878. whitespace();
  47879. parse_TypeDeclaration();
  47880. }
  47881. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  47882. if (l1 == 52) // ':='
  47883. {
  47884. shift(52); // ':='
  47885. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47886. whitespace();
  47887. parse_ExprSingle();
  47888. }
  47889. for (;;)
  47890. {
  47891. if (l1 != 41) // ','
  47892. {
  47893. break;
  47894. }
  47895. shift(41); // ','
  47896. lookahead1W(21); // S^WS | '$' | '(:'
  47897. shift(31); // '$'
  47898. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47899. whitespace();
  47900. parse_VarName();
  47901. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  47902. if (l1 == 79) // 'as'
  47903. {
  47904. whitespace();
  47905. parse_TypeDeclaration();
  47906. }
  47907. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  47908. if (l1 == 52) // ':='
  47909. {
  47910. shift(52); // ':='
  47911. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47912. whitespace();
  47913. parse_ExprSingle();
  47914. }
  47915. }
  47916. shift(53); // ';'
  47917. eventHandler.endNonterminal("VarDeclStatement", e0);
  47918. }
  47919. function try_VarDeclStatement()
  47920. {
  47921. for (;;)
  47922. {
  47923. lookahead1W(98); // S^WS | '%' | '(:' | 'variable'
  47924. if (l1 != 32) // '%'
  47925. {
  47926. break;
  47927. }
  47928. try_Annotation();
  47929. }
  47930. shiftT(262); // 'variable'
  47931. lookahead1W(21); // S^WS | '$' | '(:'
  47932. shiftT(31); // '$'
  47933. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47934. try_VarName();
  47935. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  47936. if (l1 == 79) // 'as'
  47937. {
  47938. try_TypeDeclaration();
  47939. }
  47940. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  47941. if (l1 == 52) // ':='
  47942. {
  47943. shiftT(52); // ':='
  47944. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47945. try_ExprSingle();
  47946. }
  47947. for (;;)
  47948. {
  47949. if (l1 != 41) // ','
  47950. {
  47951. break;
  47952. }
  47953. shiftT(41); // ','
  47954. lookahead1W(21); // S^WS | '$' | '(:'
  47955. shiftT(31); // '$'
  47956. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  47957. try_VarName();
  47958. lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
  47959. if (l1 == 79) // 'as'
  47960. {
  47961. try_TypeDeclaration();
  47962. }
  47963. lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
  47964. if (l1 == 52) // ':='
  47965. {
  47966. shiftT(52); // ':='
  47967. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47968. try_ExprSingle();
  47969. }
  47970. }
  47971. shiftT(53); // ';'
  47972. }
  47973. function parse_WhileStatement()
  47974. {
  47975. eventHandler.startNonterminal("WhileStatement", e0);
  47976. shift(267); // 'while'
  47977. lookahead1W(22); // S^WS | '(' | '(:'
  47978. shift(34); // '('
  47979. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47980. whitespace();
  47981. parse_Expr();
  47982. shift(37); // ')'
  47983. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47984. whitespace();
  47985. parse_Statement();
  47986. eventHandler.endNonterminal("WhileStatement", e0);
  47987. }
  47988. function try_WhileStatement()
  47989. {
  47990. shiftT(267); // 'while'
  47991. lookahead1W(22); // S^WS | '(' | '(:'
  47992. shiftT(34); // '('
  47993. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47994. try_Expr();
  47995. shiftT(37); // ')'
  47996. lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  47997. try_Statement();
  47998. }
  47999. function parse_VoidStatement()
  48000. {
  48001. eventHandler.startNonterminal("VoidStatement", e0);
  48002. shift(53); // ';'
  48003. eventHandler.endNonterminal("VoidStatement", e0);
  48004. }
  48005. function try_VoidStatement()
  48006. {
  48007. shiftT(53); // ';'
  48008. }
  48009. function parse_ExprSingle()
  48010. {
  48011. eventHandler.startNonterminal("ExprSingle", e0);
  48012. switch (l1)
  48013. {
  48014. case 137: // 'for'
  48015. lookahead2W(235); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  48016. break;
  48017. case 174: // 'let'
  48018. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  48019. break;
  48020. case 250: // 'try'
  48021. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48022. break;
  48023. case 152: // 'if'
  48024. case 243: // 'switch'
  48025. case 253: // 'typeswitch'
  48026. lookahead2W(228); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48027. break;
  48028. default:
  48029. lk = l1;
  48030. }
  48031. switch (lk)
  48032. {
  48033. case 16009: // 'for' '$'
  48034. case 16046: // 'let' '$'
  48035. case 116910: // 'let' 'score'
  48036. case 119945: // 'for' 'sliding'
  48037. case 128649: // 'for' 'tumbling'
  48038. parse_FLWORExpr();
  48039. break;
  48040. case 17560: // 'if' '('
  48041. parse_IfExpr();
  48042. break;
  48043. case 17651: // 'switch' '('
  48044. parse_SwitchExpr();
  48045. break;
  48046. case 141562: // 'try' '{'
  48047. parse_TryCatchExpr();
  48048. break;
  48049. case 17661: // 'typeswitch' '('
  48050. parse_TypeswitchExpr();
  48051. break;
  48052. default:
  48053. parse_ExprSimple();
  48054. }
  48055. eventHandler.endNonterminal("ExprSingle", e0);
  48056. }
  48057. function try_ExprSingle()
  48058. {
  48059. switch (l1)
  48060. {
  48061. case 137: // 'for'
  48062. lookahead2W(235); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  48063. break;
  48064. case 174: // 'let'
  48065. lookahead2W(232); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  48066. break;
  48067. case 250: // 'try'
  48068. lookahead2W(231); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48069. break;
  48070. case 152: // 'if'
  48071. case 243: // 'switch'
  48072. case 253: // 'typeswitch'
  48073. lookahead2W(228); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48074. break;
  48075. default:
  48076. lk = l1;
  48077. }
  48078. switch (lk)
  48079. {
  48080. case 16009: // 'for' '$'
  48081. case 16046: // 'let' '$'
  48082. case 116910: // 'let' 'score'
  48083. case 119945: // 'for' 'sliding'
  48084. case 128649: // 'for' 'tumbling'
  48085. try_FLWORExpr();
  48086. break;
  48087. case 17560: // 'if' '('
  48088. try_IfExpr();
  48089. break;
  48090. case 17651: // 'switch' '('
  48091. try_SwitchExpr();
  48092. break;
  48093. case 141562: // 'try' '{'
  48094. try_TryCatchExpr();
  48095. break;
  48096. case 17661: // 'typeswitch' '('
  48097. try_TypeswitchExpr();
  48098. break;
  48099. default:
  48100. try_ExprSimple();
  48101. }
  48102. }
  48103. function parse_ExprSimple()
  48104. {
  48105. eventHandler.startNonterminal("ExprSimple", e0);
  48106. switch (l1)
  48107. {
  48108. case 77: // 'append'
  48109. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48110. break;
  48111. case 218: // 'rename'
  48112. lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48113. break;
  48114. case 219: // 'replace'
  48115. lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48116. break;
  48117. case 110: // 'delete'
  48118. case 159: // 'insert'
  48119. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48120. break;
  48121. case 103: // 'copy'
  48122. case 129: // 'every'
  48123. case 235: // 'some'
  48124. lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  48125. break;
  48126. default:
  48127. lk = l1;
  48128. }
  48129. if (lk == 133851) // 'replace' 'value'
  48130. {
  48131. lk = memoized(9, e0);
  48132. if (lk == 0)
  48133. {
  48134. var b0A = b0; var e0A = e0; var l1A = l1;
  48135. var b1A = b1; var e1A = e1; var l2A = l2;
  48136. var b2A = b2; var e2A = e2;
  48137. try
  48138. {
  48139. try_ReplaceExpr();
  48140. lk = -6;
  48141. }
  48142. catch (p6A)
  48143. {
  48144. lk = -11;
  48145. }
  48146. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48147. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48148. b2 = b2A; e2 = e2A; end = e2A; }}
  48149. memoize(9, e0, lk);
  48150. }
  48151. }
  48152. switch (lk)
  48153. {
  48154. case 16001: // 'every' '$'
  48155. case 16107: // 'some' '$'
  48156. parse_QuantifiedExpr();
  48157. break;
  48158. case 97951: // 'insert' 'node'
  48159. case 98463: // 'insert' 'nodes'
  48160. parse_InsertExpr();
  48161. break;
  48162. case 97902: // 'delete' 'node'
  48163. case 98414: // 'delete' 'nodes'
  48164. parse_DeleteExpr();
  48165. break;
  48166. case 98010: // 'rename' 'node'
  48167. parse_RenameExpr();
  48168. break;
  48169. case -6:
  48170. case 98011: // 'replace' 'node'
  48171. parse_ReplaceExpr();
  48172. break;
  48173. case 15975: // 'copy' '$'
  48174. parse_TransformExpr();
  48175. break;
  48176. case 85102: // 'delete' 'json'
  48177. parse_JSONDeleteExpr();
  48178. break;
  48179. case 85151: // 'insert' 'json'
  48180. parse_JSONInsertExpr();
  48181. break;
  48182. case 85210: // 'rename' 'json'
  48183. parse_JSONRenameExpr();
  48184. break;
  48185. case -11:
  48186. parse_JSONReplaceExpr();
  48187. break;
  48188. case 85069: // 'append' 'json'
  48189. parse_JSONAppendExpr();
  48190. break;
  48191. default:
  48192. parse_OrExpr();
  48193. }
  48194. eventHandler.endNonterminal("ExprSimple", e0);
  48195. }
  48196. function try_ExprSimple()
  48197. {
  48198. switch (l1)
  48199. {
  48200. case 77: // 'append'
  48201. lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48202. break;
  48203. case 218: // 'rename'
  48204. lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48205. break;
  48206. case 219: // 'replace'
  48207. lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48208. break;
  48209. case 110: // 'delete'
  48210. case 159: // 'insert'
  48211. lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
  48212. break;
  48213. case 103: // 'copy'
  48214. case 129: // 'every'
  48215. case 235: // 'some'
  48216. lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
  48217. break;
  48218. default:
  48219. lk = l1;
  48220. }
  48221. if (lk == 133851) // 'replace' 'value'
  48222. {
  48223. lk = memoized(9, e0);
  48224. if (lk == 0)
  48225. {
  48226. var b0A = b0; var e0A = e0; var l1A = l1;
  48227. var b1A = b1; var e1A = e1; var l2A = l2;
  48228. var b2A = b2; var e2A = e2;
  48229. try
  48230. {
  48231. try_ReplaceExpr();
  48232. memoize(9, e0A, -6);
  48233. lk = -13;
  48234. }
  48235. catch (p6A)
  48236. {
  48237. lk = -11;
  48238. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48239. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48240. b2 = b2A; e2 = e2A; end = e2A; }}
  48241. memoize(9, e0A, -11);
  48242. }
  48243. }
  48244. }
  48245. switch (lk)
  48246. {
  48247. case 16001: // 'every' '$'
  48248. case 16107: // 'some' '$'
  48249. try_QuantifiedExpr();
  48250. break;
  48251. case 97951: // 'insert' 'node'
  48252. case 98463: // 'insert' 'nodes'
  48253. try_InsertExpr();
  48254. break;
  48255. case 97902: // 'delete' 'node'
  48256. case 98414: // 'delete' 'nodes'
  48257. try_DeleteExpr();
  48258. break;
  48259. case 98010: // 'rename' 'node'
  48260. try_RenameExpr();
  48261. break;
  48262. case -6:
  48263. case 98011: // 'replace' 'node'
  48264. try_ReplaceExpr();
  48265. break;
  48266. case 15975: // 'copy' '$'
  48267. try_TransformExpr();
  48268. break;
  48269. case 85102: // 'delete' 'json'
  48270. try_JSONDeleteExpr();
  48271. break;
  48272. case 85151: // 'insert' 'json'
  48273. try_JSONInsertExpr();
  48274. break;
  48275. case 85210: // 'rename' 'json'
  48276. try_JSONRenameExpr();
  48277. break;
  48278. case -11:
  48279. try_JSONReplaceExpr();
  48280. break;
  48281. case 85069: // 'append' 'json'
  48282. try_JSONAppendExpr();
  48283. break;
  48284. case -13:
  48285. break;
  48286. default:
  48287. try_OrExpr();
  48288. }
  48289. }
  48290. function parse_JSONDeleteExpr()
  48291. {
  48292. eventHandler.startNonterminal("JSONDeleteExpr", e0);
  48293. shift(110); // 'delete'
  48294. lookahead1W(56); // S^WS | '(:' | 'json'
  48295. shift(166); // 'json'
  48296. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  48297. whitespace();
  48298. parse_PostfixExpr();
  48299. eventHandler.endNonterminal("JSONDeleteExpr", e0);
  48300. }
  48301. function try_JSONDeleteExpr()
  48302. {
  48303. shiftT(110); // 'delete'
  48304. lookahead1W(56); // S^WS | '(:' | 'json'
  48305. shiftT(166); // 'json'
  48306. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  48307. try_PostfixExpr();
  48308. }
  48309. function parse_JSONInsertExpr()
  48310. {
  48311. eventHandler.startNonterminal("JSONInsertExpr", e0);
  48312. switch (l1)
  48313. {
  48314. case 159: // 'insert'
  48315. lookahead2W(56); // S^WS | '(:' | 'json'
  48316. break;
  48317. default:
  48318. lk = l1;
  48319. }
  48320. lk = memoized(10, e0);
  48321. if (lk == 0)
  48322. {
  48323. var b0A = b0; var e0A = e0; var l1A = l1;
  48324. var b1A = b1; var e1A = e1; var l2A = l2;
  48325. var b2A = b2; var e2A = e2;
  48326. try
  48327. {
  48328. shiftT(159); // 'insert'
  48329. lookahead1W(56); // S^WS | '(:' | 'json'
  48330. shiftT(166); // 'json'
  48331. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48332. try_ExprSingle();
  48333. shiftT(163); // 'into'
  48334. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48335. try_ExprSingle();
  48336. switch (l1)
  48337. {
  48338. case 81: // 'at'
  48339. lookahead2W(69); // S^WS | '(:' | 'position'
  48340. break;
  48341. default:
  48342. lk = l1;
  48343. }
  48344. if (lk == 108113) // 'at' 'position'
  48345. {
  48346. lk = memoized(11, e0);
  48347. if (lk == 0)
  48348. {
  48349. var b0B = b0; var e0B = e0; var l1B = l1;
  48350. var b1B = b1; var e1B = e1; var l2B = l2;
  48351. var b2B = b2; var e2B = e2;
  48352. try
  48353. {
  48354. shiftT(81); // 'at'
  48355. lookahead1W(69); // S^WS | '(:' | 'position'
  48356. shiftT(211); // 'position'
  48357. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48358. try_ExprSingle();
  48359. memoize(11, e0B, -1);
  48360. }
  48361. catch (p1B)
  48362. {
  48363. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  48364. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  48365. b2 = b2B; e2 = e2B; end = e2B; }}
  48366. memoize(11, e0B, -2);
  48367. }
  48368. lk = -2;
  48369. }
  48370. }
  48371. if (lk == -1)
  48372. {
  48373. shiftT(81); // 'at'
  48374. lookahead1W(69); // S^WS | '(:' | 'position'
  48375. shiftT(211); // 'position'
  48376. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48377. try_ExprSingle();
  48378. }
  48379. lk = -1;
  48380. }
  48381. catch (p1A)
  48382. {
  48383. lk = -2;
  48384. }
  48385. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48386. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48387. b2 = b2A; e2 = e2A; end = e2A; }}
  48388. memoize(10, e0, lk);
  48389. }
  48390. switch (lk)
  48391. {
  48392. case -1:
  48393. shift(159); // 'insert'
  48394. lookahead1W(56); // S^WS | '(:' | 'json'
  48395. shift(166); // 'json'
  48396. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48397. whitespace();
  48398. parse_ExprSingle();
  48399. shift(163); // 'into'
  48400. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48401. whitespace();
  48402. parse_ExprSingle();
  48403. switch (l1)
  48404. {
  48405. case 81: // 'at'
  48406. lookahead2W(69); // S^WS | '(:' | 'position'
  48407. break;
  48408. default:
  48409. lk = l1;
  48410. }
  48411. if (lk == 108113) // 'at' 'position'
  48412. {
  48413. lk = memoized(11, e0);
  48414. if (lk == 0)
  48415. {
  48416. var b0B = b0; var e0B = e0; var l1B = l1;
  48417. var b1B = b1; var e1B = e1; var l2B = l2;
  48418. var b2B = b2; var e2B = e2;
  48419. try
  48420. {
  48421. shiftT(81); // 'at'
  48422. lookahead1W(69); // S^WS | '(:' | 'position'
  48423. shiftT(211); // 'position'
  48424. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48425. try_ExprSingle();
  48426. lk = -1;
  48427. }
  48428. catch (p1B)
  48429. {
  48430. lk = -2;
  48431. }
  48432. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  48433. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  48434. b2 = b2B; e2 = e2B; end = e2B; }}
  48435. memoize(11, e0, lk);
  48436. }
  48437. }
  48438. if (lk == -1)
  48439. {
  48440. shift(81); // 'at'
  48441. lookahead1W(69); // S^WS | '(:' | 'position'
  48442. shift(211); // 'position'
  48443. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48444. whitespace();
  48445. parse_ExprSingle();
  48446. }
  48447. break;
  48448. default:
  48449. shift(159); // 'insert'
  48450. lookahead1W(56); // S^WS | '(:' | 'json'
  48451. shift(166); // 'json'
  48452. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48453. whitespace();
  48454. parse_PairConstructorList();
  48455. shift(163); // 'into'
  48456. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48457. whitespace();
  48458. parse_ExprSingle();
  48459. }
  48460. eventHandler.endNonterminal("JSONInsertExpr", e0);
  48461. }
  48462. function try_JSONInsertExpr()
  48463. {
  48464. switch (l1)
  48465. {
  48466. case 159: // 'insert'
  48467. lookahead2W(56); // S^WS | '(:' | 'json'
  48468. break;
  48469. default:
  48470. lk = l1;
  48471. }
  48472. lk = memoized(10, e0);
  48473. if (lk == 0)
  48474. {
  48475. var b0A = b0; var e0A = e0; var l1A = l1;
  48476. var b1A = b1; var e1A = e1; var l2A = l2;
  48477. var b2A = b2; var e2A = e2;
  48478. try
  48479. {
  48480. shiftT(159); // 'insert'
  48481. lookahead1W(56); // S^WS | '(:' | 'json'
  48482. shiftT(166); // 'json'
  48483. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48484. try_ExprSingle();
  48485. shiftT(163); // 'into'
  48486. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48487. try_ExprSingle();
  48488. switch (l1)
  48489. {
  48490. case 81: // 'at'
  48491. lookahead2W(69); // S^WS | '(:' | 'position'
  48492. break;
  48493. default:
  48494. lk = l1;
  48495. }
  48496. if (lk == 108113) // 'at' 'position'
  48497. {
  48498. lk = memoized(11, e0);
  48499. if (lk == 0)
  48500. {
  48501. var b0B = b0; var e0B = e0; var l1B = l1;
  48502. var b1B = b1; var e1B = e1; var l2B = l2;
  48503. var b2B = b2; var e2B = e2;
  48504. try
  48505. {
  48506. shiftT(81); // 'at'
  48507. lookahead1W(69); // S^WS | '(:' | 'position'
  48508. shiftT(211); // 'position'
  48509. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48510. try_ExprSingle();
  48511. memoize(11, e0B, -1);
  48512. }
  48513. catch (p1B)
  48514. {
  48515. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  48516. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  48517. b2 = b2B; e2 = e2B; end = e2B; }}
  48518. memoize(11, e0B, -2);
  48519. }
  48520. lk = -2;
  48521. }
  48522. }
  48523. if (lk == -1)
  48524. {
  48525. shiftT(81); // 'at'
  48526. lookahead1W(69); // S^WS | '(:' | 'position'
  48527. shiftT(211); // 'position'
  48528. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48529. try_ExprSingle();
  48530. }
  48531. memoize(10, e0A, -1);
  48532. lk = -3;
  48533. }
  48534. catch (p1A)
  48535. {
  48536. lk = -2;
  48537. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48538. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48539. b2 = b2A; e2 = e2A; end = e2A; }}
  48540. memoize(10, e0A, -2);
  48541. }
  48542. }
  48543. switch (lk)
  48544. {
  48545. case -1:
  48546. shiftT(159); // 'insert'
  48547. lookahead1W(56); // S^WS | '(:' | 'json'
  48548. shiftT(166); // 'json'
  48549. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48550. try_ExprSingle();
  48551. shiftT(163); // 'into'
  48552. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48553. try_ExprSingle();
  48554. switch (l1)
  48555. {
  48556. case 81: // 'at'
  48557. lookahead2W(69); // S^WS | '(:' | 'position'
  48558. break;
  48559. default:
  48560. lk = l1;
  48561. }
  48562. if (lk == 108113) // 'at' 'position'
  48563. {
  48564. lk = memoized(11, e0);
  48565. if (lk == 0)
  48566. {
  48567. var b0B = b0; var e0B = e0; var l1B = l1;
  48568. var b1B = b1; var e1B = e1; var l2B = l2;
  48569. var b2B = b2; var e2B = e2;
  48570. try
  48571. {
  48572. shiftT(81); // 'at'
  48573. lookahead1W(69); // S^WS | '(:' | 'position'
  48574. shiftT(211); // 'position'
  48575. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48576. try_ExprSingle();
  48577. memoize(11, e0B, -1);
  48578. }
  48579. catch (p1B)
  48580. {
  48581. b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
  48582. b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
  48583. b2 = b2B; e2 = e2B; end = e2B; }}
  48584. memoize(11, e0B, -2);
  48585. }
  48586. lk = -2;
  48587. }
  48588. }
  48589. if (lk == -1)
  48590. {
  48591. shiftT(81); // 'at'
  48592. lookahead1W(69); // S^WS | '(:' | 'position'
  48593. shiftT(211); // 'position'
  48594. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48595. try_ExprSingle();
  48596. }
  48597. break;
  48598. case -3:
  48599. break;
  48600. default:
  48601. shiftT(159); // 'insert'
  48602. lookahead1W(56); // S^WS | '(:' | 'json'
  48603. shiftT(166); // 'json'
  48604. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48605. try_PairConstructorList();
  48606. shiftT(163); // 'into'
  48607. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48608. try_ExprSingle();
  48609. }
  48610. }
  48611. function parse_JSONRenameExpr()
  48612. {
  48613. eventHandler.startNonterminal("JSONRenameExpr", e0);
  48614. shift(218); // 'rename'
  48615. lookahead1W(56); // S^WS | '(:' | 'json'
  48616. shift(166); // 'json'
  48617. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  48618. whitespace();
  48619. parse_PostfixExpr();
  48620. shift(79); // 'as'
  48621. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48622. whitespace();
  48623. parse_ExprSingle();
  48624. eventHandler.endNonterminal("JSONRenameExpr", e0);
  48625. }
  48626. function try_JSONRenameExpr()
  48627. {
  48628. shiftT(218); // 'rename'
  48629. lookahead1W(56); // S^WS | '(:' | 'json'
  48630. shiftT(166); // 'json'
  48631. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  48632. try_PostfixExpr();
  48633. shiftT(79); // 'as'
  48634. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48635. try_ExprSingle();
  48636. }
  48637. function parse_JSONReplaceExpr()
  48638. {
  48639. eventHandler.startNonterminal("JSONReplaceExpr", e0);
  48640. shift(219); // 'replace'
  48641. lookahead1W(82); // S^WS | '(:' | 'value'
  48642. shift(261); // 'value'
  48643. lookahead1W(64); // S^WS | '(:' | 'of'
  48644. shift(196); // 'of'
  48645. lookahead1W(56); // S^WS | '(:' | 'json'
  48646. shift(166); // 'json'
  48647. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  48648. whitespace();
  48649. parse_PostfixExpr();
  48650. shift(270); // 'with'
  48651. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48652. whitespace();
  48653. parse_ExprSingle();
  48654. eventHandler.endNonterminal("JSONReplaceExpr", e0);
  48655. }
  48656. function try_JSONReplaceExpr()
  48657. {
  48658. shiftT(219); // 'replace'
  48659. lookahead1W(82); // S^WS | '(:' | 'value'
  48660. shiftT(261); // 'value'
  48661. lookahead1W(64); // S^WS | '(:' | 'of'
  48662. shiftT(196); // 'of'
  48663. lookahead1W(56); // S^WS | '(:' | 'json'
  48664. shiftT(166); // 'json'
  48665. lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
  48666. try_PostfixExpr();
  48667. shiftT(270); // 'with'
  48668. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48669. try_ExprSingle();
  48670. }
  48671. function parse_JSONAppendExpr()
  48672. {
  48673. eventHandler.startNonterminal("JSONAppendExpr", e0);
  48674. shift(77); // 'append'
  48675. lookahead1W(56); // S^WS | '(:' | 'json'
  48676. shift(166); // 'json'
  48677. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48678. whitespace();
  48679. parse_ExprSingle();
  48680. shift(163); // 'into'
  48681. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48682. whitespace();
  48683. parse_ExprSingle();
  48684. eventHandler.endNonterminal("JSONAppendExpr", e0);
  48685. }
  48686. function try_JSONAppendExpr()
  48687. {
  48688. shiftT(77); // 'append'
  48689. lookahead1W(56); // S^WS | '(:' | 'json'
  48690. shiftT(166); // 'json'
  48691. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48692. try_ExprSingle();
  48693. shiftT(163); // 'into'
  48694. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48695. try_ExprSingle();
  48696. }
  48697. function parse_CommonContent()
  48698. {
  48699. eventHandler.startNonterminal("CommonContent", e0);
  48700. switch (l1)
  48701. {
  48702. case 12: // PredefinedEntityRef
  48703. shift(12); // PredefinedEntityRef
  48704. break;
  48705. case 23: // CharRef
  48706. shift(23); // CharRef
  48707. break;
  48708. case 277: // '{{'
  48709. shift(277); // '{{'
  48710. break;
  48711. case 283: // '}}'
  48712. shift(283); // '}}'
  48713. break;
  48714. default:
  48715. parse_BlockExpr();
  48716. }
  48717. eventHandler.endNonterminal("CommonContent", e0);
  48718. }
  48719. function try_CommonContent()
  48720. {
  48721. switch (l1)
  48722. {
  48723. case 12: // PredefinedEntityRef
  48724. shiftT(12); // PredefinedEntityRef
  48725. break;
  48726. case 23: // CharRef
  48727. shiftT(23); // CharRef
  48728. break;
  48729. case 277: // '{{'
  48730. shiftT(277); // '{{'
  48731. break;
  48732. case 283: // '}}'
  48733. shiftT(283); // '}}'
  48734. break;
  48735. default:
  48736. try_BlockExpr();
  48737. }
  48738. }
  48739. function parse_ContentExpr()
  48740. {
  48741. eventHandler.startNonterminal("ContentExpr", e0);
  48742. parse_StatementsAndExpr();
  48743. eventHandler.endNonterminal("ContentExpr", e0);
  48744. }
  48745. function try_ContentExpr()
  48746. {
  48747. try_StatementsAndExpr();
  48748. }
  48749. function parse_CompDocConstructor()
  48750. {
  48751. eventHandler.startNonterminal("CompDocConstructor", e0);
  48752. shift(119); // 'document'
  48753. lookahead1W(87); // S^WS | '(:' | '{'
  48754. whitespace();
  48755. parse_BlockExpr();
  48756. eventHandler.endNonterminal("CompDocConstructor", e0);
  48757. }
  48758. function try_CompDocConstructor()
  48759. {
  48760. shiftT(119); // 'document'
  48761. lookahead1W(87); // S^WS | '(:' | '{'
  48762. try_BlockExpr();
  48763. }
  48764. function parse_CompAttrConstructor()
  48765. {
  48766. eventHandler.startNonterminal("CompAttrConstructor", e0);
  48767. shift(82); // 'attribute'
  48768. lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  48769. switch (l1)
  48770. {
  48771. case 276: // '{'
  48772. shift(276); // '{'
  48773. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48774. whitespace();
  48775. parse_Expr();
  48776. shift(282); // '}'
  48777. break;
  48778. default:
  48779. whitespace();
  48780. parse_EQName();
  48781. }
  48782. lookahead1W(87); // S^WS | '(:' | '{'
  48783. switch (l1)
  48784. {
  48785. case 276: // '{'
  48786. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48787. break;
  48788. default:
  48789. lk = l1;
  48790. }
  48791. if (lk == 144660) // '{' '}'
  48792. {
  48793. lk = memoized(12, e0);
  48794. if (lk == 0)
  48795. {
  48796. var b0A = b0; var e0A = e0; var l1A = l1;
  48797. var b1A = b1; var e1A = e1; var l2A = l2;
  48798. var b2A = b2; var e2A = e2;
  48799. try
  48800. {
  48801. shiftT(276); // '{'
  48802. lookahead1W(88); // S^WS | '(:' | '}'
  48803. shiftT(282); // '}'
  48804. lk = -1;
  48805. }
  48806. catch (p1A)
  48807. {
  48808. lk = -2;
  48809. }
  48810. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48811. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48812. b2 = b2A; e2 = e2A; end = e2A; }}
  48813. memoize(12, e0, lk);
  48814. }
  48815. }
  48816. switch (lk)
  48817. {
  48818. case -1:
  48819. shift(276); // '{'
  48820. lookahead1W(88); // S^WS | '(:' | '}'
  48821. shift(282); // '}'
  48822. break;
  48823. default:
  48824. whitespace();
  48825. parse_BlockExpr();
  48826. }
  48827. eventHandler.endNonterminal("CompAttrConstructor", e0);
  48828. }
  48829. function try_CompAttrConstructor()
  48830. {
  48831. shiftT(82); // 'attribute'
  48832. lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  48833. switch (l1)
  48834. {
  48835. case 276: // '{'
  48836. shiftT(276); // '{'
  48837. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48838. try_Expr();
  48839. shiftT(282); // '}'
  48840. break;
  48841. default:
  48842. try_EQName();
  48843. }
  48844. lookahead1W(87); // S^WS | '(:' | '{'
  48845. switch (l1)
  48846. {
  48847. case 276: // '{'
  48848. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48849. break;
  48850. default:
  48851. lk = l1;
  48852. }
  48853. if (lk == 144660) // '{' '}'
  48854. {
  48855. lk = memoized(12, e0);
  48856. if (lk == 0)
  48857. {
  48858. var b0A = b0; var e0A = e0; var l1A = l1;
  48859. var b1A = b1; var e1A = e1; var l2A = l2;
  48860. var b2A = b2; var e2A = e2;
  48861. try
  48862. {
  48863. shiftT(276); // '{'
  48864. lookahead1W(88); // S^WS | '(:' | '}'
  48865. shiftT(282); // '}'
  48866. memoize(12, e0A, -1);
  48867. lk = -3;
  48868. }
  48869. catch (p1A)
  48870. {
  48871. lk = -2;
  48872. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48873. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48874. b2 = b2A; e2 = e2A; end = e2A; }}
  48875. memoize(12, e0A, -2);
  48876. }
  48877. }
  48878. }
  48879. switch (lk)
  48880. {
  48881. case -1:
  48882. shiftT(276); // '{'
  48883. lookahead1W(88); // S^WS | '(:' | '}'
  48884. shiftT(282); // '}'
  48885. break;
  48886. case -3:
  48887. break;
  48888. default:
  48889. try_BlockExpr();
  48890. }
  48891. }
  48892. function parse_CompPIConstructor()
  48893. {
  48894. eventHandler.startNonterminal("CompPIConstructor", e0);
  48895. shift(216); // 'processing-instruction'
  48896. lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  48897. switch (l1)
  48898. {
  48899. case 276: // '{'
  48900. shift(276); // '{'
  48901. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48902. whitespace();
  48903. parse_Expr();
  48904. shift(282); // '}'
  48905. break;
  48906. default:
  48907. whitespace();
  48908. parse_NCName();
  48909. }
  48910. lookahead1W(87); // S^WS | '(:' | '{'
  48911. switch (l1)
  48912. {
  48913. case 276: // '{'
  48914. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48915. break;
  48916. default:
  48917. lk = l1;
  48918. }
  48919. if (lk == 144660) // '{' '}'
  48920. {
  48921. lk = memoized(13, e0);
  48922. if (lk == 0)
  48923. {
  48924. var b0A = b0; var e0A = e0; var l1A = l1;
  48925. var b1A = b1; var e1A = e1; var l2A = l2;
  48926. var b2A = b2; var e2A = e2;
  48927. try
  48928. {
  48929. shiftT(276); // '{'
  48930. lookahead1W(88); // S^WS | '(:' | '}'
  48931. shiftT(282); // '}'
  48932. lk = -1;
  48933. }
  48934. catch (p1A)
  48935. {
  48936. lk = -2;
  48937. }
  48938. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  48939. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  48940. b2 = b2A; e2 = e2A; end = e2A; }}
  48941. memoize(13, e0, lk);
  48942. }
  48943. }
  48944. switch (lk)
  48945. {
  48946. case -1:
  48947. shift(276); // '{'
  48948. lookahead1W(88); // S^WS | '(:' | '}'
  48949. shift(282); // '}'
  48950. break;
  48951. default:
  48952. whitespace();
  48953. parse_BlockExpr();
  48954. }
  48955. eventHandler.endNonterminal("CompPIConstructor", e0);
  48956. }
  48957. function try_CompPIConstructor()
  48958. {
  48959. shiftT(216); // 'processing-instruction'
  48960. lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  48961. switch (l1)
  48962. {
  48963. case 276: // '{'
  48964. shiftT(276); // '{'
  48965. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48966. try_Expr();
  48967. shiftT(282); // '}'
  48968. break;
  48969. default:
  48970. try_NCName();
  48971. }
  48972. lookahead1W(87); // S^WS | '(:' | '{'
  48973. switch (l1)
  48974. {
  48975. case 276: // '{'
  48976. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  48977. break;
  48978. default:
  48979. lk = l1;
  48980. }
  48981. if (lk == 144660) // '{' '}'
  48982. {
  48983. lk = memoized(13, e0);
  48984. if (lk == 0)
  48985. {
  48986. var b0A = b0; var e0A = e0; var l1A = l1;
  48987. var b1A = b1; var e1A = e1; var l2A = l2;
  48988. var b2A = b2; var e2A = e2;
  48989. try
  48990. {
  48991. shiftT(276); // '{'
  48992. lookahead1W(88); // S^WS | '(:' | '}'
  48993. shiftT(282); // '}'
  48994. memoize(13, e0A, -1);
  48995. lk = -3;
  48996. }
  48997. catch (p1A)
  48998. {
  48999. lk = -2;
  49000. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  49001. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  49002. b2 = b2A; e2 = e2A; end = e2A; }}
  49003. memoize(13, e0A, -2);
  49004. }
  49005. }
  49006. }
  49007. switch (lk)
  49008. {
  49009. case -1:
  49010. shiftT(276); // '{'
  49011. lookahead1W(88); // S^WS | '(:' | '}'
  49012. shiftT(282); // '}'
  49013. break;
  49014. case -3:
  49015. break;
  49016. default:
  49017. try_BlockExpr();
  49018. }
  49019. }
  49020. function parse_CompCommentConstructor()
  49021. {
  49022. eventHandler.startNonterminal("CompCommentConstructor", e0);
  49023. shift(96); // 'comment'
  49024. lookahead1W(87); // S^WS | '(:' | '{'
  49025. whitespace();
  49026. parse_BlockExpr();
  49027. eventHandler.endNonterminal("CompCommentConstructor", e0);
  49028. }
  49029. function try_CompCommentConstructor()
  49030. {
  49031. shiftT(96); // 'comment'
  49032. lookahead1W(87); // S^WS | '(:' | '{'
  49033. try_BlockExpr();
  49034. }
  49035. function parse_CompTextConstructor()
  49036. {
  49037. eventHandler.startNonterminal("CompTextConstructor", e0);
  49038. shift(244); // 'text'
  49039. lookahead1W(87); // S^WS | '(:' | '{'
  49040. whitespace();
  49041. parse_BlockExpr();
  49042. eventHandler.endNonterminal("CompTextConstructor", e0);
  49043. }
  49044. function try_CompTextConstructor()
  49045. {
  49046. shiftT(244); // 'text'
  49047. lookahead1W(87); // S^WS | '(:' | '{'
  49048. try_BlockExpr();
  49049. }
  49050. function parse_PrimaryExpr()
  49051. {
  49052. eventHandler.startNonterminal("PrimaryExpr", e0);
  49053. switch (l1)
  49054. {
  49055. case 184: // 'namespace'
  49056. lookahead2W(255); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  49057. break;
  49058. case 216: // 'processing-instruction'
  49059. lookahead2W(253); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  49060. break;
  49061. case 276: // '{'
  49062. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  49063. break;
  49064. case 82: // 'attribute'
  49065. case 121: // 'element'
  49066. lookahead2W(258); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  49067. break;
  49068. case 96: // 'comment'
  49069. case 244: // 'text'
  49070. lookahead2W(93); // S^WS | '#' | '(:' | '{'
  49071. break;
  49072. case 119: // 'document'
  49073. case 202: // 'ordered'
  49074. case 256: // 'unordered'
  49075. lookahead2W(139); // S^WS | '#' | '(' | '(:' | '{'
  49076. break;
  49077. case 6: // EQName^Token
  49078. case 70: // 'after'
  49079. case 72: // 'allowing'
  49080. case 73: // 'ancestor'
  49081. case 74: // 'ancestor-or-self'
  49082. case 75: // 'and'
  49083. case 77: // 'append'
  49084. case 79: // 'as'
  49085. case 80: // 'ascending'
  49086. case 81: // 'at'
  49087. case 83: // 'base-uri'
  49088. case 84: // 'before'
  49089. case 85: // 'boundary-space'
  49090. case 86: // 'break'
  49091. case 88: // 'case'
  49092. case 89: // 'cast'
  49093. case 90: // 'castable'
  49094. case 91: // 'catch'
  49095. case 93: // 'child'
  49096. case 94: // 'collation'
  49097. case 97: // 'constraint'
  49098. case 98: // 'construction'
  49099. case 101: // 'context'
  49100. case 102: // 'continue'
  49101. case 103: // 'copy'
  49102. case 104: // 'copy-namespaces'
  49103. case 105: // 'count'
  49104. case 106: // 'decimal-format'
  49105. case 108: // 'declare'
  49106. case 109: // 'default'
  49107. case 110: // 'delete'
  49108. case 111: // 'descendant'
  49109. case 112: // 'descendant-or-self'
  49110. case 113: // 'descending'
  49111. case 118: // 'div'
  49112. case 122: // 'else'
  49113. case 123: // 'empty'
  49114. case 125: // 'encoding'
  49115. case 126: // 'end'
  49116. case 128: // 'eq'
  49117. case 129: // 'every'
  49118. case 131: // 'except'
  49119. case 132: // 'exit'
  49120. case 133: // 'external'
  49121. case 134: // 'first'
  49122. case 135: // 'following'
  49123. case 136: // 'following-sibling'
  49124. case 137: // 'for'
  49125. case 141: // 'ft-option'
  49126. case 146: // 'ge'
  49127. case 148: // 'group'
  49128. case 150: // 'gt'
  49129. case 151: // 'idiv'
  49130. case 153: // 'import'
  49131. case 154: // 'in'
  49132. case 155: // 'index'
  49133. case 159: // 'insert'
  49134. case 160: // 'instance'
  49135. case 161: // 'integrity'
  49136. case 162: // 'intersect'
  49137. case 163: // 'into'
  49138. case 164: // 'is'
  49139. case 166: // 'json'
  49140. case 170: // 'last'
  49141. case 171: // 'lax'
  49142. case 172: // 'le'
  49143. case 174: // 'let'
  49144. case 176: // 'loop'
  49145. case 178: // 'lt'
  49146. case 180: // 'mod'
  49147. case 181: // 'modify'
  49148. case 182: // 'module'
  49149. case 186: // 'ne'
  49150. case 192: // 'nodes'
  49151. case 194: // 'object'
  49152. case 198: // 'only'
  49153. case 199: // 'option'
  49154. case 200: // 'or'
  49155. case 201: // 'order'
  49156. case 203: // 'ordering'
  49157. case 206: // 'parent'
  49158. case 212: // 'preceding'
  49159. case 213: // 'preceding-sibling'
  49160. case 218: // 'rename'
  49161. case 219: // 'replace'
  49162. case 220: // 'return'
  49163. case 221: // 'returning'
  49164. case 222: // 'revalidation'
  49165. case 224: // 'satisfies'
  49166. case 225: // 'schema'
  49167. case 228: // 'score'
  49168. case 229: // 'self'
  49169. case 234: // 'sliding'
  49170. case 235: // 'some'
  49171. case 236: // 'stable'
  49172. case 237: // 'start'
  49173. case 240: // 'strict'
  49174. case 248: // 'to'
  49175. case 249: // 'treat'
  49176. case 250: // 'try'
  49177. case 251: // 'tumbling'
  49178. case 252: // 'type'
  49179. case 254: // 'union'
  49180. case 257: // 'updating'
  49181. case 260: // 'validate'
  49182. case 261: // 'value'
  49183. case 262: // 'variable'
  49184. case 263: // 'version'
  49185. case 266: // 'where'
  49186. case 267: // 'while'
  49187. case 270: // 'with'
  49188. case 274: // 'xquery'
  49189. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  49190. break;
  49191. default:
  49192. lk = l1;
  49193. }
  49194. if (lk == 2836 // '{' Wildcard
  49195. || lk == 3348 // '{' EQName^Token
  49196. || lk == 4372 // '{' IntegerLiteral
  49197. || lk == 4884 // '{' DecimalLiteral
  49198. || lk == 5396 // '{' DoubleLiteral
  49199. || lk == 5908 // '{' StringLiteral
  49200. || lk == 16148 // '{' '$'
  49201. || lk == 16660 // '{' '%'
  49202. || lk == 17684 // '{' '('
  49203. || lk == 18196 // '{' '(#'
  49204. || lk == 20756 // '{' '+'
  49205. || lk == 21780 // '{' '-'
  49206. || lk == 22804 // '{' '.'
  49207. || lk == 23316 // '{' '..'
  49208. || lk == 23828 // '{' '/'
  49209. || lk == 24340 // '{' '//'
  49210. || lk == 27924 // '{' '<'
  49211. || lk == 28436 // '{' '<!--'
  49212. || lk == 30484 // '{' '<?'
  49213. || lk == 34068 // '{' '@'
  49214. || lk == 35092 // '{' '['
  49215. || lk == 36116 // '{' 'after'
  49216. || lk == 37140 // '{' 'allowing'
  49217. || lk == 37652 // '{' 'ancestor'
  49218. || lk == 38164 // '{' 'ancestor-or-self'
  49219. || lk == 38676 // '{' 'and'
  49220. || lk == 39700 // '{' 'append'
  49221. || lk == 40212 // '{' 'array'
  49222. || lk == 40724 // '{' 'as'
  49223. || lk == 41236 // '{' 'ascending'
  49224. || lk == 41748 // '{' 'at'
  49225. || lk == 42260 // '{' 'attribute'
  49226. || lk == 42772 // '{' 'base-uri'
  49227. || lk == 43284 // '{' 'before'
  49228. || lk == 43796 // '{' 'boundary-space'
  49229. || lk == 44308 // '{' 'break'
  49230. || lk == 45332 // '{' 'case'
  49231. || lk == 45844 // '{' 'cast'
  49232. || lk == 46356 // '{' 'castable'
  49233. || lk == 46868 // '{' 'catch'
  49234. || lk == 47892 // '{' 'child'
  49235. || lk == 48404 // '{' 'collation'
  49236. || lk == 49428 // '{' 'comment'
  49237. || lk == 49940 // '{' 'constraint'
  49238. || lk == 50452 // '{' 'construction'
  49239. || lk == 51988 // '{' 'context'
  49240. || lk == 52500 // '{' 'continue'
  49241. || lk == 53012 // '{' 'copy'
  49242. || lk == 53524 // '{' 'copy-namespaces'
  49243. || lk == 54036 // '{' 'count'
  49244. || lk == 54548 // '{' 'decimal-format'
  49245. || lk == 55572 // '{' 'declare'
  49246. || lk == 56084 // '{' 'default'
  49247. || lk == 56596 // '{' 'delete'
  49248. || lk == 57108 // '{' 'descendant'
  49249. || lk == 57620 // '{' 'descendant-or-self'
  49250. || lk == 58132 // '{' 'descending'
  49251. || lk == 60692 // '{' 'div'
  49252. || lk == 61204 // '{' 'document'
  49253. || lk == 61716 // '{' 'document-node'
  49254. || lk == 62228 // '{' 'element'
  49255. || lk == 62740 // '{' 'else'
  49256. || lk == 63252 // '{' 'empty'
  49257. || lk == 63764 // '{' 'empty-sequence'
  49258. || lk == 64276 // '{' 'encoding'
  49259. || lk == 64788 // '{' 'end'
  49260. || lk == 65812 // '{' 'eq'
  49261. || lk == 66324 // '{' 'every'
  49262. || lk == 67348 // '{' 'except'
  49263. || lk == 67860 // '{' 'exit'
  49264. || lk == 68372 // '{' 'external'
  49265. || lk == 68884 // '{' 'first'
  49266. || lk == 69396 // '{' 'following'
  49267. || lk == 69908 // '{' 'following-sibling'
  49268. || lk == 70420 // '{' 'for'
  49269. || lk == 72468 // '{' 'ft-option'
  49270. || lk == 74516 // '{' 'function'
  49271. || lk == 75028 // '{' 'ge'
  49272. || lk == 76052 // '{' 'group'
  49273. || lk == 77076 // '{' 'gt'
  49274. || lk == 77588 // '{' 'idiv'
  49275. || lk == 78100 // '{' 'if'
  49276. || lk == 78612 // '{' 'import'
  49277. || lk == 79124 // '{' 'in'
  49278. || lk == 79636 // '{' 'index'
  49279. || lk == 81684 // '{' 'insert'
  49280. || lk == 82196 // '{' 'instance'
  49281. || lk == 82708 // '{' 'integrity'
  49282. || lk == 83220 // '{' 'intersect'
  49283. || lk == 83732 // '{' 'into'
  49284. || lk == 84244 // '{' 'is'
  49285. || lk == 84756 // '{' 'item'
  49286. || lk == 85268 // '{' 'json'
  49287. || lk == 85780 // '{' 'json-item'
  49288. || lk == 87316 // '{' 'last'
  49289. || lk == 87828 // '{' 'lax'
  49290. || lk == 88340 // '{' 'le'
  49291. || lk == 89364 // '{' 'let'
  49292. || lk == 90388 // '{' 'loop'
  49293. || lk == 91412 // '{' 'lt'
  49294. || lk == 92436 // '{' 'mod'
  49295. || lk == 92948 // '{' 'modify'
  49296. || lk == 93460 // '{' 'module'
  49297. || lk == 94484 // '{' 'namespace'
  49298. || lk == 94996 // '{' 'namespace-node'
  49299. || lk == 95508 // '{' 'ne'
  49300. || lk == 98068 // '{' 'node'
  49301. || lk == 98580 // '{' 'nodes'
  49302. || lk == 99604 // '{' 'object'
  49303. || lk == 101652 // '{' 'only'
  49304. || lk == 102164 // '{' 'option'
  49305. || lk == 102676 // '{' 'or'
  49306. || lk == 103188 // '{' 'order'
  49307. || lk == 103700 // '{' 'ordered'
  49308. || lk == 104212 // '{' 'ordering'
  49309. || lk == 105748 // '{' 'parent'
  49310. || lk == 108820 // '{' 'preceding'
  49311. || lk == 109332 // '{' 'preceding-sibling'
  49312. || lk == 110868 // '{' 'processing-instruction'
  49313. || lk == 111892 // '{' 'rename'
  49314. || lk == 112404 // '{' 'replace'
  49315. || lk == 112916 // '{' 'return'
  49316. || lk == 113428 // '{' 'returning'
  49317. || lk == 113940 // '{' 'revalidation'
  49318. || lk == 114964 // '{' 'satisfies'
  49319. || lk == 115476 // '{' 'schema'
  49320. || lk == 115988 // '{' 'schema-attribute'
  49321. || lk == 116500 // '{' 'schema-element'
  49322. || lk == 117012 // '{' 'score'
  49323. || lk == 117524 // '{' 'self'
  49324. || lk == 120084 // '{' 'sliding'
  49325. || lk == 120596 // '{' 'some'
  49326. || lk == 121108 // '{' 'stable'
  49327. || lk == 121620 // '{' 'start'
  49328. || lk == 123156 // '{' 'strict'
  49329. || lk == 124180 // '{' 'structured-item'
  49330. || lk == 124692 // '{' 'switch'
  49331. || lk == 125204 // '{' 'text'
  49332. || lk == 127252 // '{' 'to'
  49333. || lk == 127764 // '{' 'treat'
  49334. || lk == 128276 // '{' 'try'
  49335. || lk == 128788 // '{' 'tumbling'
  49336. || lk == 129300 // '{' 'type'
  49337. || lk == 129812 // '{' 'typeswitch'
  49338. || lk == 130324 // '{' 'union'
  49339. || lk == 131348 // '{' 'unordered'
  49340. || lk == 131860 // '{' 'updating'
  49341. || lk == 133396 // '{' 'validate'
  49342. || lk == 133908 // '{' 'value'
  49343. || lk == 134420 // '{' 'variable'
  49344. || lk == 134932 // '{' 'version'
  49345. || lk == 136468 // '{' 'where'
  49346. || lk == 136980 // '{' 'while'
  49347. || lk == 138516 // '{' 'with'
  49348. || lk == 140564 // '{' 'xquery'
  49349. || lk == 141588 // '{' '{'
  49350. || lk == 142612 // '{' '{|'
  49351. || lk == 144660) // '{' '}'
  49352. {
  49353. lk = memoized(14, e0);
  49354. if (lk == 0)
  49355. {
  49356. var b0A = b0; var e0A = e0; var l1A = l1;
  49357. var b1A = b1; var e1A = e1; var l2A = l2;
  49358. var b2A = b2; var e2A = e2;
  49359. try
  49360. {
  49361. try_BlockExpr();
  49362. lk = -10;
  49363. }
  49364. catch (p10A)
  49365. {
  49366. lk = -11;
  49367. }
  49368. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  49369. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  49370. b2 = b2A; e2 = e2A; end = e2A; }}
  49371. memoize(14, e0, lk);
  49372. }
  49373. }
  49374. switch (lk)
  49375. {
  49376. case 8: // IntegerLiteral
  49377. case 9: // DecimalLiteral
  49378. case 10: // DoubleLiteral
  49379. case 11: // StringLiteral
  49380. parse_Literal();
  49381. break;
  49382. case 31: // '$'
  49383. parse_VarRef();
  49384. break;
  49385. case 34: // '('
  49386. parse_ParenthesizedExpr();
  49387. break;
  49388. case 44: // '.'
  49389. parse_ContextItemExpr();
  49390. break;
  49391. case 17414: // EQName^Token '('
  49392. case 17478: // 'after' '('
  49393. case 17480: // 'allowing' '('
  49394. case 17481: // 'ancestor' '('
  49395. case 17482: // 'ancestor-or-self' '('
  49396. case 17483: // 'and' '('
  49397. case 17485: // 'append' '('
  49398. case 17487: // 'as' '('
  49399. case 17488: // 'ascending' '('
  49400. case 17489: // 'at' '('
  49401. case 17491: // 'base-uri' '('
  49402. case 17492: // 'before' '('
  49403. case 17493: // 'boundary-space' '('
  49404. case 17494: // 'break' '('
  49405. case 17496: // 'case' '('
  49406. case 17497: // 'cast' '('
  49407. case 17498: // 'castable' '('
  49408. case 17499: // 'catch' '('
  49409. case 17501: // 'child' '('
  49410. case 17502: // 'collation' '('
  49411. case 17505: // 'constraint' '('
  49412. case 17506: // 'construction' '('
  49413. case 17509: // 'context' '('
  49414. case 17510: // 'continue' '('
  49415. case 17511: // 'copy' '('
  49416. case 17512: // 'copy-namespaces' '('
  49417. case 17513: // 'count' '('
  49418. case 17514: // 'decimal-format' '('
  49419. case 17516: // 'declare' '('
  49420. case 17517: // 'default' '('
  49421. case 17518: // 'delete' '('
  49422. case 17519: // 'descendant' '('
  49423. case 17520: // 'descendant-or-self' '('
  49424. case 17521: // 'descending' '('
  49425. case 17526: // 'div' '('
  49426. case 17527: // 'document' '('
  49427. case 17530: // 'else' '('
  49428. case 17531: // 'empty' '('
  49429. case 17533: // 'encoding' '('
  49430. case 17534: // 'end' '('
  49431. case 17536: // 'eq' '('
  49432. case 17537: // 'every' '('
  49433. case 17539: // 'except' '('
  49434. case 17540: // 'exit' '('
  49435. case 17541: // 'external' '('
  49436. case 17542: // 'first' '('
  49437. case 17543: // 'following' '('
  49438. case 17544: // 'following-sibling' '('
  49439. case 17545: // 'for' '('
  49440. case 17549: // 'ft-option' '('
  49441. case 17554: // 'ge' '('
  49442. case 17556: // 'group' '('
  49443. case 17558: // 'gt' '('
  49444. case 17559: // 'idiv' '('
  49445. case 17561: // 'import' '('
  49446. case 17562: // 'in' '('
  49447. case 17563: // 'index' '('
  49448. case 17567: // 'insert' '('
  49449. case 17568: // 'instance' '('
  49450. case 17569: // 'integrity' '('
  49451. case 17570: // 'intersect' '('
  49452. case 17571: // 'into' '('
  49453. case 17572: // 'is' '('
  49454. case 17574: // 'json' '('
  49455. case 17578: // 'last' '('
  49456. case 17579: // 'lax' '('
  49457. case 17580: // 'le' '('
  49458. case 17582: // 'let' '('
  49459. case 17584: // 'loop' '('
  49460. case 17586: // 'lt' '('
  49461. case 17588: // 'mod' '('
  49462. case 17589: // 'modify' '('
  49463. case 17590: // 'module' '('
  49464. case 17592: // 'namespace' '('
  49465. case 17594: // 'ne' '('
  49466. case 17600: // 'nodes' '('
  49467. case 17602: // 'object' '('
  49468. case 17606: // 'only' '('
  49469. case 17607: // 'option' '('
  49470. case 17608: // 'or' '('
  49471. case 17609: // 'order' '('
  49472. case 17610: // 'ordered' '('
  49473. case 17611: // 'ordering' '('
  49474. case 17614: // 'parent' '('
  49475. case 17620: // 'preceding' '('
  49476. case 17621: // 'preceding-sibling' '('
  49477. case 17626: // 'rename' '('
  49478. case 17627: // 'replace' '('
  49479. case 17628: // 'return' '('
  49480. case 17629: // 'returning' '('
  49481. case 17630: // 'revalidation' '('
  49482. case 17632: // 'satisfies' '('
  49483. case 17633: // 'schema' '('
  49484. case 17636: // 'score' '('
  49485. case 17637: // 'self' '('
  49486. case 17642: // 'sliding' '('
  49487. case 17643: // 'some' '('
  49488. case 17644: // 'stable' '('
  49489. case 17645: // 'start' '('
  49490. case 17648: // 'strict' '('
  49491. case 17656: // 'to' '('
  49492. case 17657: // 'treat' '('
  49493. case 17658: // 'try' '('
  49494. case 17659: // 'tumbling' '('
  49495. case 17660: // 'type' '('
  49496. case 17662: // 'union' '('
  49497. case 17664: // 'unordered' '('
  49498. case 17665: // 'updating' '('
  49499. case 17668: // 'validate' '('
  49500. case 17669: // 'value' '('
  49501. case 17670: // 'variable' '('
  49502. case 17671: // 'version' '('
  49503. case 17674: // 'where' '('
  49504. case 17675: // 'while' '('
  49505. case 17678: // 'with' '('
  49506. case 17682: // 'xquery' '('
  49507. parse_FunctionCall();
  49508. break;
  49509. case 141514: // 'ordered' '{'
  49510. parse_OrderedExpr();
  49511. break;
  49512. case 141568: // 'unordered' '{'
  49513. parse_UnorderedExpr();
  49514. break;
  49515. case 32: // '%'
  49516. case 78: // 'array'
  49517. case 120: // 'document-node'
  49518. case 124: // 'empty-sequence'
  49519. case 145: // 'function'
  49520. case 152: // 'if'
  49521. case 165: // 'item'
  49522. case 167: // 'json-item'
  49523. case 185: // 'namespace-node'
  49524. case 191: // 'node'
  49525. case 226: // 'schema-attribute'
  49526. case 227: // 'schema-element'
  49527. case 242: // 'structured-item'
  49528. case 243: // 'switch'
  49529. case 253: // 'typeswitch'
  49530. case 14854: // EQName^Token '#'
  49531. case 14918: // 'after' '#'
  49532. case 14920: // 'allowing' '#'
  49533. case 14921: // 'ancestor' '#'
  49534. case 14922: // 'ancestor-or-self' '#'
  49535. case 14923: // 'and' '#'
  49536. case 14925: // 'append' '#'
  49537. case 14927: // 'as' '#'
  49538. case 14928: // 'ascending' '#'
  49539. case 14929: // 'at' '#'
  49540. case 14930: // 'attribute' '#'
  49541. case 14931: // 'base-uri' '#'
  49542. case 14932: // 'before' '#'
  49543. case 14933: // 'boundary-space' '#'
  49544. case 14934: // 'break' '#'
  49545. case 14936: // 'case' '#'
  49546. case 14937: // 'cast' '#'
  49547. case 14938: // 'castable' '#'
  49548. case 14939: // 'catch' '#'
  49549. case 14941: // 'child' '#'
  49550. case 14942: // 'collation' '#'
  49551. case 14944: // 'comment' '#'
  49552. case 14945: // 'constraint' '#'
  49553. case 14946: // 'construction' '#'
  49554. case 14949: // 'context' '#'
  49555. case 14950: // 'continue' '#'
  49556. case 14951: // 'copy' '#'
  49557. case 14952: // 'copy-namespaces' '#'
  49558. case 14953: // 'count' '#'
  49559. case 14954: // 'decimal-format' '#'
  49560. case 14956: // 'declare' '#'
  49561. case 14957: // 'default' '#'
  49562. case 14958: // 'delete' '#'
  49563. case 14959: // 'descendant' '#'
  49564. case 14960: // 'descendant-or-self' '#'
  49565. case 14961: // 'descending' '#'
  49566. case 14966: // 'div' '#'
  49567. case 14967: // 'document' '#'
  49568. case 14969: // 'element' '#'
  49569. case 14970: // 'else' '#'
  49570. case 14971: // 'empty' '#'
  49571. case 14973: // 'encoding' '#'
  49572. case 14974: // 'end' '#'
  49573. case 14976: // 'eq' '#'
  49574. case 14977: // 'every' '#'
  49575. case 14979: // 'except' '#'
  49576. case 14980: // 'exit' '#'
  49577. case 14981: // 'external' '#'
  49578. case 14982: // 'first' '#'
  49579. case 14983: // 'following' '#'
  49580. case 14984: // 'following-sibling' '#'
  49581. case 14985: // 'for' '#'
  49582. case 14989: // 'ft-option' '#'
  49583. case 14994: // 'ge' '#'
  49584. case 14996: // 'group' '#'
  49585. case 14998: // 'gt' '#'
  49586. case 14999: // 'idiv' '#'
  49587. case 15001: // 'import' '#'
  49588. case 15002: // 'in' '#'
  49589. case 15003: // 'index' '#'
  49590. case 15007: // 'insert' '#'
  49591. case 15008: // 'instance' '#'
  49592. case 15009: // 'integrity' '#'
  49593. case 15010: // 'intersect' '#'
  49594. case 15011: // 'into' '#'
  49595. case 15012: // 'is' '#'
  49596. case 15014: // 'json' '#'
  49597. case 15018: // 'last' '#'
  49598. case 15019: // 'lax' '#'
  49599. case 15020: // 'le' '#'
  49600. case 15022: // 'let' '#'
  49601. case 15024: // 'loop' '#'
  49602. case 15026: // 'lt' '#'
  49603. case 15028: // 'mod' '#'
  49604. case 15029: // 'modify' '#'
  49605. case 15030: // 'module' '#'
  49606. case 15032: // 'namespace' '#'
  49607. case 15034: // 'ne' '#'
  49608. case 15040: // 'nodes' '#'
  49609. case 15042: // 'object' '#'
  49610. case 15046: // 'only' '#'
  49611. case 15047: // 'option' '#'
  49612. case 15048: // 'or' '#'
  49613. case 15049: // 'order' '#'
  49614. case 15050: // 'ordered' '#'
  49615. case 15051: // 'ordering' '#'
  49616. case 15054: // 'parent' '#'
  49617. case 15060: // 'preceding' '#'
  49618. case 15061: // 'preceding-sibling' '#'
  49619. case 15064: // 'processing-instruction' '#'
  49620. case 15066: // 'rename' '#'
  49621. case 15067: // 'replace' '#'
  49622. case 15068: // 'return' '#'
  49623. case 15069: // 'returning' '#'
  49624. case 15070: // 'revalidation' '#'
  49625. case 15072: // 'satisfies' '#'
  49626. case 15073: // 'schema' '#'
  49627. case 15076: // 'score' '#'
  49628. case 15077: // 'self' '#'
  49629. case 15082: // 'sliding' '#'
  49630. case 15083: // 'some' '#'
  49631. case 15084: // 'stable' '#'
  49632. case 15085: // 'start' '#'
  49633. case 15088: // 'strict' '#'
  49634. case 15092: // 'text' '#'
  49635. case 15096: // 'to' '#'
  49636. case 15097: // 'treat' '#'
  49637. case 15098: // 'try' '#'
  49638. case 15099: // 'tumbling' '#'
  49639. case 15100: // 'type' '#'
  49640. case 15102: // 'union' '#'
  49641. case 15104: // 'unordered' '#'
  49642. case 15105: // 'updating' '#'
  49643. case 15108: // 'validate' '#'
  49644. case 15109: // 'value' '#'
  49645. case 15110: // 'variable' '#'
  49646. case 15111: // 'version' '#'
  49647. case 15114: // 'where' '#'
  49648. case 15115: // 'while' '#'
  49649. case 15118: // 'with' '#'
  49650. case 15122: // 'xquery' '#'
  49651. parse_FunctionItemExpr();
  49652. break;
  49653. case -10:
  49654. case 27412: // '{' ';'
  49655. parse_BlockExpr();
  49656. break;
  49657. case -11:
  49658. parse_ObjectConstructor();
  49659. break;
  49660. case 68: // '['
  49661. parse_ArrayConstructor();
  49662. break;
  49663. case 278: // '{|'
  49664. parse_JSONSimpleObjectUnion();
  49665. break;
  49666. default:
  49667. parse_Constructor();
  49668. }
  49669. eventHandler.endNonterminal("PrimaryExpr", e0);
  49670. }
  49671. function try_PrimaryExpr()
  49672. {
  49673. switch (l1)
  49674. {
  49675. case 184: // 'namespace'
  49676. lookahead2W(255); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  49677. break;
  49678. case 216: // 'processing-instruction'
  49679. lookahead2W(253); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  49680. break;
  49681. case 276: // '{'
  49682. lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  49683. break;
  49684. case 82: // 'attribute'
  49685. case 121: // 'element'
  49686. lookahead2W(258); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
  49687. break;
  49688. case 96: // 'comment'
  49689. case 244: // 'text'
  49690. lookahead2W(93); // S^WS | '#' | '(:' | '{'
  49691. break;
  49692. case 119: // 'document'
  49693. case 202: // 'ordered'
  49694. case 256: // 'unordered'
  49695. lookahead2W(139); // S^WS | '#' | '(' | '(:' | '{'
  49696. break;
  49697. case 6: // EQName^Token
  49698. case 70: // 'after'
  49699. case 72: // 'allowing'
  49700. case 73: // 'ancestor'
  49701. case 74: // 'ancestor-or-self'
  49702. case 75: // 'and'
  49703. case 77: // 'append'
  49704. case 79: // 'as'
  49705. case 80: // 'ascending'
  49706. case 81: // 'at'
  49707. case 83: // 'base-uri'
  49708. case 84: // 'before'
  49709. case 85: // 'boundary-space'
  49710. case 86: // 'break'
  49711. case 88: // 'case'
  49712. case 89: // 'cast'
  49713. case 90: // 'castable'
  49714. case 91: // 'catch'
  49715. case 93: // 'child'
  49716. case 94: // 'collation'
  49717. case 97: // 'constraint'
  49718. case 98: // 'construction'
  49719. case 101: // 'context'
  49720. case 102: // 'continue'
  49721. case 103: // 'copy'
  49722. case 104: // 'copy-namespaces'
  49723. case 105: // 'count'
  49724. case 106: // 'decimal-format'
  49725. case 108: // 'declare'
  49726. case 109: // 'default'
  49727. case 110: // 'delete'
  49728. case 111: // 'descendant'
  49729. case 112: // 'descendant-or-self'
  49730. case 113: // 'descending'
  49731. case 118: // 'div'
  49732. case 122: // 'else'
  49733. case 123: // 'empty'
  49734. case 125: // 'encoding'
  49735. case 126: // 'end'
  49736. case 128: // 'eq'
  49737. case 129: // 'every'
  49738. case 131: // 'except'
  49739. case 132: // 'exit'
  49740. case 133: // 'external'
  49741. case 134: // 'first'
  49742. case 135: // 'following'
  49743. case 136: // 'following-sibling'
  49744. case 137: // 'for'
  49745. case 141: // 'ft-option'
  49746. case 146: // 'ge'
  49747. case 148: // 'group'
  49748. case 150: // 'gt'
  49749. case 151: // 'idiv'
  49750. case 153: // 'import'
  49751. case 154: // 'in'
  49752. case 155: // 'index'
  49753. case 159: // 'insert'
  49754. case 160: // 'instance'
  49755. case 161: // 'integrity'
  49756. case 162: // 'intersect'
  49757. case 163: // 'into'
  49758. case 164: // 'is'
  49759. case 166: // 'json'
  49760. case 170: // 'last'
  49761. case 171: // 'lax'
  49762. case 172: // 'le'
  49763. case 174: // 'let'
  49764. case 176: // 'loop'
  49765. case 178: // 'lt'
  49766. case 180: // 'mod'
  49767. case 181: // 'modify'
  49768. case 182: // 'module'
  49769. case 186: // 'ne'
  49770. case 192: // 'nodes'
  49771. case 194: // 'object'
  49772. case 198: // 'only'
  49773. case 199: // 'option'
  49774. case 200: // 'or'
  49775. case 201: // 'order'
  49776. case 203: // 'ordering'
  49777. case 206: // 'parent'
  49778. case 212: // 'preceding'
  49779. case 213: // 'preceding-sibling'
  49780. case 218: // 'rename'
  49781. case 219: // 'replace'
  49782. case 220: // 'return'
  49783. case 221: // 'returning'
  49784. case 222: // 'revalidation'
  49785. case 224: // 'satisfies'
  49786. case 225: // 'schema'
  49787. case 228: // 'score'
  49788. case 229: // 'self'
  49789. case 234: // 'sliding'
  49790. case 235: // 'some'
  49791. case 236: // 'stable'
  49792. case 237: // 'start'
  49793. case 240: // 'strict'
  49794. case 248: // 'to'
  49795. case 249: // 'treat'
  49796. case 250: // 'try'
  49797. case 251: // 'tumbling'
  49798. case 252: // 'type'
  49799. case 254: // 'union'
  49800. case 257: // 'updating'
  49801. case 260: // 'validate'
  49802. case 261: // 'value'
  49803. case 262: // 'variable'
  49804. case 263: // 'version'
  49805. case 266: // 'where'
  49806. case 267: // 'while'
  49807. case 270: // 'with'
  49808. case 274: // 'xquery'
  49809. lookahead2W(92); // S^WS | '#' | '(' | '(:'
  49810. break;
  49811. default:
  49812. lk = l1;
  49813. }
  49814. if (lk == 2836 // '{' Wildcard
  49815. || lk == 3348 // '{' EQName^Token
  49816. || lk == 4372 // '{' IntegerLiteral
  49817. || lk == 4884 // '{' DecimalLiteral
  49818. || lk == 5396 // '{' DoubleLiteral
  49819. || lk == 5908 // '{' StringLiteral
  49820. || lk == 16148 // '{' '$'
  49821. || lk == 16660 // '{' '%'
  49822. || lk == 17684 // '{' '('
  49823. || lk == 18196 // '{' '(#'
  49824. || lk == 20756 // '{' '+'
  49825. || lk == 21780 // '{' '-'
  49826. || lk == 22804 // '{' '.'
  49827. || lk == 23316 // '{' '..'
  49828. || lk == 23828 // '{' '/'
  49829. || lk == 24340 // '{' '//'
  49830. || lk == 27924 // '{' '<'
  49831. || lk == 28436 // '{' '<!--'
  49832. || lk == 30484 // '{' '<?'
  49833. || lk == 34068 // '{' '@'
  49834. || lk == 35092 // '{' '['
  49835. || lk == 36116 // '{' 'after'
  49836. || lk == 37140 // '{' 'allowing'
  49837. || lk == 37652 // '{' 'ancestor'
  49838. || lk == 38164 // '{' 'ancestor-or-self'
  49839. || lk == 38676 // '{' 'and'
  49840. || lk == 39700 // '{' 'append'
  49841. || lk == 40212 // '{' 'array'
  49842. || lk == 40724 // '{' 'as'
  49843. || lk == 41236 // '{' 'ascending'
  49844. || lk == 41748 // '{' 'at'
  49845. || lk == 42260 // '{' 'attribute'
  49846. || lk == 42772 // '{' 'base-uri'
  49847. || lk == 43284 // '{' 'before'
  49848. || lk == 43796 // '{' 'boundary-space'
  49849. || lk == 44308 // '{' 'break'
  49850. || lk == 45332 // '{' 'case'
  49851. || lk == 45844 // '{' 'cast'
  49852. || lk == 46356 // '{' 'castable'
  49853. || lk == 46868 // '{' 'catch'
  49854. || lk == 47892 // '{' 'child'
  49855. || lk == 48404 // '{' 'collation'
  49856. || lk == 49428 // '{' 'comment'
  49857. || lk == 49940 // '{' 'constraint'
  49858. || lk == 50452 // '{' 'construction'
  49859. || lk == 51988 // '{' 'context'
  49860. || lk == 52500 // '{' 'continue'
  49861. || lk == 53012 // '{' 'copy'
  49862. || lk == 53524 // '{' 'copy-namespaces'
  49863. || lk == 54036 // '{' 'count'
  49864. || lk == 54548 // '{' 'decimal-format'
  49865. || lk == 55572 // '{' 'declare'
  49866. || lk == 56084 // '{' 'default'
  49867. || lk == 56596 // '{' 'delete'
  49868. || lk == 57108 // '{' 'descendant'
  49869. || lk == 57620 // '{' 'descendant-or-self'
  49870. || lk == 58132 // '{' 'descending'
  49871. || lk == 60692 // '{' 'div'
  49872. || lk == 61204 // '{' 'document'
  49873. || lk == 61716 // '{' 'document-node'
  49874. || lk == 62228 // '{' 'element'
  49875. || lk == 62740 // '{' 'else'
  49876. || lk == 63252 // '{' 'empty'
  49877. || lk == 63764 // '{' 'empty-sequence'
  49878. || lk == 64276 // '{' 'encoding'
  49879. || lk == 64788 // '{' 'end'
  49880. || lk == 65812 // '{' 'eq'
  49881. || lk == 66324 // '{' 'every'
  49882. || lk == 67348 // '{' 'except'
  49883. || lk == 67860 // '{' 'exit'
  49884. || lk == 68372 // '{' 'external'
  49885. || lk == 68884 // '{' 'first'
  49886. || lk == 69396 // '{' 'following'
  49887. || lk == 69908 // '{' 'following-sibling'
  49888. || lk == 70420 // '{' 'for'
  49889. || lk == 72468 // '{' 'ft-option'
  49890. || lk == 74516 // '{' 'function'
  49891. || lk == 75028 // '{' 'ge'
  49892. || lk == 76052 // '{' 'group'
  49893. || lk == 77076 // '{' 'gt'
  49894. || lk == 77588 // '{' 'idiv'
  49895. || lk == 78100 // '{' 'if'
  49896. || lk == 78612 // '{' 'import'
  49897. || lk == 79124 // '{' 'in'
  49898. || lk == 79636 // '{' 'index'
  49899. || lk == 81684 // '{' 'insert'
  49900. || lk == 82196 // '{' 'instance'
  49901. || lk == 82708 // '{' 'integrity'
  49902. || lk == 83220 // '{' 'intersect'
  49903. || lk == 83732 // '{' 'into'
  49904. || lk == 84244 // '{' 'is'
  49905. || lk == 84756 // '{' 'item'
  49906. || lk == 85268 // '{' 'json'
  49907. || lk == 85780 // '{' 'json-item'
  49908. || lk == 87316 // '{' 'last'
  49909. || lk == 87828 // '{' 'lax'
  49910. || lk == 88340 // '{' 'le'
  49911. || lk == 89364 // '{' 'let'
  49912. || lk == 90388 // '{' 'loop'
  49913. || lk == 91412 // '{' 'lt'
  49914. || lk == 92436 // '{' 'mod'
  49915. || lk == 92948 // '{' 'modify'
  49916. || lk == 93460 // '{' 'module'
  49917. || lk == 94484 // '{' 'namespace'
  49918. || lk == 94996 // '{' 'namespace-node'
  49919. || lk == 95508 // '{' 'ne'
  49920. || lk == 98068 // '{' 'node'
  49921. || lk == 98580 // '{' 'nodes'
  49922. || lk == 99604 // '{' 'object'
  49923. || lk == 101652 // '{' 'only'
  49924. || lk == 102164 // '{' 'option'
  49925. || lk == 102676 // '{' 'or'
  49926. || lk == 103188 // '{' 'order'
  49927. || lk == 103700 // '{' 'ordered'
  49928. || lk == 104212 // '{' 'ordering'
  49929. || lk == 105748 // '{' 'parent'
  49930. || lk == 108820 // '{' 'preceding'
  49931. || lk == 109332 // '{' 'preceding-sibling'
  49932. || lk == 110868 // '{' 'processing-instruction'
  49933. || lk == 111892 // '{' 'rename'
  49934. || lk == 112404 // '{' 'replace'
  49935. || lk == 112916 // '{' 'return'
  49936. || lk == 113428 // '{' 'returning'
  49937. || lk == 113940 // '{' 'revalidation'
  49938. || lk == 114964 // '{' 'satisfies'
  49939. || lk == 115476 // '{' 'schema'
  49940. || lk == 115988 // '{' 'schema-attribute'
  49941. || lk == 116500 // '{' 'schema-element'
  49942. || lk == 117012 // '{' 'score'
  49943. || lk == 117524 // '{' 'self'
  49944. || lk == 120084 // '{' 'sliding'
  49945. || lk == 120596 // '{' 'some'
  49946. || lk == 121108 // '{' 'stable'
  49947. || lk == 121620 // '{' 'start'
  49948. || lk == 123156 // '{' 'strict'
  49949. || lk == 124180 // '{' 'structured-item'
  49950. || lk == 124692 // '{' 'switch'
  49951. || lk == 125204 // '{' 'text'
  49952. || lk == 127252 // '{' 'to'
  49953. || lk == 127764 // '{' 'treat'
  49954. || lk == 128276 // '{' 'try'
  49955. || lk == 128788 // '{' 'tumbling'
  49956. || lk == 129300 // '{' 'type'
  49957. || lk == 129812 // '{' 'typeswitch'
  49958. || lk == 130324 // '{' 'union'
  49959. || lk == 131348 // '{' 'unordered'
  49960. || lk == 131860 // '{' 'updating'
  49961. || lk == 133396 // '{' 'validate'
  49962. || lk == 133908 // '{' 'value'
  49963. || lk == 134420 // '{' 'variable'
  49964. || lk == 134932 // '{' 'version'
  49965. || lk == 136468 // '{' 'where'
  49966. || lk == 136980 // '{' 'while'
  49967. || lk == 138516 // '{' 'with'
  49968. || lk == 140564 // '{' 'xquery'
  49969. || lk == 141588 // '{' '{'
  49970. || lk == 142612 // '{' '{|'
  49971. || lk == 144660) // '{' '}'
  49972. {
  49973. lk = memoized(14, e0);
  49974. if (lk == 0)
  49975. {
  49976. var b0A = b0; var e0A = e0; var l1A = l1;
  49977. var b1A = b1; var e1A = e1; var l2A = l2;
  49978. var b2A = b2; var e2A = e2;
  49979. try
  49980. {
  49981. try_BlockExpr();
  49982. memoize(14, e0A, -10);
  49983. lk = -14;
  49984. }
  49985. catch (p10A)
  49986. {
  49987. lk = -11;
  49988. b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
  49989. b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
  49990. b2 = b2A; e2 = e2A; end = e2A; }}
  49991. memoize(14, e0A, -11);
  49992. }
  49993. }
  49994. }
  49995. switch (lk)
  49996. {
  49997. case 8: // IntegerLiteral
  49998. case 9: // DecimalLiteral
  49999. case 10: // DoubleLiteral
  50000. case 11: // StringLiteral
  50001. try_Literal();
  50002. break;
  50003. case 31: // '$'
  50004. try_VarRef();
  50005. break;
  50006. case 34: // '('
  50007. try_ParenthesizedExpr();
  50008. break;
  50009. case 44: // '.'
  50010. try_ContextItemExpr();
  50011. break;
  50012. case 17414: // EQName^Token '('
  50013. case 17478: // 'after' '('
  50014. case 17480: // 'allowing' '('
  50015. case 17481: // 'ancestor' '('
  50016. case 17482: // 'ancestor-or-self' '('
  50017. case 17483: // 'and' '('
  50018. case 17485: // 'append' '('
  50019. case 17487: // 'as' '('
  50020. case 17488: // 'ascending' '('
  50021. case 17489: // 'at' '('
  50022. case 17491: // 'base-uri' '('
  50023. case 17492: // 'before' '('
  50024. case 17493: // 'boundary-space' '('
  50025. case 17494: // 'break' '('
  50026. case 17496: // 'case' '('
  50027. case 17497: // 'cast' '('
  50028. case 17498: // 'castable' '('
  50029. case 17499: // 'catch' '('
  50030. case 17501: // 'child' '('
  50031. case 17502: // 'collation' '('
  50032. case 17505: // 'constraint' '('
  50033. case 17506: // 'construction' '('
  50034. case 17509: // 'context' '('
  50035. case 17510: // 'continue' '('
  50036. case 17511: // 'copy' '('
  50037. case 17512: // 'copy-namespaces' '('
  50038. case 17513: // 'count' '('
  50039. case 17514: // 'decimal-format' '('
  50040. case 17516: // 'declare' '('
  50041. case 17517: // 'default' '('
  50042. case 17518: // 'delete' '('
  50043. case 17519: // 'descendant' '('
  50044. case 17520: // 'descendant-or-self' '('
  50045. case 17521: // 'descending' '('
  50046. case 17526: // 'div' '('
  50047. case 17527: // 'document' '('
  50048. case 17530: // 'else' '('
  50049. case 17531: // 'empty' '('
  50050. case 17533: // 'encoding' '('
  50051. case 17534: // 'end' '('
  50052. case 17536: // 'eq' '('
  50053. case 17537: // 'every' '('
  50054. case 17539: // 'except' '('
  50055. case 17540: // 'exit' '('
  50056. case 17541: // 'external' '('
  50057. case 17542: // 'first' '('
  50058. case 17543: // 'following' '('
  50059. case 17544: // 'following-sibling' '('
  50060. case 17545: // 'for' '('
  50061. case 17549: // 'ft-option' '('
  50062. case 17554: // 'ge' '('
  50063. case 17556: // 'group' '('
  50064. case 17558: // 'gt' '('
  50065. case 17559: // 'idiv' '('
  50066. case 17561: // 'import' '('
  50067. case 17562: // 'in' '('
  50068. case 17563: // 'index' '('
  50069. case 17567: // 'insert' '('
  50070. case 17568: // 'instance' '('
  50071. case 17569: // 'integrity' '('
  50072. case 17570: // 'intersect' '('
  50073. case 17571: // 'into' '('
  50074. case 17572: // 'is' '('
  50075. case 17574: // 'json' '('
  50076. case 17578: // 'last' '('
  50077. case 17579: // 'lax' '('
  50078. case 17580: // 'le' '('
  50079. case 17582: // 'let' '('
  50080. case 17584: // 'loop' '('
  50081. case 17586: // 'lt' '('
  50082. case 17588: // 'mod' '('
  50083. case 17589: // 'modify' '('
  50084. case 17590: // 'module' '('
  50085. case 17592: // 'namespace' '('
  50086. case 17594: // 'ne' '('
  50087. case 17600: // 'nodes' '('
  50088. case 17602: // 'object' '('
  50089. case 17606: // 'only' '('
  50090. case 17607: // 'option' '('
  50091. case 17608: // 'or' '('
  50092. case 17609: // 'order' '('
  50093. case 17610: // 'ordered' '('
  50094. case 17611: // 'ordering' '('
  50095. case 17614: // 'parent' '('
  50096. case 17620: // 'preceding' '('
  50097. case 17621: // 'preceding-sibling' '('
  50098. case 17626: // 'rename' '('
  50099. case 17627: // 'replace' '('
  50100. case 17628: // 'return' '('
  50101. case 17629: // 'returning' '('
  50102. case 17630: // 'revalidation' '('
  50103. case 17632: // 'satisfies' '('
  50104. case 17633: // 'schema' '('
  50105. case 17636: // 'score' '('
  50106. case 17637: // 'self' '('
  50107. case 17642: // 'sliding' '('
  50108. case 17643: // 'some' '('
  50109. case 17644: // 'stable' '('
  50110. case 17645: // 'start' '('
  50111. case 17648: // 'strict' '('
  50112. case 17656: // 'to' '('
  50113. case 17657: // 'treat' '('
  50114. case 17658: // 'try' '('
  50115. case 17659: // 'tumbling' '('
  50116. case 17660: // 'type' '('
  50117. case 17662: // 'union' '('
  50118. case 17664: // 'unordered' '('
  50119. case 17665: // 'updating' '('
  50120. case 17668: // 'validate' '('
  50121. case 17669: // 'value' '('
  50122. case 17670: // 'variable' '('
  50123. case 17671: // 'version' '('
  50124. case 17674: // 'where' '('
  50125. case 17675: // 'while' '('
  50126. case 17678: // 'with' '('
  50127. case 17682: // 'xquery' '('
  50128. try_FunctionCall();
  50129. break;
  50130. case 141514: // 'ordered' '{'
  50131. try_OrderedExpr();
  50132. break;
  50133. case 141568: // 'unordered' '{'
  50134. try_UnorderedExpr();
  50135. break;
  50136. case 32: // '%'
  50137. case 78: // 'array'
  50138. case 120: // 'document-node'
  50139. case 124: // 'empty-sequence'
  50140. case 145: // 'function'
  50141. case 152: // 'if'
  50142. case 165: // 'item'
  50143. case 167: // 'json-item'
  50144. case 185: // 'namespace-node'
  50145. case 191: // 'node'
  50146. case 226: // 'schema-attribute'
  50147. case 227: // 'schema-element'
  50148. case 242: // 'structured-item'
  50149. case 243: // 'switch'
  50150. case 253: // 'typeswitch'
  50151. case 14854: // EQName^Token '#'
  50152. case 14918: // 'after' '#'
  50153. case 14920: // 'allowing' '#'
  50154. case 14921: // 'ancestor' '#'
  50155. case 14922: // 'ancestor-or-self' '#'
  50156. case 14923: // 'and' '#'
  50157. case 14925: // 'append' '#'
  50158. case 14927: // 'as' '#'
  50159. case 14928: // 'ascending' '#'
  50160. case 14929: // 'at' '#'
  50161. case 14930: // 'attribute' '#'
  50162. case 14931: // 'base-uri' '#'
  50163. case 14932: // 'before' '#'
  50164. case 14933: // 'boundary-space' '#'
  50165. case 14934: // 'break' '#'
  50166. case 14936: // 'case' '#'
  50167. case 14937: // 'cast' '#'
  50168. case 14938: // 'castable' '#'
  50169. case 14939: // 'catch' '#'
  50170. case 14941: // 'child' '#'
  50171. case 14942: // 'collation' '#'
  50172. case 14944: // 'comment' '#'
  50173. case 14945: // 'constraint' '#'
  50174. case 14946: // 'construction' '#'
  50175. case 14949: // 'context' '#'
  50176. case 14950: // 'continue' '#'
  50177. case 14951: // 'copy' '#'
  50178. case 14952: // 'copy-namespaces' '#'
  50179. case 14953: // 'count' '#'
  50180. case 14954: // 'decimal-format' '#'
  50181. case 14956: // 'declare' '#'
  50182. case 14957: // 'default' '#'
  50183. case 14958: // 'delete' '#'
  50184. case 14959: // 'descendant' '#'
  50185. case 14960: // 'descendant-or-self' '#'
  50186. case 14961: // 'descending' '#'
  50187. case 14966: // 'div' '#'
  50188. case 14967: // 'document' '#'
  50189. case 14969: // 'element' '#'
  50190. case 14970: // 'else' '#'
  50191. case 14971: // 'empty' '#'
  50192. case 14973: // 'encoding' '#'
  50193. case 14974: // 'end' '#'
  50194. case 14976: // 'eq' '#'
  50195. case 14977: // 'every' '#'
  50196. case 14979: // 'except' '#'
  50197. case 14980: // 'exit' '#'
  50198. case 14981: // 'external' '#'
  50199. case 14982: // 'first' '#'
  50200. case 14983: // 'following' '#'
  50201. case 14984: // 'following-sibling' '#'
  50202. case 14985: // 'for' '#'
  50203. case 14989: // 'ft-option' '#'
  50204. case 14994: // 'ge' '#'
  50205. case 14996: // 'group' '#'
  50206. case 14998: // 'gt' '#'
  50207. case 14999: // 'idiv' '#'
  50208. case 15001: // 'import' '#'
  50209. case 15002: // 'in' '#'
  50210. case 15003: // 'index' '#'
  50211. case 15007: // 'insert' '#'
  50212. case 15008: // 'instance' '#'
  50213. case 15009: // 'integrity' '#'
  50214. case 15010: // 'intersect' '#'
  50215. case 15011: // 'into' '#'
  50216. case 15012: // 'is' '#'
  50217. case 15014: // 'json' '#'
  50218. case 15018: // 'last' '#'
  50219. case 15019: // 'lax' '#'
  50220. case 15020: // 'le' '#'
  50221. case 15022: // 'let' '#'
  50222. case 15024: // 'loop' '#'
  50223. case 15026: // 'lt' '#'
  50224. case 15028: // 'mod' '#'
  50225. case 15029: // 'modify' '#'
  50226. case 15030: // 'module' '#'
  50227. case 15032: // 'namespace' '#'
  50228. case 15034: // 'ne' '#'
  50229. case 15040: // 'nodes' '#'
  50230. case 15042: // 'object' '#'
  50231. case 15046: // 'only' '#'
  50232. case 15047: // 'option' '#'
  50233. case 15048: // 'or' '#'
  50234. case 15049: // 'order' '#'
  50235. case 15050: // 'ordered' '#'
  50236. case 15051: // 'ordering' '#'
  50237. case 15054: // 'parent' '#'
  50238. case 15060: // 'preceding' '#'
  50239. case 15061: // 'preceding-sibling' '#'
  50240. case 15064: // 'processing-instruction' '#'
  50241. case 15066: // 'rename' '#'
  50242. case 15067: // 'replace' '#'
  50243. case 15068: // 'return' '#'
  50244. case 15069: // 'returning' '#'
  50245. case 15070: // 'revalidation' '#'
  50246. case 15072: // 'satisfies' '#'
  50247. case 15073: // 'schema' '#'
  50248. case 15076: // 'score' '#'
  50249. case 15077: // 'self' '#'
  50250. case 15082: // 'sliding' '#'
  50251. case 15083: // 'some' '#'
  50252. case 15084: // 'stable' '#'
  50253. case 15085: // 'start' '#'
  50254. case 15088: // 'strict' '#'
  50255. case 15092: // 'text' '#'
  50256. case 15096: // 'to' '#'
  50257. case 15097: // 'treat' '#'
  50258. case 15098: // 'try' '#'
  50259. case 15099: // 'tumbling' '#'
  50260. case 15100: // 'type' '#'
  50261. case 15102: // 'union' '#'
  50262. case 15104: // 'unordered' '#'
  50263. case 15105: // 'updating' '#'
  50264. case 15108: // 'validate' '#'
  50265. case 15109: // 'value' '#'
  50266. case 15110: // 'variable' '#'
  50267. case 15111: // 'version' '#'
  50268. case 15114: // 'where' '#'
  50269. case 15115: // 'while' '#'
  50270. case 15118: // 'with' '#'
  50271. case 15122: // 'xquery' '#'
  50272. try_FunctionItemExpr();
  50273. break;
  50274. case -10:
  50275. case 27412: // '{' ';'
  50276. try_BlockExpr();
  50277. break;
  50278. case -11:
  50279. try_ObjectConstructor();
  50280. break;
  50281. case 68: // '['
  50282. try_ArrayConstructor();
  50283. break;
  50284. case 278: // '{|'
  50285. try_JSONSimpleObjectUnion();
  50286. break;
  50287. case -14:
  50288. break;
  50289. default:
  50290. try_Constructor();
  50291. }
  50292. }
  50293. function parse_JSONSimpleObjectUnion()
  50294. {
  50295. eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
  50296. shift(278); // '{|'
  50297. lookahead1W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50298. if (l1 != 281) // '|}'
  50299. {
  50300. whitespace();
  50301. parse_Expr();
  50302. }
  50303. shift(281); // '|}'
  50304. eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
  50305. }
  50306. function try_JSONSimpleObjectUnion()
  50307. {
  50308. shiftT(278); // '{|'
  50309. lookahead1W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50310. if (l1 != 281) // '|}'
  50311. {
  50312. try_Expr();
  50313. }
  50314. shiftT(281); // '|}'
  50315. }
  50316. function parse_ObjectConstructor()
  50317. {
  50318. eventHandler.startNonterminal("ObjectConstructor", e0);
  50319. shift(276); // '{'
  50320. lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50321. if (l1 != 282) // '}'
  50322. {
  50323. whitespace();
  50324. parse_PairConstructorList();
  50325. }
  50326. shift(282); // '}'
  50327. eventHandler.endNonterminal("ObjectConstructor", e0);
  50328. }
  50329. function try_ObjectConstructor()
  50330. {
  50331. shiftT(276); // '{'
  50332. lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50333. if (l1 != 282) // '}'
  50334. {
  50335. try_PairConstructorList();
  50336. }
  50337. shiftT(282); // '}'
  50338. }
  50339. function parse_PairConstructorList()
  50340. {
  50341. eventHandler.startNonterminal("PairConstructorList", e0);
  50342. parse_PairConstructor();
  50343. for (;;)
  50344. {
  50345. if (l1 != 41) // ','
  50346. {
  50347. break;
  50348. }
  50349. shift(41); // ','
  50350. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50351. whitespace();
  50352. parse_PairConstructor();
  50353. }
  50354. eventHandler.endNonterminal("PairConstructorList", e0);
  50355. }
  50356. function try_PairConstructorList()
  50357. {
  50358. try_PairConstructor();
  50359. for (;;)
  50360. {
  50361. if (l1 != 41) // ','
  50362. {
  50363. break;
  50364. }
  50365. shiftT(41); // ','
  50366. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50367. try_PairConstructor();
  50368. }
  50369. }
  50370. function parse_PairConstructor()
  50371. {
  50372. eventHandler.startNonterminal("PairConstructor", e0);
  50373. parse_ExprSingle();
  50374. shift(49); // ':'
  50375. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50376. whitespace();
  50377. parse_ExprSingle();
  50378. eventHandler.endNonterminal("PairConstructor", e0);
  50379. }
  50380. function try_PairConstructor()
  50381. {
  50382. try_ExprSingle();
  50383. shiftT(49); // ':'
  50384. lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50385. try_ExprSingle();
  50386. }
  50387. function parse_ArrayConstructor()
  50388. {
  50389. eventHandler.startNonterminal("ArrayConstructor", e0);
  50390. shift(68); // '['
  50391. lookahead1W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50392. if (l1 != 69) // ']'
  50393. {
  50394. whitespace();
  50395. parse_Expr();
  50396. }
  50397. shift(69); // ']'
  50398. eventHandler.endNonterminal("ArrayConstructor", e0);
  50399. }
  50400. function try_ArrayConstructor()
  50401. {
  50402. shiftT(68); // '['
  50403. lookahead1W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50404. if (l1 != 69) // ']'
  50405. {
  50406. try_Expr();
  50407. }
  50408. shiftT(69); // ']'
  50409. }
  50410. function parse_BlockExpr()
  50411. {
  50412. eventHandler.startNonterminal("BlockExpr", e0);
  50413. shift(276); // '{'
  50414. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50415. whitespace();
  50416. parse_StatementsAndOptionalExpr();
  50417. shift(282); // '}'
  50418. eventHandler.endNonterminal("BlockExpr", e0);
  50419. }
  50420. function try_BlockExpr()
  50421. {
  50422. shiftT(276); // '{'
  50423. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50424. try_StatementsAndOptionalExpr();
  50425. shiftT(282); // '}'
  50426. }
  50427. function parse_FunctionDecl()
  50428. {
  50429. eventHandler.startNonterminal("FunctionDecl", e0);
  50430. shift(145); // 'function'
  50431. lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
  50432. whitespace();
  50433. parse_EQName();
  50434. lookahead1W(22); // S^WS | '(' | '(:'
  50435. shift(34); // '('
  50436. lookahead1W(94); // S^WS | '$' | '(:' | ')'
  50437. if (l1 == 31) // '$'
  50438. {
  50439. whitespace();
  50440. parse_ParamList();
  50441. }
  50442. shift(37); // ')'
  50443. lookahead1W(148); // S^WS | '(:' | 'as' | 'external' | '{'
  50444. if (l1 == 79) // 'as'
  50445. {
  50446. whitespace();
  50447. parse_ReturnType();
  50448. }
  50449. lookahead1W(118); // S^WS | '(:' | 'external' | '{'
  50450. switch (l1)
  50451. {
  50452. case 276: // '{'
  50453. shift(276); // '{'
  50454. lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
  50455. whitespace();
  50456. parse_StatementsAndOptionalExpr();
  50457. shift(282); // '}'
  50458. break;
  50459. default:
  50460. shift(133); // 'external'
  50461. }
  50462. eventHandler.endNonterminal("FunctionDecl", e0);
  50463. }
  50464. function parse_ReturnType()
  50465. {
  50466. eventHandler.startNonterminal("ReturnType", e0);
  50467. shift(79); // 'as'
  50468. lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
  50469. whitespace();
  50470. parse_SequenceType();
  50471. eventHandler.endNonterminal("ReturnType", e0);
  50472. }
  50473. function shift(t)
  50474. {
  50475. if (l1 == t)
  50476. {
  50477. whitespace();
  50478. eventHandler.terminal(XQueryParser.TOKEN[l1], b1, e1 > size ? size : e1);
  50479. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  50480. b1 = b2; e1 = e2; l2 = 0; }
  50481. }
  50482. else
  50483. {
  50484. error(b1, e1, 0, l1, t);
  50485. }
  50486. }
  50487. function shiftT(t)
  50488. {
  50489. if (l1 == t)
  50490. {
  50491. b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
  50492. b1 = b2; e1 = e2; l2 = 0; }
  50493. }
  50494. else
  50495. {
  50496. error(b1, e1, 0, l1, t);
  50497. }
  50498. }
  50499. function skip(code)
  50500. {
  50501. var b0W = b0; var e0W = e0; var l1W = l1;
  50502. var b1W = b1; var e1W = e1;
  50503. l1 = code; b1 = begin; e1 = end;
  50504. l2 = 0;
  50505. try_Whitespace();
  50506. b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
  50507. b1 = b1W; e1 = e1W; }
  50508. }
  50509. function whitespace()
  50510. {
  50511. if (e0 != b1)
  50512. {
  50513. eventHandler.whitespace(e0, b1);
  50514. e0 = b1;
  50515. }
  50516. }
  50517. function matchW(set)
  50518. {
  50519. var code;
  50520. for (;;)
  50521. {
  50522. code = match(set);
  50523. if (code != 22) // S^WS
  50524. {
  50525. if (code != 36) // '(:'
  50526. {
  50527. break;
  50528. }
  50529. skip(code);
  50530. }
  50531. }
  50532. return code;
  50533. }
  50534. function lookahead1W(set)
  50535. {
  50536. if (l1 == 0)
  50537. {
  50538. l1 = matchW(set);
  50539. b1 = begin;
  50540. e1 = end;
  50541. }
  50542. }
  50543. function lookahead2W(set)
  50544. {
  50545. if (l2 == 0)
  50546. {
  50547. l2 = matchW(set);
  50548. b2 = begin;
  50549. e2 = end;
  50550. }
  50551. lk = (l2 << 9) | l1;
  50552. }
  50553. function lookahead1(set)
  50554. {
  50555. if (l1 == 0)
  50556. {
  50557. l1 = match(set);
  50558. b1 = begin;
  50559. e1 = end;
  50560. }
  50561. }
  50562. function lookahead2(set)
  50563. {
  50564. if (l2 == 0)
  50565. {
  50566. l2 = match(set);
  50567. b2 = begin;
  50568. e2 = end;
  50569. }
  50570. lk = (l2 << 9) | l1;
  50571. }
  50572. function error(b, e, s, l, t)
  50573. {
  50574. if (e >= ex)
  50575. {
  50576. bx = b;
  50577. ex = e;
  50578. sx = s;
  50579. lx = l;
  50580. tx = t;
  50581. }
  50582. throw new self.ParseException(bx, ex, sx, lx, tx);
  50583. }
  50584. var lk, b0, e0;
  50585. var l1, b1, e1;
  50586. var l2, b2, e2;
  50587. var bx, ex, sx, lx, tx;
  50588. var eventHandler;
  50589. var memo;
  50590. function memoize(i, e, v)
  50591. {
  50592. memo[(e << 4) + i] = v;
  50593. }
  50594. function memoized(i, e)
  50595. {
  50596. var v = memo[(e << 4) + i];
  50597. return typeof v != "undefined" ? v : 0;
  50598. }
  50599. var input;
  50600. var size;
  50601. var begin;
  50602. var end;
  50603. function match(tokenSetId)
  50604. {
  50605. var nonbmp = false;
  50606. begin = end;
  50607. var current = end;
  50608. var result = XQueryParser.INITIAL[tokenSetId];
  50609. var state = 0;
  50610. for (var code = result & 4095; code != 0; )
  50611. {
  50612. var charclass;
  50613. var c0 = current < size ? input.charCodeAt(current) : 0;
  50614. ++current;
  50615. if (c0 < 0x80)
  50616. {
  50617. charclass = XQueryParser.MAP0[c0];
  50618. }
  50619. else if (c0 < 0xd800)
  50620. {
  50621. var c1 = c0 >> 4;
  50622. charclass = XQueryParser.MAP1[(c0 & 15) + XQueryParser.MAP1[(c1 & 31) + XQueryParser.MAP1[c1 >> 5]]];
  50623. }
  50624. else
  50625. {
  50626. if (c0 < 0xdc00)
  50627. {
  50628. var c1 = current < size ? input.charCodeAt(current) : 0;
  50629. if (c1 >= 0xdc00 && c1 < 0xe000)
  50630. {
  50631. ++current;
  50632. c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
  50633. nonbmp = true;
  50634. }
  50635. }
  50636. var lo = 0, hi = 5;
  50637. for (var m = 3; ; m = (hi + lo) >> 1)
  50638. {
  50639. if (XQueryParser.MAP2[m] > c0) hi = m - 1;
  50640. else if (XQueryParser.MAP2[6 + m] < c0) lo = m + 1;
  50641. else {charclass = XQueryParser.MAP2[12 + m]; break;}
  50642. if (lo > hi) {charclass = 0; break;}
  50643. }
  50644. }
  50645. state = code;
  50646. var i0 = (charclass << 12) + code - 1;
  50647. code = XQueryParser.TRANSITION[(i0 & 15) + XQueryParser.TRANSITION[i0 >> 4]];
  50648. if (code > 4095)
  50649. {
  50650. result = code;
  50651. code &= 4095;
  50652. end = current;
  50653. }
  50654. }
  50655. result >>= 12;
  50656. if (result == 0)
  50657. {
  50658. end = current - 1;
  50659. var c1 = end < size ? input.charCodeAt(end) : 0;
  50660. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  50661. return error(begin, end, state, -1, -1);
  50662. }
  50663. if (nonbmp)
  50664. {
  50665. for (var i = result >> 9; i > 0; --i)
  50666. {
  50667. --end;
  50668. var c1 = end < size ? input.charCodeAt(end) : 0;
  50669. if (c1 >= 0xdc00 && c1 < 0xe000) --end;
  50670. }
  50671. }
  50672. else
  50673. {
  50674. end -= result >> 9;
  50675. }
  50676. return (result & 511) - 1;
  50677. }
  50678. }
  50679. XQueryParser.getTokenSet = function(tokenSetId)
  50680. {
  50681. var set = [];
  50682. var s = tokenSetId < 0 ? - tokenSetId : XQueryParser.INITIAL[tokenSetId] & 4095;
  50683. for (var i = 0; i < 284; i += 32)
  50684. {
  50685. var j = i;
  50686. var i0 = (i >> 5) * 3612 + s - 1;
  50687. var i1 = i0 >> 2;
  50688. var i2 = i1 >> 2;
  50689. var f = XQueryParser.EXPECTED[(i0 & 3) + XQueryParser.EXPECTED[(i1 & 3) + XQueryParser.EXPECTED[(i2 & 15) + XQueryParser.EXPECTED[i2 >> 4]]]];
  50690. for ( ; f != 0; f >>>= 1, ++j)
  50691. {
  50692. if ((f & 1) != 0)
  50693. {
  50694. set.push(XQueryParser.TOKEN[j]);
  50695. }
  50696. }
  50697. }
  50698. return set;
  50699. };
  50700. XQueryParser.MAP0 =
  50701. [ 70, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 38, 30, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 38, 38
  50702. ];
  50703. XQueryParser.MAP1 =
  50704. [ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 355, 371, 387, 423, 423, 423, 415, 339, 331, 339, 331, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 440, 440, 440, 440, 440, 440, 440, 324, 339, 339, 339, 339, 339, 339, 339, 339, 401, 423, 423, 424, 422, 423, 423, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 70, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 38, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 38, 30, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 30, 30, 38, 38, 38, 38, 38, 38, 38, 69, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69
  50705. ];
  50706. XQueryParser.MAP2 =
  50707. [ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 38, 30, 38, 30, 30, 38
  50708. ];
  50709. XQueryParser.INITIAL =
  50710. [ 1, 12290, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286
  50711. ];
  50712. XQueryParser.TRANSITION =
  50713. [ 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25307, 18176, 18180, 18180, 18180, 18210, 18180, 18180, 18180, 18180, 18222, 18180, 18180, 18180, 18180, 18198, 18180, 18182, 18238, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38623, 20771, 20784, 20796, 20808, 43870, 38625, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 28718, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19553, 19028, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22954, 20869, 38672, 38672, 38672, 37958, 38672, 38672, 36976, 20909, 20888, 38672, 38672, 38672, 38672, 39926, 20282, 20925, 20958, 38672, 38672, 38672, 43215, 38672, 38672, 25928, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 20997, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 21013, 21118, 38672, 38672, 38672, 24651, 38672, 38672, 44696, 38672, 42922, 38824, 21095, 21058, 21048, 21080, 21111, 48022, 20832, 38672, 38672, 38672, 43215, 21139, 38672, 25530, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 21157, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 18776, 18792, 20360, 18810, 18830, 18835, 19257, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38666, 38672, 38672, 38672, 21880, 38671, 38672, 36460, 38672, 21173, 38661, 21224, 38672, 21231, 38672, 42738, 42750, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 21247, 38672, 38672, 38672, 28875, 38672, 38672, 21266, 38672, 38672, 21288, 21300, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 31059, 38672, 38672, 38672, 38672, 38672, 38672, 24860, 21316, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 18988, 50434, 18503, 18525, 21353, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 24749, 21390, 38672, 38672, 38672, 23220, 38672, 38672, 49687, 45814, 21411, 38672, 38672, 38672, 38672, 41859, 18366, 21448, 21478, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 21515, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 46185, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 21462, 21573, 21537, 21537, 21537, 21580, 21532, 21537, 21542, 21615, 21558, 21644, 21596, 21609, 21631, 21657, 21669, 21681, 20832, 38672, 38672, 38672, 21337, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 21697, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 30462, 38672, 38672, 38672, 22025, 23251, 38672, 22249, 23257, 42922, 30462, 38672, 21719, 21725, 21741, 21766, 21750, 21795, 38672, 38672, 38672, 46035, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 30475, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 24785, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 37115, 50393, 21856, 21832, 21850, 21834, 21872, 21896, 21908, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 21924, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 37301, 25812, 27394, 21985, 22003, 21985, 22017, 27392, 21987, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 42072, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 20981, 38672, 38672, 38672, 30470, 24643, 38672, 48413, 22054, 26165, 22041, 22070, 22074, 22074, 22090, 20979, 48442, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22114, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 47221, 22137, 22155, 22137, 22169, 47219, 22139, 22193, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 22230, 38672, 22247, 38672, 29641, 22265, 42072, 33771, 38672, 38672, 38672, 38672, 26929, 22475, 35267, 22475, 22475, 36544, 42277, 22411, 22411, 33858, 26727, 37227, 26727, 26727, 35540, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 18609, 24891, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 21432, 38031, 38672, 38672, 38672, 38672, 38672, 22291, 38672, 26931, 22311, 22475, 22475, 22475, 22475, 33849, 22352, 22411, 35447, 22411, 22411, 33324, 22381, 26727, 45449, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 30028, 38672, 38672, 22475, 36607, 22475, 22475, 28015, 33854, 22411, 22410, 22411, 22411, 27851, 26727, 45441, 26727, 26727, 22521, 33795, 38672, 38672, 22807, 38672, 38672, 28255, 22475, 22475, 38505, 29442, 22411, 22411, 34626, 26485, 26727, 26727, 26860, 26998, 22647, 38672, 38672, 22428, 26931, 48359, 22475, 42142, 32794, 22411, 28347, 37402, 26727, 22521, 32486, 38672, 18915, 38672, 22451, 22474, 36860, 37042, 22411, 22492, 22517, 22520, 26312, 34036, 26929, 42625, 42144, 35207, 26975, 22537, 26310, 35759, 22589, 36765, 22624, 22640, 22663, 22685, 22706, 39617, 42139, 28345, 26456, 39814, 47009, 22727, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 23092, 42922, 38672, 38672, 38672, 38672, 38672, 31140, 31152, 22751, 38672, 38672, 38672, 43215, 38672, 38672, 26131, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 27937, 27268, 22230, 38672, 38672, 38672, 29641, 38672, 40144, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 36544, 22411, 22411, 22411, 33858, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 18609, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 22803, 38672, 38672, 38672, 22886, 38672, 38672, 38672, 38672, 42922, 36439, 22823, 22844, 22866, 22878, 36438, 22828, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 41329, 38672, 22902, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 22923, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 23115, 42922, 38672, 38672, 38672, 38672, 38672, 26339, 22940, 22970, 38672, 38672, 38672, 43215, 38672, 38672, 23007, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 47631, 27268, 22230, 38672, 38672, 38672, 29641, 38672, 48650, 23029, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 36544, 22411, 22411, 22411, 33858, 26727, 26727, 26727, 26727, 30990, 42723, 23085, 38672, 38672, 38672, 38672, 38672, 23048, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 23072, 23108, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 46833, 22411, 22411, 22411, 22411, 22411, 47864, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 43252, 33854, 22411, 22411, 22411, 22411, 48185, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 18878, 38672, 38672, 38672, 35592, 32963, 38672, 38672, 23153, 42922, 37950, 35335, 23190, 23196, 23212, 38672, 41919, 23236, 23274, 38672, 38672, 45078, 23291, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 25157, 23483, 23350, 24209, 23309, 45351, 38672, 18269, 42564, 28228, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19821, 23376, 23336, 23369, 23392, 24203, 23434, 23465, 24172, 23726, 19833, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 18729, 23481, 23642, 24581, 23499, 23504, 24048, 23353, 23520, 23933, 23353, 24164, 23917, 24518, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 23536, 23854, 23815, 23561, 23577, 23632, 24450, 24255, 23689, 23658, 23674, 23716, 23742, 24268, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 23773, 23804, 23842, 24040, 23870, 23886, 23449, 23700, 23902, 23320, 23949, 23992, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 24027, 23545, 23592, 24064, 24137, 24459, 24094, 24110, 23407, 20069, 47383, 20010, 46515, 35979, 20039, 20679, 24126, 24567, 24482, 24153, 24188, 23616, 24225, 20191, 20207, 20223, 20259, 20298, 20337, 24284, 24078, 24374, 24300, 24330, 24314, 23418, 20424, 20452, 20468, 24361, 23826, 23606, 24390, 24419, 20532, 24435, 24475, 24498, 24628, 20608, 23750, 23928, 24403, 20644, 23757, 24508, 20660, 20054, 24345, 20695, 24537, 24597, 24613, 24552, 23788, 24240, 23964, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 39906, 38672, 38672, 38672, 30470, 24672, 38672, 38672, 24667, 26611, 24688, 24695, 24695, 24695, 24711, 26910, 24735, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 24765, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 20739, 24828, 48943, 18855, 18871, 18894, 40258, 24858, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19087, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 24876, 24922, 24938, 19905, 19631, 19046, 24954, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 24970, 18446, 19976, 19994, 19525, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 21250, 35576, 24999, 24999, 24999, 35584, 31668, 31680, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 25271, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 19887, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 50381, 27744, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 40452, 25015, 25015, 25015, 25023, 27746, 40454, 20832, 25047, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 25065, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 20310, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 50286, 50295, 38672, 38672, 38672, 23056, 38672, 38672, 38672, 38672, 42922, 44048, 25088, 25088, 25088, 25096, 46630, 44050, 25120, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 18699, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 25136, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 25152, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25173, 38672, 38672, 38672, 38672, 30470, 25218, 38672, 38672, 21395, 32346, 38672, 38672, 38672, 25210, 25237, 21393, 25221, 25256, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 22214, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19206, 20349, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 38672, 41563, 25293, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 34976, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 25437, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 30057, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 25455, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 40102, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 49130, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25482, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25500, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38220, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 25563, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 28464, 25582, 25594, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 21426, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25610, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 44752, 25631, 25649, 25671, 25683, 44753, 25633, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 35735, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 25717, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 38672, 38672, 24860, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 31997, 38672, 25754, 25760, 25776, 23293, 41839, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 25800, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 25828, 20548, 20592, 20589, 50171, 25844, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 25049, 38672, 38672, 38672, 22098, 25865, 25896, 25377, 25881, 25913, 30410, 30418, 25964, 25978, 25990, 26006, 26018, 25344, 45647, 38672, 26034, 48091, 26052, 33210, 26086, 26116, 26153, 26223, 35321, 26181, 25701, 26211, 26248, 26264, 43583, 44602, 26280, 26296, 26329, 38672, 38672, 38672, 30176, 26355, 38925, 41958, 22850, 24803, 38672, 44654, 30480, 22475, 22475, 22475, 36601, 25393, 22411, 22411, 43601, 22690, 26727, 26727, 26727, 39641, 30990, 39463, 38672, 43148, 28319, 38672, 29724, 26374, 19326, 38672, 38672, 32428, 40296, 38574, 45608, 22475, 22475, 26394, 26439, 26475, 26509, 22411, 37859, 28780, 26529, 38451, 26727, 26727, 43300, 45056, 22573, 30349, 25414, 26545, 38672, 26563, 38672, 40287, 48411, 38672, 26599, 35364, 28653, 26627, 31403, 45616, 49789, 33849, 44356, 22411, 30609, 28411, 41138, 33324, 35718, 26727, 47625, 44193, 29223, 41749, 42781, 38094, 28940, 38672, 21816, 21032, 26644, 38672, 47420, 26664, 22475, 41307, 22336, 31195, 39296, 22411, 22411, 26685, 31454, 47988, 26726, 26727, 30787, 32911, 36940, 26744, 38697, 46064, 38672, 26779, 26799, 26821, 22787, 22475, 23131, 26837, 37515, 22411, 36778, 26853, 26876, 26727, 33519, 46887, 26926, 38672, 38672, 26931, 37355, 35081, 26947, 38899, 38878, 26969, 48550, 26727, 26994, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 38555, 27014, 22600, 47761, 48246, 27057, 27076, 27094, 27113, 28343, 26456, 27133, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 27153, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 39378, 27172, 38672, 27196, 27202, 27218, 27234, 27246, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 27262, 42259, 26453, 27284, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 46100, 48405, 27326, 25277, 38672, 38672, 28258, 22475, 22475, 22475, 37137, 27346, 22411, 22411, 22411, 22411, 39760, 37334, 26727, 26727, 26727, 26727, 27410, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 27435, 38672, 38672, 33108, 38672, 49441, 22475, 22475, 22475, 38002, 42895, 22411, 22411, 22411, 22411, 27454, 27481, 26727, 26727, 26727, 43058, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 46997, 37168, 35831, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 27504, 38672, 38672, 22098, 38672, 27541, 38672, 27559, 23976, 27578, 27586, 27602, 27617, 27629, 27645, 27657, 25344, 38672, 38672, 27676, 44992, 38672, 22924, 38672, 38672, 38672, 38672, 38672, 38672, 27673, 50511, 27692, 47251, 26513, 26453, 41246, 27710, 25375, 29768, 38672, 38672, 32334, 38672, 27740, 38672, 27762, 27784, 38672, 25948, 27789, 27805, 27821, 22475, 22475, 27840, 27878, 22411, 22411, 22690, 27915, 27931, 26727, 26727, 30990, 39463, 44557, 38672, 38672, 44934, 38672, 38225, 48405, 33126, 27953, 38672, 38672, 27694, 47073, 35424, 37245, 22475, 35786, 48497, 47338, 42686, 30280, 22411, 37334, 37394, 27977, 27995, 43743, 26727, 32919, 30349, 25414, 38672, 38672, 24003, 38672, 30096, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 28013, 28031, 33849, 22411, 22411, 22411, 28053, 28070, 33324, 26727, 26727, 26727, 28092, 28109, 32918, 41804, 28131, 38672, 38672, 49206, 38672, 28149, 38672, 22475, 22475, 22475, 22780, 33754, 33854, 22411, 22411, 42031, 22411, 31454, 26727, 26727, 26727, 28171, 22521, 33795, 38672, 38672, 31346, 38672, 46687, 21493, 22475, 28191, 22475, 23131, 22411, 30274, 22411, 36778, 26727, 35228, 26727, 31599, 28213, 38672, 38672, 38672, 28250, 28274, 47411, 42142, 28296, 31494, 28347, 36728, 31954, 22521, 26313, 38672, 38672, 28317, 27136, 22475, 28335, 22411, 36897, 26977, 26727, 22564, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 28363, 28379, 28427, 28480, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 28504, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 24521, 38672, 38672, 22098, 38672, 28530, 45484, 38672, 46575, 28549, 28557, 28573, 28587, 28595, 28611, 28623, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 19750, 26547, 38672, 26546, 19755, 28639, 42141, 48492, 27360, 44280, 27268, 25375, 29257, 27180, 28679, 29641, 21703, 38672, 25730, 38672, 38083, 42329, 28697, 28734, 27137, 27824, 36531, 43498, 28750, 22608, 46434, 28774, 46408, 28796, 28814, 28833, 26727, 28849, 39463, 38672, 38672, 38672, 25738, 38672, 29761, 48405, 38672, 38672, 38672, 19698, 28258, 22475, 22475, 22475, 27023, 35786, 22411, 22411, 22411, 22411, 28891, 37334, 26727, 26727, 26727, 26727, 28912, 43066, 28929, 28956, 38672, 38672, 33876, 38672, 28992, 48411, 38672, 38672, 29009, 29030, 27032, 22475, 22475, 22669, 33849, 29109, 45393, 22411, 22411, 32729, 33324, 29133, 37067, 26727, 26727, 34717, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 29157, 38672, 29181, 22475, 22475, 29202, 33754, 43112, 22411, 22411, 32083, 22411, 34472, 29222, 26727, 26727, 29239, 22521, 33795, 38672, 29256, 29273, 38672, 29294, 28255, 32383, 27117, 29315, 23131, 44876, 34578, 42252, 36778, 44915, 26727, 29337, 26998, 46887, 21810, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 29370, 38672, 27136, 22475, 29387, 22411, 41041, 26977, 26727, 43751, 26312, 34036, 26929, 22475, 42144, 22411, 29411, 29240, 26310, 35759, 22476, 22411, 26978, 48196, 29430, 26953, 38544, 39617, 34809, 33567, 37775, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38673, 29464, 38672, 22098, 22435, 29483, 38672, 29506, 26195, 29530, 29540, 29556, 29570, 29582, 29598, 29610, 25344, 38672, 29626, 25072, 29668, 50094, 29711, 40102, 40331, 29748, 21064, 29784, 29812, 29843, 29873, 29903, 29919, 29957, 26423, 29973, 30010, 25375, 30044, 30091, 38782, 30112, 30134, 26137, 30161, 38672, 38672, 26583, 38672, 26929, 39099, 30212, 36878, 44806, 30228, 43650, 28758, 46842, 30244, 46765, 30296, 30317, 30336, 30384, 39463, 20089, 31354, 30434, 38799, 41183, 30450, 30496, 38672, 30542, 30564, 29278, 30580, 39823, 30631, 28663, 42103, 30647, 30685, 30712, 30766, 30811, 30837, 34161, 30878, 30901, 34681, 30930, 30980, 31006, 31022, 25414, 31049, 38672, 18321, 49090, 31075, 31094, 31128, 34195, 32584, 46802, 31168, 22475, 33645, 42347, 31190, 47486, 31211, 22411, 47598, 49959, 31232, 32841, 31257, 26727, 39569, 42011, 31278, 31335, 49499, 35851, 39273, 31370, 43966, 34186, 21188, 33468, 37601, 29186, 31389, 31426, 42239, 40895, 22411, 31442, 31481, 31454, 31519, 31539, 30795, 31561, 31595, 33795, 38672, 48757, 39401, 38672, 30196, 28255, 39519, 43549, 31615, 23131, 34822, 47675, 31635, 36778, 22546, 47769, 31572, 26998, 46887, 39201, 31656, 18290, 31696, 31734, 31750, 31772, 31808, 31845, 31869, 31903, 37385, 31919, 31970, 26378, 18593, 32021, 48908, 39526, 44237, 32042, 32063, 32099, 48723, 41712, 26312, 41270, 26929, 22475, 32144, 22411, 32167, 44894, 26310, 32185, 46276, 40692, 44326, 31465, 20435, 32208, 32228, 32248, 32274, 32295, 32319, 32362, 32399, 32415, 28257, 28345, 26459, 32457, 32473, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 32509, 38672, 22098, 32530, 32548, 43771, 30190, 32600, 32630, 38672, 32616, 32654, 32662, 32678, 32690, 25344, 38672, 38672, 48277, 43215, 38672, 38672, 38672, 38672, 29732, 38672, 38672, 32706, 29731, 26036, 33631, 42208, 32724, 38438, 44280, 27268, 25375, 21272, 38672, 38672, 31985, 38672, 38672, 38672, 26576, 32745, 36837, 38672, 26929, 32766, 22475, 22475, 22475, 32810, 32857, 22411, 22411, 22690, 27419, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 40108, 38672, 28258, 22475, 22475, 22475, 42113, 35786, 22411, 22411, 22411, 22411, 32877, 37334, 26727, 26727, 26727, 26728, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 32026, 38672, 26931, 22475, 22475, 46869, 22475, 22475, 33849, 22411, 22411, 39678, 22411, 22411, 33324, 26727, 26727, 41099, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 30118, 38672, 22475, 22475, 22475, 42121, 33754, 33854, 22411, 22411, 48685, 22411, 31454, 26727, 26727, 26727, 46758, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 36404, 38672, 38672, 38672, 44299, 22475, 42143, 31823, 22411, 32169, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 27097, 32897, 36362, 47020, 32935, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 25031, 38672, 38672, 43445, 32979, 32987, 33003, 33009, 33025, 33041, 33053, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 29467, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 33069, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 33103, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 33124, 38672, 18284, 28258, 22475, 22475, 22475, 22475, 40837, 22411, 22411, 22411, 22411, 22411, 34394, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 33142, 38672, 33163, 42808, 38672, 42803, 38566, 22475, 22475, 37994, 22475, 22475, 33849, 22411, 22411, 47479, 22411, 22411, 33324, 26727, 26727, 31312, 26727, 26727, 41720, 33181, 38672, 38672, 34958, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 34949, 49071, 38672, 28255, 22475, 22475, 29048, 29442, 22411, 22411, 43834, 26485, 26727, 26727, 49882, 26998, 33184, 33200, 40222, 33234, 22991, 22475, 33277, 33313, 50063, 43479, 33349, 26727, 33377, 32128, 26313, 33405, 26648, 22985, 33423, 33443, 35387, 48797, 34523, 33492, 40922, 33514, 26312, 34036, 46959, 32375, 33535, 33554, 33575, 35236, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 28488, 33591, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 32005, 38672, 38672, 33617, 38672, 38672, 38672, 30064, 38672, 30073, 38672, 30064, 33661, 30069, 38721, 42958, 22411, 33692, 33700, 33716, 25375, 38672, 38672, 25941, 29641, 33732, 20082, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 33752, 25393, 22411, 22411, 23137, 22690, 26727, 26727, 26727, 49362, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25615, 38672, 33770, 28258, 22475, 22475, 22475, 22475, 40491, 22411, 22411, 22411, 22411, 22411, 40736, 26727, 26727, 26727, 26727, 26727, 33787, 33803, 33407, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 33819, 48351, 22475, 22475, 22475, 22475, 33849, 46363, 22411, 22411, 22411, 22411, 33324, 48523, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 48282, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33840, 33854, 22411, 22411, 22411, 28403, 27851, 26727, 26727, 26727, 43360, 22521, 33795, 38672, 38672, 42813, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 33874, 21141, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 33892, 34036, 21208, 22475, 46215, 22411, 33914, 26727, 33935, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 42795, 38672, 22098, 25439, 25194, 32493, 40646, 40656, 38304, 38312, 33959, 33974, 33986, 34002, 34014, 25344, 38672, 38672, 38672, 49261, 33079, 38672, 38672, 23275, 34030, 34052, 38672, 34078, 34127, 34177, 34211, 38408, 34239, 34258, 29354, 34285, 25375, 38672, 38672, 36069, 29641, 38672, 34301, 38672, 38672, 38672, 34327, 24011, 26929, 47957, 34366, 22475, 34410, 34439, 34460, 34488, 32881, 44853, 22711, 39788, 26727, 49664, 34508, 39463, 38672, 28969, 45656, 28681, 19706, 18253, 38672, 26070, 26232, 47650, 46594, 28258, 42618, 22475, 45107, 34547, 44588, 22411, 34575, 22411, 34594, 34618, 34642, 27997, 26727, 35481, 34668, 34697, 32919, 33803, 38672, 38672, 38672, 44387, 34733, 34759, 38672, 38672, 38672, 26931, 34796, 22475, 22475, 22475, 34845, 34862, 31216, 22411, 22411, 37262, 22411, 34878, 31262, 26727, 26727, 28913, 26727, 34894, 33802, 38672, 34931, 35005, 30145, 35033, 35049, 30548, 35079, 26669, 35097, 35117, 35142, 44418, 22411, 35167, 35192, 43624, 31718, 26727, 43013, 39321, 47169, 35252, 30750, 31033, 38672, 35289, 35307, 35357, 32192, 22475, 35380, 35403, 34559, 22411, 35440, 35463, 30821, 35479, 35497, 35530, 35556, 35608, 38672, 38672, 24906, 47811, 35630, 37839, 28037, 35670, 48379, 27078, 35705, 48704, 22521, 26313, 33898, 38672, 35734, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 28514, 35751, 26929, 35782, 35802, 36916, 32303, 49941, 26310, 49171, 22476, 22411, 26978, 48196, 35867, 35883, 35899, 35915, 42139, 28345, 26456, 28257, 28343, 26456, 35951, 36348, 35941, 33538, 36362, 36357, 34905, 35967, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 33252, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 20573, 33260, 46302, 45557, 36019, 36031, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 34780, 22475, 25393, 22411, 22411, 36047, 22690, 26727, 26727, 36130, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 20243, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 36066, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 45849, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 36085, 22475, 22475, 22475, 22475, 33849, 36106, 22411, 22411, 22411, 22411, 33324, 36126, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 19729, 38672, 22098, 38672, 39473, 38672, 44217, 36146, 36184, 36196, 36212, 36218, 36234, 36250, 36262, 25344, 38672, 36278, 38672, 43215, 38672, 25421, 18575, 38672, 27438, 38672, 38672, 46139, 36299, 48111, 34141, 26409, 36335, 39145, 44169, 36378, 36420, 36455, 38672, 29371, 36476, 38672, 27543, 38672, 36498, 35844, 31373, 34743, 36516, 40527, 36565, 29321, 36586, 36623, 36646, 22411, 36676, 29093, 36714, 29346, 28817, 43388, 36750, 36802, 37724, 36836, 38672, 38672, 38672, 26061, 38672, 38672, 38672, 38672, 38672, 28258, 36853, 42951, 22475, 36876, 38513, 34492, 36894, 36913, 40984, 22411, 43282, 35514, 28798, 26727, 43717, 26727, 36932, 33803, 38672, 38672, 36956, 38672, 38672, 18909, 32575, 38672, 38672, 26931, 22475, 22475, 41976, 35273, 36992, 33849, 22411, 22411, 45307, 44424, 37025, 33324, 26727, 26727, 40875, 39885, 37058, 32918, 33802, 34967, 38672, 38672, 32750, 38672, 38672, 38672, 22475, 38401, 22475, 22475, 28015, 33854, 34444, 22411, 22411, 22411, 27851, 26727, 37091, 26727, 26727, 22521, 33795, 37110, 34940, 38672, 46173, 45770, 29014, 37131, 22475, 22475, 37153, 29988, 22411, 22411, 37195, 37219, 26727, 26727, 36392, 46887, 38346, 38672, 39265, 26931, 22475, 37243, 42142, 22411, 37261, 28347, 26727, 37278, 22521, 26313, 38672, 37296, 38672, 27136, 22475, 37317, 22411, 48861, 26977, 26727, 48595, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 35925, 29395, 39608, 37350, 37371, 26459, 33538, 37783, 48331, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 41939, 38672, 22098, 38672, 25566, 38672, 38672, 29887, 39046, 39054, 37418, 37432, 37440, 37456, 37468, 25500, 38672, 37493, 38672, 43215, 38672, 28533, 38672, 38672, 27562, 38672, 38672, 37494, 37484, 23258, 20853, 42141, 37510, 47612, 44280, 27268, 25375, 38672, 29490, 38672, 29641, 38672, 37531, 37550, 38672, 38672, 38672, 37570, 27517, 39732, 22475, 40520, 37590, 25393, 37627, 22412, 37898, 37646, 31523, 26727, 48530, 31241, 31792, 37683, 37699, 24812, 38672, 37723, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 37740, 22475, 37799, 22475, 35786, 45030, 31853, 36110, 22411, 22411, 37334, 31545, 34712, 40790, 26727, 26727, 32919, 33803, 38672, 21024, 48965, 38672, 38672, 33943, 28155, 37816, 38672, 26931, 46335, 37834, 22475, 27041, 22475, 34377, 49011, 37855, 22411, 33297, 22411, 27890, 39339, 37875, 26727, 27899, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 48203, 38672, 38672, 38672, 26931, 29057, 22475, 42142, 32786, 22411, 28347, 22555, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 37895, 26977, 49110, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 37914, 31619, 41895, 26978, 37938, 37974, 41757, 45432, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 36549, 37075, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 25240, 38672, 24719, 38672, 46651, 38018, 25104, 38054, 38118, 38157, 38142, 38161, 38126, 38177, 38189, 25344, 38672, 45759, 49561, 49547, 38205, 49199, 38672, 38241, 38259, 34062, 38289, 38328, 38371, 38273, 38387, 38424, 38467, 39556, 38529, 27268, 25375, 40213, 38672, 38672, 38590, 21779, 38672, 38614, 38641, 21123, 43234, 38689, 38713, 41522, 39725, 26628, 22475, 25393, 38737, 22411, 29117, 22690, 32232, 31319, 26727, 38753, 34652, 38772, 35341, 38672, 38798, 38815, 38672, 38672, 40618, 38672, 38672, 38672, 38840, 33601, 40485, 22475, 38858, 22475, 35786, 47683, 38876, 40856, 22411, 22411, 37334, 32114, 26727, 42187, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 24776, 38672, 36500, 33087, 26755, 48300, 22475, 22475, 22475, 46796, 41600, 49410, 22411, 22411, 22411, 38894, 29994, 47730, 26727, 26727, 26727, 46465, 44085, 32918, 33802, 38915, 38949, 38972, 38992, 38672, 39015, 39031, 44824, 39070, 29039, 39086, 28015, 33854, 39115, 39131, 22365, 39171, 27851, 40395, 48234, 48581, 49654, 22521, 39190, 33147, 39225, 26763, 39254, 38337, 41515, 31410, 48668, 36570, 39289, 44624, 49920, 36050, 39312, 46490, 26727, 39337, 39355, 46887, 39394, 38672, 20942, 22766, 22475, 39417, 21499, 22411, 39448, 25398, 26727, 39489, 22521, 47568, 38672, 38672, 46680, 45512, 39505, 42143, 39542, 32076, 39585, 39633, 39657, 35567, 35614, 26929, 29075, 42144, 39674, 26975, 39694, 26310, 35759, 35126, 47451, 29414, 27465, 39712, 39748, 39776, 39804, 46246, 41657, 47873, 28257, 28343, 26456, 28257, 28345, 26459, 39839, 39865, 36357, 34905, 30398, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 39901, 22098, 38672, 30368, 39922, 38672, 45211, 39942, 39950, 39966, 39980, 39988, 40004, 40016, 25344, 35063, 40032, 40048, 40074, 25784, 40124, 38672, 40160, 20023, 50351, 40199, 40238, 40274, 40312, 49237, 40347, 40363, 36660, 40411, 40427, 25375, 38672, 40443, 18661, 36161, 37534, 38672, 18669, 43864, 38672, 38672, 44690, 26929, 22475, 37009, 40470, 40507, 25393, 22411, 40543, 31503, 45950, 26727, 47993, 40578, 40601, 30990, 39463, 38672, 44715, 38672, 38672, 40617, 29165, 40634, 41441, 21201, 19353, 22907, 40672, 45368, 47429, 22475, 22475, 40708, 37034, 28896, 40724, 22411, 47891, 41633, 40762, 35506, 40782, 26727, 47175, 32919, 22394, 40806, 38672, 38654, 32566, 38672, 38672, 38672, 38672, 48740, 26931, 22475, 38860, 22475, 40833, 22475, 33849, 22411, 41060, 22411, 40853, 22411, 33324, 26727, 38756, 26727, 40872, 26727, 32918, 33802, 38672, 38672, 20973, 45998, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 22458, 40891, 22411, 22411, 22411, 22411, 40911, 26727, 26727, 26727, 26727, 22501, 33795, 23174, 18332, 38672, 38672, 38672, 40938, 22475, 40962, 22475, 40684, 22411, 40981, 22411, 31782, 26727, 49841, 26727, 26998, 28442, 38672, 38672, 38672, 26931, 41000, 41019, 42142, 41039, 41057, 28347, 41076, 41095, 22521, 44039, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 34915, 34036, 27330, 41115, 29084, 41137, 35817, 26727, 27724, 35759, 41154, 41218, 41701, 41262, 41286, 47258, 44155, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 28115, 33538, 27862, 36357, 34905, 46290, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 26904, 22098, 38672, 38672, 41323, 22275, 41345, 40139, 38672, 26358, 41381, 41394, 41410, 41422, 25344, 38672, 38672, 45842, 43215, 38672, 38672, 38672, 41438, 50256, 38672, 22231, 41440, 45848, 38672, 34773, 41457, 34829, 39879, 41487, 27268, 25375, 38102, 38672, 38672, 29641, 38672, 41538, 41554, 33261, 38672, 38672, 36430, 26929, 41579, 35101, 34846, 45533, 41616, 41649, 40556, 45401, 41673, 41736, 41773, 26727, 41789, 40746, 42656, 41831, 38672, 41855, 41875, 32532, 32708, 46542, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 41594, 22475, 35786, 22411, 22411, 22411, 41893, 22411, 37334, 26727, 26727, 37094, 26727, 26727, 32919, 27373, 41911, 29299, 38672, 38672, 38672, 41935, 25466, 38672, 41955, 26931, 22475, 41121, 41974, 22475, 22475, 34152, 22411, 46370, 41992, 22411, 22411, 30778, 26727, 31887, 42009, 26727, 26727, 32918, 33802, 38243, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 48461, 22475, 28015, 42027, 22411, 22411, 42047, 22411, 37764, 26727, 26727, 48819, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 22208, 38672, 18340, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 28175, 42067, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 30944, 42088, 42137, 42160, 42180, 48196, 42203, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 31078, 38672, 38672, 32435, 32438, 32441, 42224, 25897, 46967, 28280, 42275, 42293, 31579, 27268, 42319, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 46624, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 41023, 22411, 22411, 22411, 22411, 22411, 42864, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 42345, 42143, 29941, 22411, 26977, 42363, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 44743, 22177, 38672, 38672, 27385, 38672, 45876, 42383, 22121, 42412, 42425, 42433, 42449, 42461, 25344, 38672, 32955, 42527, 43215, 18706, 42477, 42499, 33244, 42519, 38672, 42543, 40174, 42559, 42580, 42605, 42641, 42672, 40377, 42708, 42766, 25375, 38672, 38672, 38672, 42829, 42880, 42911, 43973, 27961, 38672, 38672, 23013, 42938, 22475, 42974, 41003, 39432, 42995, 32861, 22411, 36698, 35176, 43029, 43292, 26727, 43049, 43082, 43138, 38672, 38672, 38672, 25328, 43172, 43191, 38672, 43210, 28234, 38672, 43231, 48341, 22475, 43250, 22475, 22325, 43268, 47118, 39174, 22411, 22411, 43316, 43332, 43358, 40585, 26727, 37280, 43376, 43410, 33803, 38672, 38672, 41815, 45184, 39238, 30360, 38672, 43434, 50186, 43461, 43495, 48777, 43514, 43538, 22475, 43573, 43599, 31640, 43617, 43640, 22411, 43666, 43692, 49367, 43710, 43733, 26727, 47922, 33802, 43767, 38672, 38672, 43787, 43812, 38672, 43850, 50024, 43886, 43557, 22475, 28015, 33854, 43908, 34242, 22411, 22411, 27851, 46470, 43935, 44079, 26727, 39658, 43953, 38672, 43989, 21331, 38672, 38672, 33824, 22475, 22475, 49385, 34223, 22411, 22411, 22411, 44011, 26727, 26727, 26727, 44027, 46887, 19958, 38672, 38672, 50007, 22475, 22475, 28197, 22411, 22411, 44066, 26727, 26727, 44101, 26313, 20872, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26890, 47793, 44124, 44140, 44185, 44209, 20435, 28340, 26976, 33389, 44233, 44253, 44277, 44296, 28343, 26456, 28257, 28345, 26459, 44315, 44342, 38482, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 18636, 22098, 44386, 29857, 38069, 44372, 44403, 44440, 44464, 44480, 44494, 44510, 44526, 44538, 25344, 44554, 46908, 38672, 40088, 38672, 38672, 41365, 38672, 43156, 26783, 26781, 47212, 47203, 34311, 44573, 42979, 44618, 41232, 44280, 27268, 44640, 44676, 38672, 44712, 29827, 28456, 38672, 38672, 38672, 44731, 44769, 38672, 40058, 44785, 40965, 44822, 22475, 44840, 44869, 48063, 22411, 22690, 39155, 44892, 44910, 26727, 30990, 39463, 38672, 44931, 38672, 44950, 44971, 38672, 38672, 38672, 38672, 38672, 44987, 28258, 45008, 41301, 22475, 22475, 37611, 28054, 22411, 45028, 22411, 22411, 45046, 30301, 30320, 26727, 26727, 28093, 30742, 33803, 38672, 38672, 45072, 32638, 30075, 38672, 46548, 37818, 38672, 42396, 22475, 22475, 47037, 45094, 33476, 49452, 22411, 22411, 49585, 32047, 36630, 35654, 26727, 26727, 39696, 33919, 26493, 44108, 45157, 32514, 38672, 49604, 38672, 38672, 38672, 45200, 22475, 22475, 43892, 45227, 28015, 33854, 22411, 41993, 40562, 22411, 27851, 26727, 26727, 32834, 45248, 22521, 33795, 38672, 22295, 45267, 19361, 38672, 28255, 36090, 22475, 45286, 43473, 42051, 22411, 45304, 43005, 43694, 26727, 49877, 26998, 46887, 38672, 50299, 46144, 45323, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 49054, 26313, 45345, 36168, 40817, 45367, 22475, 45384, 22411, 30669, 26977, 26727, 45417, 45465, 36482, 45500, 45528, 32279, 22411, 44261, 26727, 45549, 35759, 34423, 35689, 37179, 48196, 20435, 28340, 26976, 27310, 33427, 47309, 26456, 32258, 46222, 29141, 45599, 45573, 45589, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 42503, 22098, 38672, 38672, 19843, 38672, 45632, 29682, 29695, 45672, 45688, 45703, 45719, 45731, 25344, 25697, 36820, 25484, 43215, 48936, 33218, 45747, 38933, 25691, 45794, 45830, 45905, 45865, 45892, 45921, 30595, 45937, 41471, 45980, 45966, 25375, 45996, 46014, 46030, 34093, 38672, 38672, 46051, 24794, 46090, 46124, 46160, 46201, 46238, 46262, 46318, 46334, 46351, 46386, 26710, 46424, 30615, 39597, 40389, 46450, 46486, 30259, 41502, 46506, 46564, 38672, 46591, 46610, 46646, 38672, 45270, 33165, 46667, 46703, 46719, 46781, 46818, 46866, 45012, 35786, 47344, 42692, 28076, 22411, 34531, 37334, 42303, 43342, 43676, 26727, 37661, 41688, 46885, 38672, 46904, 39209, 44660, 46924, 28976, 46946, 38672, 30957, 20847, 49903, 46983, 47036, 22475, 47053, 33288, 31829, 47089, 22411, 22411, 47105, 35219, 43394, 47140, 26727, 26727, 47156, 32918, 33802, 47191, 38672, 41877, 37707, 38672, 50210, 38598, 47237, 45288, 47274, 47290, 28015, 43827, 47306, 47325, 28394, 29934, 30696, 36786, 37667, 47360, 43033, 22521, 43418, 47376, 50112, 38672, 38355, 49147, 28255, 47399, 22475, 22475, 47445, 47467, 34602, 22411, 47502, 47526, 50046, 26727, 47556, 46887, 36283, 49516, 38672, 48840, 29206, 44799, 47584, 47703, 30662, 30727, 45251, 31880, 34269, 39367, 47647, 38672, 49567, 38494, 40946, 47666, 47699, 47719, 39849, 48630, 47746, 32945, 47785, 47809, 47827, 47850, 47889, 47907, 48880, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 49752, 49772, 47949, 47973, 48009, 48038, 49034, 30862, 33538, 36362, 36357, 47933, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 48079, 38672, 38672, 48107, 38672, 19671, 30510, 30518, 48127, 30518, 30526, 48143, 48155, 25344, 38672, 38672, 38672, 44955, 38672, 29647, 38672, 38672, 38672, 38672, 29652, 46888, 38672, 38672, 45329, 35643, 48171, 30851, 45141, 48219, 48262, 38672, 38672, 38672, 29641, 38672, 38672, 50200, 50208, 38672, 38672, 38672, 48298, 33458, 22475, 22475, 22475, 48316, 48375, 22411, 22411, 28301, 37203, 26727, 26727, 26727, 30914, 41169, 48395, 38672, 34989, 34103, 38672, 38672, 38672, 48429, 38672, 34985, 36969, 28258, 49732, 31174, 47066, 48458, 46734, 22411, 37326, 35682, 48477, 41625, 48513, 26727, 48546, 48566, 33498, 48611, 32919, 33803, 38672, 32557, 38672, 48646, 38672, 38672, 38672, 19786, 38672, 26931, 22475, 48666, 22475, 22475, 22475, 32777, 22411, 48684, 22411, 22411, 22411, 31945, 26727, 48701, 26727, 26727, 26727, 32918, 33361, 38672, 45778, 38672, 38672, 38672, 38672, 41194, 35417, 22475, 22475, 22475, 28015, 42844, 22411, 22411, 22411, 22411, 27851, 48720, 26727, 26727, 26727, 22521, 33795, 48739, 38672, 38672, 48756, 38672, 35766, 48773, 22475, 22475, 45119, 48793, 22411, 42164, 43122, 48813, 26727, 43937, 26998, 46887, 48835, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 43522, 42144, 48856, 26975, 48877, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 20436, 32151, 30885, 28257, 28345, 26459, 33538, 22735, 48896, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 48924, 48962, 36314, 45181, 38672, 50538, 38672, 45169, 48959, 38038, 34111, 48981, 48993, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 27525, 42141, 49009, 31292, 44280, 27268, 25375, 38672, 36812, 40252, 29641, 38672, 38672, 38672, 38672, 43194, 38672, 38672, 26929, 45232, 22475, 37800, 22475, 25393, 49027, 22411, 46850, 22690, 27979, 26727, 26727, 49050, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 49070, 38672, 38672, 49087, 38672, 28258, 22475, 49810, 22475, 22475, 35786, 22411, 22411, 34386, 22411, 22411, 37334, 26727, 26727, 49106, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 49126, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 49146, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 49163, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 49187, 38672, 21516, 38672, 20816, 49222, 49253, 38672, 49277, 49291, 49304, 49320, 49332, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 31934, 32212, 26453, 47540, 49348, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 43175, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 35291, 38672, 38672, 38672, 36319, 22475, 22475, 22475, 22475, 22475, 31707, 22411, 22411, 22411, 22411, 22411, 45130, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38842, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 49383, 22475, 49401, 33854, 22411, 42856, 22411, 47124, 27851, 26727, 41079, 26727, 26727, 49426, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25610, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 41202, 49468, 49480, 25344, 38672, 38672, 38672, 43215, 49496, 38672, 49515, 38672, 38672, 46071, 46074, 38672, 49532, 28993, 37922, 42141, 49583, 32824, 44280, 27268, 25375, 38672, 38672, 46108, 29641, 46524, 46533, 49601, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 49620, 37001, 25393, 22411, 29448, 22411, 49639, 26727, 26727, 48625, 36734, 30990, 43097, 49680, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 49703, 38672, 38672, 26931, 22475, 22475, 49727, 22475, 22475, 48053, 22411, 22411, 49748, 22411, 22411, 46748, 26727, 26727, 49768, 26727, 26727, 32918, 33802, 20903, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 49788, 22475, 22475, 28015, 33854, 26700, 22411, 22411, 22411, 27851, 42367, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 45477, 38672, 38672, 43215, 38672, 38672, 49711, 38672, 38672, 38672, 49707, 38672, 38672, 27156, 49805, 37753, 37630, 26453, 49986, 49826, 25375, 38672, 20236, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 28133, 26929, 22475, 22475, 22475, 47834, 25393, 22411, 22411, 22411, 49862, 26727, 26727, 26727, 37879, 30990, 39463, 38672, 45808, 38672, 38672, 38672, 38672, 38672, 38672, 29514, 38672, 38672, 28258, 49898, 22475, 31756, 22475, 35786, 22411, 49919, 22411, 36688, 22411, 37334, 40766, 26727, 26727, 49936, 26727, 32919, 33803, 38672, 25655, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 37984, 22475, 22475, 22475, 35151, 22411, 46398, 22411, 22411, 22411, 43919, 26727, 31302, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38999, 38672, 22475, 22475, 26805, 22475, 49623, 33854, 22411, 22411, 49957, 22411, 49975, 26727, 26727, 47510, 26727, 49846, 33795, 38672, 38672, 18612, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 30025, 38672, 38672, 50002, 26931, 50023, 22475, 27060, 22411, 22411, 28347, 50040, 26727, 22521, 26313, 38672, 40323, 38672, 27136, 29066, 42143, 22411, 50062, 26977, 27488, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 41360, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 34339, 19585, 19583, 40183, 33676, 50079, 27766, 27768, 50110, 33673, 34350, 50128, 50140, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 25515, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 20613, 18794, 19200, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 18475, 50434, 18503, 18525, 50156, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 20273, 38672, 42922, 31104, 31112, 50226, 50240, 50248, 42483, 50272, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 25547, 38672, 38672, 25544, 18953, 18958, 18794, 35998, 18531, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 42589, 38672, 38672, 38672, 38672, 24842, 35017, 50315, 50319, 50335, 50343, 43995, 50367, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 25359, 38672, 38672, 23171, 38672, 38672, 38672, 23167, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19075, 50434, 18503, 18525, 50409, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 38672, 38672, 24860, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 22230, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 36544, 22411, 22411, 22411, 33858, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38956, 38672, 38672, 29796, 50456, 50460, 50460, 50482, 38955, 50476, 50498, 38672, 38672, 38672, 38672, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 38672, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 18475, 50434, 18503, 18525, 50156, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 50527, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 26100, 20548, 20592, 20589, 50171, 18953, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 94505, 94505, 90408, 90408, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 1, 12290, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 0, 94505, 90408, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 364, 94505, 90408, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 69632, 73728, 94505, 94505, 94505, 94505, 94505, 65536, 94505, 3, 0, 0, 2183168, 0, 0, 0, 90408, 94505, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 1636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, 0, 0, 2732032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2904064, 2908160, 0, 0, 0, 0, 0, 1699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2963, 0, 0, 0, 0, 0, 2424832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2625536, 0, 0, 0, 0, 0, 2045, 0, 0, 0, 0, 2049, 0, 0, 0, 0, 0, 0, 0, 2711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2976, 0, 534, 534, 534, 534, 534, 2699264, 2715648, 0, 0, 2772992, 2805760, 2830336, 0, 2863104, 2920448, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 303, 0, 303, 303, 303, 303, 0, 2805760, 2920448, 0, 0, 0, 0, 0, 2920448, 0, 0, 0, 0, 0, 0, 0, 2732032, 0, 2179072, 2179072, 2179072, 2179072, 2424832, 2433024, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3125248, 2625536, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2699264, 2179072, 2715648, 2179072, 2723840, 2179072, 2732032, 2772992, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2551808, 2125824, 2125824, 2125824, 2125824, 2125824, 2637824, 2125824, 2179072, 2179072, 2805760, 2179072, 2830336, 2179072, 2179072, 2863104, 2179072, 2179072, 2179072, 2179072, 2920448, 2179072, 2179072, 2179072, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 0, 2502656, 0, 0, 3010560, 0, 0, 0, 0, 2990080, 2179072, 2179072, 2699264, 2125824, 2715648, 2125824, 2723840, 2125824, 2732032, 2772992, 2125824, 2125824, 2125824, 2805760, 2125824, 2830336, 2125824, 2125824, 2863104, 2125824, 2125824, 2125824, 2125824, 2920448, 2863104, 2125824, 2125824, 2125824, 2125824, 2920448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 1142784, 0, 2179072, 2125824, 2125824, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 975, 2125824, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2547712, 2596864, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 735, 0, 741, 0, 0, 0, 2789376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3137, 0, 0, 2142208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 2662400, 0, 2813952, 0, 0, 0, 0, 2375680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 351, 352, 0, 0, 0, 0, 2584576, 0, 0, 0, 0, 2838528, 0, 0, 2838528, 0, 0, 0, 0, 0, 0, 0, 0, 1122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, 0, 2891776, 0, 0, 0, 0, 0, 2392064, 2412544, 0, 0, 2838528, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2408448, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 0, 2126724, 2126724, 2617344, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2662400, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2584576, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2801664, 2813952, 2179072, 2838528, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 1798, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2662400, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2801664, 2813952, 2125824, 2838528, 2125824, 2813952, 2125824, 2838528, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3125248, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2822144, 0, 0, 2883584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3080192, 3100672, 3104768, 0, 0, 0, 0, 3186688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 2797568, 0, 0, 0, 0, 0, 0, 0, 2850816, 2867200, 0, 0, 2883584, 0, 0, 0, 0, 0, 2072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3134, 0, 0, 0, 0, 2465792, 0, 0, 2719744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014656, 3207168, 0, 2691072, 0, 0, 3215360, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2461696, 2465792, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2523136, 2179072, 2179072, 2179072, 0, 1342, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473984, 2478080, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2600960, 2179072, 2179072, 2179072, 2179072, 2641920, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 1047, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3035136, 2125824, 2125824, 3072000, 2125824, 2125824, 2125824, 3121152, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2179072, 2179072, 2719744, 2179072, 2179072, 2179072, 2179072, 2179072, 2768896, 2777088, 2781184, 2797568, 2822144, 2179072, 2179072, 2179072, 0, 900, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 298, 0, 299, 0, 302, 0, 303, 0, 0, 0, 2473984, 2478080, 2179072, 3063808, 2179072, 2179072, 2179072, 2179072, 3100672, 2179072, 2179072, 3133440, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2551808, 2179072, 2179072, 2179072, 2179072, 2179072, 2637824, 2179072, 2179072, 2179072, 2179072, 3207168, 2179072, 0, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2719744, 2125824, 2125824, 2125824, 2125824, 2125824, 2768896, 2777088, 2781184, 2797568, 2822144, 2125824, 2125824, 2125824, 2883584, 2179072, 2912256, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3039232, 2125824, 2912256, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3039232, 2125824, 2125824, 0, 2125824, 2126799, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 245760, 0, 0, 2179072, 2125824, 2125824, 3063808, 2125824, 2125824, 2125824, 2125824, 2125824, 3100672, 2125824, 2125824, 3133440, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 2457600, 2179072, 2179072, 2179072, 2179072, 2457600, 2125824, 2125824, 2125824, 3207168, 2125824, 0, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 1894, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 3207168, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 0, 2924544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162112, 3170304, 0, 0, 3219456, 3035136, 0, 0, 0, 0, 0, 3072000, 2650112, 0, 0, 2809856, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 1654, 0, 2686976, 2736128, 0, 0, 2531328, 2707456, 0, 3190784, 0, 0, 2576384, 0, 0, 0, 0, 0, 0, 0, 1688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 3121152, 3141632, 0, 0, 0, 2924544, 0, 2682880, 0, 0, 0, 0, 0, 0, 3112960, 2387968, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2453504, 2179072, 2473984, 2482176, 2179072, 2179072, 2179072, 0, 901, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2531328, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2605056, 2179072, 2629632, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2527232, 2125824, 2125824, 2125824, 2125824, 2125824, 3092480, 2125824, 2527232, 2125824, 2650112, 2179072, 2179072, 2179072, 2707456, 2179072, 2736128, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2887680, 2179072, 2125824, 2125824, 2125824, 2125824, 2441216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932736, 2179072, 2924544, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3035136, 2179072, 2179072, 3072000, 2179072, 2125824, 2658304, 2973696, 2125824, 2125824, 2658304, 2973696, 2125824, 2711552, 2560000, 2179072, 2560000, 2125824, 2560000, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 975, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 1047, 0, 0, 2179072, 2125824, 2125824, 2179072, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 2125824, 2125824, 3190784, 3194880, 2125824, 0, 0, 0, 0, 0, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2707456, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2887680, 2125824, 2125824, 2924544, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2125824, 2125824, 3190784, 3194880, 2125824, 2179072, 2125824, 2125824, 2179072, 2125824, 2125824, 2179072, 2125824, 2125824, 2985984, 2985984, 2985984, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 419, 419, 0, 0, 65536, 419, 2179072, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 0, 0, 0, 0, 0, 0, 0, 1701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1624, 0, 0, 0, 0, 0, 0, 0, 3022848, 0, 0, 3145728, 0, 3203072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 3067904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445312, 0, 2842624, 0, 0, 0, 2637824, 0, 0, 0, 0, 2621440, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727936, 0, 0, 0, 3084288, 3182592, 2899968, 0, 2961408, 0, 0, 2179072, 2179072, 2416640, 2179072, 2179072, 2179072, 2445312, 2179072, 2179072, 2179072, 0, 901, 2126724, 2126724, 2126724, 2126724, 2126724, 2425732, 2433924, 2126724, 2126724, 2126724, 2126724, 2458574, 2126798, 2126798, 2126798, 2126798, 2183168, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, 0, 396, 0, 0, 2179072, 2179072, 2179072, 2727936, 2752512, 2179072, 2179072, 2179072, 2842624, 2846720, 2179072, 2895872, 2916352, 2179072, 2179072, 2945024, 2179072, 2179072, 2994176, 2179072, 3002368, 2179072, 2179072, 3022848, 2179072, 3067904, 3084288, 3096576, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 237568, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2605056, 2125824, 2629632, 2125824, 2125824, 2650112, 2125824, 2125824, 2125824, 2707456, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 3223552, 0, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2125824, 2600960, 2125824, 2125824, 2125824, 2125824, 2641920, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940, 0, 2637824, 2125824, 2125824, 2125824, 2125824, 2727936, 2752512, 2125824, 2125824, 2125824, 2125824, 2842624, 2846720, 2125824, 2895872, 2916352, 2125824, 2125824, 2125824, 2125824, 2945024, 2125824, 2125824, 2994176, 2125824, 3002368, 2125824, 2125824, 3022848, 2125824, 3067904, 3084288, 2125824, 3096576, 2125824, 2125824, 0, 0, 0, 2928640, 0, 0, 0, 3059712, 0, 2543616, 2666496, 0, 2633728, 0, 0, 0, 0, 0, 0, 766, 767, 0, 0, 0, 754, 0, 0, 774, 0, 2179072, 2179072, 2179072, 2494464, 2179072, 2179072, 2514944, 2179072, 2179072, 2179072, 2543616, 2547712, 2179072, 2179072, 2596864, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 2593668, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126798, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2547712, 2596864, 0, 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 1566, 0, 0, 0, 2179072, 2179072, 3059712, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2928640, 2125824, 2125824, 2125824, 2998272, 2125824, 2125824, 2125824, 2125824, 3059712, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 2125824, 2125824, 2502656, 2125824, 2125824, 2125824, 2494464, 2125824, 2125824, 2514944, 2125824, 2125824, 2125824, 2543616, 2547712, 2125824, 2125824, 2596864, 2125824, 2125824, 2125824, 2125824, 2125824, 3059712, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3178496, 2179072, 2125824, 2125824, 2179072, 2126724, 2126724, 2126798, 2126798, 2441216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932736, 2965504, 0, 0, 3076096, 0, 0, 2695168, 3174400, 2646016, 2613248, 2703360, 0, 0, 0, 0, 2977792, 0, 0, 3047424, 3129344, 0, 2981888, 2396160, 0, 3153920, 0, 0, 0, 2740224, 0, 0, 0, 0, 0, 0, 1106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 2793472, 0, 0, 0, 0, 0, 2469888, 2506752, 2756608, 0, 0, 2580480, 0, 0, 0, 0, 0, 0, 1146880, 0, 1146880, 0, 0, 0, 0, 0, 0, 0, 302, 302, 302, 302, 0, 302, 302, 302, 302, 0, 2396160, 2400256, 2179072, 2179072, 2441216, 2179072, 2469888, 2179072, 2179072, 2179072, 2519040, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 241664, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 2179072, 2125824, 2125824, 2179072, 2179072, 2125824, 2125824, 2125824, 2588672, 2179072, 2613248, 2646016, 2179072, 2179072, 2695168, 2756608, 2179072, 2179072, 2179072, 2932736, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 245760, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2584576, 2125824, 2125824, 2125824, 2125824, 2125824, 2617344, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2662400, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2396160, 2400256, 2125824, 2125824, 2441216, 2125824, 2469888, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2588672, 2125824, 2613248, 2646016, 2125824, 2125824, 2695168, 2756608, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3503, 2953216, 0, 0, 2826240, 3158016, 2428928, 0, 3018752, 2764800, 2572288, 0, 0, 3051520, 2179072, 2428928, 2437120, 2179072, 2486272, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2654208, 2678784, 2760704, 2764800, 2854912, 2969600, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2125824, 2428928, 2437120, 2125824, 2486272, 2125824, 2125824, 2125824, 2125824, 2125824, 2654208, 2678784, 2760704, 2764800, 2785280, 2854912, 2969600, 2125824, 3006464, 2125824, 3018752, 2125824, 2125824, 2125824, 2125824, 3149824, 2179072, 3051520, 2125824, 3051520, 2125824, 3051520, 0, 2490368, 2498560, 0, 0, 0, 0, 2875392, 0, 0, 0, 3132, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 2179072, 2179072, 2179072, 2555904, 2564096, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3137536, 2125824, 2125824, 2125824, 2125824, 2457600, 2125824, 2125824, 2125824, 2125824, 2183168, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 333, 0, 0, 2125824, 3137536, 2125824, 2125824, 2498560, 2125824, 2125824, 2125824, 2555904, 2564096, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3132, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2126725, 2125824, 2125824, 2125824, 2502656, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2125824, 2125824, 2502656, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2126724, 2126724, 2503556, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2592768, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3117056, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2928640, 2179072, 2179072, 2179072, 2998272, 2179072, 2179072, 3031040, 0, 0, 0, 2179072, 2449408, 2179072, 2535424, 2179072, 2609152, 2179072, 2859008, 2179072, 2179072, 2179072, 3031040, 2125824, 2449408, 2125824, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 3031040, 2125824, 2125824, 2449408, 2125824, 2125824, 2125824, 2125824, 2461696, 2465792, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2523136, 2125824, 2125824, 2125824, 298, 0, 0, 0, 298, 0, 299, 0, 0, 0, 299, 0, 302, 2125824, 2125824, 2125824, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 3026944, 2539520, 0, 2949120, 2179072, 2658304, 2973696, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 452, 452, 111044, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 452, 111044, 111044, 111044, 111044, 111044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 360, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2124, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 847, 534, 534, 861, 534, 534, 0, 302, 118784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3127, 0, 0, 0, 302, 0, 0, 0, 302, 119197, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 302, 0, 0, 0, 0, 302, 302, 302, 302, 302, 302, 0, 0, 0, 0, 0, 302, 0, 302, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2966, 0, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 33396, 299, 0, 2134016, 49784, 303, 0, 0, 0, 0, 0, 2428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 302, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 2105631, 12290, 3, 0, 0, 293, 0, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 2024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 790, 0, 793, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 147456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 0, 1067, 1071, 0, 0, 1075, 1079, 0, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 131072, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2479, 2437, 0, 0, 0, 0, 0, 2484, 0, 0, 0, 0, 0, 0, 1675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3260, 0, 0, 534, 534, 534, 131072, 0, 0, 131072, 131072, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 131072, 0, 0, 131072, 0, 0, 0, 0, 0, 135168, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225708, 0, 0, 0, 135168, 0, 0, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 135168, 135168, 135168, 135168, 135168, 135168, 0, 135168, 135168, 135168, 135168, 135168, 135168, 0, 0, 0, 0, 0, 135168, 0, 135168, 1, 12290, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 629, 630, 0, 2134016, 633, 634, 0, 0, 0, 0, 0, 2725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200245, 2200245, 2200245, 0, 0, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 1434, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3129344, 2125824, 2125824, 3153920, 3166208, 3174400, 2506752, 2506752, 2506752, 0, 303, 139264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 303, 0, 0, 0, 303, 69632, 139681, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2013, 0, 0, 0, 0, 303, 303, 303, 303, 303, 303, 0, 0, 0, 0, 0, 303, 0, 303, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 298, 33399, 0, 2134016, 302, 49787, 0, 0, 0, 0, 0, 2763, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 3020, 556, 556, 556, 61440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 300, 300, 300, 143660, 370, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 143660, 300, 300, 143660, 300, 300, 300, 143730, 300, 300, 300, 143730, 69632, 73728, 300, 300, 143660, 300, 300, 65536, 300, 300, 0, 0, 300, 300, 143660, 300, 300, 300, 300, 300, 300, 300, 300, 300, 365, 300, 0, 143660, 300, 300, 300, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 300, 300, 143660, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 143730, 300, 300, 300, 300, 300, 300, 300, 300, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 300, 300, 300, 300, 300, 300, 300, 300, 143660, 300, 143660, 143660, 143660, 143660, 300, 143660, 143660, 143660, 143660, 143660, 143660, 300, 0, 300, 0, 300, 300, 300, 143660, 300, 143660, 143660, 143660, 143660, 143660, 143730, 143660, 143730, 143730, 143730, 143730, 143730, 143730, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 1, 12290, 0, 0, 0, 0, 2200245, 2200245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1153, 1154, 0, 0, 0, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 0, 12290, 0, 0, 0, 0, 155648, 0, 155648, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 1148, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 3, 0, 0, 2183168, 126976, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 159744, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 159744, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 131072, 131072, 25155, 0, 0, 0, 159744, 0, 0, 0, 25155, 25155, 25155, 159744, 25155, 25155, 25155, 25155, 25155, 25155, 25155, 159744, 159744, 159744, 159744, 25155, 159744, 25155, 1, 12290, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 24576, 975, 2125824, 2125824, 2125824, 2125824, 3092480, 0, 0, 0, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2449408, 0, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 3031040, 2125824, 2527232, 0, 0, 0, 2179072, 2527232, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 1, 12290, 167936, 167936, 167936, 0, 0, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 155648, 0, 172032, 172032, 0, 172032, 0, 0, 172032, 172032, 0, 172032, 0, 0, 0, 0, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 172032, 172032, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 0, 1, 288, 3, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 1, 0, 176128, 176128, 176128, 0, 0, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 347, 3, 78114, 78114, 292, 0, 627, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 78114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 1102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 1146, 0, 0, 0, 0, 1151, 0, 0, 0, 0, 0, 0, 0, 346, 0, 404, 0, 0, 0, 0, 0, 404, 0, 0, 0, 2098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2717, 0, 0, 534, 2135, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2147, 534, 534, 534, 534, 534, 534, 1775, 534, 534, 534, 1780, 534, 534, 534, 534, 534, 534, 534, 2545, 534, 534, 534, 534, 534, 534, 0, 2549, 2220, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2232, 556, 556, 556, 556, 556, 556, 2590, 556, 556, 556, 556, 556, 556, 2598, 556, 556, 2307, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2319, 580, 580, 580, 0, 0, 0, 2006, 0, 1069, 0, 0, 0, 2008, 0, 1073, 0, 2573, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1396, 0, 0, 2955, 0, 0, 0, 2959, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 372, 0, 0, 0, 534, 3150, 534, 534, 534, 3153, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2547, 534, 534, 534, 0, 0, 3161, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 580, 3206, 580, 580, 580, 3209, 580, 580, 580, 580, 580, 580, 580, 580, 2679, 580, 580, 580, 534, 580, 556, 534, 580, 580, 3217, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 580, 580, 3309, 580, 580, 580, 580, 3310, 3311, 580, 580, 580, 580, 580, 580, 580, 580, 2875, 580, 580, 580, 580, 580, 580, 580, 580, 3071, 580, 580, 580, 580, 580, 580, 580, 580, 3233, 580, 580, 580, 580, 534, 580, 556, 1993, 534, 534, 534, 1997, 556, 556, 556, 2001, 534, 534, 534, 3339, 534, 534, 534, 534, 534, 534, 3345, 534, 534, 534, 534, 556, 3407, 556, 3409, 556, 556, 556, 556, 556, 556, 556, 556, 1373, 556, 556, 556, 556, 556, 556, 556, 3364, 556, 580, 580, 580, 580, 580, 580, 3370, 580, 580, 580, 580, 580, 580, 3376, 580, 580, 580, 3380, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2925, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 3391, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2198, 534, 2200, 534, 534, 534, 534, 534, 534, 3406, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 556, 556, 556, 556, 3422, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1449, 580, 580, 580, 580, 580, 580, 580, 3522, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 3585, 534, 556, 556, 3, 78114, 78114, 292, 0, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2973, 0, 0, 2975, 0, 0, 534, 534, 2980, 534, 534, 534, 534, 534, 534, 2532, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2793, 534, 534, 534, 534, 534, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732, 0, 0, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 0, 192965, 0, 1, 12290, 192965, 192965, 192965, 0, 0, 192965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 0, 192965, 192965, 192965, 192965, 192965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1582, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 727, 406, 406, 406, 406, 406, 406, 0, 0, 0, 0, 0, 406, 0, 406, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118784, 298, 3, 78114, 78114, 292, 0, 0, 0, 0, 0, 298, 299, 0, 301, 302, 303, 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2978, 534, 534, 534, 534, 0, 0, 0, 0, 733, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 1244, 0, 0, 1175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871296, 0, 0, 1171, 1171, 0, 0, 0, 1175, 1650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 253952, 0, 0, 0, 0, 580, 580, 580, 1540, 2005, 0, 0, 0, 0, 1546, 2007, 0, 0, 0, 0, 1552, 0, 0, 0, 1558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 2009, 0, 0, 0, 0, 1558, 2011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2549, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1410, 556, 556, 556, 556, 556, 0, 306, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 1155072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2705, 0, 0, 0, 0, 0, 204800, 204800, 0, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 205106, 204800, 204800, 205105, 205106, 204800, 205105, 205105, 204800, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 299, 0, 0, 0, 0, 0, 3, 0, 0, 2183794, 0, 0, 0, 0, 0, 298, 299, 151552, 2134016, 302, 303, 0, 0, 0, 0, 0, 155648, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 757, 0, 151552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 2179072, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 0, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3036110, 2126798, 2126798, 3072974, 2126798, 2126798, 2126798, 3122126, 2700164, 2126724, 2716548, 2126724, 2724740, 2126724, 2732932, 2773892, 2126724, 2126724, 2126724, 2806660, 2126724, 2831236, 2126724, 2126724, 973, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2864004, 2126724, 2126724, 2126724, 2126724, 2921348, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2626436, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3117956, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 0, 0, 975, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3224526, 2179072, 2126798, 2126724, 2179072, 2179072, 2126724, 2126724, 2126798, 2126798, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 2126798, 2126798, 2126798, 2626510, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2700238, 2126798, 2716622, 2126798, 2724814, 2126798, 2126798, 2126798, 2126798, 2126798, 2454478, 2126798, 2474958, 2483150, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2532302, 2733006, 2773966, 2126798, 2126798, 2126798, 2806734, 2126798, 2831310, 2126798, 2126798, 2864078, 2126798, 2126798, 2126798, 2126798, 2921422, 2126724, 2409348, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2814852, 2126724, 2839428, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3126148, 2126724, 2126724, 2126724, 2126724, 2126798, 2126798, 2585550, 2126798, 2126798, 2126798, 2126798, 2126798, 2618318, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2663374, 2179072, 2179072, 2179072, 3207168, 2179072, 0, 0, 0, 0, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2552708, 2126724, 2126724, 2126724, 2126724, 2126724, 2638724, 2126724, 2126724, 2720644, 2126724, 2126724, 2126724, 2126724, 2126724, 2769796, 2777988, 2782084, 2798468, 2823044, 2126724, 2126724, 2126724, 2884484, 2126724, 2913156, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3040132, 2126724, 2126724, 2126724, 2728836, 2753412, 2126724, 2126724, 2126724, 2126724, 2843524, 2847620, 2126724, 2896772, 2917252, 2126724, 2126724, 2126724, 2126724, 3150724, 2126798, 2429902, 2438094, 2126798, 2487246, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2929614, 2126798, 2126798, 2126798, 2999246, 2126798, 3064708, 2126724, 2126724, 2126724, 2126724, 2126724, 3101572, 2126724, 2126724, 3134340, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2585476, 2126724, 2126724, 2126724, 2126724, 2126724, 2618244, 2126724, 2126724, 2126724, 2126798, 2720718, 2126798, 2126798, 2126798, 2126798, 2126798, 2769870, 2778062, 2782158, 2798542, 2823118, 2126798, 2126798, 2126798, 2884558, 2126798, 2913230, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3040206, 2126798, 2126798, 2126798, 2126798, 2126798, 2601934, 2126798, 2126798, 2126798, 2126798, 2642894, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2606030, 2126798, 2630606, 2126798, 2126798, 2651086, 2126798, 2126798, 2126798, 3064782, 2126798, 2126798, 2126798, 2126798, 2126798, 3101646, 2126798, 2126798, 3134414, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 0, 2179072, 2126798, 2126724, 2457600, 2179072, 2179072, 2179072, 2179072, 2458500, 2126798, 2126798, 2126798, 3208142, 2126798, 2179072, 2126798, 2126724, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3011460, 2126724, 2126724, 2126724, 2126798, 2126798, 2503630, 0, 0, 0, 0, 2388868, 2126724, 2126724, 2126724, 2421636, 2126724, 2126724, 2126724, 2126724, 2126724, 2454404, 2126724, 2126724, 2126724, 3027844, 2405326, 2126798, 2126798, 2126798, 2126798, 3027918, 2539520, 0, 2949120, 2179072, 2658304, 2973696, 2474884, 2483076, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2532228, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2601860, 2126724, 2126724, 2126724, 2126724, 2642820, 2126724, 2126724, 2126724, 2126724, 2126724, 2655108, 2679684, 2761604, 2765700, 2786180, 2855812, 2970500, 2126724, 3007364, 2126724, 3019652, 2605956, 2126724, 2630532, 2126724, 2126724, 2651012, 2126724, 2126724, 2126724, 2708356, 2126724, 2737028, 2126724, 2126724, 2126724, 2126724, 2462596, 2466692, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2524036, 2126724, 2126724, 2126724, 2126724, 3036036, 2126724, 2126724, 3072900, 2126724, 2126724, 2126724, 3122052, 2126724, 2126724, 3142532, 2126724, 2126724, 2126724, 3171204, 2126724, 2126724, 3191684, 3195780, 2126724, 0, 0, 0, 0, 0, 0, 2388942, 2126798, 2126798, 2126798, 2421710, 2708430, 2126798, 2737102, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2888654, 2126798, 2126798, 2925518, 2126798, 2126798, 2126798, 2126798, 2179072, 2126798, 2126724, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2802638, 2814926, 2126798, 2839502, 2126798, 2126798, 2126798, 3142606, 2126798, 2126798, 2126798, 3171278, 2126798, 2126798, 3191758, 3195854, 2126798, 2179072, 2126798, 2126724, 2179072, 2126724, 2126798, 2179072, 2126724, 2126798, 2179072, 2126724, 2126798, 2985984, 2986884, 2986958, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 315, 316, 316, 421, 422, 65536, 429, 2179072, 3112960, 3219456, 2126724, 2126724, 3113860, 3220356, 2126798, 2126798, 3113934, 3220430, 0, 0, 0, 0, 0, 0, 0, 2046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 3223552, 0, 0, 2126724, 2126724, 2417540, 2126724, 2126724, 2126724, 2446212, 2126724, 2126724, 2126724, 2126724, 2888580, 2126724, 2126724, 2925444, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 0, 0, 2126798, 2126798, 2126798, 2409422, 2126798, 2126798, 2945924, 2126724, 2126724, 2995076, 2126724, 3003268, 2126724, 2126724, 3023748, 2126724, 3068804, 3085188, 2126724, 3097476, 2126724, 2126724, 2126724, 2519940, 2126724, 2126724, 2126724, 2126724, 2589572, 2126724, 2614148, 2646916, 2126724, 2126724, 2696068, 2757508, 2638798, 2126798, 2126798, 2126798, 2126798, 2728910, 2753486, 2126798, 2126798, 2126798, 2126798, 2843598, 2847694, 2126798, 2896846, 2917326, 2126798, 2126798, 2945998, 2126798, 2126798, 2995150, 2126798, 3003342, 2126798, 2126798, 3023822, 2126798, 3068878, 3085262, 2126798, 3097550, 2179072, 2179072, 3059712, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3178496, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3224452, 0, 0, 2126798, 2126798, 2417614, 2126798, 2126798, 2126798, 2446286, 2126798, 2126724, 2126724, 3060612, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3179396, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3126222, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3118030, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2495438, 2126798, 2126798, 2515918, 2126798, 2126798, 2126798, 2544590, 2548686, 2126798, 2126798, 2597838, 2126798, 2126798, 2126798, 2126798, 2425806, 2433998, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 0, 0, 0, 2179072, 2126798, 2126724, 2126798, 2126798, 2126798, 3060686, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3179470, 2179072, 2126798, 2126724, 2179072, 2126724, 2659204, 2974596, 2126724, 2126798, 2659278, 2974670, 2126798, 2711552, 2560000, 2179072, 2560900, 2126724, 2560974, 2126798, 2126798, 2126798, 2126798, 2462670, 2466766, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2524110, 2126798, 2126798, 2126798, 2126798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473984, 2478080, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2397060, 2401156, 2126724, 2126724, 2442116, 2126724, 2470788, 3154820, 3167108, 3175300, 2397134, 2401230, 2126798, 2126798, 2442190, 2126798, 2470862, 2126798, 2126798, 2126798, 2520014, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3130318, 2126798, 2126798, 3154894, 3167182, 3175374, 2506752, 2507726, 2507652, 2126798, 2126798, 2589646, 2126798, 2614222, 2646990, 2126798, 2126798, 2696142, 2757582, 2126798, 2126798, 2126798, 2126798, 2933710, 2126798, 2126798, 2126798, 2126798, 2593742, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2449408, 0, 2535424, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2126724, 2429828, 2438020, 2126724, 2487172, 2126724, 2126724, 2126724, 2126724, 2933636, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3130244, 2126724, 2126724, 2126798, 2126798, 2655182, 2679758, 2761678, 2765774, 2786254, 2855886, 2970574, 2126798, 3007438, 2126798, 3019726, 2126798, 2126798, 2126798, 2126798, 0, 2502656, 0, 0, 3010560, 0, 0, 0, 0, 2990080, 2179072, 2179072, 2126798, 3150798, 2179072, 3051520, 2126724, 3052420, 2126798, 3052494, 0, 2490368, 2498560, 0, 0, 0, 0, 2875392, 2179072, 2179072, 2179072, 2555904, 2564096, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3137536, 2126724, 2126724, 2126724, 3208068, 2126724, 0, 0, 0, 0, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2552782, 2126798, 2126798, 2126798, 2126798, 2126798, 2126724, 2499460, 2126724, 2126724, 2126724, 2556804, 2564996, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2929540, 2126724, 2126724, 2126724, 2999172, 2126724, 2126724, 2126724, 3138436, 2126798, 2126798, 2499534, 2126798, 2126798, 2126798, 2556878, 2565070, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3011534, 2126798, 2126798, 2126798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 323, 0, 2126724, 2450308, 2126724, 2536324, 2126724, 2610052, 2126724, 2859908, 2126724, 2126724, 2126724, 3031940, 2126724, 2126798, 2450382, 2126798, 2126798, 2126798, 2126798, 3093454, 0, 0, 0, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2405252, 2126724, 2126724, 2495364, 2126724, 2126724, 2515844, 2126724, 2126724, 2126724, 2544516, 2548612, 2126724, 2126724, 2597764, 2126724, 2126724, 2126724, 2663300, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2802564, 2536398, 2126798, 2610126, 2126798, 2859982, 2126798, 2126798, 2126798, 3032014, 2126798, 2527232, 0, 0, 0, 2179072, 2527232, 2179072, 2179072, 2179072, 2179072, 2179072, 2126724, 2528132, 2126724, 2126724, 2126724, 2126724, 2126724, 3093380, 2126798, 2528206, 2126798, 2126798, 2126798, 2126798, 3138510, 2940928, 2941828, 2941902, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 0, 0, 0, 0, 172032, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 122880, 122880, 0, 0, 0, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 221184, 0, 0, 221184, 221184, 221184, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 338, 292, 0, 0, 0, 0, 0, 0, 221184, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 299, 0, 0, 2142208, 0, 0, 0, 98304, 0, 0, 0, 53248, 0, 0, 0, 0, 0, 0, 0, 2061, 2062, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 577536, 0, 0, 1583, 0, 0, 0, 302, 0, 303, 0, 0, 0, 303, 0, 0, 0, 2461696, 0, 0, 0, 0, 0, 0, 1159168, 416, 416, 0, 0, 0, 0, 0, 416, 0, 0, 98304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 2179072, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 901, 0, 0, 0, 0, 0, 229376, 0, 0, 0, 0, 0, 0, 0, 0, 1666, 0, 0, 0, 0, 0, 2958, 0, 0, 0, 0, 2962, 0, 0, 0, 0, 2967, 0, 0, 901, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2473984, 2482176, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2531328, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3190784, 3194880, 2125824, 975, 0, 0, 0, 975, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2179072, 2179072, 2179072, 3223552, 901, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 0, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0, 217088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 308, 0, 0, 0, 114688, 0, 241664, 258048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 677, 678, 0, 0, 0, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 386, 0, 0, 0, 2183168, 0, 0, 270336, 0, 0, 298, 299, 0, 2134016, 302, 303, 200704, 0, 0, 180224, 0, 0, 0, 0, 0, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 20480, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 1, 12290, 2113825, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0, 295, 0, 0, 0, 0, 0, 0, 2387968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 381, 383, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, 2113825, 0, 0, 2183168, 0, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 237568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0, 0, 274432, 274432, 274432, 274432, 274432, 274432, 0, 0, 0, 0, 0, 274432, 0, 274432, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 90408, 90408, 90408, 90408, 0, 94505, 1, 12290, 3, 78114, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1611, 0, 0, 0, 3, 78114, 78114, 292, 0, 0, 0, 0, 0, 298, 299, 0, 0, 302, 303, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163264, 78114, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 307, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 3062, 580, 580, 2009, 0, 0, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 2954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0, 0, 0, 0, 0, 2086, 0, 0, 0, 0, 0, 2092, 0, 0, 290, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, 681, 3, 78114, 78449, 292, 0, 0, 0, 0, 0, 298, 299, 0, 0, 302, 303, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 1138688, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 1150976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 337, 0, 581, 557, 557, 557, 557, 557, 557, 557, 581, 581, 581, 534, 581, 581, 581, 581, 581, 581, 581, 557, 557, 534, 557, 581, 557, 581, 1, 12290, 1, 12290, 3, 78115, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 1, 12290, 282624, 282624, 282624, 0, 0, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2027, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 282624, 282624, 282624, 282624, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 3047424, 3129344, 0, 2981888, 2396160, 0, 3153920, 3132, 0, 0, 2740224, 0, 0, 0, 0, 0, 0, 1181, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1608, 1609, 1610, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 705, 0, 0, 0, 709, 0, 0, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3252, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 167936, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 3329, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 3329, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 0, 2125824, 2125824, 0, 0, 0, 308, 0, 0, 0, 0, 0, 307, 0, 307, 308, 0, 307, 307, 0, 0, 0, 307, 307, 308, 308, 0, 0, 0, 0, 0, 0, 307, 407, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 308, 412, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 57344, 0, 0, 0, 0, 0, 0, 1120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 456, 456, 456, 482, 482, 456, 482, 482, 482, 482, 482, 482, 482, 507, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 527, 482, 482, 482, 482, 482, 535, 558, 535, 558, 535, 535, 558, 535, 582, 558, 558, 558, 558, 558, 558, 558, 582, 582, 582, 535, 582, 582, 582, 582, 582, 582, 582, 558, 558, 535, 558, 582, 558, 582, 1, 12290, 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 697, 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 0, 0, 0, 0, 0, 0, 1660, 1661, 0, 1663, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 2134749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1169, 734, 0, 0, 0, 0, 0, 0, 761, 0, 0, 765, 0, 0, 0, 0, 772, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 172032, 0, 0, 0, 0, 65536, 0, 0, 0, 641, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0, 780, 0, 0, 0, 0, 0, 327, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 821, 776, 0, 0, 0, 0, 0, 825, 826, 776, 776, 0, 0, 0, 0, 0, 0, 0, 780, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 1679, 0, 0, 0, 0, 0, 0, 776, 729, 776, 0, 534, 534, 836, 840, 534, 534, 534, 534, 534, 534, 866, 534, 871, 534, 878, 534, 881, 534, 534, 895, 534, 534, 556, 556, 556, 909, 913, 1018, 580, 1025, 580, 1028, 580, 580, 1042, 580, 580, 0, 0, 0, 840, 987, 913, 836, 1052, 881, 534, 534, 909, 1057, 954, 556, 556, 0, 983, 1062, 1028, 580, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78114, 1066, 0, 0, 1068, 1072, 0, 0, 1076, 1080, 0, 0, 0, 0, 0, 0, 0, 406, 406, 406, 406, 0, 406, 406, 406, 406, 0, 0, 1144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 515, 515, 0, 0, 0, 1634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3126, 0, 0, 1769, 534, 534, 1772, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1784, 534, 534, 534, 534, 534, 884, 534, 534, 534, 534, 534, 556, 556, 903, 556, 556, 0, 580, 580, 580, 984, 580, 990, 580, 580, 1003, 580, 580, 1014, 580, 534, 534, 534, 534, 1789, 534, 534, 534, 534, 534, 534, 534, 1341, 1799, 556, 556, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 534, 534, 556, 556, 556, 1806, 556, 556, 556, 556, 556, 1812, 556, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2370, 580, 580, 580, 580, 580, 580, 556, 556, 556, 1825, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 955, 556, 556, 556, 1885, 556, 556, 556, 556, 556, 556, 556, 26009, 1895, 580, 580, 580, 580, 580, 1902, 2017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 2042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2051, 0, 0, 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 2109, 2110, 0, 0, 2112, 0, 0, 0, 2110, 0, 0, 2117, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 221184, 0, 0, 0, 0, 65536, 0, 2150, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1313, 0, 0, 0, 2464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3135, 0, 0, 534, 534, 534, 534, 2502, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2510, 534, 534, 534, 2601, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2611, 556, 556, 556, 556, 556, 2563, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1388, 556, 556, 556, 556, 1393, 556, 556, 556, 556, 2632, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1967, 0, 0, 0, 2698, 0, 0, 0, 0, 0, 0, 2703, 0, 0, 0, 0, 0, 0, 0, 2115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0, 0, 0, 0, 2749, 2750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, 2762, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2521, 534, 534, 534, 534, 534, 2773, 534, 534, 2777, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2786, 556, 2820, 556, 556, 2824, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2833, 580, 580, 580, 2869, 580, 580, 2873, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2899, 580, 580, 580, 580, 580, 580, 2882, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2890, 580, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 3324, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 221184, 0, 0, 0, 0, 2931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 3010, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 3412, 556, 556, 556, 556, 556, 556, 3051, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3091, 580, 3093, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 3132, 3387, 0, 3389, 0, 534, 3392, 534, 3394, 534, 534, 534, 534, 534, 534, 534, 534, 1777, 534, 534, 534, 534, 534, 534, 534, 534, 2157, 534, 534, 534, 534, 534, 534, 534, 534, 2182, 534, 534, 534, 534, 2187, 534, 534, 534, 534, 3448, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 3023, 556, 3461, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 3064, 580, 3475, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 3561, 534, 0, 3490, 0, 3492, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2794, 534, 534, 0, 0, 3533, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1281, 309, 310, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 420, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1109, 0, 1111, 1112, 0, 0, 0, 0, 0, 0, 443, 443, 420, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 526, 443, 526, 526, 526, 443, 526, 526, 526, 526, 443, 536, 559, 536, 559, 536, 536, 559, 536, 583, 559, 559, 559, 559, 559, 559, 559, 583, 583, 583, 536, 583, 583, 583, 583, 583, 583, 583, 559, 559, 609, 614, 583, 614, 620, 1, 12290, 534, 534, 874, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 580, 580, 580, 580, 580, 580, 1021, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 534, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3445, 534, 0, 0, 0, 1657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3262, 534, 534, 1785, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1006, 580, 580, 580, 0, 0, 1544, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 580, 580, 1970, 580, 580, 580, 580, 580, 1977, 580, 580, 580, 580, 580, 580, 580, 1444, 580, 580, 580, 580, 580, 1456, 580, 580, 0, 0, 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 0, 2612, 556, 556, 556, 556, 0, 2615, 0, 0, 0, 0, 580, 580, 580, 580, 580, 534, 556, 580, 0, 3382, 0, 0, 3385, 0, 0, 0, 580, 2621, 580, 580, 580, 580, 2625, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3221, 580, 580, 580, 580, 580, 0, 0, 0, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 0, 0, 0, 1249, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 850, 534, 534, 534, 534, 534, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 422, 430, 421, 430, 0, 312, 430, 444, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 478, 483, 483, 494, 483, 483, 483, 483, 483, 483, 483, 483, 509, 509, 522, 522, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 509, 523, 523, 523, 523, 523, 537, 560, 537, 560, 537, 537, 560, 537, 584, 560, 560, 560, 560, 560, 560, 560, 584, 584, 584, 606, 584, 584, 584, 584, 584, 584, 607, 608, 608, 606, 608, 607, 608, 607, 1, 12290, 0, 0, 811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 695, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1720, 534, 534, 882, 534, 534, 556, 556, 955, 556, 556, 0, 580, 580, 1029, 580, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 3322, 0, 0, 3325, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 534, 534, 1254, 534, 1257, 534, 534, 534, 534, 534, 534, 534, 534, 1271, 534, 1276, 534, 534, 1280, 534, 534, 1283, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1294, 534, 534, 534, 534, 534, 1341, 901, 556, 556, 1345, 556, 556, 1349, 556, 556, 556, 556, 556, 0, 0, 0, 0, 0, 0, 580, 580, 580, 580, 580, 0, 3580, 0, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 1363, 556, 1368, 556, 556, 1372, 556, 556, 1375, 556, 556, 556, 556, 556, 0, 2296, 0, 0, 580, 580, 580, 580, 580, 580, 580, 2355, 580, 580, 580, 580, 2360, 580, 580, 580, 580, 1437, 580, 580, 1441, 580, 580, 580, 580, 580, 580, 580, 580, 1455, 580, 1460, 580, 580, 1464, 580, 580, 1467, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 188416, 534, 580, 556, 1669, 0, 0, 0, 0, 0, 0, 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1199, 1200, 0, 0, 0, 0, 0, 580, 1923, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1459, 580, 580, 1936, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1919, 580, 534, 2176, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 0, 534, 534, 534, 534, 2192, 2193, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 3022, 556, 2262, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1819, 556, 556, 556, 2278, 2279, 2280, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1846, 556, 556, 556, 1851, 556, 2349, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1985, 580, 580, 580, 2365, 2366, 2367, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 3558, 0, 3560, 534, 534, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 2465, 2466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2090, 0, 0, 0, 0, 580, 580, 580, 2663, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 3105, 534, 534, 534, 534, 534, 2790, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 3019, 556, 556, 556, 556, 2917, 0, 0, 0, 0, 0, 2923, 0, 0, 0, 0, 0, 0, 0, 2927, 0, 0, 0, 0, 0, 2200246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 2972, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2987, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 899, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3027, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1432, 26009, 1341, 975, 580, 0, 3139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1597, 0, 534, 534, 534, 534, 3175, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3438, 0, 3439, 0, 0, 0, 0, 0, 0, 0, 534, 3446, 534, 3447, 534, 534, 534, 3451, 534, 534, 534, 534, 534, 534, 534, 556, 3459, 556, 556, 556, 556, 556, 2589, 556, 556, 2593, 556, 556, 556, 556, 556, 556, 556, 2606, 556, 556, 556, 556, 556, 556, 556, 556, 2269, 556, 556, 556, 556, 556, 556, 556, 3460, 556, 556, 556, 3464, 556, 556, 556, 556, 556, 556, 556, 556, 580, 3473, 580, 0, 0, 2920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0, 0, 0, 1147, 0, 1149, 0, 0, 0, 0, 0, 0, 0, 0, 534, 557, 534, 557, 534, 534, 557, 534, 3474, 580, 580, 580, 3478, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 534, 3583, 3584, 534, 534, 556, 556, 3596, 556, 556, 556, 3598, 580, 580, 580, 3600, 0, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 3244, 0, 0, 0, 0, 0, 323, 323, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 373, 0, 432, 438, 0, 445, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 484, 484, 495, 484, 484, 484, 484, 484, 484, 484, 484, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 538, 561, 538, 561, 538, 538, 561, 538, 585, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 538, 585, 585, 585, 585, 585, 585, 585, 561, 561, 538, 561, 585, 561, 585, 1, 12290, 787, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 859, 534, 534, 534, 534, 534, 534, 2139, 534, 534, 2142, 534, 534, 534, 534, 534, 534, 534, 1760, 1761, 1762, 534, 534, 1765, 1766, 534, 534, 1114, 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1613, 0, 1100, 0, 1231, 0, 0, 0, 0, 0, 1115, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 3088384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, 0, 1246, 1114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 1255, 534, 534, 534, 1341, 901, 556, 556, 1346, 556, 556, 556, 556, 556, 556, 556, 556, 1389, 556, 556, 556, 556, 556, 556, 556, 556, 1397, 556, 556, 556, 1401, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1880, 556, 556, 556, 556, 556, 580, 1438, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1934, 580, 580, 580, 1465, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1491, 580, 580, 1478, 580, 580, 580, 580, 580, 580, 580, 1487, 580, 580, 1489, 580, 580, 580, 1493, 1517, 580, 580, 580, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 534, 556, 580, 534, 556, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 135168, 135168, 0, 0, 65536, 135168, 556, 556, 556, 556, 1872, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1832, 556, 556, 556, 556, 1968, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2362, 580, 580, 2004, 0, 2005, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 2418, 0, 0, 0, 0, 0, 2422, 0, 0, 2009, 0, 0, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0, 1576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2077, 0, 0, 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 827, 2121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 2770, 534, 534, 534, 534, 2137, 534, 534, 534, 534, 2141, 534, 534, 534, 534, 534, 534, 534, 534, 2518, 534, 534, 534, 534, 534, 534, 534, 534, 2803, 534, 534, 534, 534, 534, 534, 534, 534, 2989, 534, 534, 534, 534, 534, 534, 534, 534, 3165, 534, 534, 534, 534, 534, 534, 534, 534, 3270, 534, 534, 534, 534, 534, 534, 534, 534, 3280, 556, 556, 556, 556, 556, 556, 556, 1426, 556, 556, 556, 556, 26009, 1341, 975, 580, 556, 556, 2222, 556, 556, 556, 556, 2226, 556, 556, 556, 556, 556, 556, 556, 556, 1405, 556, 556, 556, 556, 556, 556, 556, 580, 580, 2309, 580, 580, 580, 580, 2313, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3527, 580, 580, 580, 0, 3531, 0, 0, 2462, 0, 0, 0, 0, 0, 2467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1640, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2489, 2490, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2522, 534, 534, 534, 534, 534, 534, 2529, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2993, 534, 534, 2620, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2376, 2660, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3316, 2707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, 2724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1686, 0, 0, 0, 0, 0, 0, 0, 2752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2028, 0, 0, 0, 534, 534, 534, 534, 534, 2800, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1307, 534, 534, 534, 534, 534, 2891, 580, 580, 580, 580, 580, 580, 580, 2897, 580, 580, 580, 580, 580, 580, 580, 1471, 580, 580, 580, 580, 580, 580, 580, 580, 1045, 580, 0, 0, 0, 534, 580, 556, 3128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1128, 534, 534, 534, 534, 534, 3176, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 3511, 556, 3513, 556, 556, 556, 556, 580, 556, 556, 3297, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3374, 580, 580, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 3397, 534, 534, 534, 534, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1392, 556, 556, 556, 556, 556, 325, 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 324, 372, 327, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 324, 0, 0, 371, 371, 401, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 446, 459, 459, 459, 459, 459, 459, 459, 459, 472, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 485, 485, 459, 485, 485, 500, 502, 485, 485, 500, 485, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 528, 511, 511, 511, 511, 511, 539, 562, 539, 562, 539, 539, 562, 539, 586, 562, 562, 562, 562, 562, 562, 562, 586, 586, 586, 539, 586, 586, 586, 586, 586, 586, 586, 562, 562, 539, 562, 586, 562, 586, 1, 12290, 0, 651, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 664, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 355, 0, 0, 466, 466, 466, 466, 466, 466, 466, 466, 471, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 471, 0, 713, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 724, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 763, 0, 0, 0, 0, 0, 771, 0, 773, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 793, 0, 0, 0, 793, 793, 790, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 106496, 0, 0, 0, 0, 106496, 106496, 0, 0, 0, 773, 0, 785, 0, 802, 0, 0, 0, 0, 793, 0, 700, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1141, 0, 810, 0, 0, 0, 0, 0, 810, 810, 813, 0, 0, 0, 773, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 367, 0, 384, 0, 350, 0, 0, 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 385, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 822, 802, 822, 0, 534, 534, 837, 534, 843, 534, 534, 856, 534, 534, 867, 534, 872, 534, 534, 880, 883, 888, 534, 896, 534, 534, 556, 556, 556, 910, 556, 556, 556, 556, 556, 2604, 2605, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3189, 556, 556, 556, 556, 556, 556, 916, 556, 556, 929, 556, 556, 940, 556, 945, 556, 556, 953, 956, 961, 556, 969, 1019, 580, 580, 1027, 1030, 1035, 580, 1043, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 556, 2825, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2284, 556, 556, 556, 556, 556, 837, 534, 1053, 888, 534, 910, 556, 1058, 961, 556, 0, 984, 580, 1063, 1035, 580, 0, 2919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2458, 0, 0, 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, 0, 0, 1659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 1104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2078, 0, 0, 0, 1129, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2471, 0, 0, 0, 0, 0, 1143, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0, 0, 2442, 0, 0, 0, 0, 0, 0, 0, 2450, 1121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757, 2758, 0, 0, 0, 534, 1282, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1297, 1337, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1354, 556, 556, 1419, 556, 556, 556, 556, 556, 556, 1429, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 1523, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 2837, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1862, 1863, 556, 556, 556, 556, 1461, 580, 580, 580, 1466, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1915, 580, 580, 580, 580, 580, 580, 1481, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1933, 580, 580, 580, 1495, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1511, 580, 580, 580, 0, 2005, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 2074, 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 580, 580, 580, 1521, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 534, 556, 580, 3610, 3611, 3612, 534, 556, 580, 0, 0, 0, 0, 0, 0, 307, 442, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 0, 0, 1585, 0, 0, 1588, 1589, 1590, 0, 1592, 1593, 0, 0, 0, 0, 1598, 1631, 1632, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 1642, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 534, 534, 534, 0, 0, 0, 0, 1648, 0, 0, 1650, 0, 0, 0, 0, 1652, 1653, 0, 0, 0, 0, 0, 441, 0, 0, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 552, 575, 552, 575, 552, 552, 575, 552, 0, 0, 1671, 1672, 1673, 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2483, 0, 0, 0, 0, 0, 1683, 0, 0, 1686, 0, 0, 0, 0, 0, 1690, 0, 0, 0, 1694, 1695, 1706, 1566, 1566, 1708, 534, 1710, 534, 1711, 1712, 534, 1714, 534, 534, 534, 1718, 534, 534, 534, 534, 534, 886, 534, 534, 534, 534, 534, 556, 556, 908, 556, 556, 556, 556, 556, 2254, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1431, 556, 26009, 1341, 975, 1435, 534, 534, 1739, 534, 1741, 534, 534, 534, 534, 534, 534, 534, 534, 1749, 1750, 1752, 534, 1786, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1797, 1341, 0, 1802, 556, 556, 556, 556, 556, 3041, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3200, 556, 556, 556, 556, 556, 556, 1804, 556, 1805, 556, 1807, 556, 1809, 556, 556, 556, 1813, 556, 556, 556, 556, 556, 0, 0, 0, 0, 0, 0, 580, 580, 2618, 580, 580, 556, 556, 556, 556, 1826, 556, 556, 556, 556, 1830, 556, 556, 556, 556, 1834, 556, 556, 556, 556, 556, 3055, 556, 556, 556, 556, 556, 580, 580, 580, 3063, 580, 580, 580, 580, 1724, 1915, 1819, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 2692, 0, 0, 1836, 556, 556, 556, 556, 556, 556, 556, 556, 1844, 1845, 1847, 556, 556, 556, 556, 556, 0, 2297, 0, 0, 580, 580, 580, 580, 580, 580, 580, 2667, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2653, 580, 580, 580, 580, 2657, 580, 556, 556, 556, 1855, 1856, 1857, 556, 556, 1860, 1861, 556, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 2862, 580, 580, 580, 580, 556, 1869, 556, 556, 556, 1873, 556, 556, 556, 556, 556, 556, 556, 1882, 556, 556, 0, 580, 580, 580, 580, 580, 580, 580, 1002, 580, 580, 580, 580, 580, 580, 3555, 3556, 580, 580, 0, 0, 3559, 0, 534, 534, 1903, 580, 1905, 580, 580, 580, 1909, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3528, 580, 580, 0, 0, 0, 1922, 580, 580, 580, 580, 1926, 580, 580, 580, 580, 1930, 580, 1932, 580, 580, 580, 580, 580, 1524, 0, 1270, 1454, 1362, 534, 534, 534, 534, 534, 556, 1952, 1953, 580, 580, 1956, 1957, 580, 580, 580, 580, 580, 580, 580, 1965, 580, 580, 534, 534, 556, 556, 580, 580, 3321, 0, 0, 0, 3323, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2605056, 0, 0, 0, 0, 2887680, 580, 1969, 580, 580, 580, 580, 580, 580, 580, 1978, 580, 580, 580, 580, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 580, 580, 1989, 534, 580, 556, 1766, 534, 1995, 534, 1861, 556, 1999, 556, 1957, 580, 2003, 580, 0, 2005, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 2702, 0, 0, 0, 0, 0, 0, 0, 2706, 0, 2018, 0, 0, 2021, 2022, 0, 0, 0, 2026, 0, 0, 0, 0, 0, 0, 0, 414, 414, 0, 0, 0, 0, 0, 414, 0, 0, 0, 2069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 0, 2088, 0, 0, 0, 0, 0, 0, 0, 451, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 2095, 0, 2097, 0, 0, 0, 0, 0, 0, 0, 0, 2106, 0, 0, 0, 0, 0, 0, 0, 184725, 184925, 184925, 184925, 0, 184925, 184925, 184925, 184925, 184925, 184925, 0, 0, 0, 0, 0, 184925, 0, 184925, 1, 12290, 534, 534, 534, 2153, 534, 2155, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1746, 534, 534, 534, 534, 534, 534, 2204, 2205, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2558, 556, 556, 556, 556, 2238, 556, 2240, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2231, 556, 556, 556, 556, 556, 2291, 2292, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 1506, 580, 580, 580, 580, 580, 1513, 580, 580, 580, 580, 2325, 580, 2327, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2318, 580, 580, 580, 580, 580, 2378, 2379, 580, 580, 2145, 2317, 2230, 534, 2385, 534, 534, 556, 2389, 556, 556, 0, 580, 580, 580, 580, 580, 580, 997, 580, 580, 580, 580, 580, 580, 2328, 580, 2330, 580, 580, 580, 580, 580, 580, 580, 2342, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1474, 580, 580, 580, 580, 580, 580, 580, 2393, 580, 580, 2005, 0, 2007, 0, 2009, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 2727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1579, 0, 0, 0, 0, 0, 0, 0, 2437, 2438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 534, 2526, 534, 534, 534, 2531, 534, 534, 534, 534, 534, 534, 534, 2538, 534, 534, 534, 534, 534, 534, 2169, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2782, 534, 534, 2785, 534, 534, 534, 534, 534, 534, 534, 2543, 534, 534, 534, 534, 534, 534, 534, 534, 0, 2549, 556, 556, 2587, 556, 556, 556, 556, 2591, 556, 556, 556, 2596, 556, 556, 556, 556, 556, 0, 2615, 0, 0, 0, 0, 580, 580, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 3386, 556, 556, 556, 2603, 556, 556, 556, 556, 556, 556, 556, 556, 2609, 556, 556, 556, 556, 556, 556, 3042, 556, 3044, 556, 556, 556, 556, 556, 556, 556, 1404, 556, 556, 1411, 556, 556, 556, 556, 556, 580, 580, 580, 2623, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1451, 580, 580, 580, 580, 580, 580, 2635, 580, 2637, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1914, 580, 580, 580, 580, 580, 580, 580, 2662, 580, 580, 580, 580, 580, 580, 580, 2669, 580, 580, 580, 580, 580, 580, 2895, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1046, 0, 0, 0, 534, 580, 556, 580, 580, 580, 2675, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 2913, 556, 2915, 580, 534, 534, 534, 2798, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3348, 534, 556, 556, 556, 556, 556, 2846, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2245, 556, 556, 556, 556, 0, 2943, 2944, 0, 2945, 0, 2947, 0, 0, 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0, 225883, 225883, 225883, 225883, 225734, 225883, 225883, 225883, 225883, 225883, 225883, 225734, 225734, 225734, 225734, 225734, 225899, 225734, 225899, 1, 12290, 2968, 2969, 0, 2971, 0, 0, 2974, 0, 0, 0, 2977, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 2214, 556, 556, 556, 556, 556, 0, 0, 0, 0, 0, 0, 580, 2617, 580, 580, 580, 534, 2984, 534, 534, 534, 534, 534, 2988, 534, 534, 534, 534, 534, 534, 534, 2994, 534, 534, 534, 534, 534, 3000, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1763, 534, 534, 534, 534, 534, 3009, 3011, 534, 534, 534, 3014, 534, 3016, 3017, 534, 556, 556, 556, 556, 556, 556, 0, 0, 580, 2861, 580, 580, 580, 580, 580, 580, 0, 1267, 1451, 1359, 534, 534, 534, 1530, 534, 556, 3024, 556, 556, 556, 556, 556, 3028, 556, 556, 556, 556, 556, 556, 556, 3034, 556, 556, 556, 556, 556, 3185, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2229, 556, 556, 2233, 556, 556, 556, 556, 556, 556, 3040, 556, 556, 3043, 556, 556, 556, 556, 556, 556, 556, 556, 1829, 556, 556, 556, 556, 556, 556, 556, 3050, 3052, 556, 556, 556, 556, 3056, 556, 3058, 3059, 556, 580, 580, 580, 580, 580, 580, 3083, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2331, 580, 580, 580, 580, 2335, 580, 580, 3066, 580, 580, 580, 580, 580, 3070, 580, 580, 580, 580, 580, 580, 580, 3076, 580, 3092, 3094, 580, 580, 580, 580, 3098, 580, 3100, 3101, 580, 534, 580, 556, 534, 534, 534, 534, 534, 887, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 0, 0, 2299, 580, 580, 580, 580, 580, 580, 580, 3084, 580, 3086, 580, 580, 580, 580, 580, 580, 3106, 556, 3108, 580, 3110, 0, 0, 0, 0, 0, 0, 3116, 0, 0, 3119, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140, 3141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2107, 0, 0, 0, 556, 556, 556, 556, 3184, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2272, 556, 556, 556, 556, 556, 556, 556, 3195, 556, 556, 556, 556, 556, 556, 556, 556, 3203, 556, 556, 556, 556, 556, 556, 3197, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2594, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 3208, 580, 580, 580, 580, 580, 580, 580, 3213, 580, 580, 580, 580, 1907, 580, 580, 580, 580, 580, 580, 580, 580, 1918, 580, 580, 580, 580, 580, 3096, 580, 580, 3099, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 534, 534, 3278, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3515, 556, 556, 580, 556, 3296, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3214, 3326, 3327, 0, 3132, 0, 3331, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2766, 534, 534, 534, 534, 534, 2771, 534, 534, 534, 3405, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 960, 556, 556, 556, 556, 556, 3420, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1452, 580, 580, 580, 580, 580, 3436, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3502, 534, 534, 534, 534, 534, 3450, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 3281, 556, 556, 556, 3284, 556, 556, 556, 3463, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 3302, 580, 580, 580, 580, 580, 580, 580, 3477, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3486, 3487, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 1137, 1095, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 266240, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 3493, 3494, 3495, 534, 534, 534, 3498, 534, 3500, 534, 534, 534, 534, 534, 534, 534, 3269, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2781, 534, 534, 534, 534, 534, 534, 534, 3505, 3506, 3507, 556, 556, 556, 3510, 556, 3512, 556, 556, 556, 556, 3517, 3518, 3519, 3520, 580, 580, 580, 3523, 580, 3525, 580, 580, 580, 580, 3530, 0, 0, 0, 0, 0, 0, 1687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3562, 534, 534, 534, 3566, 556, 556, 3568, 556, 556, 556, 3572, 556, 580, 580, 3574, 580, 580, 580, 3578, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 556, 556, 580, 580, 0, 3111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2409, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1629, 0, 0, 0, 0, 368, 0, 0, 0, 376, 378, 0, 0, 0, 0, 0, 0, 0, 0, 2025, 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0, 0, 0, 0, 0, 0, 0, 0, 2087, 0, 0, 0, 0, 0, 0, 0, 0, 2127, 0, 0, 534, 534, 534, 534, 534, 0, 0, 411, 0, 0, 0, 411, 69632, 73728, 0, 368, 368, 0, 423, 65536, 368, 0, 0, 368, 423, 492, 496, 492, 492, 501, 492, 492, 492, 501, 492, 423, 423, 329, 423, 0, 0, 423, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0, 0, 0, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 540, 563, 540, 563, 540, 540, 563, 540, 587, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 540, 587, 587, 587, 587, 587, 587, 587, 563, 563, 540, 563, 587, 563, 587, 1, 12290, 0, 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1644, 0, 556, 556, 556, 556, 933, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2285, 556, 2287, 556, 556, 0, 0, 1207, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447, 0, 0, 0, 534, 534, 534, 534, 1260, 534, 534, 534, 534, 534, 1272, 534, 534, 534, 534, 534, 0, 0, 0, 2212, 556, 556, 556, 556, 556, 556, 556, 3029, 556, 556, 556, 556, 556, 556, 556, 556, 3030, 556, 556, 556, 556, 556, 556, 556, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 1352, 556, 556, 0, 580, 580, 580, 580, 580, 580, 998, 580, 580, 580, 580, 580, 580, 2650, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2315, 580, 2317, 580, 580, 580, 580, 556, 556, 556, 1364, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1378, 1380, 556, 556, 556, 556, 556, 1871, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1413, 556, 556, 1417, 534, 534, 534, 534, 534, 3567, 556, 556, 556, 556, 556, 556, 556, 3573, 580, 580, 580, 580, 580, 2677, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 534, 3597, 556, 556, 556, 3599, 580, 580, 580, 0, 534, 534, 556, 556, 580, 580, 0, 0, 0, 3243, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 306, 306, 306, 0, 0, 0, 0, 0, 424, 424, 0, 424, 433, 0, 424, 424, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 486, 486, 460, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 541, 564, 541, 564, 541, 541, 564, 541, 588, 564, 564, 564, 564, 564, 564, 564, 588, 588, 588, 541, 588, 588, 588, 588, 588, 588, 588, 564, 564, 541, 564, 588, 564, 588, 1, 12290, 78114, 1066, 0, 0, 1069, 1073, 0, 0, 1077, 1081, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1667, 0, 0, 0, 0, 0, 2044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 2068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1681, 1682, 2392, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2928, 0, 0, 0, 2932, 0, 0, 0, 0, 0, 2938, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 2953, 0, 0, 2956, 0, 0, 0, 0, 0, 2961, 0, 0, 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1204, 2995, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3004, 534, 534, 534, 534, 534, 0, 0, 2211, 0, 556, 556, 556, 556, 556, 556, 556, 2268, 556, 556, 556, 556, 2273, 556, 556, 556, 534, 534, 534, 3012, 534, 534, 3015, 534, 534, 534, 3018, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 556, 556, 534, 556, 580, 556, 580, 1, 12290, 556, 556, 556, 556, 3054, 556, 556, 3057, 556, 556, 556, 3060, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 2396, 0, 0, 0, 3077, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3087, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 3442, 0, 3444, 0, 534, 534, 0, 3120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015, 0, 0, 534, 534, 3151, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3458, 556, 556, 534, 534, 534, 534, 3163, 534, 534, 534, 534, 534, 534, 534, 3168, 534, 3170, 534, 534, 534, 534, 534, 1261, 534, 534, 534, 1270, 534, 534, 534, 534, 534, 534, 534, 2493, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2196, 534, 534, 534, 534, 534, 534, 556, 556, 556, 580, 580, 3207, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1962, 580, 580, 580, 580, 580, 580, 3227, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 2912, 534, 2914, 556, 2916, 3275, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 556, 556, 3287, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3293, 556, 556, 556, 556, 556, 556, 3466, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3306, 3587, 3588, 556, 556, 580, 580, 3591, 3592, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1716, 534, 534, 534, 0, 683, 684, 0, 0, 0, 0, 689, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 534, 830, 534, 534, 534, 534, 534, 534, 860, 534, 534, 534, 534, 534, 534, 2180, 2181, 534, 534, 534, 534, 534, 534, 2188, 534, 0, 751, 0, 0, 0, 0, 0, 751, 751, 0, 0, 816, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 970, 556, 0, 580, 580, 580, 580, 988, 580, 580, 580, 580, 580, 580, 580, 580, 1044, 580, 0, 0, 0, 841, 988, 914, 534, 534, 534, 534, 897, 556, 556, 556, 556, 970, 0, 580, 580, 580, 580, 1044, 0, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2408448, 0, 0, 534, 1318, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 2549, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 580, 580, 1988, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 2768, 534, 2769, 534, 534, 2540, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 0, 0, 975, 580, 0, 3129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2053, 0, 3235, 534, 3237, 556, 3239, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3124, 3125, 0, 0, 0, 556, 556, 556, 3298, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2359, 580, 580, 580, 580, 3317, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2076, 0, 0, 0, 0, 0, 0, 461, 461, 479, 487, 487, 479, 487, 487, 487, 487, 487, 487, 487, 487, 512, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 529, 520, 520, 520, 520, 520, 542, 565, 542, 565, 542, 542, 565, 542, 589, 565, 565, 565, 565, 565, 565, 565, 589, 589, 589, 542, 589, 589, 589, 589, 589, 589, 589, 565, 565, 542, 565, 589, 565, 589, 1, 12290, 0, 0, 760, 0, 0, 764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 778, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, 782, 0, 0, 0, 0, 364, 364, 0, 0, 0, 1136, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0, 0, 0, 0, 0, 0, 553, 576, 553, 576, 553, 553, 576, 553, 0, 805, 0, 0, 0, 0, 0, 805, 805, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 534, 831, 534, 534, 534, 846, 534, 534, 534, 534, 534, 0, 2210, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1893, 26009, 0, 1898, 580, 1900, 580, 1901, 580, 0, 0, 0, 0, 823, 778, 0, 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, 2468, 0, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 2116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 823, 534, 534, 534, 534, 844, 534, 852, 534, 534, 534, 534, 0, 0, 556, 556, 556, 556, 556, 2815, 556, 2816, 556, 556, 917, 556, 925, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2583, 556, 971, 556, 0, 580, 580, 580, 580, 580, 991, 580, 999, 580, 580, 580, 580, 580, 580, 3097, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 1054, 898, 556, 556, 556, 1059, 971, 0, 580, 580, 580, 1064, 1045, 0, 1159, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 364, 0, 0, 0, 1134592, 0, 0, 0, 1134592, 1134592, 0, 0, 1134592, 0, 0, 1134592, 0, 1134592, 534, 534, 1284, 534, 534, 534, 534, 534, 534, 534, 1292, 534, 534, 534, 534, 534, 0, 2209, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1842, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1896, 580, 580, 580, 580, 580, 580, 534, 534, 534, 1321, 534, 534, 1325, 534, 534, 534, 534, 534, 1331, 534, 534, 534, 534, 534, 534, 534, 3342, 534, 3344, 534, 534, 534, 534, 534, 556, 1338, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2568, 556, 556, 556, 556, 556, 1357, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1376, 556, 556, 556, 556, 556, 0, 2615, 0, 0, 0, 0, 580, 580, 580, 2619, 580, 556, 556, 556, 1384, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1816, 1817, 556, 556, 580, 580, 580, 1522, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 3196, 556, 3198, 556, 556, 556, 556, 556, 556, 556, 556, 1878, 1879, 556, 556, 556, 556, 556, 556, 534, 534, 534, 534, 1773, 534, 534, 534, 534, 534, 534, 1781, 534, 534, 534, 534, 0, 0, 556, 556, 556, 2813, 556, 556, 556, 556, 556, 2818, 556, 556, 1823, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2842, 556, 556, 556, 1853, 556, 556, 556, 556, 1859, 556, 556, 556, 556, 556, 556, 556, 556, 2840, 556, 556, 556, 556, 556, 556, 556, 1868, 556, 556, 556, 556, 556, 556, 1876, 556, 556, 556, 556, 556, 556, 556, 556, 2850, 556, 556, 556, 556, 556, 556, 556, 556, 1886, 1888, 556, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 0, 1525, 1526, 1527, 534, 534, 1529, 534, 534, 556, 580, 580, 580, 1955, 580, 580, 580, 580, 580, 580, 580, 580, 1964, 580, 580, 580, 580, 580, 1940, 1941, 1943, 580, 580, 580, 580, 580, 580, 580, 1951, 580, 580, 580, 1972, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1982, 1984, 580, 580, 580, 580, 1925, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2372, 580, 2374, 580, 580, 0, 0, 0, 2057, 0, 0, 0, 0, 0, 2063, 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 0, 0, 1241, 1242, 0, 0, 0, 0, 0, 0, 2071, 0, 0, 0, 0, 0, 0, 0, 0, 2079, 0, 0, 0, 0, 0, 534, 833, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1306, 534, 534, 534, 534, 534, 534, 2134, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2146, 534, 534, 534, 534, 534, 534, 534, 3453, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 2826, 556, 556, 556, 556, 556, 556, 556, 556, 556, 949, 556, 556, 556, 556, 967, 556, 2189, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1314, 2203, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 2219, 2290, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 2306, 2377, 580, 580, 580, 580, 2146, 2318, 2231, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 3246, 0, 0, 0, 0, 0, 2413, 2414, 0, 0, 2417, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 2712, 0, 0, 0, 0, 0, 0, 0, 0, 2728, 0, 0, 0, 0, 0, 0, 0, 0, 2429, 0, 0, 0, 0, 0, 0, 0, 0, 2406, 0, 0, 0, 0, 0, 0, 0, 0, 2454, 0, 0, 0, 0, 0, 0, 0, 0, 1587, 0, 0, 0, 0, 0, 0, 0, 1595, 1596, 0, 0, 0, 2424, 0, 0, 2427, 0, 0, 0, 0, 0, 0, 2431, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 1159168, 0, 0, 0, 0, 1159168, 1159168, 0, 0, 0, 2452, 0, 0, 0, 0, 0, 0, 0, 2456, 2457, 0, 0, 2460, 0, 0, 2463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473, 0, 0, 0, 0, 0, 639, 0, 0, 0, 0, 644, 645, 646, 647, 648, 649, 534, 2487, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3008, 534, 534, 534, 2515, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1293, 534, 534, 534, 534, 2527, 534, 534, 534, 534, 534, 534, 2534, 534, 534, 534, 534, 534, 534, 534, 534, 3343, 534, 534, 534, 534, 534, 534, 556, 534, 534, 2541, 534, 534, 534, 2544, 534, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 2217, 556, 556, 556, 2574, 556, 556, 556, 556, 556, 556, 2579, 556, 556, 556, 556, 556, 556, 556, 1427, 1428, 556, 556, 556, 26009, 1341, 975, 580, 2585, 556, 556, 556, 556, 556, 556, 2592, 556, 556, 556, 556, 556, 556, 2599, 556, 556, 556, 556, 556, 3290, 556, 556, 556, 556, 3291, 3292, 556, 556, 556, 556, 556, 0, 0, 2298, 0, 580, 580, 580, 580, 580, 580, 580, 2886, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3312, 580, 580, 580, 580, 580, 580, 2673, 580, 580, 580, 2676, 580, 580, 580, 580, 580, 580, 580, 2681, 2682, 2683, 534, 534, 534, 534, 534, 1289, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2185, 534, 534, 534, 534, 2720, 2721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2080, 0, 0, 0, 2736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2746, 0, 0, 0, 0, 0, 667, 0, 0, 0, 0, 0, 729, 0, 780, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 2751, 0, 0, 0, 2753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2109, 534, 534, 534, 534, 534, 2787, 2788, 534, 534, 534, 534, 2791, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 3178, 556, 556, 556, 556, 2796, 534, 534, 534, 2799, 534, 2801, 534, 534, 534, 534, 534, 534, 2805, 534, 534, 534, 534, 534, 534, 2492, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1745, 534, 534, 534, 534, 534, 534, 2834, 2835, 556, 556, 556, 556, 2838, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2257, 556, 556, 556, 556, 556, 556, 556, 2844, 556, 556, 556, 2847, 556, 2849, 556, 556, 556, 556, 556, 556, 556, 2854, 580, 2867, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1949, 580, 580, 580, 2883, 2884, 580, 580, 580, 580, 2887, 580, 580, 580, 580, 580, 580, 580, 1928, 580, 580, 580, 580, 580, 580, 580, 580, 1912, 1913, 580, 580, 580, 580, 1920, 580, 580, 580, 580, 2893, 580, 580, 580, 2896, 580, 2898, 580, 580, 580, 580, 580, 580, 1190, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 2903, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 3242, 0, 0, 0, 0, 0, 0, 0, 0, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 580, 2918, 0, 0, 2921, 2922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 3255, 0, 534, 534, 534, 534, 2986, 534, 534, 534, 534, 534, 534, 534, 2992, 534, 534, 534, 534, 534, 534, 891, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 2302, 580, 580, 580, 580, 556, 556, 556, 3026, 556, 556, 556, 556, 556, 556, 556, 3032, 556, 556, 556, 556, 556, 556, 1841, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3357, 556, 3359, 556, 556, 556, 556, 580, 580, 580, 580, 3068, 580, 580, 580, 580, 580, 580, 580, 3074, 580, 580, 580, 580, 580, 2311, 580, 580, 2314, 580, 580, 580, 580, 580, 580, 2322, 3138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1191, 3247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2767, 534, 534, 534, 534, 534, 534, 534, 534, 3265, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 534, 534, 3276, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 3283, 556, 556, 556, 556, 556, 3299, 580, 580, 580, 580, 580, 580, 580, 3304, 580, 580, 580, 580, 580, 3479, 580, 3481, 580, 580, 3483, 580, 580, 0, 0, 0, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2421, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 3399, 534, 3401, 3402, 534, 3404, 534, 556, 556, 556, 556, 556, 556, 556, 556, 3414, 556, 3416, 3417, 556, 3419, 556, 3421, 580, 580, 580, 580, 580, 580, 580, 580, 3430, 580, 3432, 3433, 580, 3435, 580, 3437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 3499, 534, 3501, 534, 534, 580, 580, 580, 3553, 580, 3554, 580, 580, 580, 580, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 3538, 534, 3539, 534, 534, 534, 3604, 3605, 3606, 534, 556, 580, 534, 556, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 3211264, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 590, 566, 566, 566, 566, 566, 566, 566, 590, 590, 590, 543, 590, 590, 590, 590, 590, 590, 590, 566, 566, 543, 566, 590, 566, 590, 1, 12290, 556, 556, 1398, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2853, 556, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1127, 0, 534, 534, 534, 534, 2138, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2784, 534, 534, 534, 556, 556, 556, 2223, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1849, 556, 556, 556, 580, 580, 580, 2310, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1490, 580, 580, 580, 402, 0, 0, 0, 0, 380, 0, 69632, 73728, 0, 0, 0, 0, 425, 65536, 0, 0, 0, 0, 364, 364, 1133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0, 3136, 0, 425, 425, 0, 425, 0, 439, 425, 425, 462, 462, 462, 469, 462, 462, 462, 462, 462, 462, 462, 462, 469, 462, 462, 462, 462, 462, 462, 462, 462, 476, 462, 488, 488, 462, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 531, 544, 567, 544, 567, 544, 544, 567, 544, 591, 567, 567, 567, 567, 567, 567, 567, 591, 591, 591, 544, 591, 591, 591, 591, 591, 591, 591, 567, 567, 544, 567, 591, 567, 591, 1, 12290, 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2939, 0, 0, 2941, 0, 0, 0, 654, 0, 654, 0, 0, 0, 0, 814, 0, 0, 0, 654, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 2130, 534, 534, 534, 556, 919, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 957, 556, 556, 556, 556, 556, 556, 3545, 556, 3546, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 556, 556, 534, 534, 884, 534, 534, 556, 556, 957, 556, 556, 0, 580, 580, 1031, 580, 580, 580, 580, 580, 2907, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 0, 3117, 0, 0, 0, 290, 1066, 0, 0, 1069, 1073, 0, 0, 1077, 1081, 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 0, 0, 0, 1088, 1089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 131072, 0, 0, 0, 1130, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 3254, 0, 0, 1089, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 1253, 534, 534, 534, 534, 534, 1303, 534, 534, 1305, 534, 534, 534, 1309, 534, 534, 534, 0, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3549, 580, 580, 580, 534, 534, 534, 534, 1287, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2804, 534, 534, 2807, 534, 534, 1320, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1334, 534, 534, 534, 534, 534, 1323, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2509, 534, 534, 534, 534, 534, 534, 534, 1341, 901, 556, 1344, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2283, 556, 556, 556, 556, 556, 556, 556, 556, 1358, 1365, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1379, 556, 556, 0, 580, 580, 580, 985, 989, 992, 580, 1000, 580, 580, 580, 1015, 1017, 556, 556, 556, 1399, 556, 556, 556, 556, 556, 556, 556, 1412, 556, 556, 556, 556, 556, 556, 1858, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1402, 556, 556, 556, 556, 556, 556, 556, 1416, 556, 1436, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1450, 1457, 580, 580, 580, 580, 580, 3069, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1510, 580, 580, 580, 580, 580, 580, 1518, 580, 580, 580, 580, 0, 1266, 1450, 1358, 534, 534, 1320, 534, 534, 556, 556, 556, 556, 556, 3354, 556, 556, 556, 556, 556, 556, 3360, 556, 556, 556, 556, 556, 556, 2615, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2626, 580, 580, 580, 580, 580, 580, 556, 1412, 556, 556, 580, 580, 1504, 580, 580, 1066, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 661, 0, 0, 0, 0, 1570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 1721, 1722, 534, 534, 534, 534, 1729, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 3177, 556, 556, 556, 3180, 556, 534, 1770, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1311, 534, 556, 556, 1824, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3204, 556, 556, 556, 1838, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3294, 556, 580, 1987, 580, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 0, 0, 2694, 2029, 0, 2030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 534, 534, 2190, 534, 534, 534, 534, 534, 2195, 534, 534, 534, 534, 534, 534, 534, 1326, 534, 534, 534, 534, 534, 534, 534, 534, 1291, 534, 534, 534, 534, 534, 534, 534, 556, 2276, 556, 556, 556, 556, 556, 556, 2282, 556, 556, 556, 556, 556, 556, 556, 1810, 556, 556, 556, 556, 556, 556, 556, 556, 3188, 556, 556, 556, 556, 556, 556, 556, 580, 2363, 580, 580, 580, 580, 580, 580, 2369, 580, 580, 580, 580, 580, 580, 580, 2329, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3557, 0, 0, 0, 0, 534, 534, 580, 580, 2634, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1948, 580, 580, 0, 0, 0, 0, 2699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163840, 0, 0, 0, 534, 534, 534, 534, 534, 2778, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1779, 534, 534, 534, 534, 534, 534, 2809, 534, 534, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 2817, 556, 556, 556, 556, 556, 3465, 556, 3467, 556, 556, 3469, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3373, 580, 3375, 580, 556, 556, 556, 2858, 556, 556, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 1445, 580, 580, 580, 1454, 580, 580, 580, 2866, 580, 580, 580, 580, 580, 580, 2874, 580, 580, 580, 580, 580, 580, 580, 580, 1473, 580, 580, 580, 580, 580, 580, 580, 534, 2996, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1767, 1768, 3036, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2275, 580, 3078, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1966, 580, 0, 0, 0, 0, 3130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 0, 0, 0, 534, 534, 3174, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 1828, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 3535, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2991, 534, 534, 534, 3542, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3550, 580, 580, 580, 580, 580, 3082, 580, 580, 3085, 580, 580, 580, 580, 580, 580, 580, 1911, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3072, 580, 580, 580, 580, 580, 580, 463, 463, 463, 447, 447, 463, 447, 447, 447, 447, 447, 447, 447, 447, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 545, 568, 545, 568, 545, 545, 568, 545, 592, 568, 568, 568, 568, 568, 568, 568, 592, 592, 592, 545, 592, 592, 592, 592, 592, 592, 592, 568, 568, 545, 568, 592, 568, 592, 1, 12290, 0, 0, 0, 655, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 920, 556, 556, 934, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2841, 556, 556, 556, 556, 0, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2461696, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801664, 0, 0, 534, 534, 534, 534, 1322, 534, 534, 534, 534, 534, 1329, 534, 534, 534, 534, 534, 534, 534, 2505, 534, 2507, 534, 534, 534, 534, 534, 534, 534, 1793, 534, 534, 534, 534, 1341, 0, 556, 556, 556, 556, 1359, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 965, 556, 556, 556, 556, 556, 1421, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 1974, 1975, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2641, 580, 580, 580, 2644, 580, 556, 556, 1534, 556, 580, 580, 580, 1538, 580, 1066, 0, 1542, 0, 0, 0, 1548, 0, 0, 0, 1554, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 0, 0, 0, 2448, 0, 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 534, 534, 1723, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1734, 534, 534, 534, 534, 534, 534, 892, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 0, 2298, 0, 0, 0, 580, 580, 580, 580, 580, 580, 3480, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 3582, 534, 534, 534, 534, 556, 3586, 1754, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1316, 0, 2096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2108, 0, 534, 534, 534, 534, 2154, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3006, 534, 534, 534, 556, 556, 556, 2239, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1864, 556, 556, 1867, 580, 580, 580, 2326, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1512, 580, 580, 580, 556, 556, 3194, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1414, 556, 556, 0, 0, 3328, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 851, 534, 534, 534, 534, 534, 580, 580, 3379, 580, 580, 534, 556, 580, 0, 0, 0, 3384, 0, 0, 0, 0, 0, 0, 306, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 298, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 3395, 534, 534, 534, 534, 534, 534, 534, 2156, 534, 2158, 534, 534, 534, 534, 534, 534, 534, 2170, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2546, 534, 534, 534, 534, 0, 2549, 387, 389, 339, 0, 0, 0, 0, 0, 0, 338, 0, 0, 339, 0, 0, 0, 0, 0, 0, 2023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 393, 394, 0, 395, 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 2405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 1099, 0, 0, 0, 338, 0, 0, 440, 0, 0, 464, 464, 464, 464, 464, 464, 464, 464, 546, 569, 546, 569, 546, 546, 569, 546, 475, 464, 464, 464, 493, 470, 493, 493, 493, 493, 493, 493, 493, 493, 464, 464, 470, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 474, 474, 464, 475, 464, 464, 464, 593, 569, 569, 569, 569, 569, 569, 569, 593, 593, 593, 546, 593, 593, 593, 593, 593, 593, 593, 569, 569, 546, 569, 593, 569, 593, 1, 12290, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, 0, 708, 0, 710, 0, 0, 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1643, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2411, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 775, 0, 0, 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, 779, 656, 0, 0, 796, 0, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 434, 0, 0, 331, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 796, 779, 0, 0, 801, 0, 660, 0, 775, 0, 0, 0, 0, 0, 0, 0, 0, 2755, 0, 0, 0, 0, 0, 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, 0, 0, 2741, 0, 0, 0, 2745, 0, 2747, 0, 0, 0, 775, 801, 0, 801, 796, 0, 0, 0, 815, 0, 0, 0, 656, 818, 828, 0, 0, 0, 0, 534, 832, 534, 534, 534, 848, 534, 534, 862, 534, 534, 534, 534, 534, 534, 2504, 534, 534, 534, 534, 534, 534, 534, 534, 534, 898, 534, 556, 556, 556, 556, 556, 534, 534, 875, 534, 534, 534, 534, 893, 534, 534, 534, 556, 556, 904, 556, 556, 0, 580, 580, 976, 580, 580, 580, 580, 580, 580, 1007, 580, 580, 580, 580, 580, 1908, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1921, 556, 921, 556, 556, 935, 556, 556, 556, 556, 948, 556, 556, 556, 556, 966, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 0, 3594, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3156, 534, 534, 534, 534, 534, 534, 534, 2802, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1795, 534, 534, 1341, 1800, 556, 556, 580, 1022, 580, 580, 580, 580, 1040, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 3428, 580, 580, 580, 580, 580, 534, 556, 580, 3381, 0, 3383, 0, 0, 0, 0, 0, 0, 0, 2126, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1717, 534, 534, 0, 0, 1131, 0, 364, 364, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2481, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 1, 12290, 1093, 0, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 1131, 0, 0, 1237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2713, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 1248, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 841, 534, 534, 534, 534, 534, 534, 534, 556, 556, 1360, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1382, 580, 580, 1497, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2334, 580, 580, 556, 1533, 556, 556, 580, 580, 1537, 580, 580, 1066, 0, 0, 0, 0, 0, 0, 0, 1121, 0, 0, 1124, 1125, 0, 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0, 1602, 0, 0, 1605, 0, 1607, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 122880, 122880, 0, 0, 1697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 534, 1755, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2162, 534, 556, 1822, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3049, 556, 556, 556, 556, 2265, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3031, 556, 556, 556, 556, 0, 0, 0, 0, 2402, 0, 2404, 0, 0, 2407, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0, 0, 0, 0, 2412, 0, 0, 0, 2415, 2416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 0, 0, 0, 0, 0, 0, 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2912256, 0, 3207168, 0, 0, 0, 0, 2440, 0, 2441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0, 0, 0, 2461, 0, 0, 0, 0, 0, 0, 0, 0, 2469, 0, 0, 0, 0, 0, 2475, 0, 0, 0, 0, 2478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2486, 0, 0, 0, 0, 435, 0, 0, 447, 463, 463, 463, 463, 463, 463, 463, 463, 463, 473, 463, 463, 463, 463, 463, 463, 534, 2500, 2501, 534, 534, 534, 534, 534, 2506, 534, 2508, 534, 534, 534, 534, 2512, 2525, 534, 534, 534, 534, 534, 534, 2533, 534, 534, 534, 534, 2537, 534, 534, 534, 534, 534, 534, 1262, 534, 534, 534, 534, 534, 534, 1277, 534, 534, 556, 556, 556, 2561, 556, 556, 2564, 2565, 556, 556, 556, 556, 556, 2570, 556, 2572, 556, 556, 556, 556, 2576, 556, 556, 556, 556, 556, 556, 556, 556, 2582, 556, 556, 0, 580, 580, 977, 580, 580, 580, 993, 580, 580, 580, 580, 580, 580, 1443, 580, 580, 580, 1447, 580, 580, 1458, 580, 580, 556, 556, 2602, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1833, 556, 556, 2685, 534, 534, 556, 2687, 556, 556, 580, 2689, 580, 580, 0, 0, 0, 0, 0, 0, 0, 2936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 0, 2708, 0, 0, 0, 0, 0, 0, 0, 2714, 2715, 2716, 0, 0, 0, 0, 0, 0, 2060, 0, 0, 0, 0, 0, 2064, 0, 0, 2066, 0, 2735, 0, 2737, 0, 0, 0, 2740, 0, 0, 2743, 0, 0, 0, 0, 0, 0, 0, 2960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2430, 0, 0, 0, 0, 0, 2435, 534, 534, 2810, 534, 0, 0, 2811, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2566, 556, 556, 556, 556, 556, 556, 556, 2856, 556, 556, 2859, 556, 0, 0, 2860, 580, 580, 580, 580, 580, 580, 580, 2651, 580, 580, 580, 580, 580, 580, 2658, 580, 580, 2892, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2321, 580, 2902, 580, 580, 2905, 580, 580, 2908, 580, 2909, 2910, 2911, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 3115, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 420, 0, 65536, 0, 2929, 2930, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2730, 0, 0, 0, 0, 0, 534, 534, 2997, 534, 2999, 534, 534, 534, 534, 534, 534, 3005, 534, 534, 3007, 534, 534, 534, 534, 534, 1324, 534, 534, 534, 534, 534, 534, 534, 534, 1335, 1336, 556, 3037, 556, 3039, 556, 556, 556, 556, 556, 556, 556, 3046, 556, 556, 3048, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 0, 0, 0, 0, 0, 0, 377, 0, 380, 0, 0, 0, 380, 0, 0, 580, 580, 3079, 580, 3081, 580, 580, 580, 580, 580, 580, 580, 3088, 580, 580, 3090, 534, 534, 534, 534, 534, 3164, 534, 534, 534, 534, 534, 534, 534, 3169, 534, 534, 534, 534, 534, 534, 2779, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3167, 534, 534, 534, 534, 534, 3181, 3182, 556, 556, 556, 556, 3186, 3187, 556, 556, 556, 556, 556, 3191, 556, 556, 0, 580, 580, 978, 580, 580, 580, 995, 580, 580, 1009, 580, 580, 580, 580, 580, 2353, 2354, 580, 580, 580, 580, 580, 580, 2361, 580, 580, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 3210, 3211, 580, 580, 580, 580, 580, 1442, 580, 580, 580, 580, 1448, 580, 580, 580, 580, 580, 580, 3524, 580, 3526, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 3215, 3216, 580, 580, 580, 580, 580, 3220, 580, 580, 580, 580, 580, 580, 580, 580, 1507, 580, 580, 580, 580, 580, 580, 580, 3226, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 2684, 556, 556, 556, 3288, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2258, 556, 556, 556, 3307, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2347, 2348, 3132, 0, 0, 0, 0, 534, 534, 3393, 534, 534, 534, 534, 3398, 534, 534, 534, 534, 534, 534, 1290, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1267, 534, 534, 534, 534, 534, 534, 534, 3403, 534, 534, 556, 556, 3408, 556, 556, 556, 556, 3413, 556, 556, 556, 556, 556, 556, 1874, 556, 556, 556, 556, 556, 1881, 556, 556, 556, 3418, 556, 556, 556, 580, 580, 3424, 580, 580, 580, 580, 3429, 580, 580, 580, 580, 580, 1468, 580, 580, 580, 580, 580, 580, 580, 1476, 580, 580, 3434, 580, 580, 580, 0, 0, 0, 0, 0, 3441, 0, 0, 0, 0, 534, 534, 534, 534, 3497, 534, 534, 534, 534, 534, 534, 534, 534, 1731, 534, 534, 534, 534, 1735, 534, 534, 534, 3563, 3564, 534, 534, 556, 556, 556, 3569, 3570, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3212, 580, 580, 580, 3575, 3576, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 556, 556, 0, 580, 580, 979, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2358, 580, 580, 580, 580, 580, 341, 342, 343, 344, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 344, 344, 345, 344, 0, 343, 344, 448, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 480, 489, 489, 497, 489, 499, 489, 489, 499, 499, 489, 499, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 547, 570, 547, 570, 547, 547, 570, 547, 594, 570, 570, 570, 570, 570, 570, 570, 594, 594, 594, 547, 594, 594, 594, 594, 594, 594, 594, 570, 570, 547, 570, 594, 570, 594, 1, 12290, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 666, 0, 668, 669, 0, 0, 0, 0, 0, 675, 0, 0, 0, 0, 0, 0, 0, 1220, 1250, 1251, 0, 1220, 0, 534, 534, 534, 0, 0, 0, 685, 0, 0, 0, 0, 0, 0, 692, 364, 364, 364, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1691, 0, 0, 0, 0, 712, 0, 714, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2138112, 0, 0, 0, 0, 0, 0, 639, 745, 746, 747, 0, 0, 0, 0, 0, 753, 754, 0, 0, 0, 0, 0, 748, 0, 0, 803, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 1134592, 0, 0, 0, 0, 0, 685, 0, 0, 665, 0, 685, 0, 797, 668, 716, 0, 685, 798, 0, 0, 0, 0, 0, 1090, 1091, 1092, 1093, 0, 0, 0, 0, 0, 0, 0, 0, 2948, 0, 0, 0, 0, 0, 2951, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 0, 0, 747, 807, 808, 0, 0, 0, 0, 0, 1119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3055616, 0, 0, 0, 3133440, 0, 0, 0, 0, 747, 0, 0, 812, 692, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 2073, 0, 2075, 0, 0, 0, 0, 0, 0, 0, 0, 1702, 0, 0, 1703, 0, 0, 1704, 0, 819, 0, 0, 0, 685, 692, 0, 0, 685, 817, 817, 0, 0, 0, 0, 0, 0, 0, 3131, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 756, 870, 873, 534, 534, 534, 885, 889, 534, 534, 534, 534, 556, 556, 556, 911, 915, 918, 556, 926, 556, 556, 556, 941, 943, 946, 556, 556, 556, 958, 962, 556, 556, 0, 580, 580, 980, 986, 580, 580, 580, 580, 1004, 580, 580, 580, 580, 580, 1469, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2627, 580, 580, 2630, 2631, 580, 1020, 580, 580, 580, 1032, 1036, 580, 580, 580, 580, 0, 0, 0, 1048, 1049, 1050, 838, 534, 885, 889, 1055, 911, 556, 958, 962, 1060, 0, 985, 580, 1032, 1036, 1065, 1101, 0, 0, 0, 0, 1105, 0, 0, 1108, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 1, 12290, 1298, 534, 534, 1302, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1312, 534, 534, 534, 534, 534, 1727, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1796, 534, 1341, 0, 556, 556, 534, 1319, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1332, 534, 534, 534, 534, 534, 534, 1304, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1266, 1273, 534, 534, 534, 534, 534, 556, 1383, 556, 556, 556, 556, 556, 556, 556, 1390, 556, 556, 1394, 556, 556, 556, 556, 556, 1385, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2595, 556, 556, 556, 556, 556, 580, 580, 580, 1482, 580, 580, 1486, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1929, 580, 580, 580, 580, 580, 580, 580, 1496, 580, 580, 1503, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1516, 1615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1655, 0, 0, 0, 1647, 0, 1649, 0, 0, 0, 1651, 0, 741, 0, 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 69632, 73728, 0, 418, 418, 0, 0, 65536, 418, 0, 0, 0, 534, 1709, 534, 534, 534, 534, 534, 534, 1715, 534, 534, 534, 534, 0, 0, 556, 2812, 556, 556, 556, 556, 556, 556, 556, 556, 3356, 556, 556, 556, 556, 556, 556, 556, 534, 534, 1787, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 1803, 556, 556, 556, 556, 1839, 556, 556, 556, 1843, 556, 556, 1848, 556, 556, 556, 556, 556, 556, 1892, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 0, 1269, 1453, 1361, 534, 534, 534, 534, 534, 556, 580, 580, 580, 1906, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1917, 580, 580, 580, 1935, 580, 580, 580, 1939, 580, 580, 1944, 580, 580, 580, 580, 580, 580, 580, 580, 1945, 580, 580, 580, 580, 580, 580, 580, 0, 0, 2010, 0, 1077, 0, 0, 0, 2012, 0, 1081, 0, 0, 0, 0, 0, 0, 0, 3144, 0, 0, 0, 0, 0, 0, 3147, 0, 534, 534, 534, 2177, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 1800, 556, 556, 556, 556, 2263, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1850, 556, 556, 580, 580, 2350, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2346, 580, 580, 0, 2550, 0, 1800, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2569, 556, 2571, 556, 556, 2613, 556, 556, 556, 0, 0, 0, 2616, 0, 1896, 580, 580, 580, 580, 580, 580, 3219, 580, 580, 580, 580, 580, 580, 580, 580, 3225, 0, 0, 2761, 0, 0, 0, 534, 2765, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3166, 534, 534, 534, 534, 534, 3171, 534, 534, 2789, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1295, 534, 534, 556, 556, 2836, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1865, 556, 556, 534, 534, 2985, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1310, 534, 534, 534, 534, 534, 2998, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 1801, 556, 556, 556, 3025, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3205, 556, 556, 3038, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2247, 556, 556, 580, 580, 3067, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2643, 580, 580, 580, 580, 580, 3080, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2345, 580, 580, 580, 534, 534, 534, 534, 534, 3267, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2159, 534, 534, 534, 534, 2163, 3285, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2289, 3336, 534, 534, 534, 534, 3340, 534, 534, 534, 534, 534, 3346, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 0, 0, 1545, 0, 0, 0, 0, 0, 1620, 0, 0, 1623, 0, 1625, 0, 0, 0, 0, 0, 0, 0, 2480, 0, 0, 0, 0, 0, 0, 0, 0, 555, 578, 555, 578, 555, 555, 578, 555, 556, 556, 3351, 556, 556, 556, 556, 3355, 556, 556, 556, 556, 556, 3361, 556, 556, 0, 580, 580, 981, 580, 580, 580, 580, 580, 580, 1010, 1012, 580, 580, 580, 580, 1029, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 3377, 580, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3251, 0, 3132, 3253, 0, 0, 3256, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 3396, 534, 534, 534, 3400, 534, 534, 534, 534, 534, 1742, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2536, 534, 534, 534, 534, 534, 388, 0, 0, 0, 392, 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233472, 0, 0, 0, 0, 0, 0, 0, 404, 0, 346, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, 515, 515, 515, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 515, 515, 515, 515, 515, 515, 515, 548, 571, 548, 571, 548, 548, 571, 548, 595, 571, 571, 571, 571, 571, 571, 571, 595, 595, 595, 548, 595, 595, 595, 595, 595, 595, 595, 571, 571, 610, 615, 595, 615, 621, 1, 12290, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1668, 534, 534, 876, 534, 534, 534, 534, 894, 534, 534, 534, 556, 556, 905, 556, 556, 0, 580, 580, 982, 580, 580, 580, 580, 1001, 1005, 1011, 580, 1016, 580, 580, 1023, 580, 580, 580, 580, 1041, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 0, 1544, 0, 0, 0, 0, 0, 0, 2764, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1268, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 1178, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 274432, 274432, 274432, 0, 274432, 274432, 274432, 274432, 1256, 534, 534, 534, 534, 534, 534, 534, 534, 1269, 534, 534, 534, 534, 1279, 534, 534, 534, 534, 534, 1757, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2197, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 901, 556, 556, 556, 1347, 556, 556, 556, 556, 556, 556, 556, 1877, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 0, 580, 1899, 580, 580, 580, 580, 556, 556, 1361, 556, 556, 556, 556, 1371, 556, 556, 556, 556, 556, 556, 556, 556, 3468, 556, 556, 3470, 556, 580, 580, 580, 556, 556, 556, 556, 1422, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 1990, 1991, 1992, 534, 1994, 534, 534, 556, 1998, 556, 556, 580, 580, 580, 3367, 580, 580, 580, 580, 3371, 580, 580, 580, 580, 580, 580, 3232, 580, 580, 580, 580, 580, 580, 534, 580, 556, 2384, 534, 534, 534, 2388, 556, 556, 556, 580, 580, 1439, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1453, 580, 580, 580, 580, 580, 2381, 2382, 2383, 534, 534, 534, 534, 556, 556, 556, 556, 3410, 556, 556, 556, 556, 556, 556, 556, 580, 1463, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1477, 580, 580, 1498, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1514, 580, 580, 580, 580, 2005, 0, 2007, 0, 2009, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 2034, 2035, 0, 2037, 2038, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 1, 12290, 0, 0, 0, 1586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434, 0, 556, 1852, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3363, 0, 1556, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 305, 204800, 204800, 0, 205105, 204800, 1, 12290, 0, 0, 0, 2070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0, 534, 2165, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2173, 534, 2250, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2584, 2337, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2375, 580, 2211, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2597, 556, 556, 556, 556, 556, 556, 2588, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2831, 556, 556, 556, 534, 3107, 556, 3109, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2138112, 1170, 0, 0, 0, 0, 0, 3132, 3330, 0, 0, 3332, 0, 0, 0, 0, 0, 534, 3335, 534, 534, 534, 534, 534, 1774, 534, 534, 534, 1778, 534, 534, 534, 534, 534, 534, 534, 1776, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2535, 534, 534, 534, 534, 534, 534, 534, 3337, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 3350, 556, 556, 3352, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2852, 556, 556, 556, 556, 556, 580, 3366, 580, 580, 3368, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1946, 580, 580, 580, 580, 580, 580, 3132, 0, 3388, 0, 3390, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 902, 556, 556, 0, 0, 0, 783, 0, 783, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 2557, 556, 556, 556, 556, 556, 556, 2848, 556, 556, 556, 556, 556, 556, 556, 556, 556, 947, 556, 556, 556, 556, 556, 556, 556, 922, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1381, 556, 556, 972, 0, 580, 580, 580, 580, 580, 580, 996, 580, 580, 580, 580, 580, 580, 1910, 580, 580, 580, 580, 1916, 580, 580, 580, 580, 78114, 1066, 0, 0, 1070, 1074, 0, 0, 1078, 1082, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0, 0, 1225, 0, 1181, 0, 534, 3162, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2201, 534, 580, 580, 580, 3218, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2629, 580, 580, 580, 347, 347, 349, 347, 0, 0, 347, 347, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 2125, 0, 0, 2128, 0, 534, 534, 2131, 534, 534, 0, 0, 0, 347, 347, 349, 347, 347, 347, 347, 347, 347, 506, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 549, 572, 549, 572, 549, 549, 572, 549, 596, 572, 572, 572, 572, 572, 572, 572, 596, 596, 596, 549, 596, 596, 596, 596, 596, 596, 596, 572, 572, 549, 572, 596, 572, 596, 1, 12290, 0, 0, 0, 715, 0, 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1147348, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 354, 355, 356, 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 674, 0, 0, 0, 0, 0, 0, 0, 794, 795, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 795, 0, 0, 794, 809, 0, 803, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 820, 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 795, 534, 534, 839, 534, 534, 534, 534, 857, 534, 534, 534, 534, 534, 534, 1728, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3272, 534, 534, 534, 3273, 3274, 534, 534, 877, 879, 534, 534, 890, 534, 534, 534, 534, 556, 556, 906, 912, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 1543, 0, 0, 0, 1549, 556, 556, 556, 930, 556, 556, 556, 556, 556, 950, 952, 556, 556, 963, 556, 556, 556, 556, 556, 1840, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1831, 556, 556, 556, 556, 1835, 580, 1024, 1026, 580, 580, 1037, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 1540, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 131072, 0, 131072, 131072, 131072, 131072, 0, 131072, 131072, 131072, 131072, 131072, 131072, 0, 0, 0, 0, 0, 131072, 0, 131072, 1, 12290, 839, 879, 534, 890, 534, 912, 952, 556, 963, 556, 0, 986, 1026, 580, 1037, 580, 580, 580, 580, 2005, 0, 2007, 0, 2009, 0, 2011, 0, 0, 2397, 0, 0, 0, 0, 0, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2731, 0, 0, 0, 0, 0, 0, 1132, 364, 364, 0, 0, 1135, 0, 0, 0, 1138, 0, 1140, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 2556, 556, 556, 556, 556, 556, 556, 2577, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1897, 580, 580, 580, 580, 580, 580, 1142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 2555, 556, 556, 556, 556, 2559, 1158, 0, 0, 0, 0, 1163, 0, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 1247, 0, 0, 0, 0, 0, 0, 0, 1168, 534, 534, 534, 534, 534, 534, 1743, 534, 534, 534, 534, 534, 534, 534, 534, 534, 897, 534, 556, 556, 556, 556, 914, 534, 534, 534, 1286, 1288, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 907, 556, 556, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 1348, 556, 556, 556, 556, 556, 556, 0, 2298, 580, 580, 580, 580, 580, 580, 580, 580, 2640, 580, 580, 580, 580, 580, 580, 2645, 580, 580, 580, 1440, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2670, 2671, 580, 580, 1494, 580, 580, 580, 580, 580, 580, 580, 1508, 580, 580, 580, 580, 580, 580, 580, 2678, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 1996, 556, 556, 556, 2000, 580, 580, 1519, 1520, 580, 580, 580, 0, 534, 580, 556, 534, 1528, 534, 534, 1531, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 1541, 0, 0, 0, 1547, 0, 0, 0, 0, 556, 556, 556, 2553, 556, 2554, 556, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 580, 2863, 580, 580, 580, 1532, 556, 556, 1535, 580, 1536, 580, 580, 1539, 1066, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, 0, 0, 0, 0, 1633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 1658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 1698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 0, 0, 534, 1738, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2207, 2549, 534, 534, 534, 1788, 534, 534, 534, 534, 1794, 534, 534, 534, 1341, 0, 556, 556, 556, 556, 556, 1891, 556, 556, 26009, 1896, 580, 580, 580, 580, 580, 580, 1470, 1472, 580, 580, 580, 580, 580, 580, 580, 580, 1960, 580, 580, 1963, 580, 580, 580, 580, 556, 556, 1870, 556, 556, 556, 1875, 556, 556, 556, 556, 556, 556, 556, 556, 1884, 556, 556, 556, 556, 1890, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 1927, 580, 580, 580, 580, 1931, 580, 580, 580, 580, 580, 1904, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2672, 580, 580, 580, 1971, 580, 580, 580, 580, 580, 580, 580, 580, 1980, 580, 580, 580, 580, 580, 1504, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2316, 580, 580, 2320, 580, 580, 1986, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 0, 2693, 0, 0, 0, 0, 0, 2099, 0, 2101, 2102, 2103, 0, 2105, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 424, 65536, 0, 0, 0, 0, 2123, 0, 0, 0, 0, 0, 0, 0, 2129, 534, 534, 534, 534, 0, 2211, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3045, 556, 556, 556, 556, 556, 534, 534, 2136, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1333, 534, 534, 534, 534, 534, 2166, 534, 2168, 534, 2171, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3271, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2178, 534, 534, 534, 534, 534, 2184, 534, 534, 534, 534, 534, 534, 534, 2792, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2519, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2206, 0, 0, 0, 0, 2213, 556, 556, 556, 556, 556, 556, 939, 556, 944, 556, 951, 556, 954, 556, 556, 968, 556, 2221, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1415, 556, 556, 556, 2251, 556, 2253, 556, 2256, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2607, 556, 556, 556, 2610, 556, 556, 556, 556, 556, 2264, 556, 556, 556, 556, 556, 2270, 556, 556, 556, 556, 556, 556, 1369, 556, 556, 556, 1374, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2293, 0, 0, 0, 0, 2300, 580, 580, 580, 580, 580, 580, 1942, 580, 580, 580, 1947, 580, 580, 580, 580, 580, 580, 2308, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2880, 580, 580, 580, 2338, 580, 2340, 580, 2343, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1961, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2351, 580, 580, 580, 580, 580, 2357, 580, 580, 580, 580, 580, 580, 1958, 1959, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3234, 580, 580, 580, 534, 580, 556, 0, 0, 2400, 2401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 2436, 0, 0, 2439, 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0, 0, 0, 0, 2818048, 2846720, 0, 2916352, 0, 0, 3002368, 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459, 0, 0, 0, 0, 556, 556, 2552, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2851, 556, 556, 556, 556, 556, 556, 0, 0, 0, 2477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485, 0, 0, 0, 0, 0, 1195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111044, 0, 0, 0, 0, 534, 534, 534, 534, 534, 2503, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2520, 534, 534, 534, 534, 534, 556, 556, 556, 556, 2562, 556, 556, 556, 556, 556, 2567, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 2304, 580, 580, 580, 2633, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2901, 580, 534, 534, 534, 2686, 556, 556, 556, 2688, 580, 580, 580, 2690, 2691, 0, 0, 0, 0, 0, 0, 2453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 2710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 0, 0, 0, 2855, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 580, 580, 2864, 580, 2865, 580, 580, 2904, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 0, 3113, 0, 0, 0, 0, 0, 0, 0, 0, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 1, 12290, 556, 556, 556, 3053, 556, 556, 556, 556, 556, 556, 556, 580, 3061, 580, 580, 580, 580, 580, 2649, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2371, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3095, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 2386, 2387, 556, 556, 2390, 2391, 534, 534, 3338, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3347, 534, 534, 3349, 556, 556, 556, 556, 3353, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3362, 556, 556, 556, 556, 580, 580, 580, 580, 580, 3427, 580, 580, 580, 3431, 580, 580, 580, 580, 1031, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 3365, 580, 580, 580, 580, 3369, 580, 580, 580, 580, 580, 580, 580, 580, 2356, 580, 580, 580, 580, 580, 580, 580, 580, 3378, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 3449, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 3179, 556, 556, 556, 556, 556, 3462, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 3300, 580, 580, 580, 3303, 580, 580, 580, 580, 580, 3476, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 0, 0, 3491, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3158, 534, 534, 534, 534, 534, 3565, 534, 556, 556, 556, 556, 556, 3571, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3372, 580, 580, 580, 580, 580, 580, 3577, 580, 580, 3579, 0, 3581, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 2224, 556, 556, 2227, 556, 556, 556, 556, 556, 556, 2235, 400, 0, 0, 0, 0, 0, 367, 375, 403, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2054, 408, 410, 0, 0, 367, 375, 0, 69632, 73728, 0, 0, 0, 0, 426, 65536, 0, 0, 0, 0, 556, 2551, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2271, 556, 556, 556, 556, 556, 426, 426, 0, 426, 0, 410, 426, 449, 0, 0, 0, 0, 0, 0, 0, 0, 534, 556, 534, 556, 534, 534, 556, 534, 367, 0, 0, 395, 0, 0, 0, 0, 0, 350, 0, 0, 367, 0, 0, 395, 0, 408, 0, 490, 490, 0, 490, 490, 490, 490, 490, 490, 490, 490, 516, 516, 516, 516, 449, 449, 449, 449, 524, 449, 449, 525, 449, 516, 530, 516, 516, 516, 530, 516, 516, 516, 516, 532, 550, 573, 550, 573, 550, 550, 573, 550, 597, 573, 573, 573, 573, 573, 573, 573, 597, 597, 597, 550, 597, 597, 597, 597, 597, 597, 597, 573, 573, 611, 616, 597, 616, 622, 1, 12290, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 1568, 0, 789, 0, 0, 0, 0, 534, 834, 534, 534, 534, 534, 534, 534, 863, 865, 534, 534, 534, 534, 534, 1790, 1792, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 0, 580, 580, 580, 983, 987, 580, 580, 580, 580, 580, 580, 1013, 580, 556, 556, 556, 556, 936, 938, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2829, 556, 556, 2832, 556, 556, 78114, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1098, 0, 0, 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 1116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 1582, 0, 0, 0, 0, 1085, 1208, 0, 0, 0, 0, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 347, 348, 349, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 1229, 534, 534, 534, 1259, 534, 534, 534, 1263, 534, 534, 1274, 534, 534, 1278, 534, 534, 534, 534, 534, 534, 3001, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1327, 534, 534, 534, 534, 534, 534, 534, 1299, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2497, 534, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 1351, 556, 556, 556, 556, 556, 1423, 556, 556, 556, 1430, 556, 556, 26009, 1341, 975, 580, 1355, 556, 556, 1366, 556, 556, 1370, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2828, 556, 556, 556, 556, 556, 556, 1462, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3315, 580, 1479, 580, 580, 580, 1483, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2877, 580, 580, 580, 580, 0, 1571, 1572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1612, 0, 0, 0, 0, 0, 0, 1603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 696, 0, 1616, 0, 1618, 0, 0, 0, 1622, 0, 0, 0, 1626, 0, 0, 0, 1630, 0, 0, 0, 0, 1572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 695, 0, 534, 534, 534, 1724, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1782, 1783, 534, 534, 556, 1837, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1818, 556, 556, 556, 556, 1889, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 1976, 580, 580, 580, 580, 580, 1981, 580, 580, 580, 0, 0, 0, 2031, 0, 2032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200246, 151552, 2200246, 0, 0, 2175, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2186, 534, 534, 534, 534, 534, 534, 1758, 534, 534, 534, 534, 1764, 534, 534, 534, 534, 0, 0, 556, 556, 556, 556, 2814, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 2301, 580, 580, 580, 580, 580, 1038, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 580, 580, 2394, 2395, 0, 1544, 0, 1550, 0, 1556, 0, 1562, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0, 0, 2476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 345, 344, 65536, 343, 534, 534, 534, 534, 2530, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1275, 534, 534, 534, 534, 580, 2661, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3075, 580, 580, 0, 0, 2722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 534, 2797, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2511, 534, 556, 556, 2845, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2259, 556, 556, 0, 0, 2970, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 855, 534, 534, 534, 534, 0, 0, 0, 0, 3122, 3123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 3149, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1737, 3172, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 2242, 556, 556, 556, 556, 556, 556, 556, 556, 1406, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 3229, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 3426, 580, 580, 580, 580, 580, 580, 580, 2639, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2344, 580, 580, 580, 580, 580, 580, 534, 3236, 556, 3238, 580, 3240, 3241, 0, 0, 0, 0, 3245, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 397, 0, 0, 0, 323, 0, 0, 0, 3258, 0, 0, 0, 0, 0, 0, 0, 0, 3261, 0, 534, 534, 534, 534, 534, 534, 534, 3154, 3155, 534, 534, 534, 534, 3159, 3160, 3263, 534, 534, 534, 3266, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1330, 534, 534, 534, 534, 580, 580, 3318, 534, 3319, 556, 3320, 580, 0, 0, 0, 0, 0, 0, 0, 0, 543, 566, 543, 566, 543, 543, 566, 543, 556, 556, 3543, 556, 3544, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 3551, 580, 3552, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 534, 534, 3536, 534, 3537, 534, 534, 534, 534, 534, 534, 534, 1730, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2183, 534, 534, 534, 534, 534, 534, 409, 355, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 638, 0, 0, 641, 642, 0, 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0, 1594, 0, 0, 0, 0, 466, 477, 466, 0, 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, 517, 517, 521, 521, 521, 521, 466, 466, 466, 466, 466, 466, 466, 471, 466, 521, 517, 521, 521, 517, 521, 521, 521, 521, 533, 551, 574, 551, 574, 551, 551, 574, 551, 598, 574, 574, 574, 574, 574, 574, 574, 598, 598, 598, 551, 598, 598, 598, 598, 598, 598, 598, 574, 574, 612, 617, 598, 617, 623, 1, 12290, 0, 0, 731, 0, 0, 0, 637, 731, 0, 737, 738, 637, 0, 0, 0, 0, 0, 0, 656, 0, 0, 659, 660, 0, 0, 0, 0, 0, 0, 0, 2754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420, 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 0, 791, 0, 0, 0, 0, 0, 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016, 0, 0, 0, 0, 806, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 349, 347, 65536, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 777, 777, 0, 637, 0, 0, 0, 786, 0, 791, 0, 777, 0, 806, 0, 0, 0, 658, 0, 777, 791, 829, 0, 534, 835, 534, 534, 534, 534, 854, 858, 864, 534, 869, 556, 556, 927, 931, 937, 556, 942, 556, 556, 556, 556, 556, 959, 556, 556, 556, 556, 556, 1424, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 534, 534, 886, 534, 534, 556, 556, 959, 556, 556, 0, 580, 580, 1033, 580, 580, 580, 580, 1033, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 0, 1086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449, 0, 0, 0, 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1113, 0, 0, 0, 1117, 1118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 208896, 0, 0, 0, 0, 0, 0, 1179, 0, 1182, 0, 0, 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0, 2726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 1086, 0, 0, 0, 1211, 0, 1213, 0, 0, 0, 0, 0, 0, 0, 1638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2964, 2965, 0, 0, 1230, 1187, 0, 1211, 1233, 0, 1236, 0, 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 2739, 0, 0, 0, 0, 2744, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 303, 2424832, 2433024, 0, 0, 2457600, 0, 1245, 0, 0, 0, 0, 0, 1245, 0, 0, 1136, 1245, 0, 1252, 534, 534, 534, 534, 534, 534, 3279, 534, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3514, 556, 556, 556, 580, 534, 534, 1258, 534, 534, 534, 534, 1264, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3455, 534, 534, 3457, 556, 556, 556, 534, 534, 1285, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1296, 534, 534, 534, 534, 534, 534, 3341, 534, 534, 534, 534, 534, 534, 534, 534, 556, 580, 3607, 3608, 3609, 534, 556, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 333, 0, 0, 333, 0, 0, 333, 0, 0, 0, 534, 534, 1301, 534, 534, 534, 534, 534, 534, 534, 534, 1308, 534, 534, 534, 1315, 1317, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2149, 534, 1339, 534, 1341, 901, 1343, 556, 556, 556, 556, 556, 1350, 556, 556, 556, 556, 556, 556, 2225, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2244, 556, 556, 556, 556, 2248, 556, 1356, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1377, 556, 556, 556, 556, 556, 556, 2241, 556, 2243, 556, 556, 556, 556, 556, 556, 556, 1425, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 556, 556, 556, 556, 1400, 556, 556, 556, 1407, 1409, 556, 556, 556, 556, 556, 556, 1386, 556, 556, 556, 556, 556, 556, 556, 1395, 556, 1480, 580, 580, 580, 580, 1485, 580, 580, 580, 580, 580, 580, 580, 580, 1492, 580, 580, 580, 580, 2352, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2628, 580, 580, 580, 580, 580, 580, 1499, 1501, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2878, 580, 580, 2881, 1550, 0, 0, 0, 1556, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 2957312, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2094, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 373, 0, 65536, 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0, 0, 0, 0, 1619, 0, 0, 0, 0, 0, 0, 0, 1627, 1628, 0, 0, 0, 0, 0, 1604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254407, 0, 0, 0, 0, 0, 0, 0, 0, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 386, 0, 0, 0, 1685, 0, 0, 0, 0, 0, 1689, 0, 0, 1692, 0, 0, 0, 0, 0, 0, 3143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2756, 0, 0, 2759, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1705, 0, 1707, 1681, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1719, 534, 534, 534, 534, 534, 1791, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 556, 556, 556, 2295, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 2666, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1446, 580, 580, 580, 580, 580, 580, 534, 534, 534, 1725, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1736, 534, 534, 534, 534, 534, 2179, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2143, 534, 2145, 534, 534, 534, 534, 534, 534, 1740, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1751, 534, 534, 534, 534, 534, 2207, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1403, 556, 556, 556, 556, 556, 556, 556, 556, 1408, 556, 556, 556, 556, 556, 556, 556, 534, 534, 1756, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2172, 534, 534, 2002, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 696, 0, 0, 2019, 2020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 2055, 2056, 0, 0, 2058, 2059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2617344, 0, 0, 0, 0, 2081, 0, 0, 0, 0, 2084, 2085, 0, 0, 0, 0, 0, 2091, 0, 0, 0, 0, 0, 0, 3259, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 849, 534, 534, 534, 534, 534, 534, 534, 2152, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2161, 534, 534, 534, 534, 534, 534, 3452, 534, 3454, 534, 534, 3456, 534, 556, 556, 556, 556, 3509, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 0, 0, 0, 3595, 534, 534, 2164, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2174, 534, 534, 534, 2191, 534, 534, 534, 2194, 534, 534, 534, 534, 2199, 534, 534, 534, 534, 534, 534, 1759, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1732, 534, 534, 534, 534, 534, 534, 556, 2237, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2246, 556, 556, 2249, 556, 556, 2277, 556, 556, 556, 556, 2281, 556, 556, 556, 556, 2286, 556, 556, 556, 556, 556, 1808, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2608, 556, 556, 556, 556, 556, 580, 2324, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2333, 580, 580, 2336, 580, 580, 2364, 580, 580, 580, 580, 2368, 580, 580, 580, 580, 2373, 580, 580, 580, 580, 580, 2665, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1979, 580, 580, 580, 580, 580, 2398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2408, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 770, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 534, 534, 2488, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2496, 534, 534, 534, 534, 534, 882, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 3411, 556, 556, 556, 3415, 556, 556, 534, 534, 2514, 534, 534, 2516, 534, 2517, 534, 534, 534, 534, 534, 534, 534, 2524, 534, 534, 2528, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2539, 556, 556, 2560, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3472, 580, 580, 556, 556, 556, 2575, 556, 556, 556, 2578, 556, 556, 2580, 556, 2581, 556, 556, 556, 556, 556, 1827, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1814, 556, 556, 556, 556, 1820, 580, 2646, 580, 2647, 580, 580, 580, 580, 580, 580, 580, 580, 2655, 580, 580, 2659, 0, 2696, 2697, 0, 0, 2700, 2701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3178496, 2670592, 0, 2744320, 0, 0, 2772, 534, 2775, 534, 534, 534, 534, 2780, 534, 534, 534, 2783, 534, 534, 534, 534, 534, 534, 534, 3002, 3003, 534, 534, 534, 534, 534, 534, 534, 534, 2494, 534, 534, 534, 534, 534, 534, 534, 534, 1744, 534, 534, 534, 1748, 534, 534, 1753, 2808, 534, 534, 534, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3358, 556, 556, 556, 556, 556, 2819, 556, 2822, 556, 556, 556, 556, 2827, 556, 556, 556, 2830, 556, 556, 556, 556, 556, 556, 2255, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2228, 556, 2230, 556, 556, 556, 556, 556, 556, 2857, 556, 556, 556, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 2652, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2868, 580, 2871, 580, 580, 580, 580, 2876, 580, 580, 580, 2879, 580, 580, 580, 580, 1034, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 580, 580, 580, 580, 2906, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 3112, 0, 3114, 0, 0, 0, 3118, 0, 0, 534, 534, 534, 534, 3013, 534, 534, 534, 534, 534, 556, 556, 556, 3021, 556, 556, 556, 556, 556, 2266, 2267, 556, 556, 556, 556, 556, 556, 2274, 556, 556, 0, 580, 580, 580, 580, 580, 580, 994, 580, 580, 1008, 580, 580, 580, 580, 580, 2341, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 733, 534, 580, 556, 0, 0, 3121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 534, 3173, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 2839, 556, 556, 556, 556, 556, 556, 556, 556, 1811, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3183, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3033, 556, 556, 556, 556, 3193, 556, 556, 556, 556, 556, 556, 3199, 556, 3201, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 2303, 580, 2305, 580, 580, 580, 3228, 580, 3230, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 556, 556, 556, 580, 3423, 580, 3425, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2888, 580, 580, 580, 580, 580, 580, 0, 0, 0, 3248, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3334, 534, 534, 0, 3257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2982, 534, 534, 3264, 534, 534, 534, 3268, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1328, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3277, 534, 534, 534, 556, 556, 556, 556, 556, 3282, 556, 556, 556, 556, 556, 2294, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 3482, 580, 580, 3484, 580, 0, 0, 0, 556, 3286, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1883, 556, 3295, 556, 556, 556, 556, 580, 580, 580, 580, 580, 3301, 580, 580, 580, 3305, 580, 580, 580, 580, 2380, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 534, 3601, 556, 3602, 580, 3603, 3489, 0, 0, 0, 534, 534, 534, 3496, 534, 534, 534, 534, 534, 534, 534, 534, 1265, 534, 534, 534, 534, 534, 534, 534, 3504, 556, 556, 556, 3508, 556, 556, 556, 556, 556, 556, 556, 556, 3516, 556, 580, 580, 580, 580, 2624, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1475, 580, 580, 580, 580, 580, 580, 3521, 580, 580, 580, 580, 580, 580, 580, 580, 3529, 580, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 0, 122880, 0, 2105631, 12290, 0, 3532, 0, 3534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3540, 3541, 534, 534, 534, 534, 534, 2208, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1387, 556, 556, 556, 1391, 556, 556, 556, 556, 556, 357, 358, 0, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 735, 654, 467, 467, 481, 0, 0, 481, 358, 358, 358, 503, 358, 358, 358, 358, 467, 467, 599, 575, 575, 575, 575, 575, 575, 575, 599, 599, 599, 552, 599, 599, 599, 599, 599, 599, 599, 575, 575, 552, 575, 599, 575, 599, 1, 12290, 556, 556, 928, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 964, 556, 556, 556, 556, 556, 2294, 2615, 0, 0, 0, 0, 580, 580, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 534, 534, 534, 891, 534, 556, 556, 556, 964, 556, 0, 580, 580, 580, 1038, 580, 580, 580, 580, 2636, 580, 2638, 580, 580, 580, 580, 2642, 580, 580, 580, 580, 0, 0, 0, 3440, 0, 0, 0, 3443, 0, 0, 534, 534, 78114, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0, 0, 670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2432, 0, 0, 0, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2132, 2133, 534, 534, 1340, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1353, 556, 556, 556, 556, 580, 3590, 580, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 1713, 534, 534, 534, 534, 534, 534, 534, 2140, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2990, 534, 534, 534, 534, 534, 534, 556, 556, 1362, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3047, 556, 556, 556, 0, 1551, 0, 0, 0, 1557, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 1656, 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0, 1664, 0, 0, 0, 0, 0, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 1, 12290, 534, 534, 1771, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2523, 534, 534, 556, 556, 1854, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1866, 556, 556, 556, 556, 932, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1815, 556, 556, 556, 556, 556, 1887, 556, 556, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 2312, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1488, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1924, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3073, 580, 580, 580, 580, 580, 1937, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1950, 580, 580, 580, 580, 2648, 580, 580, 580, 580, 580, 580, 580, 580, 2656, 580, 580, 580, 580, 580, 3231, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 580, 580, 580, 1973, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1983, 580, 580, 580, 580, 1484, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3222, 580, 580, 580, 580, 0, 0, 0, 2043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 1171, 0, 0, 534, 2151, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2795, 534, 2236, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2600, 2323, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3089, 580, 580, 580, 580, 2622, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3224, 580, 580, 2695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2120, 2734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2719, 534, 2774, 534, 2776, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2160, 534, 534, 534, 556, 2821, 556, 2823, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3190, 556, 556, 556, 580, 580, 580, 2870, 580, 2872, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2654, 580, 580, 580, 580, 580, 0, 0, 0, 0, 2933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2981, 534, 556, 556, 556, 556, 3289, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3202, 556, 556, 556, 556, 580, 3308, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3314, 580, 580, 556, 556, 3589, 556, 580, 580, 580, 580, 3593, 580, 0, 0, 0, 534, 534, 534, 3152, 534, 534, 534, 534, 534, 534, 534, 3157, 534, 534, 534, 0, 0, 359, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 0, 0, 0, 702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600960, 0, 0, 2768896, 2777088, 2781184, 0, 0, 369, 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2040, 2041, 0, 600, 576, 576, 576, 576, 576, 576, 576, 600, 600, 600, 553, 600, 600, 600, 600, 600, 600, 600, 576, 576, 553, 576, 600, 576, 600, 1, 12290, 556, 923, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2234, 556, 556, 556, 556, 556, 1367, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3547, 3548, 556, 556, 580, 580, 580, 580, 580, 1500, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3102, 3103, 3104, 534, 1646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2748, 0, 0, 1684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065, 0, 0, 580, 580, 580, 1938, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3223, 580, 580, 580, 0, 0, 0, 2723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 2942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2760, 0, 0, 0, 0, 3249, 0, 3250, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 3333, 0, 534, 534, 534, 0, 0, 0, 360, 361, 362, 363, 0, 0, 364, 0, 292, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445, 0, 0, 0, 0, 0, 0, 361, 0, 360, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 427, 65536, 0, 0, 0, 0, 685, 534, 534, 838, 842, 845, 534, 853, 534, 534, 534, 868, 427, 427, 0, 427, 0, 361, 427, 450, 0, 0, 0, 0, 0, 0, 0, 0, 690, 691, 0, 364, 364, 364, 0, 0, 0, 0, 0, 491, 491, 0, 498, 498, 498, 498, 504, 505, 498, 498, 518, 518, 518, 518, 450, 450, 450, 450, 450, 450, 450, 450, 450, 518, 518, 518, 518, 518, 518, 518, 518, 554, 577, 554, 577, 554, 554, 577, 554, 601, 577, 577, 577, 577, 577, 577, 577, 601, 601, 601, 554, 601, 601, 601, 601, 601, 601, 601, 577, 577, 613, 618, 601, 618, 624, 1, 12290, 534, 534, 887, 534, 534, 556, 556, 960, 556, 556, 0, 580, 580, 1034, 580, 580, 580, 580, 1502, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2332, 580, 580, 580, 580, 534, 2513, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2806, 534, 534, 534, 534, 2542, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 2216, 556, 2218, 556, 580, 2674, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 534, 2491, 534, 534, 534, 534, 2495, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 2215, 556, 556, 556, 556, 602, 578, 578, 578, 578, 578, 578, 578, 602, 602, 602, 555, 602, 602, 602, 602, 602, 602, 602, 578, 578, 555, 578, 602, 578, 602, 1, 12290, 0, 0, 698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2410, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2952, 0, 0, 0, 728, 0, 784, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3145, 3146, 0, 0, 0, 556, 924, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2260, 2261, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433, 0, 0, 534, 1300, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2548, 0, 0, 1418, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 2664, 580, 580, 580, 580, 2668, 580, 580, 580, 580, 580, 580, 1505, 580, 580, 1509, 580, 580, 580, 580, 580, 1515, 0, 0, 1553, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2167, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1733, 534, 534, 534, 534, 556, 556, 556, 2252, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3471, 580, 580, 580, 580, 580, 580, 2339, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3485, 0, 0, 3488, 2499, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2202, 0, 0, 0, 0, 736, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1747, 534, 534, 534, 534, 1051, 534, 534, 892, 534, 1056, 556, 556, 965, 556, 0, 1061, 580, 580, 1039, 580, 580, 580, 580, 2885, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2680, 534, 580, 556, 534, 556, 556, 1420, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 2894, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2900, 580, 580, 580, 580, 534, 534, 534, 534, 1726, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2144, 534, 534, 2148, 534, 1821, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2843, 580, 580, 1954, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3313, 580, 580, 580, 580, 556, 2586, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2288, 556, 556, 556, 556, 556, 2614, 0, 0, 0, 0, 0, 0, 580, 580, 580, 580, 580, 1039, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 0, 0, 0, 0, 2957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 2979, 534, 534, 534, 2983, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2498, 3065, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2889, 580, 580, 580, 580, 580, 3192, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3035, 1134592, 0, 1134592, 0, 0, 0, 1134592, 1135007, 1135007, 0, 0, 0, 0, 0, 1135007, 0, 0, 0, 0, 700, 701, 0, 0, 0, 0, 0, 707, 0, 0, 0, 711, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2718, 0, 0, 1134592, 1134592, 0, 0, 0, 0, 1135196, 1135196, 1135196, 1135196, 1134592, 1135196, 1135196, 1135196, 1135196, 1135196, 1135196, 0, 1134592, 1134592, 1134592, 1134592, 1135196, 1134592, 1135196, 1, 12290, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 3137536, 2940928, 2940928, 2940928, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 2113, 0, 0, 2118, 2119, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2474, 0, 1147348, 1147348, 1147348, 451, 451, 1147348, 451, 451, 451, 451, 451, 451, 451, 451, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 0, 0, 0, 0, 0, 0, 0, 0, 768, 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 0, 0, 0, 1147348, 1147348, 1147348, 1147399, 1147399, 1147348, 1147399, 1147399, 1, 12290, 3, 0, 0, 0, 0, 0, 253952, 0, 0, 0, 253952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0, 0, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 792, 0, 0, 1159168, 0, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1, 12290, 3, 0, 0, 0, 0, 249856, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 163840, 0, 0, 0, 0, 65536, 0, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 974, 2125824, 2125824, 2125824, 2125824, 3149824, 2125824, 2428928, 2437120, 2125824, 2486272, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2625536, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2699264, 2125824, 2715648, 2125824, 2723840, 2125824, 0, 106496, 106496, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 106496, 0, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 369, 369, 0, 0, 65536, 369
  50714. ];
  50715. XQueryParser.EXPECTED =
  50716. [ 127, 143, 342, 950, 172, 201, 188, 217, 769, 963, 247, 263, 279, 295, 311, 327, 1395, 373, 1083, 374, 374, 374, 374, 374, 374, 374, 374, 374, 419, 391, 407, 466, 435, 589, 1682, 909, 574, 156, 1220, 451, 495, 511, 527, 543, 559, 634, 1096, 678, 694, 755, 649, 785, 801, 817, 833, 849, 865, 881, 897, 937, 979, 995, 1023, 1039, 1055, 479, 1112, 1128, 1473, 1144, 1160, 1206, 1236, 357, 662, 1266, 709, 1282, 1292, 1308, 1324, 1339, 1355, 1411, 1427, 1443, 618, 1459, 724, 1489, 604, 1518, 1528, 231, 1070, 1544, 1560, 1576, 1592, 1622, 1250, 1638, 1654, 1606, 921, 1670, 739, 1698, 1714, 1820, 1190, 1730, 1746, 1502, 1758, 1774, 1790, 1806, 1175, 1850, 1860, 1836, 1009, 1370, 1876, 1385, 375, 1892, 1896, 1903, 1903, 1903, 1898, 1902, 1903, 1910, 1907, 1914, 1918, 1922, 1926, 1929, 1933, 1937, 1941, 1945, 4040, 4040, 4040, 4106, 4040, 4040, 2020, 2279, 4040, 1949, 4040, 4040, 4040, 2429, 2379, 4040, 4040, 4040, 4040, 2438, 4040, 4040, 3112, 2651, 3443, 2444, 1955, 1984, 1994, 1998, 4040, 4040, 4040, 4040, 4040, 2017, 2042, 4040, 4040, 4040, 2024, 2285, 2030, 2034, 4040, 4040, 4040, 4040, 4040, 2041, 4040, 4040, 3002, 2285, 2285, 2285, 2285, 2285, 2111, 1988, 1988, 1988, 1988, 1988, 1990, 1955, 1955, 1955, 1955, 1955, 2101, 3099, 1988, 1988, 1988, 1988, 1988, 2120, 1955, 1955, 1955, 1955, 1955, 2046, 2055, 4040, 4040, 2212, 2349, 4040, 4040, 4040, 4137, 3441, 4040, 4040, 4040, 4040, 3531, 4040, 2745, 1988, 1988, 1988, 2066, 1955, 1955, 1955, 1957, 2073, 4040, 4040, 2473, 3002, 2285, 2285, 2026, 1988, 1988, 3101, 1955, 1955, 1956, 2072, 4040, 2471, 4040, 2284, 2285, 3098, 1988, 1988, 2078, 1955, 2068, 2129, 2446, 3554, 2285, 2112, 1988, 2120, 1955, 2083, 2281, 2286, 1988, 2067, 2089, 2095, 2113, 2049, 2107, 3097, 2114, 2079, 3096, 3100, 2079, 3096, 2114, 2051, 2118, 2126, 2135, 2139, 2143, 2156, 2160, 2170, 2170, 2170, 2163, 2167, 2170, 2173, 2177, 2181, 2185, 2189, 2193, 2197, 2201, 2205, 2209, 2216, 4040, 4040, 4040, 2131, 4040, 4040, 4040, 2220, 4040, 2226, 4040, 2283, 2287, 1988, 1954, 2122, 2098, 1961, 4040, 4040, 4040, 1970, 4040, 2474, 1980, 4040, 2321, 3139, 4040, 2440, 3145, 4427, 2277, 3219, 2796, 3151, 3505, 3155, 4040, 3263, 3161, 2906, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4041, 2255, 2259, 2262, 2266, 2270, 2274, 3465, 2291, 4040, 4040, 4040, 4040, 3213, 2296, 2312, 2303, 2396, 2240, 2243, 2309, 2316, 2320, 2649, 4006, 4040, 2726, 2326, 3670, 4040, 4040, 4040, 4040, 2231, 3466, 4040, 4040, 4040, 3429, 2237, 4040, 2618, 3123, 2249, 2253, 3877, 2348, 4040, 4040, 4013, 2355, 4040, 2359, 4040, 4040, 4040, 4040, 3173, 2321, 2227, 2367, 3192, 4040, 4040, 2459, 4040, 4040, 3192, 4040, 4040, 4348, 2989, 2882, 2918, 3129, 2349, 4040, 3014, 2311, 2670, 2331, 3577, 4417, 2336, 2379, 4040, 4040, 2549, 2340, 4040, 4040, 4040, 2984, 4040, 4040, 4040, 4040, 3591, 2979, 4040, 4040, 4040, 3390, 4180, 4419, 3131, 4040, 3190, 3194, 4040, 2950, 2989, 2918, 3210, 4040, 2469, 2788, 3212, 4040, 4005, 3283, 3279, 4282, 4040, 3281, 4226, 4226, 2601, 4283, 3283, 3283, 1966, 3282, 3279, 1966, 4227, 3283, 4191, 2462, 2478, 4040, 4040, 4040, 4040, 2588, 2522, 4040, 4040, 4040, 2007, 2858, 2484, 3025, 2492, 2495, 2498, 2502, 2503, 2507, 2511, 2515, 4040, 2521, 4040, 4040, 2526, 4040, 3968, 2913, 2541, 2545, 3867, 2553, 2563, 2574, 2578, 4040, 3387, 3385, 4040, 2582, 4040, 3458, 2587, 4040, 3120, 4040, 4040, 4040, 3174, 2074, 2409, 2537, 2432, 4040, 4040, 4040, 2536, 2416, 4040, 2373, 2377, 4040, 4040, 4040, 4040, 4255, 2378, 4040, 4040, 4040, 4040, 4256, 2379, 4040, 2838, 3503, 4040, 4040, 4040, 4040, 2839, 3504, 3974, 3509, 4040, 4040, 3730, 3536, 4040, 3349, 2906, 4040, 3326, 2556, 3181, 3383, 3394, 3403, 4040, 4397, 4040, 3553, 3551, 3545, 4040, 2668, 2912, 3478, 3399, 2548, 2592, 3456, 3471, 2600, 4040, 4040, 4040, 4242, 4040, 3147, 4040, 3818, 4040, 4037, 3923, 3990, 3561, 4003, 4040, 2655, 4039, 4040, 4040, 4040, 3167, 4040, 4040, 4040, 3331, 3171, 4040, 4040, 4040, 4040, 3632, 3179, 4040, 2638, 2611, 2615, 4040, 2388, 2622, 4040, 4040, 4040, 4040, 2389, 2349, 4040, 4040, 4040, 2397, 2390, 4040, 4040, 4040, 3141, 4040, 4040, 3846, 4040, 4040, 2630, 2517, 4070, 2637, 2412, 2989, 4040, 4040, 4040, 4040, 2344, 4040, 4040, 4040, 4040, 4040, 3269, 2989, 2380, 3207, 4040, 3463, 4040, 4040, 4040, 3861, 3470, 4040, 4040, 4040, 3475, 4040, 3482, 4040, 4040, 2631, 3905, 4040, 4040, 4040, 4040, 2631, 3905, 2424, 3909, 4040, 2152, 2595, 3785, 3915, 2631, 4365, 2642, 4040, 4040, 4040, 4040, 4085, 2646, 4040, 4040, 4040, 4040, 4085, 2646, 4040, 4040, 2464, 4040, 4040, 2285, 2285, 2285, 2285, 2025, 1988, 1988, 1988, 1988, 1988, 2120, 3610, 3833, 4040, 4040, 4040, 4365, 2656, 4040, 4040, 4040, 2660, 2665, 3980, 2516, 3196, 2674, 2678, 3830, 2685, 4040, 4040, 3830, 2685, 4040, 4040, 2299, 2690, 4040, 3184, 3458, 2004, 3969, 3197, 3312, 3251, 2696, 4040, 2037, 2690, 4040, 3251, 2696, 4040, 2702, 2709, 3195, 4000, 2713, 2717, 4040, 2715, 4040, 2679, 2723, 4040, 2730, 2734, 2739, 3644, 4040, 2705, 2583, 3646, 2583, 2749, 2753, 2704, 3203, 2944, 2566, 2570, 2956, 2945, 3843, 2568, 2568, 2761, 3815, 3641, 2765, 3607, 2769, 2773, 2775, 2779, 2783, 2787, 4040, 4040, 4040, 3316, 4040, 4040, 3564, 2792, 3570, 2800, 2804, 2808, 2810, 2814, 2818, 2821, 2823, 2824, 4040, 4040, 3315, 4040, 3428, 2828, 3896, 3248, 2833, 2843, 2434, 2453, 3918, 2849, 2907, 2853, 4040, 2150, 2148, 4040, 4040, 4040, 4040, 2405, 2349, 4040, 4040, 4040, 4040, 2405, 2349, 4040, 4040, 4040, 4040, 2362, 3442, 4040, 4040, 4040, 4040, 2363, 3773, 3950, 4040, 4040, 4040, 2857, 4040, 2559, 2968, 3853, 2862, 2937, 4379, 2869, 3988, 3295, 4040, 2873, 4040, 4040, 4040, 3554, 2285, 2285, 2285, 2285, 1987, 1988, 1988, 1988, 1989, 1955, 1955, 1955, 1955, 1956, 2103, 4040, 4040, 4040, 2472, 4040, 2109, 2285, 2285, 2285, 2113, 3527, 2877, 4040, 4040, 4040, 2886, 2890, 4040, 4040, 4040, 4040, 2980, 4040, 3336, 2829, 3897, 2895, 2899, 4040, 2911, 2917, 4040, 4040, 2922, 4040, 4040, 4040, 4040, 2844, 2923, 4040, 4040, 2626, 4289, 4040, 3453, 3038, 4353, 4386, 3183, 4040, 4040, 4041, 4370, 4040, 4040, 2845, 2924, 4040, 4040, 4040, 4040, 4040, 2990, 4040, 2558, 2928, 4420, 2935, 4040, 2943, 2949, 4040, 2970, 2954, 4040, 4040, 4040, 4040, 3855, 2960, 4040, 4040, 4040, 4040, 3855, 2960, 4040, 4040, 4040, 4040, 3389, 4040, 2966, 3897, 2974, 2327, 4275, 4040, 3590, 2978, 4040, 3535, 3379, 3488, 3521, 3230, 4040, 4040, 3540, 4040, 4040, 4040, 3439, 4040, 4040, 4040, 4364, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4378, 4040, 4040, 4040, 2605, 4040, 4040, 2245, 4040, 4040, 3459, 4040, 4040, 4038, 3923, 4040, 2013, 3616, 2411, 4040, 3631, 2988, 4040, 4040, 3631, 2988, 4040, 4040, 4040, 2994, 4040, 4040, 2350, 4262, 2381, 3617, 4040, 4040, 4346, 4040, 4040, 3000, 4040, 4040, 4346, 4040, 2350, 4208, 3615, 2881, 4040, 2795, 3174, 3112, 3180, 3024, 3111, 3180, 3180, 3933, 3014, 3113, 3113, 3006, 3181, 3014, 3013, 3014, 3175, 4047, 3018, 3029, 3053, 4040, 4040, 4040, 4040, 3634, 4040, 4221, 4040, 3650, 4040, 4040, 4040, 4040, 2631, 3651, 4040, 4040, 4040, 4040, 3648, 4287, 4291, 4040, 4010, 4017, 4303, 4022, 2632, 3182, 4040, 4032, 4040, 1950, 4012, 4040, 2865, 4045, 4051, 3043, 3047, 4064, 3061, 3065, 3069, 3073, 3077, 3081, 3105, 3084, 4040, 4040, 3633, 4040, 4040, 3443, 2444, 4040, 4040, 4040, 2450, 4040, 4040, 4040, 4349, 4040, 4040, 3014, 3276, 2487, 2961, 2691, 4276, 3109, 1976, 3117, 3127, 3289, 3135, 3305, 4040, 3324, 3322, 4040, 4040, 3734, 3779, 3739, 3744, 3969, 4040, 3748, 3754, 3761, 3943, 3887, 3765, 4057, 4040, 2488, 2962, 2692, 3163, 3224, 3188, 3412, 4040, 4040, 2085, 3201, 4040, 4040, 4040, 4040, 2343, 3217, 3223, 3228, 4040, 4040, 4040, 3234, 4040, 4040, 4040, 4040, 4040, 3238, 4040, 4040, 4040, 4040, 3422, 4040, 2529, 2686, 4354, 3245, 4040, 4040, 4040, 4342, 4040, 4040, 4040, 4040, 1972, 4040, 4040, 4040, 4040, 4040, 3255, 4040, 4040, 4040, 3423, 3952, 2686, 4355, 3261, 4040, 4040, 3267, 4040, 4040, 4040, 1974, 4040, 4040, 4040, 3273, 4040, 4220, 3981, 2680, 4356, 3895, 4040, 3287, 4040, 4040, 3293, 4040, 4040, 2062, 4040, 4220, 3953, 3299, 2146, 4040, 3303, 4040, 2607, 4040, 4040, 2061, 4040, 4248, 3309, 3894, 3498, 4040, 4360, 4040, 4040, 4040, 4369, 4040, 4374, 3056, 4383, 3622, 4040, 4040, 4390, 4040, 4040, 4424, 2742, 4040, 2633, 4040, 3056, 4040, 3039, 3157, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 2455, 4325, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 3320, 4040, 3330, 3911, 3335, 3629, 3588, 4213, 3943, 3587, 4213, 4213, 4040, 3341, 3589, 3589, 3628, 4214, 3341, 3340, 3341, 3630, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 3836, 2349, 3347, 4040, 3354, 3001, 4080, 4404, 3358, 3362, 3366, 3369, 3373, 3373, 3377, 4040, 4040, 3835, 4091, 3410, 4040, 4040, 3416, 4040, 4040, 3420, 3427, 4040, 3433, 4040, 4331, 3447, 4040, 4040, 3797, 4040, 3795, 4040, 4040, 4345, 4040, 2350, 1964, 4040, 2879, 4040, 3397, 4040, 2904, 4040, 3350, 3488, 4040, 3486, 2535, 3492, 3496, 4040, 4040, 4040, 3502, 4040, 4040, 4040, 4127, 4028, 2010, 4131, 4141, 4145, 4149, 4153, 4157, 4161, 4165, 4169, 4173, 4134, 4377, 4293, 2534, 3516, 4040, 4040, 4040, 2839, 3504, 4040, 4040, 4040, 4040, 2931, 3442, 4040, 3450, 4040, 2902, 4040, 3799, 4363, 3520, 4196, 3525, 3406, 2349, 2757, 2305, 2996, 4393, 4347, 3544, 4040, 3549, 4040, 4040, 3549, 4040, 4040, 3558, 2756, 2305, 4077, 4395, 3960, 4040, 3568, 4040, 3823, 2349, 4040, 3997, 3750, 3574, 3884, 3961, 4269, 4040, 4270, 4040, 3581, 3944, 3585, 3595, 3931, 3600, 2001, 3930, 3604, 3604, 4211, 3614, 3932, 3621, 3626, 3662, 3638, 3655, 3656, 3660, 3667, 3674, 3678, 3682, 3685, 4040, 4040, 4040, 3840, 2596, 3740, 3850, 2668, 2332, 3343, 4040, 3859, 4040, 4040, 4040, 2233, 3865, 2891, 3735, 2465, 2351, 3690, 3698, 3874, 3702, 3705, 3709, 3713, 3717, 3721, 3725, 3729, 4040, 2423, 2421, 3241, 3772, 4040, 4040, 2939, 3777, 3783, 3789, 3793, 4136, 2698, 3342, 2633, 2425, 3803, 4040, 4040, 3808, 2349, 4040, 4040, 4186, 3812, 4040, 4040, 4040, 3009, 3822, 3827, 4040, 3871, 2532, 4318, 3881, 4040, 3891, 3773, 4040, 4040, 4040, 4040, 3901, 4040, 4040, 4040, 4040, 4040, 2385, 4040, 4040, 4040, 4040, 3014, 4040, 2394, 4040, 2401, 2379, 4035, 3922, 4040, 4040, 2292, 3927, 4040, 4040, 4040, 4040, 3937, 4040, 4040, 4040, 4040, 2091, 3941, 3948, 4040, 3957, 3757, 3966, 2835, 3112, 4040, 4040, 2222, 3979, 4040, 4040, 2719, 3973, 2632, 3183, 3021, 4040, 4055, 4040, 4061, 2419, 4040, 3023, 4068, 4074, 4084, 4112, 4089, 4095, 3596, 4100, 4308, 4099, 4104, 4110, 4099, 4113, 4119, 3257, 4117, 4123, 4040, 4040, 4040, 4040, 4177, 4184, 2836, 3686, 4190, 3693, 4195, 4200, 4410, 4205, 4218, 4040, 3090, 2735, 4225, 3093, 4231, 4040, 4040, 4040, 3631, 4235, 2661, 4040, 2681, 4429, 2369, 4040, 4239, 4040, 4040, 4040, 4040, 3804, 4246, 4040, 4040, 4040, 4252, 4040, 4040, 4040, 2631, 4260, 4266, 4040, 4040, 4040, 4025, 4185, 2837, 2686, 2480, 4274, 4040, 4280, 4040, 4040, 4040, 4040, 4201, 3978, 4018, 4303, 3768, 4040, 3050, 4040, 4040, 3985, 4040, 4040, 3994, 4040, 4322, 4385, 4329, 4040, 4040, 4040, 4040, 4335, 4040, 4040, 4040, 4040, 3663, 4339, 4040, 4040, 4297, 4040, 3057, 3087, 4301, 3962, 3032, 4040, 4040, 4040, 4040, 2624, 4307, 4040, 4040, 4040, 4040, 2624, 4312, 4315, 4040, 2322, 3436, 2837, 2058, 4040, 4040, 3035, 4040, 4401, 4408, 3694, 4040, 4040, 3512, 4040, 2631, 4414, 4040, 3511, 4558, 4433, 6024, 6027, 4439, 4466, 4468, 4468, 4446, 4455, 4467, 4468, 4468, 4468, 4468, 4468, 4468, 4473, 4468, 4468, 4463, 4457, 4459, 4479, 4477, 4483, 4468, 4469, 4493, 4496, 4506, 4510, 4524, 4519, 4511, 4500, 4502, 4502, 4518, 4519, 4498, 4515, 4523, 4528, 4532, 4536, 4539, 4547, 4546, 4543, 4551, 4554, 4556, 4566, 5097, 4574, 6086, 5003, 5101, 5101, 5101, 4593, 4599, 4602, 4602, 4602, 4602, 4608, 4640, 4568, 4622, 4628, 5101, 4434, 5101, 5099, 5101, 6713, 5101, 6256, 5101, 5101, 4584, 5992, 5101, 5101, 4729, 5101, 5473, 6277, 5101, 5007, 4602, 5693, 4609, 5696, 5699, 5699, 5699, 5699, 4601, 4602, 5699, 4602, 4619, 4621, 4623, 4627, 6087, 5101, 4434, 6165, 6164, 5101, 5101, 6380, 6242, 5096, 5101, 4576, 5101, 6463, 5101, 5101, 5635, 4488, 5366, 6275, 5101, 4581, 5101, 4590, 5411, 5123, 5123, 5123, 5697, 5699, 4603, 4621, 4621, 4622, 4627, 4627, 4628, 5101, 4583, 5448, 6513, 5474, 5101, 5008, 5101, 5101, 4602, 4632, 5123, 5699, 4602, 4602, 4602, 5704, 5121, 4602, 4621, 4627, 5101, 4583, 6563, 5101, 4584, 6017, 5101, 5101, 5699, 5701, 4602, 4602, 4602, 4632, 4640, 5705, 5101, 5101, 5101, 4734, 5700, 4602, 4602, 4602, 5705, 4643, 5701, 5101, 5101, 4824, 5651, 4602, 4650, 5101, 5101, 4824, 6512, 5010, 5695, 5123, 5123, 5698, 5690, 4602, 4608, 5696, 5700, 5703, 5101, 4602, 5101, 5101, 5121, 5123, 5123, 5123, 5699, 5699, 5699, 5702, 5123, 5698, 5699, 5702, 4602, 4602, 5704, 4607, 4602, 5705, 5123, 5697, 5704, 5101, 5101, 4816, 4822, 5699, 4602, 5704, 5695, 5698, 5702, 5694, 5701, 4651, 4652, 4650, 5101, 4592, 5101, 5101, 5815, 5567, 5101, 5101, 5106, 6519, 6761, 6550, 6560, 4662, 4695, 4656, 4660, 4693, 4666, 4673, 4670, 4680, 4684, 4691, 4693, 4693, 4693, 4693, 4694, 4676, 4699, 4693, 4703, 4708, 4714, 4704, 4726, 4740, 4744, 4687, 4751, 4753, 4748, 4787, 4789, 4789, 4791, 4757, 4759, 4761, 4763, 4776, 4776, 4770, 4767, 4774, 4717, 4675, 4710, 4780, 4784, 4795, 4797, 4801, 4805, 4809, 5101, 4592, 6198, 6202, 4990, 5007, 5230, 6461, 5101, 6373, 5101, 5101, 4824, 6698, 4831, 5101, 5101, 5101, 4736, 5108, 5108, 5101, 5101, 4826, 6485, 5490, 5979, 4838, 5101, 4720, 4985, 5101, 4720, 5101, 5101, 4853, 5311, 4857, 5333, 4876, 4902, 4906, 4906, 4906, 4906, 4908, 4915, 4917, 4912, 4921, 4925, 4928, 4931, 4934, 4939, 4938, 4943, 4944, 4959, 4949, 4948, 4953, 4956, 4963, 5101, 5107, 5101, 4892, 5101, 5007, 5101, 5101, 5695, 5123, 5123, 5123, 5123, 5696, 5699, 5988, 5101, 5101, 5101, 4825, 5300, 5101, 5608, 5101, 4811, 5449, 6426, 4969, 5101, 5101, 4988, 6219, 5101, 5018, 4987, 5101, 5101, 4860, 5101, 5101, 4995, 5015, 5101, 6412, 5034, 5101, 5101, 5101, 4893, 6751, 6138, 5101, 5101, 5101, 4894, 6729, 5101, 5101, 5101, 4965, 5055, 5068, 5081, 5086, 5091, 5076, 5095, 5101, 4824, 5933, 5929, 5376, 5087, 4434, 5101, 5101, 5101, 4979, 5008, 6409, 5996, 5101, 5999, 5151, 5987, 5376, 5101, 4826, 6502, 6738, 6204, 5101, 6730, 5101, 5101, 4891, 5101, 4570, 5101, 5115, 5127, 5074, 4442, 5096, 5101, 5101, 5101, 4975, 5538, 5411, 5986, 5281, 5101, 4840, 5628, 5355, 5382, 4434, 4736, 5101, 4973, 5101, 5101, 5101, 4840, 5687, 5132, 5075, 5140, 5890, 5072, 5076, 5141, 6462, 4888, 5101, 5101, 4895, 5101, 5343, 5073, 6582, 4451, 5101, 4894, 5101, 5101, 6416, 5101, 5101, 5101, 6191, 5101, 5415, 5892, 5074, 6583, 5096, 5101, 5101, 4898, 5999, 5411, 5280, 5101, 5101, 4974, 4978, 5134, 5157, 5101, 5101, 5007, 5101, 5132, 5075, 5159, 5101, 4897, 5101, 5871, 4980, 5101, 5949, 5135, 5159, 5101, 4976, 5101, 5101, 5010, 5101, 5101, 5169, 4434, 5101, 5101, 5009, 5101, 5101, 5101, 4613, 4614, 4975, 5101, 4614, 5101, 5411, 4978, 6164, 6391, 5101, 4977, 6380, 5395, 5376, 5188, 4872, 5243, 5197, 5197, 5194, 5197, 5199, 5203, 5205, 5207, 5209, 5209, 5209, 5213, 5213, 5213, 5213, 5214, 5213, 5213, 5215, 5219, 5221, 5101, 5101, 5101, 5036, 5101, 5059, 5063, 5372, 5101, 5101, 5101, 6378, 6010, 5101, 4978, 6569, 5101, 4980, 5101, 5417, 5101, 5101, 5101, 5891, 5074, 5240, 5101, 5351, 6463, 5247, 5101, 5101, 5257, 5101, 5101, 5101, 5068, 5263, 6448, 5875, 5101, 4981, 5101, 5101, 5876, 6281, 5416, 5275, 4435, 5874, 5101, 4990, 6089, 5406, 5410, 5101, 5265, 5407, 5285, 5101, 5101, 5297, 6402, 5101, 5101, 5304, 5309, 5101, 5101, 5101, 5057, 5371, 5101, 5101, 5101, 5059, 5330, 4833, 5427, 5101, 5010, 4978, 5101, 5415, 5358, 5101, 5101, 5101, 5100, 5883, 5359, 5101, 5101, 5102, 6015, 4893, 5258, 5101, 5342, 5432, 5101, 5348, 5101, 5024, 6570, 5977, 5382, 4434, 5101, 5101, 5102, 6113, 5726, 5101, 6379, 5101, 5101, 5101, 5102, 5101, 5101, 6462, 5101, 4561, 5876, 5101, 6422, 6426, 5381, 6381, 6423, 6427, 5382, 5101, 5031, 5101, 5101, 4866, 4885, 4811, 5438, 6425, 5399, 6381, 5479, 5101, 5101, 5101, 5104, 5106, 5060, 5064, 5101, 5035, 5101, 5101, 5051, 5101, 5350, 5101, 5879, 4896, 5431, 5101, 5101, 5101, 5106, 5101, 4975, 5471, 5101, 5101, 5101, 5107, 6430, 5101, 5101, 5101, 5108, 4890, 6429, 6381, 5101, 5101, 5102, 6446, 5479, 5101, 5101, 5453, 5269, 5410, 5101, 4614, 5101, 5101, 6380, 5153, 5101, 5101, 5732, 5268, 5470, 5101, 5101, 5102, 6697, 5459, 5468, 6381, 5101, 5041, 5046, 5045, 5478, 5101, 5101, 5453, 4614, 5101, 5101, 5101, 5111, 6088, 5350, 5877, 5413, 5538, 5101, 5101, 5047, 5047, 5047, 5461, 5101, 6088, 6119, 5106, 5267, 5271, 5101, 5047, 6213, 5101, 5101, 5404, 4990, 5404, 5408, 5404, 4990, 5404, 5962, 5423, 5961, 5101, 6084, 5423, 5233, 6104, 5101, 4990, 5232, 5230, 5101, 5232, 4989, 5232, 5232, 5232, 5231, 6488, 5101, 5101, 5101, 5168, 5876, 5722, 5483, 4434, 5099, 5101, 5101, 6498, 6279, 5487, 5101, 4886, 6166, 5489, 5856, 5494, 5500, 5498, 5504, 5504, 5504, 5504, 5506, 5513, 5510, 5517, 5519, 5519, 5519, 5521, 5519, 5525, 5525, 5525, 5525, 5527, 6280, 5415, 5319, 5672, 5101, 5005, 6438, 5101, 5101, 5103, 5101, 5101, 5101, 6361, 6199, 5571, 5101, 5101, 5101, 5176, 5626, 6498, 5551, 5101, 6442, 5561, 5101, 5814, 5566, 5575, 5101, 5101, 5101, 5181, 6167, 5004, 6438, 5101, 5102, 6092, 6381, 5580, 5101, 5101, 5004, 6127, 5600, 5863, 5606, 5862, 5605, 5101, 5101, 5235, 5101, 5101, 5101, 5424, 5102, 6128, 5601, 5864, 5607, 5101, 5101, 5101, 5224, 5101, 6167, 5101, 5006, 6440, 5101, 5569, 5101, 5102, 6180, 5148, 5101, 5101, 5996, 5101, 6283, 5464, 5101, 5101, 5101, 5228, 5101, 5620, 5101, 5101, 5101, 5232, 5176, 5626, 6753, 5665, 5101, 5101, 5632, 5321, 4434, 5101, 5102, 6362, 6200, 5027, 5562, 5101, 5570, 5101, 5101, 5223, 5746, 5463, 5101, 5101, 5101, 5266, 4989, 5621, 5101, 5101, 5101, 5278, 6754, 5666, 5101, 5101, 5265, 5407, 6755, 5376, 5101, 5101, 4990, 5101, 5612, 5415, 5320, 6393, 5101, 5101, 5176, 5639, 5646, 4577, 5568, 5410, 5640, 5664, 5101, 5101, 5101, 5293, 5175, 5639, 5663, 5376, 5659, 5376, 5101, 5101, 5101, 4980, 5657, 5676, 5101, 5101, 5288, 5037, 5658, 5101, 5101, 5101, 5411, 5123, 5098, 5101, 5423, 5101, 5102, 6471, 6477, 5098, 5101, 5424, 5101, 5101, 5426, 5098, 5424, 5101, 5102, 6558, 5101, 5101, 5101, 6393, 5101, 5426, 5424, 5568, 5424, 5233, 5101, 5101, 5102, 6562, 5101, 5104, 5101, 5101, 5101, 4974, 6215, 5710, 4879, 5101, 6496, 5376, 5101, 5105, 5101, 5424, 5424, 5099, 5101, 5105, 5101, 5101, 5101, 5720, 4722, 5730, 5742, 5751, 5757, 5766, 5764, 5767, 5755, 5761, 5771, 5774, 5776, 5778, 5790, 5782, 5785, 5789, 5790, 5791, 5796, 5795, 5801, 5797, 5806, 5101, 5108, 4976, 5101, 5110, 6702, 5101, 5111, 6707, 5101, 5123, 5123, 5123, 5698, 5699, 5699, 5700, 4602, 5801, 5802, 5801, 5801, 4998, 5101, 5098, 5101, 5101, 5425, 5101, 5101, 5812, 5819, 5557, 5101, 5145, 5281, 5101, 4844, 5876, 4852, 5595, 5101, 4888, 5101, 5950, 5136, 4434, 5101, 4615, 5101, 5101, 5823, 5848, 5941, 5101, 5101, 5363, 5101, 5472, 5373, 5101, 5101, 5386, 5101, 5860, 4888, 5868, 5887, 5011, 5011, 5101, 5101, 5414, 5101, 6528, 5376, 5101, 5101, 5414, 6347, 5545, 5908, 6527, 4732, 5904, 6529, 5101, 5101, 5423, 5101, 5101, 5100, 5942, 5101, 5101, 5101, 5426, 5101, 5101, 5101, 5479, 5912, 5924, 5101, 5101, 5423, 5163, 5158, 5101, 5101, 5101, 4989, 5101, 5350, 5929, 5376, 5101, 5101, 5454, 5270, 6215, 5393, 5374, 5101, 5168, 5173, 5101, 5101, 5101, 5021, 5109, 5101, 5411, 5101, 5853, 5101, 6347, 5101, 5100, 5101, 5102, 5947, 5925, 5101, 5101, 5530, 4980, 4811, 5650, 5954, 5376, 4812, 5959, 5955, 5101, 5184, 5539, 6436, 5879, 5098, 5102, 5538, 5101, 6166, 5101, 5102, 5447, 5442, 4585, 5993, 5101, 5101, 5538, 6089, 5099, 4592, 5101, 5101, 5546, 5903, 4584, 5993, 5101, 5101, 5649, 5940, 5102, 4586, 5994, 5101, 5231, 4887, 5101, 4974, 5100, 5101, 5101, 6712, 5101, 5101, 4584, 5995, 5101, 5101, 5706, 5898, 4585, 5995, 5101, 5101, 5808, 5101, 5106, 5101, 5413, 6346, 5102, 6004, 5101, 5101, 5833, 5840, 6392, 5107, 5412, 5876, 4894, 5152, 5101, 5035, 5576, 5101, 5101, 5106, 6016, 5101, 5101, 5837, 5841, 5101, 5101, 5338, 5101, 6015, 5101, 5101, 5101, 5547, 5412, 5101, 5101, 5101, 5612, 5101, 6161, 5101, 5101, 5101, 5679, 5101, 5101, 6367, 5101, 5101, 5842, 6096, 5101, 6282, 5101, 4486, 6021, 6046, 6045, 6046, 6046, 6043, 6046, 6050, 6054, 6058, 6062, 6071, 6066, 6070, 6071, 6071, 6075, 6075, 6075, 6075, 6078, 6082, 5101, 5101, 5842, 6097, 5103, 5234, 5101, 5101, 5880, 5305, 5101, 5101, 5047, 5101, 5101, 6102, 5109, 6108, 5101, 5236, 5101, 5101, 5325, 5101, 6117, 5101, 6123, 5101, 5249, 6209, 6202, 5101, 6493, 5101, 5101, 5897, 5101, 5101, 6142, 6181, 5096, 5843, 6097, 5101, 5101, 5966, 5101, 5101, 5996, 5101, 5101, 5101, 5876, 5103, 6174, 5101, 5101, 5416, 5421, 5101, 5101, 5251, 6200, 6204, 5101, 5101, 5101, 5949, 6147, 6152, 6000, 4980, 4980, 4980, 5101, 5292, 4635, 5101, 5299, 5101, 5101, 5058, 5062, 5371, 6361, 5737, 5101, 5101, 5975, 4848, 5988, 6137, 5101, 5101, 5101, 5882, 5102, 5734, 5738, 5101, 5317, 6462, 5349, 6382, 5101, 6160, 6159, 5101, 6173, 5101, 5101, 5999, 5101, 5101, 6667, 5106, 4894, 6247, 4978, 5101, 5101, 6004, 5101, 6361, 6199, 6203, 5101, 5101, 5101, 5896, 6382, 6382, 5101, 5101, 6111, 5418, 5101, 5101, 6668, 4893, 6186, 5101, 6769, 5879, 5101, 5101, 5529, 6188, 5101, 5101, 6126, 5599, 5102, 6197, 6201, 6205, 5419, 6182, 4434, 5101, 5101, 6089, 5252, 6201, 6205, 5585, 5101, 5101, 5101, 6007, 6455, 4450, 5101, 5101, 6133, 5101, 5101, 5101, 5695, 6454, 4449, 4434, 5101, 5350, 5101, 5878, 5101, 6280, 4886, 4988, 6229, 5101, 5101, 6162, 4614, 5101, 6378, 4434, 5101, 5375, 5101, 4562, 6229, 5101, 4978, 6214, 6161, 4980, 5101, 5101, 6162, 5101, 5101, 5101, 5655, 5640, 6234, 5101, 5101, 5101, 6089, 5101, 6258, 4434, 6240, 5101, 6258, 4434, 5101, 5404, 5962, 5101, 5102, 5437, 6424, 6235, 5101, 5101, 5568, 5410, 5101, 5101, 6236, 5101, 6165, 5101, 5101, 5101, 6259, 5101, 5101, 6164, 5101, 5101, 5101, 5648, 5849, 5942, 5101, 6260, 5101, 6165, 5101, 5405, 5409, 5101, 5057, 5268, 5409, 5101, 5101, 5102, 6742, 5253, 5101, 5101, 5101, 6260, 5101, 5101, 6259, 5101, 6167, 6258, 5101, 5101, 5101, 6112, 6259, 5101, 6259, 6165, 4847, 5987, 5376, 5568, 6497, 6259, 5568, 6497, 6168, 6257, 6257, 6261, 6251, 6254, 6254, 5101, 5101, 5101, 6169, 5118, 5101, 5916, 5101, 5414, 5538, 5101, 5101, 5918, 4896, 5553, 4884, 5037, 6272, 6287, 6305, 6299, 6305, 6303, 6299, 6309, 6293, 6290, 6295, 6322, 6313, 6327, 6316, 6319, 6323, 6332, 6331, 6339, 6339, 6340, 6339, 6339, 6339, 6336, 6344, 5101, 5101, 5101, 6178, 5224, 5747, 5376, 5101, 5101, 5415, 5101, 5101, 6351, 4893, 4893, 4882, 5230, 5001, 5101, 6372, 5101, 5101, 6214, 4980, 5101, 6357, 5969, 5101, 5417, 5419, 6353, 6366, 4434, 5101, 6371, 6390, 6397, 6401, 5101, 5418, 4636, 5647, 6434, 5101, 5101, 5101, 6192, 5943, 5101, 5008, 5101, 4978, 5101, 4979, 5101, 5416, 5101, 6351, 4893, 5419, 6352, 4894, 6268, 6367, 5002, 5101, 5101, 6279, 5641, 5101, 5101, 5290, 5101, 6452, 5101, 5101, 5101, 6223, 5101, 6470, 6459, 6480, 6475, 6479, 6205, 5101, 5423, 5407, 5101, 5057, 5061, 5390, 6481, 5101, 5101, 5101, 6228, 5589, 5588, 5587, 5101, 5436, 5442, 6428, 5402, 5101, 5101, 5102, 6143, 6182, 5106, 5745, 6520, 5101, 5455, 5409, 5101, 5057, 5061, 5370, 6267, 5101, 5410, 5101, 5535, 5101, 5101, 5177, 5640, 5423, 5999, 5101, 5101, 6360, 5736, 6738, 6204, 5101, 5101, 6378, 5101, 5224, 5077, 5101, 5008, 6265, 5555, 5101, 5415, 5070, 5082, 5622, 5101, 5101, 6278, 6165, 5233, 5101, 5377, 6377, 6386, 5103, 5101, 5679, 5101, 5538, 5101, 5101, 5101, 5534, 5538, 4826, 5935, 6737, 6204, 4827, 5936, 6535, 6204, 6191, 6191, 5101, 5101, 6378, 6393, 5232, 5101, 5036, 5101, 5543, 5259, 5326, 6190, 5101, 5101, 5101, 6278, 5443, 6506, 4434, 5101, 5568, 6236, 5101, 5101, 5568, 5101, 5102, 6511, 5134, 6507, 5164, 4451, 5101, 5101, 6392, 5101, 6165, 5101, 6192, 6192, 6192, 5101, 5101, 6378, 6392, 5101, 5101, 6517, 5376, 5101, 5583, 5101, 5101, 5101, 6011, 6524, 5101, 6278, 5101, 5101, 5101, 5037, 6155, 5101, 5101, 5101, 6382, 6533, 6549, 5101, 5101, 5101, 6379, 6393, 5101, 6544, 6381, 5101, 5593, 5101, 5101, 5229, 5634, 5101, 6676, 6549, 5101, 5616, 6230, 5101, 5351, 5877, 4895, 5411, 5432, 5101, 5101, 5101, 5031, 5101, 6675, 6548, 5101, 5101, 5101, 6391, 5101, 6539, 5426, 5101, 5101, 5417, 5920, 4896, 5101, 5648, 6722, 5416, 6462, 5101, 5562, 5101, 6554, 6381, 5101, 5680, 5101, 5101, 6381, 5101, 5101, 5101, 5101, 4583, 5101, 6540, 5425, 5101, 5426, 5101, 5101, 6709, 5417, 4895, 5102, 4595, 5101, 5101, 6406, 5101, 4594, 5403, 6540, 5101, 5714, 5003, 4991, 6090, 6568, 5101, 5101, 6464, 4988, 5101, 6091, 6381, 5101, 5842, 5037, 5998, 5996, 5996, 5413, 4893, 5101, 5101, 5101, 6419, 5101, 6091, 5101, 5101, 6492, 6491, 5101, 6091, 5101, 4895, 4561, 4896, 5101, 5101, 6090, 6089, 4896, 5101, 5101, 6494, 6256, 4559, 5101, 5101, 6090, 5101, 5101, 6090, 4561, 6089, 4561, 5101, 6089, 4560, 5537, 6089, 5101, 5537, 6574, 6752, 4888, 4577, 5716, 5997, 6579, 5101, 5844, 5037, 5101, 5101, 5101, 6196, 5101, 6462, 6465, 6463, 4869, 5826, 5829, 6587, 4489, 4646, 6598, 6591, 6597, 6593, 6605, 6602, 6607, 6611, 6613, 6617, 6619, 6628, 6625, 6632, 6621, 6635, 6639, 6640, 6644, 6647, 6654, 6653, 6651, 6658, 6661, 6665, 5101, 6574, 6723, 5101, 5876, 6281, 5670, 5418, 5421, 5101, 5101, 5101, 6469, 5107, 5101, 4975, 5101, 4976, 6672, 5101, 5101, 5101, 6682, 6494, 5101, 5101, 5101, 6695, 6680, 5313, 6686, 5101, 5877, 5684, 4434, 6246, 5101, 5101, 6163, 5101, 5101, 5101, 6692, 5101, 5101, 6495, 5101, 5101, 6703, 5101, 5101, 5101, 6713, 5101, 5101, 6718, 6717, 4834, 6722, 5101, 5418, 5422, 5101, 6727, 6734, 5101, 5881, 5357, 5337, 6746, 5101, 5101, 5101, 6495, 6378, 5101, 6222, 6745, 5101, 5889, 5128, 5074, 4442, 6224, 6747, 5101, 5877, 5615, 5671, 5876, 5101, 5879, 5101, 5899, 6230, 5101, 5101, 6089, 5101, 5101, 4892, 5101, 5412, 5002, 6734, 5101, 5101, 6711, 5101, 5101, 5253, 5101, 5877, 5877, 5877, 5101, 5101, 5101, 6771, 5101, 5101, 6575, 5642, 4635, 5411, 6089, 5101, 4889, 5258, 5101, 5252, 4561, 5101, 5101, 6090, 5252, 4561, 5876, 5876, 5101, 5101, 5101, 5914, 6353, 6148, 5106, 4974, 5101, 5101, 5972, 5101, 4989, 5101, 6165, 5425, 5101, 6688, 5107, 5101, 6111, 5724, 6759, 5725, 4561, 5101, 5101, 5983, 5994, 5101, 5190, 5879, 5101, 5101, 5101, 5344, 5376, 5106, 5101, 5101, 5413, 6463, 5879, 5102, 6775, 6767, 5101, 5101, 5997, 5101, 5101, 5101, 4811, 4583, 6765, 5101, 5101, 5101, 5101, 6098, 5420, 5101, 5998, 5101, 5101, 5101, 4818, 5109, 5101, 5413, 5537, 5101, 5101, 6165, 5101, 6111, 6564, 5101, 5998, 5101, 6769, 5101, 5101, 6132, 6137, 5101, 6098, 5101, 5101, 6033, 6031, 6039, 5105, 5101, 5109, 5101, 4863, 5101, 6776, 5101, 5101, 5101, 6035, 4434, 5101, 6161, 5536, 5101, 5036, 5102, 5101, 5101, 6088, 5101, 5101, 5412, 6089, 1048576, 1073741824, 0, 0, 0, -872415232, 4194560, 4196352, 270532608, 2097152, 4194304, 117440512, 134217728, 4194304, 16777216, 4194432, 3145728, 16777216, 134217728, 536870912, 1073741824, 0, 541065216, 541065216, -2143289344, -2143289344, 4194304, 4194304, 4196352, -2143289344, 4194304, 4194432, 37748736, 541065216, -2143289344, 4194304, 4194304, 4194304, 4194304, 37748736, 4194304, 4194304, 4198144, 4196352, 8540160, 4194304, 4194304, 4194304, 4196352, 276901888, 4194304, 4194304, 8425488, 4194304, 1, 0, 1024, 1024, 0, 1024, 742391808, 239075328, -1405091840, 742391808, 742391808, 775946240, 239075328, 171966464, 775946240, 171966464, 171966464, 171966464, 171966464, -1405091840, 775946240, 775946240, -1405091840, -1371537408, 775946240, 775946240, 775946240, 171966464, 239075328, 239075328, 171966464, 775946240, -1371537408, 775946240, 775946240, -1371537408, 239075328, 775946240, 775946240, 775946240, 775946240, 4718592, 64, 4718592, 2097216, 4720640, 541589504, 4194368, 541589504, 4194400, 4194368, 541065280, 4194368, -2143289280, 4194368, -2143285440, -2143285408, -2143285408, -2109730976, -2143285408, -2143285408, -2143285408, -2143285408, 776470528, -2143285408, -2109730976, 775946336, 775946304, 776470528, 775946304, -1908404384, 2, 4, 8, 262144, 0, 0, 0, 0x80000000, 8, 262144, 262144, 1048576, 0, 128, 4096, 0, 4194304, 128, 128, 0, 1048576, 0, 0, 1536, 1792, 0, 0, 1, 2, 4, 128, 2097152, 8192, 8392704, 0, 0, 1, 4, 8, 262144, 536870912, 64, 64, 32, 96, 96, 96, 96, 128, 1536, 524288, 96, 64, 524288, 524288, 1536, 1024, 0, 0, 0, 29, 96, 1048576, 128, 128, 128, 128, 2048, 2048, 2048, 2048, 2048, 2048, 0, 96, 524288, 96, 64, 0, 0, 128, 1024, 524288, 64, 64, 96, 96, 524288, 524288, 4100, 1024, 100680704, 96, 524288, 64, 96, 524288, 64, 80, 528, 524304, 1048592, 2097168, 268435472, 16, 16, 2, 536936448, 16, 262160, 16, 536936448, 16, 17, 17, 20, 16, 48, 16, 16, 20, 560, 24, 560, 48, 2097680, 3145744, 1048592, 1048592, 2097168, 16, 1049104, 2228784, 2097168, 2097168, 16, 16, 16, 16, 20, 48, 48, 3146256, 2097680, 1048592, 16, 16, 16, 28, 0, 2097552, 3146256, 16, 16, 16, 21, 16, 16, 28, 16, 0, 16, 0, -2046820352, 0, 0, 2, 2, 2, 2098064, 17, 21, 266240, 1048576, 67108864, 0x80000000, 0, 0, 64, 65536, 1048576, 0, 16, 16, 163577856, 17, 528, 528, 16, 528, -161430188, -161429676, -161429676, -161430188, -161429680, -161430188, -161430188, -161429680, -161429676, -161349072, -161429675, -161349072, -161349072, -161349072, -161349072, -161347728, -161347728, -161347728, -161347728, -161298572, -160774288, -160299084, -161298572, -161298576, -160299088, -161298576, -160774284, -160774284, -161298572, -161298572, -161298572, -161298572, 112, 21, 53, 146804757, 146812949, 146862101, 146863389, -161429676, -160905388, -161429676, -161429676, -161429676, -161429676, -161429675, -161349072, 146863421, 148960541, 146863389, 146863389, 148960541, 146863421, 148960541, 148960541, -161429740, -161429676, -160905388, -161298572, -161298572, -18860267, -160774284, -18729163, 0, 0, 1, 6, 8, 16, 262144, 0, 0, 1, 8, 0, 24, 0, 0, 1, 14, 16, 32, 1024, 32768, 100663296, -1073741824, 0, 0, 0, 150528, 131072, 16777216, 0, 0, 1, 102, 1, 32768, 131328, 131072, 524288, 2097152, 8388608, 16777216, 164096, 0, 0, 0, 1007, 0, 1073741825, 0x80000000, 0x80000000, 1073741824, 8, 0, 0, 58368, 0, 0, 65536, 1048576, 4096, 1048576, 512, 512, 9476, 134218240, 0, 1073741824, 2621440, 1073741824, 0x80000000, 0x80000000, 0, 0, 66048, 0, 0, 0, 67108864, 0, 0, 0, 16384, 0, 0, 0, 8, 0, 0, 0, 9, 4456448, 8, 16777216, 1073774592, 1226014816, 100665360, 100665360, 100665360, 100665360, -2046818288, 1091799136, 1091799136, 1091803360, 1091799136, 1091799136, -2044196848, 1091799136, 1091799136, 1091799136, 1091799136, 1091799136, 1158908000, 1158908001, 1192462432, 1192462448, 1192462448, 1192462448, 1192462448, 1200851056, 1091799393, 1200851056, 1200851056, 1091799393, 1200851056, 1200851056, 1200851056, 1192462448, 1870638912, 1870638912, 1870655296, 1870638912, 1870655296, 1870655296, 1870655296, 1870655296, 1870655296, 1870655312, 1870655316, 1870655316, 1870655316, 1870655317, 1870655348, 1870655316, 1870655316, 1870655312, 1870655312, 1879027568, 1879043952, 1870655316, 1870655316, 1870655316, 1870638928, 1879043952, 1879043956, 0, 0, 1, 12288, 0, 229440, 1048576, 1224736768, 100663296, 0, 0, 0, 1024, 0, 0, 8192, 0, 0, 0, 576, 0, 231488, 1090519040, 0, 0, 0, 2048, 0, 0, 134217728, 0, 1157627904, 1191182336, 0, 0, 131584, 268435456, 49152, 0, 0, 0, 134217728, 0, 0, 0, 16, 0, 0, 0, 13, 0, 9437184, 231744, 0, 0, 235712, 0, 0, 131328, 0, 0, 131072, 32768, 0, 0, 134217728, 0, 520000, 7864320, 1862270976, 0, 0, 0, 4096, 0, 0, 0, 1862270976, 1862270976, 1862270976, 0, 16252928, 0, 0, 0, 8192, 64, 98304, 1048576, 150994944, 83886080, 117440512, 0, 0, 2, 4, 16, 32, 256, 1024, 8192, 33554432, 0, 0, 64, 256, 3584, 8192, 16384, 65536, 262144, 524288, 1048576, 2097152, 4194304, 0x80000000, 8192, 98304, 393216, 524288, 1048576, 1048576, 2097152, 4194304, 251658240, 536870912, 8192, 16384, 98304, 393216, 251658240, 536870912, 1073741824, 0, 0, 2097152, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 240, 0, 83886080, 117440512, 64, 0, 2, 0, 0, 524288, 524288, 524288, 524288, 256, 1536, 2048, 8192, 16384, 256, 1536, 8192, 65536, 262144, 524288, 2097152, 67108864, 4194304, 16777216, 100663296, 134217728, 536870912, 524288, 2097152, 134217728, 268435456, 536870912, 1073741824, 0, 0, 524288, 2097152, 0, 0, 1048576, 2097152, 67108864, 1073741824, 0, 0, 1536, 65536, 262144, 524288, 33554432, 0, 1024, 65536, 262144, 2097152, 2097152, 1073741824, 0, 0, 2, 8, 16, 32, 0, 8192, 4096, 0, 0, 605503, 1066401792, 9476, 512, 0, 32, 384, 8192, 4194312, 4194312, 541065224, 4194312, 4194312, 4194312, 4194312, 4194344, -869654016, -869654016, 4203820, -869654016, -869654016, -869654016, -869654016, 1279402504, 1279402504, 1279402504, 1279402504, 2143549415, 2143549415, 2143549415, 2143549415, 2143549423, 2143549423, 2143549423, 2143549423, 2143549423, 2143549423, 0, 0, 2, 16384, 32768, 260, 512, 0, 0, 0, 65536, 0, 0, 0, 384, 8192, 0, 32, 512, 0, 1050624, 262144, 512, 1275208192, 139264, 1275068416, 0, 0, 4, 128, 1024, 2048, 16384, 262144, 8, 4194304, 0, 0, 0, 82432, 0, 40, 0, 0, 4, 256, 1024, 98304, 131072, 16777216, 268435456, 0, 0, 300, 4203520, 0, 0, 2097152, 1073741824, 0x80000000, 0, 0, 520, 4333568, 1275068416, 0, 0, 4194304, 1024, 0, 4096, 8192, 0, 0, 0, 520, 520, 0, 0, 0, 164096, 999, 29619200, 2113929216, 0, 0, 0, 1007, 1007, 1007, 0, 0, 8, 124160, 32, 512, 0, 2048, 524288, 0, 536870912, 0, 139264, 0, 0, 0, 139264, 0, 40, 0, 2621440, 0, 0, 0x80000000, 1610612736, 0, 0, 0, 229376, 0, 40, 0, 524288, 2097152, 1073741824, 44, 0, 0, 0, 262144, 0, 0, 16384, 229376, 4194304, 25165824, 100663296, 402653184, 1610612736, 0, 110, 110, 110, 0, 0, 8388608, 8388608, 8192, 33554432, 67108864, 134217728, 1073741824, 0, 0x80000000, 0, 0, 0, 12545, 25165824, 33554432, 67108864, 402653184, 536870912, 0, 104, 104, 104, 8192, 33554432, 134217728, 0, 0, 8388608, 134217728, 1073741824, 0, 229376, 25165824, 33554432, 402653184, 536870912, 0, 0, 256, 1024, 65536, 16777216, 268435456, 0, 0, 0, 524288, 0, 0, 0, 64, 0, 0, 0, 128, 0, 0, 0, 256, 0, 0, 0, 300, 524288, 2097152, 0x80000000, 0, 0, 1, 6, 32, 64, 256, 512, 256, 1024, 4096, 8192, 65536, 2, 4, 32, 64, 256, 1024, 0, 2, 4, 256, 1024, 65536, 4, 64, 256, 1024, 0, 0, 8, 8388608, 0, 98304, 131072, 25165824, 268435456, 536870912, 0, 0, 8388608, 4096, 0, 0, 8, 8, 8, 0, 2048, 524288, 67108864, 536870912, 32, 4100, 67108864, 0, 32768, 0, 32768, 0, 1049088, 0, 134348800, 270532608, 0, 1049088, 1049088, 8192, 1049088, 12845065, 12845065, 12845065, 12845065, 147193865, 5505537, 5591557, 5587465, 5587457, 5587457, 147202057, 5587457, 5587457, 5591557, 5587457, 13894153, 13894153, 13894153, 13894153, 81003049, 13894153, -1881791493, -1881791493, -1881791493, -1881791493, 0, 0, 8, 33554432, 262144, 0, 33554432, 1024, 0, 4, 0, 0, 0, 867647, 1, 5505024, 0, 0, 15, 16, 32, 192, 86528, 9, 0, 0, 16, 8192, 0, 0, 23, 0, 75497472, 0, 0, 0, 1048576, 5505024, -1887436800, 0, 0, 0, 2097152, 268435456, 0, 0, 4096, 8192, 67108864, 0, 0, 262144, 4194304, 8388608, 0, 0, 33554432, 8192, 0, 0, 288, 8388608, 0, 0, 0, 81920, 0, 0, 24, 282624, 64, 896, 8192, 131072, 262144, 1048576, 16777216, 33554432, -1946157056, 0, 0, 0, 2621440, 0, 131072, 0, 32, 0, 0, 2048, 3145728, 0, 16384, 65536, 0, 0, 268435456, 32, 64, 384, 512, 5120, 8192, 0, 64, 0, 2048, 1048576, 0, 0, 32, 64, 384, 8192, 131072, 0, 0, 32768, 134217728, 0, 0, 8, 32, 64, 1024, 2048, 0, 2, 8, 32, 384, 8192, 131072, 33554432, 131072, 1048576, 33554432, 134217728, 0x80000000, 0, 0, 2048, 524288, 536870912, 0, 1073741824, 0, 131072, 33554432, 0x80000000, 0, 0, 33554432, 1073741824, 0, 32, 0, 524288, 0, 0, 67108864, 64, 64, 0, 96, 96, 0, 524288, 524288, 524288, 64, 64, 64, 64, 96, 96, 96, 0, 0, 0, 28, 0, 8396800, 4194304, 134217728, 2048, 134217728, 0, 0, 32, 1, 0, 8396800, 0, 0, 32, 64, 128, 1024, 2048, 262144, 0, 16384, 0, 2, 4, 64, 128, 3840, 16384, 19922944, 2080374784, 0, 16384, 16384, 16777216, 16384, 32768, 1048576, 2097152, 4194304, 16777216, 524288, 268567040, 16384, 2113544, 68489237, 72618005, 68423701, 68423701, 68423701, 68489237, 68423701, -2079059883, -2079059947, 68423701, 85200917, 68423701, 68423701, 68423701, 68423701, 68423765, -2079059883, 68425749, 68423703, 69488664, 85200919, 69488664, 69488664, 69488664, 69488664, 70537244, 70537245, 70537245, 70537245, 70537309, 70537245, -2076946339, -2076946403, 70537245, -2076946339, 70537245, 70537245, 70537245, 70537245, 70539293, -2022351745, -2022351745, -2022351617, -2022351745, -2022351617, -2022351617, -2022351617, -2022351617, -2022351617, -2022351617, -2022351745, -2022351617, -2022351617, 0, 0, 40, 67108864, 331776, 83886080, 0, 0, 59, 140224, 5505024, 5242880, -2080374784, -2080374784, 268288, 29, 0, 284672, 0, 0, 68157440, 137363456, 0, 66, 66, 0, 63, 64, 351232, 63, 192, 351232, 7340032, -2030043136, 0, 0, 0, 4194304, 1, 1024, 32, 64, 256, 32768, 65536, 512, 131072, 268435456, 0, 0, 134348800, 134348800, 16, 4096, 262144, 1048576, 4194304, 8388608, 16777216, 33554432, 5242880, 0, 7, 0, 0, 142606336, 0, -872415232, 0, 0, 0, 131072, 0, 0, 0, 999, 259072, 4194304, 25165824, 0, 20480, 0, 0, 64, 256, 1536, 8192, 16384, 0, 12, 3145728, 0, 0, 0, 3145728, 64, 3072, 20480, 65536, 262144, 32, 192, 3072, 20480, 4, 1048576, 0, 0, 128, 131072, 0, 134218752, 0, 0, 128, 134217728, 5242880, 0, 6, 0, 0, 16384, 65536, 7340032, 50331648, 32, 192, 1024, 2048, 4096, 8192, 65536, 32768, 65536, 4194304, 16777216, 0x80000000, 0, 0, 1, 4, 0, 0, 256, 1536, 65536, 65536, 2097152, 4194304, 50331648, 0x80000000, 32, 192, 1024, 65536, 268435456, 0, 0, 32768, 4194304, 16777216, 0, 0, 184549376, 0, 0, 243269632, 0, 0, 32768, 131072, 131072, 0, 32768, 32768, 1, 2, 4, 2097152, 16777216, 134217728, 268435456, 1073741824, 0x80000000, 128, 2097152, 4194304, 50331648, 0, 0, 0, 8388608, 0, 0, 0, 768, 2, 4, 50331648, 0, 0, 536870912, 9216, 0, 0, 0, 49152, 2, 4, 128, 50331648, 0, 0, 4096, 4194304, 268435456, 0, 0, 1075838976, 2097152, 2097152, 268435456, 4194432, 268435968, 268435968, 1073743872, 268435968, 0, 128, 6144, 0, 229376, 128, 268435968, 268436032, 256, 256, 536871168, 256, 256, 256, 256, 257, 256, 384, -1879046336, -1879046334, 1073744256, -1879046334, -1879046326, -1879046334, -1879046334, -1879046326, -1879046326, -1845491902, -1878784182, 268444480, 268444480, 268436288, 268436288, 268436288, 268436288, 268436289, 268444480, 268444480, 268444480, 268444480, 2100318149, 2100318149, 2100318149, 2100318149, 2100326341, 2100326341, 2100318149, 2100326341, 2100326341, 0, 0, 256, 2048, 2048, 0, 0, 0, 4, 8, 262144, 134217728, 1, 1024, 0, 4096, 0, 64, 1856, 0x80000000, 0, 0, 256, 65536, 2432, 0, 1864, 0, 1, 2, 16, 32, 64, 0, 301989888, 0, 262144, 131072, 0, 0, 832, 8192, 0, 1, 2, 56, 64, 896, 0, 1, 4036, 19939328, 2080374784, 2080374784, 0, 0, 0, 16252928, 1, 16, 32, 128, 512, 2304, 0, 8, 0, 512, 301989888, 0, 0, 262144, 524288, 134217728, 536870912, 0, 24576, 0, 0, 0, 33554432, 0, 0, 0, 32768, 0, 0, 2097152, 134217728, 0, 32768, 196608, 0, 0, 0, 1, 128, 512, 2048, 524288, 268435456, 536870912, 0, 33554432, 262144, 8192, 0, 0, 256, 8388608, 0, 0, 1, 4, 128, 3584, 16384, 3145728, 16777216, 67108864, 134217728, 805306368, 1073741824, 0, 0, 1024, 2048, 16384, 3145728, 0, 8192, 0, 8192, 0, 536870912, 524288, 536870912, 1073741824, 0, 1, 2, 112, 128, 3072, 2048, 3145728, 16777216, 536870912, 1073741824, 0, 0, 2097152, 16777216, 1073741824, 0, 0, 0, 8192, 8192, 8192, 9216, 33554432, 32768, 33554432, 0, 0, 262144, 0, 16777216, 0, 16777216, 16777216, 16777216, 16777216, 0, 0, 2097152, 16777216, 0, 0, 16777216, 268500992, 4243456, 0, 0, 512, 65536, 0, 4096, 4096, 0, 4096, 4096, 4096, 4096, 0, 0, 0, 32, 0, 0, 0, 41, 0, 4243456, 4096, 12289, 1073754113, 12289, 12289, 1124073472, 12289, 12289, 1098920193, 1098920193, 1124073488, 1124073472, 1124073472, 1258292224, 1124073472, 1124073474, 1124073472, 1124073472, 1124073472, 1124073472, 1124073472, 1392574464, 1124073472, 12289, 1124085761, 1124085761, 1124085761, 1124085761, 1132474625, 1098920209, 1132474625, 1132474625, 1098920209, 1132474625, 1132474625, 1132474625, 1132474625, 1400975617, 1124085777, 1124085761, 1124085761, 1258304513, 2132360255, 2132360255, 2132622399, 2132360255, 2132622399, 2132622399, 2140749119, 2141011263, 2132622399, 2132622399, 2132622399, 2132622399, 2132360255, 2141011263, 2141011263, 0, 0, 512, 131072, 0, 128, 131072, 1024, 134217728, 0, 0, 0, 50331648, 1073741824, 0, 1, 4, 64, 128, 3584, 318767104, 0, 0, 0, 268435456, 0, 12289, 0, 0, 0, 159383552, 25165824, 0, 0, 0, 536870912, 0, 0, 0, 24576, 58720256, 0, 0, 12305, 13313, 0, 0, 0, 1073741824, 0, 0, 0, 12561, 0, 78081, 327155712, 0, 0, 0, 1275068416, 0, 605247, 1058013184, 1073741824, 1073741824, 8388608, 0, 0, 503616, 7864320, 867391, 1058013184, 1073741824, 0, 1, 6, 96, 384, 512, 1024, 4096, 8192, 16384, 229376, 25165824, 33554432, 268435456, 536870912, 0, 867647, 1066401792, 0, 0, 0, 512, 1048576, 0, 0, 9, 8388608, 12288, 0, 0, 0, 512, 2760704, 77824, 0, 0, 0, 1024, 2048, 3145728, 2048, 77824, 524288, 1048576, 0, 0, 0, 512, 0, 1048576, 0, 1, 30, 32, 1024, 2048, 1024, 2048, 339968, 524288, 1048576, 16777216, 100663296, 134217728, 805306368, 1073741824, 1024, 2048, 12288, 65536, 0, 65536, 0, 0, 19947520, 0, 0, 0, 16777216, 0, 0, 0, 5, 1024, 2048, 12288, 327680, 524288, 33554432, 134217728, 536870912, 1073741824, 14, 16, 1024, 4096, 8192, 229376, 0, 2, 16384, 4194304, 0x80000000, 0, 0, 0, 8, 0, 65536, 262144, 7340032, 50331648, 67108864, 0x80000000, 4096, 65536, 262144, 524288, 1048576, 33554432, 256, 0, 256, 0, 256, 1, 12, 1024, 134217728, 262144, 134217728, 536870912, 0, 0, 268435456, 1, 4, 8, 134217728, 4, 8, 536870912, 0, 2, 16, 64, 128, 0, 0, 262144, 536870912, 0, 0, 1073741824, 32768, 0, 8, 32, 512, 4096, 9437184, 0, 0, 1048576, 2097152, 4194304, 67108864, 134217728, 0, 1024, 137363456, 66, 25165824, 26214400, 92274688, 92274688, 25165952, 92274688, 25165824, 25165824, 92274688, 25165824, 25165824, 92274688, 92274688, 92274720, 92274688, 25165824, 92274688, 93323264, 25165890, 100721664, 100721664, 25165890, 100721928, 100721928, 100787464, 100853000, 100721928, 100721928, 125977600, 125977600, 125977600, 125977600, 127026176, 125977600, 125846528, 125846528, 125846560, 125846528, 125846528, 125846528, 126895104, 125846528, 125977600, 127026176, 125977600, 125977600, 127026176, 127026176, 281843, 281843, 1330419, 281843, 1330419, 281843, 1330419, 1330419, 281843, 281843, 281843, 5524723, 39079155, 72633587, 5524723, 5524723, 5524723, 5524723, 93605107, 72633587, 72633587, 92556531, 93605107, 127290611, 127290611, 97799411, 127290611, 131484915, 0, 0, 1536, 0x80000000, 0, 0, 17408, 33554432, 0, 1, 12, 1024, 262144, 0, 58624, 0, 0, 1536, 0, 189696, 0, 0, 0, 1792, 0x80000000, 0, 148480, 50331648, 0, 1, 14, 1024, 4096, 65536, 524288, 240, 19456, 262144, 0, 0, 19456, 262144, 0, 4194304, 0, 0, 1024, 2097152, 0, 0, 0, 150528, 0, 0, 0, 512, 4096, 8192, 131072, 0, 57344, 0, 0, 0, 2048, 100663296, 0, 0, 256, 0, 65536, 524288, 1048576, 33554432, 67108864, 2, 48, 64, 128, 3072, 16384, 262144, 0, 0, 32, 4096, 8192, 131072, 1048576, 8388608, 33554432, 134217728, 2048, 262144, 0, 0, 2048, 268435456, 16, 64, 128, 262144, 0, 0, 32768, 65536, 131072, 0, 1, 2, 16, 64, 0
  50717. ];
  50718. XQueryParser.TOKEN =
  50719. [
  50720. "(0)",
  50721. "PragmaContents",
  50722. "DirCommentContents",
  50723. "DirPIContents",
  50724. "CDataSection",
  50725. "Wildcard",
  50726. "EQName",
  50727. "URILiteral",
  50728. "IntegerLiteral",
  50729. "DecimalLiteral",
  50730. "DoubleLiteral",
  50731. "StringLiteral",
  50732. "PredefinedEntityRef",
  50733. "'\"\"'",
  50734. "EscapeApos",
  50735. "ElementContentChar",
  50736. "QuotAttrContentChar",
  50737. "AposAttrContentChar",
  50738. "PITarget",
  50739. "NCName",
  50740. "QName",
  50741. "S",
  50742. "S",
  50743. "CharRef",
  50744. "CommentContents",
  50745. "EOF",
  50746. "'!'",
  50747. "'!='",
  50748. "'\"'",
  50749. "'#'",
  50750. "'#)'",
  50751. "'$'",
  50752. "'%'",
  50753. "''''",
  50754. "'('",
  50755. "'(#'",
  50756. "'(:'",
  50757. "')'",
  50758. "'*'",
  50759. "'*'",
  50760. "'+'",
  50761. "','",
  50762. "'-'",
  50763. "'-->'",
  50764. "'.'",
  50765. "'..'",
  50766. "'/'",
  50767. "'//'",
  50768. "'/>'",
  50769. "':'",
  50770. "':)'",
  50771. "'::'",
  50772. "':='",
  50773. "';'",
  50774. "'<'",
  50775. "'<!--'",
  50776. "'</'",
  50777. "'<<'",
  50778. "'<='",
  50779. "'<?'",
  50780. "'='",
  50781. "'>'",
  50782. "'>='",
  50783. "'>>'",
  50784. "'?'",
  50785. "'?>'",
  50786. "'@'",
  50787. "'NaN'",
  50788. "'['",
  50789. "']'",
  50790. "'after'",
  50791. "'all'",
  50792. "'allowing'",
  50793. "'ancestor'",
  50794. "'ancestor-or-self'",
  50795. "'and'",
  50796. "'any'",
  50797. "'append'",
  50798. "'array'",
  50799. "'as'",
  50800. "'ascending'",
  50801. "'at'",
  50802. "'attribute'",
  50803. "'base-uri'",
  50804. "'before'",
  50805. "'boundary-space'",
  50806. "'break'",
  50807. "'by'",
  50808. "'case'",
  50809. "'cast'",
  50810. "'castable'",
  50811. "'catch'",
  50812. "'check'",
  50813. "'child'",
  50814. "'collation'",
  50815. "'collection'",
  50816. "'comment'",
  50817. "'constraint'",
  50818. "'construction'",
  50819. "'contains'",
  50820. "'content'",
  50821. "'context'",
  50822. "'continue'",
  50823. "'copy'",
  50824. "'copy-namespaces'",
  50825. "'count'",
  50826. "'decimal-format'",
  50827. "'decimal-separator'",
  50828. "'declare'",
  50829. "'default'",
  50830. "'delete'",
  50831. "'descendant'",
  50832. "'descendant-or-self'",
  50833. "'descending'",
  50834. "'diacritics'",
  50835. "'different'",
  50836. "'digit'",
  50837. "'distance'",
  50838. "'div'",
  50839. "'document'",
  50840. "'document-node'",
  50841. "'element'",
  50842. "'else'",
  50843. "'empty'",
  50844. "'empty-sequence'",
  50845. "'encoding'",
  50846. "'end'",
  50847. "'entire'",
  50848. "'eq'",
  50849. "'every'",
  50850. "'exactly'",
  50851. "'except'",
  50852. "'exit'",
  50853. "'external'",
  50854. "'first'",
  50855. "'following'",
  50856. "'following-sibling'",
  50857. "'for'",
  50858. "'foreach'",
  50859. "'foreign'",
  50860. "'from'",
  50861. "'ft-option'",
  50862. "'ftand'",
  50863. "'ftnot'",
  50864. "'ftor'",
  50865. "'function'",
  50866. "'ge'",
  50867. "'greatest'",
  50868. "'group'",
  50869. "'grouping-separator'",
  50870. "'gt'",
  50871. "'idiv'",
  50872. "'if'",
  50873. "'import'",
  50874. "'in'",
  50875. "'index'",
  50876. "'infinity'",
  50877. "'inherit'",
  50878. "'insensitive'",
  50879. "'insert'",
  50880. "'instance'",
  50881. "'integrity'",
  50882. "'intersect'",
  50883. "'into'",
  50884. "'is'",
  50885. "'item'",
  50886. "'json'",
  50887. "'json-item'",
  50888. "'key'",
  50889. "'language'",
  50890. "'last'",
  50891. "'lax'",
  50892. "'le'",
  50893. "'least'",
  50894. "'let'",
  50895. "'levels'",
  50896. "'loop'",
  50897. "'lowercase'",
  50898. "'lt'",
  50899. "'minus-sign'",
  50900. "'mod'",
  50901. "'modify'",
  50902. "'module'",
  50903. "'most'",
  50904. "'namespace'",
  50905. "'namespace-node'",
  50906. "'ne'",
  50907. "'next'",
  50908. "'no'",
  50909. "'no-inherit'",
  50910. "'no-preserve'",
  50911. "'node'",
  50912. "'nodes'",
  50913. "'not'",
  50914. "'object'",
  50915. "'occurs'",
  50916. "'of'",
  50917. "'on'",
  50918. "'only'",
  50919. "'option'",
  50920. "'or'",
  50921. "'order'",
  50922. "'ordered'",
  50923. "'ordering'",
  50924. "'paragraph'",
  50925. "'paragraphs'",
  50926. "'parent'",
  50927. "'pattern-separator'",
  50928. "'per-mille'",
  50929. "'percent'",
  50930. "'phrase'",
  50931. "'position'",
  50932. "'preceding'",
  50933. "'preceding-sibling'",
  50934. "'preserve'",
  50935. "'previous'",
  50936. "'processing-instruction'",
  50937. "'relationship'",
  50938. "'rename'",
  50939. "'replace'",
  50940. "'return'",
  50941. "'returning'",
  50942. "'revalidation'",
  50943. "'same'",
  50944. "'satisfies'",
  50945. "'schema'",
  50946. "'schema-attribute'",
  50947. "'schema-element'",
  50948. "'score'",
  50949. "'self'",
  50950. "'sensitive'",
  50951. "'sentence'",
  50952. "'sentences'",
  50953. "'skip'",
  50954. "'sliding'",
  50955. "'some'",
  50956. "'stable'",
  50957. "'start'",
  50958. "'stemming'",
  50959. "'stop'",
  50960. "'strict'",
  50961. "'strip'",
  50962. "'structured-item'",
  50963. "'switch'",
  50964. "'text'",
  50965. "'then'",
  50966. "'thesaurus'",
  50967. "'times'",
  50968. "'to'",
  50969. "'treat'",
  50970. "'try'",
  50971. "'tumbling'",
  50972. "'type'",
  50973. "'typeswitch'",
  50974. "'union'",
  50975. "'unique'",
  50976. "'unordered'",
  50977. "'updating'",
  50978. "'uppercase'",
  50979. "'using'",
  50980. "'validate'",
  50981. "'value'",
  50982. "'variable'",
  50983. "'version'",
  50984. "'weight'",
  50985. "'when'",
  50986. "'where'",
  50987. "'while'",
  50988. "'wildcards'",
  50989. "'window'",
  50990. "'with'",
  50991. "'without'",
  50992. "'word'",
  50993. "'words'",
  50994. "'xquery'",
  50995. "'zero-digit'",
  50996. "'{'",
  50997. "'{{'",
  50998. "'{|'",
  50999. "'|'",
  51000. "'||'",
  51001. "'|}'",
  51002. "'}'",
  51003. "'}}'"
  51004. ];
  51005. },{}],"/node_modules/xqlint/lib/tree_ops.js":[function(_dereq_,module,exports){
  51006. 'use strict';
  51007. exports.TreeOps = {
  51008. flatten: function(node){
  51009. var that = this;
  51010. var value = '';
  51011. if(!node) {
  51012. throw new Error('Invalid node found');
  51013. } else if (node.value === undefined) {
  51014. node.children.forEach(function(child){
  51015. value += that.flatten(child);
  51016. });
  51017. } else {
  51018. value += node.value;
  51019. }
  51020. return value;
  51021. },
  51022. concat: function(obj1, obj2, copy){
  51023. var result = copy ? {} : obj1;
  51024. if(copy){
  51025. Object.keys(obj1).forEach(function(key){
  51026. result[key] = obj1[key];
  51027. });
  51028. }
  51029. var keys = Object.keys(obj2);
  51030. keys.forEach(function(key){
  51031. result[key] = obj2[key];
  51032. });
  51033. return result;
  51034. },
  51035. removeParentPtr: function(ast){
  51036. if(ast.getParent !== undefined) {
  51037. delete ast.getParent;
  51038. }
  51039. for(var i in ast.children) {
  51040. var child = ast.children[i];
  51041. this.removeParentPtr(child);
  51042. }
  51043. },
  51044. inRange: function(p, pos, exclusive){
  51045. if(p && p.sl <= pos.line && pos.line <= p.el) {
  51046. if(p.sl < pos.line && pos.line < p.el) {
  51047. return true;
  51048. } else if(p.sl === pos.line && pos.line < p.el) {
  51049. return p.sc <= pos.col;
  51050. } else if(p.sl === pos.line && p.el === pos.line) {
  51051. return p.sc <= pos.col && pos.col <= p.ec + (exclusive ? 1 : 0);
  51052. } else if(p.sl < pos.line && p.el === pos.line) {
  51053. return pos.col <= p.ec + (exclusive ? 1 : 0);
  51054. }
  51055. }
  51056. },
  51057. findNode: function(ast, pos) {
  51058. if(!ast) {
  51059. return;
  51060. }
  51061. var p = ast.pos;
  51062. if(this.inRange(p, pos) === true) {
  51063. for(var i in ast.children) {
  51064. var child = ast.children[i];
  51065. var n = this.findNode(child, pos);
  51066. if(n !== undefined) {
  51067. return n;
  51068. }
  51069. }
  51070. return ast;
  51071. } else {
  51072. return;
  51073. }
  51074. },
  51075. astAsXML: function(node, indent){
  51076. var result = '';
  51077. indent = indent ? indent : '';
  51078. if(node.value) {
  51079. result += (indent + '<' + node.name + '>' + node.value + '</' + node.name + '>\n');
  51080. }
  51081. result += indent + '<' + node.name + '>\n';
  51082. var that = this;
  51083. node.children.forEach(function(child){
  51084. result += that.astAsXML(child, indent + ' ');
  51085. });
  51086. result += indent + '</' + node.name + '>\n';
  51087. return result;
  51088. }
  51089. };
  51090. },{}],"/node_modules/xqlint/lib/xqdoc/parse_comment.js":[function(_dereq_,module,exports){
  51091. 'use strict';
  51092. exports.parseComment = function(comment){
  51093. comment = comment.trim();
  51094. var isXQDoc = comment.substring(0, 3) === '(:~';
  51095. if(isXQDoc){
  51096. var lines = comment.split('\n');
  51097. var ann = {
  51098. description: ''
  51099. };
  51100. lines.forEach(function(line, index){
  51101. if(index === 0) {
  51102. line = line.substring(3);
  51103. }
  51104. line = line.trim();
  51105. if(line[0] === ':') {
  51106. line = line.substring(1);
  51107. }
  51108. line = line.trim();
  51109. ann.description += ' ' + line;
  51110. });
  51111. ann.description = ann.description.trim();
  51112. ann.description = ann.description.substring(0, ann.description.length - 2).trim();
  51113. return ann;
  51114. }
  51115. };
  51116. },{}],"/node_modules/xqlint/lib/xqdoc/xqdoc.js":[function(_dereq_,module,exports){
  51117. var _ = _dereq_('lodash');
  51118. var parseComment = _dereq_('./parse_comment').parseComment;
  51119. exports.XQDoc = function(ast){
  51120. 'use strict';
  51121. var doc = {};
  51122. this.getDoc = function(){
  51123. return doc;
  51124. };
  51125. this.WS = function(node){
  51126. if(node.value.trim().substring(0, 3) === '(:~') {
  51127. node.getParent.comment = parseComment(node.value);
  51128. }
  51129. };
  51130. this.AnnotatedDecl = function(node){
  51131. this.visitChildren(node);
  51132. node.comment = node.getParent.comment;
  51133. node.getParent.comment = undefined;
  51134. };
  51135. this.XQuery = function(node){
  51136. this.visitChildren(node);
  51137. };
  51138. this.getXQDoc = function(sctx){
  51139. var doc = {
  51140. moduleNamespace: sctx.moduleNamespace,
  51141. description: sctx.description,
  51142. variables: [],
  51143. functions: []
  51144. };
  51145. _.forEach(sctx.variables, function(variable){
  51146. var varDecl = _.cloneDeep(variable.qname);
  51147. varDecl.annotations = variable.annotations;
  51148. varDecl.description = variable.description;
  51149. varDecl.type = variable.type;
  51150. varDecl.occurrence = variable.occurrence;
  51151. doc.variables.push(varDecl);
  51152. });
  51153. _.forEach(sctx.functions, function(fn, key){
  51154. if(key.substring(0, 'http://www.w3.org/2001/XMLSchema#'.length) === 'http://www.w3.org/2001/XMLSchema#') {
  51155. return;
  51156. }
  51157. var tokens = key.split('#');
  51158. doc.functions.push({
  51159. name: tokens[0],
  51160. uri: tokens[1],
  51161. params: fn.params
  51162. });
  51163. });
  51164. return doc;
  51165. };
  51166. this.visit = function (node) {
  51167. var name = node.name;
  51168. var skip = false;
  51169. if (typeof this[name] === 'function') {
  51170. skip = this[name](node) === true;
  51171. }
  51172. if (!skip) {
  51173. this.visitChildren(node);
  51174. }
  51175. };
  51176. this.visitChildren = function (node, handler) {
  51177. for (var i = 0; i < node.children.length; i++) {
  51178. var child = node.children[i];
  51179. if (handler !== undefined && typeof handler[child.name] === 'function') {
  51180. handler[child.name](child);
  51181. } else {
  51182. this.visit(child);
  51183. }
  51184. }
  51185. };
  51186. this.visit(ast);
  51187. };
  51188. },{"./parse_comment":"/node_modules/xqlint/lib/xqdoc/parse_comment.js","lodash":"/node_modules/xqlint/node_modules/lodash/index.js"}],"/node_modules/xqlint/lib/xqlint.js":[function(_dereq_,module,exports){
  51189. 'use strict';
  51190. var _ = _dereq_('lodash');
  51191. var JSONiqParser = _dereq_('./parsers/JSONiqParser').JSONiqParser;
  51192. var XQueryParser = _dereq_('./parsers/XQueryParser').XQueryParser;
  51193. var JSONParseTreeHandler = _dereq_('./parsers/JSONParseTreeHandler').JSONParseTreeHandler;
  51194. var Translator = _dereq_('./compiler/translator').Translator;
  51195. var StyleChecker = _dereq_('./formatter/style_checker').StyleChecker;
  51196. var XQDoc = _dereq_('./xqdoc/xqdoc').XQDoc;
  51197. var completer = _dereq_('../lib/completion/completer');
  51198. var TreeOps = _dereq_('./tree_ops').TreeOps;
  51199. var createStaticContext = exports.createStaticContext = function(){
  51200. var StaticContext = _dereq_('./compiler/static_context').StaticContext;
  51201. return new StaticContext();
  51202. };
  51203. var convertPosition = function (code, begin, end) {
  51204. var before = code.substring(0, begin);
  51205. var after = code.substring(0, end);
  51206. var startline = before.split('\n').length;
  51207. var startcolumn = begin - before.lastIndexOf('\n');
  51208. var endline = after.split('\n').length;
  51209. var endcolumn = end - after.lastIndexOf('\n');
  51210. var pos = {
  51211. sl: startline - 1,
  51212. sc: startcolumn - 1,
  51213. el: endline - 1,
  51214. ec: endcolumn - 1
  51215. };
  51216. return pos;
  51217. };
  51218. exports.JSONiqLexer = _dereq_('./lexers/jsoniq_lexer').JSONiqLexer;
  51219. exports.XQueryLexer = _dereq_('./lexers/xquery_lexer').XQueryLexer;
  51220. exports.XQLint = function (source, opts) {
  51221. if(_.defaults) {
  51222. opts = _.defaults(opts ? opts : {}, { styleCheck: false });
  51223. }
  51224. var ast, xqdoc;
  51225. var sctx = opts.staticContext ? opts.staticContext : createStaticContext();
  51226. this.getAST = function () {
  51227. return ast;
  51228. };
  51229. this.printAST = function () {
  51230. return TreeOps.astAsXML(ast, ' ');
  51231. };
  51232. this.getXQDoc = function () {
  51233. return xqdoc.getXQDoc(sctx);
  51234. };
  51235. var markers = [];
  51236. this.getMarkers = function () {
  51237. return markers;
  51238. };
  51239. this.getMarkers = function(type){
  51240. var m = [];
  51241. markers.forEach(function(marker){
  51242. if(marker.type === type || type === undefined){
  51243. m.push(marker);
  51244. }
  51245. });
  51246. return m;
  51247. };
  51248. this.getErrors = function(){
  51249. return this.getMarkers('error');
  51250. };
  51251. this.getWarnings = function(){
  51252. return this.getMarkers('warning');
  51253. };
  51254. this.getCompletions = function(pos){
  51255. return completer.complete(source, ast, sctx, pos);
  51256. };
  51257. var syntaxError = false;
  51258. this.hasSyntaxError = function () {
  51259. return syntaxError;
  51260. };
  51261. var file = opts.fileName ? opts.fileName : '';
  51262. var isJSONiq = ((file.substring(file.length - '.jq'.length).indexOf('.jq') !== -1) && source.indexOf('xquery version') !== 0) || source.indexOf('jsoniq version') === 0;
  51263. var h = new JSONParseTreeHandler(source);
  51264. var parser = isJSONiq ? new JSONiqParser(source, h) : new XQueryParser(source, h);
  51265. try {
  51266. parser.parse_XQuery();
  51267. } catch (e) {
  51268. if (e instanceof parser.ParseException) {
  51269. syntaxError = true;
  51270. h.closeParseTree();
  51271. var pos = convertPosition(source, e.getBegin(), e.getEnd());
  51272. var message = parser.getErrorMessage(e);
  51273. if (pos.sc === pos.ec) {
  51274. pos.ec++;
  51275. }
  51276. markers.push({
  51277. pos: pos,
  51278. type: 'error',
  51279. level: 'error',
  51280. message: message
  51281. });
  51282. } else {
  51283. throw e;
  51284. }
  51285. }
  51286. ast = h.getParseTree();
  51287. if(opts.styleCheck) {
  51288. markers = markers.concat(new StyleChecker(ast, source).getMarkers());
  51289. }
  51290. xqdoc = new XQDoc(ast);
  51291. var translator = new Translator(sctx, ast);
  51292. markers = markers.concat(translator.getMarkers());
  51293. };
  51294. },{"../lib/completion/completer":"/node_modules/xqlint/lib/completion/completer.js","./compiler/static_context":"/node_modules/xqlint/lib/compiler/static_context.js","./compiler/translator":"/node_modules/xqlint/lib/compiler/translator.js","./formatter/style_checker":"/node_modules/xqlint/lib/formatter/style_checker.js","./lexers/jsoniq_lexer":"/node_modules/xqlint/lib/lexers/jsoniq_lexer.js","./lexers/xquery_lexer":"/node_modules/xqlint/lib/lexers/xquery_lexer.js","./parsers/JSONParseTreeHandler":"/node_modules/xqlint/lib/parsers/JSONParseTreeHandler.js","./parsers/JSONiqParser":"/node_modules/xqlint/lib/parsers/JSONiqParser.js","./parsers/XQueryParser":"/node_modules/xqlint/lib/parsers/XQueryParser.js","./tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./xqdoc/xqdoc":"/node_modules/xqlint/lib/xqdoc/xqdoc.js","lodash":"/node_modules/xqlint/node_modules/lodash/index.js"}],"/node_modules/xqlint/node_modules/lodash/index.js":[function(_dereq_,module,exports){
  51295. (function (global){
  51296. ;(function() {
  51297. var undefined;
  51298. var VERSION = '3.10.1';
  51299. var BIND_FLAG = 1,
  51300. BIND_KEY_FLAG = 2,
  51301. CURRY_BOUND_FLAG = 4,
  51302. CURRY_FLAG = 8,
  51303. CURRY_RIGHT_FLAG = 16,
  51304. PARTIAL_FLAG = 32,
  51305. PARTIAL_RIGHT_FLAG = 64,
  51306. ARY_FLAG = 128,
  51307. REARG_FLAG = 256;
  51308. var DEFAULT_TRUNC_LENGTH = 30,
  51309. DEFAULT_TRUNC_OMISSION = '...';
  51310. var HOT_COUNT = 150,
  51311. HOT_SPAN = 16;
  51312. var LARGE_ARRAY_SIZE = 200;
  51313. var LAZY_FILTER_FLAG = 1,
  51314. LAZY_MAP_FLAG = 2;
  51315. var FUNC_ERROR_TEXT = 'Expected a function';
  51316. var PLACEHOLDER = '__lodash_placeholder__';
  51317. var argsTag = '[object Arguments]',
  51318. arrayTag = '[object Array]',
  51319. boolTag = '[object Boolean]',
  51320. dateTag = '[object Date]',
  51321. errorTag = '[object Error]',
  51322. funcTag = '[object Function]',
  51323. mapTag = '[object Map]',
  51324. numberTag = '[object Number]',
  51325. objectTag = '[object Object]',
  51326. regexpTag = '[object RegExp]',
  51327. setTag = '[object Set]',
  51328. stringTag = '[object String]',
  51329. weakMapTag = '[object WeakMap]';
  51330. var arrayBufferTag = '[object ArrayBuffer]',
  51331. float32Tag = '[object Float32Array]',
  51332. float64Tag = '[object Float64Array]',
  51333. int8Tag = '[object Int8Array]',
  51334. int16Tag = '[object Int16Array]',
  51335. int32Tag = '[object Int32Array]',
  51336. uint8Tag = '[object Uint8Array]',
  51337. uint8ClampedTag = '[object Uint8ClampedArray]',
  51338. uint16Tag = '[object Uint16Array]',
  51339. uint32Tag = '[object Uint32Array]';
  51340. var reEmptyStringLeading = /\b__p \+= '';/g,
  51341. reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
  51342. reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
  51343. var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g,
  51344. reUnescapedHtml = /[&<>"'`]/g,
  51345. reHasEscapedHtml = RegExp(reEscapedHtml.source),
  51346. reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
  51347. var reEscape = /<%-([\s\S]+?)%>/g,
  51348. reEvaluate = /<%([\s\S]+?)%>/g,
  51349. reInterpolate = /<%=([\s\S]+?)%>/g;
  51350. var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
  51351. reIsPlainProp = /^\w*$/,
  51352. rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
  51353. var reRegExpChars = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,
  51354. reHasRegExpChars = RegExp(reRegExpChars.source);
  51355. var reComboMark = /[\u0300-\u036f\ufe20-\ufe23]/g;
  51356. var reEscapeChar = /\\(\\)?/g;
  51357. var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
  51358. var reFlags = /\w*$/;
  51359. var reHasHexPrefix = /^0[xX]/;
  51360. var reIsHostCtor = /^\[object .+?Constructor\]$/;
  51361. var reIsUint = /^\d+$/;
  51362. var reLatin1 = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;
  51363. var reNoMatch = /($^)/;
  51364. var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
  51365. var reWords = (function() {
  51366. var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]',
  51367. lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+';
  51368. return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g');
  51369. }());
  51370. var contextProps = [
  51371. 'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
  51372. 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number',
  51373. 'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'isFinite',
  51374. 'parseFloat', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
  51375. 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap'
  51376. ];
  51377. var templateCounter = -1;
  51378. var typedArrayTags = {};
  51379. typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
  51380. typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
  51381. typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
  51382. typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
  51383. typedArrayTags[uint32Tag] = true;
  51384. typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
  51385. typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
  51386. typedArrayTags[dateTag] = typedArrayTags[errorTag] =
  51387. typedArrayTags[funcTag] = typedArrayTags[mapTag] =
  51388. typedArrayTags[numberTag] = typedArrayTags[objectTag] =
  51389. typedArrayTags[regexpTag] = typedArrayTags[setTag] =
  51390. typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
  51391. var cloneableTags = {};
  51392. cloneableTags[argsTag] = cloneableTags[arrayTag] =
  51393. cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
  51394. cloneableTags[dateTag] = cloneableTags[float32Tag] =
  51395. cloneableTags[float64Tag] = cloneableTags[int8Tag] =
  51396. cloneableTags[int16Tag] = cloneableTags[int32Tag] =
  51397. cloneableTags[numberTag] = cloneableTags[objectTag] =
  51398. cloneableTags[regexpTag] = cloneableTags[stringTag] =
  51399. cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
  51400. cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
  51401. cloneableTags[errorTag] = cloneableTags[funcTag] =
  51402. cloneableTags[mapTag] = cloneableTags[setTag] =
  51403. cloneableTags[weakMapTag] = false;
  51404. var deburredLetters = {
  51405. '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
  51406. '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
  51407. '\xc7': 'C', '\xe7': 'c',
  51408. '\xd0': 'D', '\xf0': 'd',
  51409. '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
  51410. '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
  51411. '\xcC': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
  51412. '\xeC': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
  51413. '\xd1': 'N', '\xf1': 'n',
  51414. '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
  51415. '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
  51416. '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
  51417. '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
  51418. '\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
  51419. '\xc6': 'Ae', '\xe6': 'ae',
  51420. '\xde': 'Th', '\xfe': 'th',
  51421. '\xdf': 'ss'
  51422. };
  51423. var htmlEscapes = {
  51424. '&': '&amp;',
  51425. '<': '&lt;',
  51426. '>': '&gt;',
  51427. '"': '&quot;',
  51428. "'": '&#39;',
  51429. '`': '&#96;'
  51430. };
  51431. var htmlUnescapes = {
  51432. '&amp;': '&',
  51433. '&lt;': '<',
  51434. '&gt;': '>',
  51435. '&quot;': '"',
  51436. '&#39;': "'",
  51437. '&#96;': '`'
  51438. };
  51439. var objectTypes = {
  51440. 'function': true,
  51441. 'object': true
  51442. };
  51443. var regexpEscapes = {
  51444. '0': 'x30', '1': 'x31', '2': 'x32', '3': 'x33', '4': 'x34',
  51445. '5': 'x35', '6': 'x36', '7': 'x37', '8': 'x38', '9': 'x39',
  51446. 'A': 'x41', 'B': 'x42', 'C': 'x43', 'D': 'x44', 'E': 'x45', 'F': 'x46',
  51447. 'a': 'x61', 'b': 'x62', 'c': 'x63', 'd': 'x64', 'e': 'x65', 'f': 'x66',
  51448. 'n': 'x6e', 'r': 'x72', 't': 'x74', 'u': 'x75', 'v': 'x76', 'x': 'x78'
  51449. };
  51450. var stringEscapes = {
  51451. '\\': '\\',
  51452. "'": "'",
  51453. '\n': 'n',
  51454. '\r': 'r',
  51455. '\u2028': 'u2028',
  51456. '\u2029': 'u2029'
  51457. };
  51458. var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
  51459. var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
  51460. var freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
  51461. var freeSelf = objectTypes[typeof self] && self && self.Object && self;
  51462. var freeWindow = objectTypes[typeof window] && window && window.Object && window;
  51463. var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
  51464. var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
  51465. function baseCompareAscending(value, other) {
  51466. if (value !== other) {
  51467. var valIsNull = value === null,
  51468. valIsUndef = value === undefined,
  51469. valIsReflexive = value === value;
  51470. var othIsNull = other === null,
  51471. othIsUndef = other === undefined,
  51472. othIsReflexive = other === other;
  51473. if ((value > other && !othIsNull) || !valIsReflexive ||
  51474. (valIsNull && !othIsUndef && othIsReflexive) ||
  51475. (valIsUndef && othIsReflexive)) {
  51476. return 1;
  51477. }
  51478. if ((value < other && !valIsNull) || !othIsReflexive ||
  51479. (othIsNull && !valIsUndef && valIsReflexive) ||
  51480. (othIsUndef && valIsReflexive)) {
  51481. return -1;
  51482. }
  51483. }
  51484. return 0;
  51485. }
  51486. function baseFindIndex(array, predicate, fromRight) {
  51487. var length = array.length,
  51488. index = fromRight ? length : -1;
  51489. while ((fromRight ? index-- : ++index < length)) {
  51490. if (predicate(array[index], index, array)) {
  51491. return index;
  51492. }
  51493. }
  51494. return -1;
  51495. }
  51496. function baseIndexOf(array, value, fromIndex) {
  51497. if (value !== value) {
  51498. return indexOfNaN(array, fromIndex);
  51499. }
  51500. var index = fromIndex - 1,
  51501. length = array.length;
  51502. while (++index < length) {
  51503. if (array[index] === value) {
  51504. return index;
  51505. }
  51506. }
  51507. return -1;
  51508. }
  51509. function baseIsFunction(value) {
  51510. return typeof value == 'function' || false;
  51511. }
  51512. function baseToString(value) {
  51513. return value == null ? '' : (value + '');
  51514. }
  51515. function charsLeftIndex(string, chars) {
  51516. var index = -1,
  51517. length = string.length;
  51518. while (++index < length && chars.indexOf(string.charAt(index)) > -1) {}
  51519. return index;
  51520. }
  51521. function charsRightIndex(string, chars) {
  51522. var index = string.length;
  51523. while (index-- && chars.indexOf(string.charAt(index)) > -1) {}
  51524. return index;
  51525. }
  51526. function compareAscending(object, other) {
  51527. return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index);
  51528. }
  51529. function compareMultiple(object, other, orders) {
  51530. var index = -1,
  51531. objCriteria = object.criteria,
  51532. othCriteria = other.criteria,
  51533. length = objCriteria.length,
  51534. ordersLength = orders.length;
  51535. while (++index < length) {
  51536. var result = baseCompareAscending(objCriteria[index], othCriteria[index]);
  51537. if (result) {
  51538. if (index >= ordersLength) {
  51539. return result;
  51540. }
  51541. var order = orders[index];
  51542. return result * ((order === 'asc' || order === true) ? 1 : -1);
  51543. }
  51544. }
  51545. return object.index - other.index;
  51546. }
  51547. function deburrLetter(letter) {
  51548. return deburredLetters[letter];
  51549. }
  51550. function escapeHtmlChar(chr) {
  51551. return htmlEscapes[chr];
  51552. }
  51553. function escapeRegExpChar(chr, leadingChar, whitespaceChar) {
  51554. if (leadingChar) {
  51555. chr = regexpEscapes[chr];
  51556. } else if (whitespaceChar) {
  51557. chr = stringEscapes[chr];
  51558. }
  51559. return '\\' + chr;
  51560. }
  51561. function escapeStringChar(chr) {
  51562. return '\\' + stringEscapes[chr];
  51563. }
  51564. function indexOfNaN(array, fromIndex, fromRight) {
  51565. var length = array.length,
  51566. index = fromIndex + (fromRight ? 0 : -1);
  51567. while ((fromRight ? index-- : ++index < length)) {
  51568. var other = array[index];
  51569. if (other !== other) {
  51570. return index;
  51571. }
  51572. }
  51573. return -1;
  51574. }
  51575. function isObjectLike(value) {
  51576. return !!value && typeof value == 'object';
  51577. }
  51578. function isSpace(charCode) {
  51579. return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 ||
  51580. (charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279)));
  51581. }
  51582. function replaceHolders(array, placeholder) {
  51583. var index = -1,
  51584. length = array.length,
  51585. resIndex = -1,
  51586. result = [];
  51587. while (++index < length) {
  51588. if (array[index] === placeholder) {
  51589. array[index] = PLACEHOLDER;
  51590. result[++resIndex] = index;
  51591. }
  51592. }
  51593. return result;
  51594. }
  51595. function sortedUniq(array, iteratee) {
  51596. var seen,
  51597. index = -1,
  51598. length = array.length,
  51599. resIndex = -1,
  51600. result = [];
  51601. while (++index < length) {
  51602. var value = array[index],
  51603. computed = iteratee ? iteratee(value, index, array) : value;
  51604. if (!index || seen !== computed) {
  51605. seen = computed;
  51606. result[++resIndex] = value;
  51607. }
  51608. }
  51609. return result;
  51610. }
  51611. function trimmedLeftIndex(string) {
  51612. var index = -1,
  51613. length = string.length;
  51614. while (++index < length && isSpace(string.charCodeAt(index))) {}
  51615. return index;
  51616. }
  51617. function trimmedRightIndex(string) {
  51618. var index = string.length;
  51619. while (index-- && isSpace(string.charCodeAt(index))) {}
  51620. return index;
  51621. }
  51622. function unescapeHtmlChar(chr) {
  51623. return htmlUnescapes[chr];
  51624. }
  51625. function runInContext(context) {
  51626. context = context ? _.defaults(root.Object(), context, _.pick(root, contextProps)) : root;
  51627. var Array = context.Array,
  51628. Date = context.Date,
  51629. Error = context.Error,
  51630. Function = context.Function,
  51631. Math = context.Math,
  51632. Number = context.Number,
  51633. Object = context.Object,
  51634. RegExp = context.RegExp,
  51635. String = context.String,
  51636. TypeError = context.TypeError;
  51637. var arrayProto = Array.prototype,
  51638. objectProto = Object.prototype,
  51639. stringProto = String.prototype;
  51640. var fnToString = Function.prototype.toString;
  51641. var hasOwnProperty = objectProto.hasOwnProperty;
  51642. var idCounter = 0;
  51643. var objToString = objectProto.toString;
  51644. var oldDash = root._;
  51645. var reIsNative = RegExp('^' +
  51646. fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
  51647. .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
  51648. );
  51649. var ArrayBuffer = context.ArrayBuffer,
  51650. clearTimeout = context.clearTimeout,
  51651. parseFloat = context.parseFloat,
  51652. pow = Math.pow,
  51653. propertyIsEnumerable = objectProto.propertyIsEnumerable,
  51654. Set = getNative(context, 'Set'),
  51655. setTimeout = context.setTimeout,
  51656. splice = arrayProto.splice,
  51657. Uint8Array = context.Uint8Array,
  51658. WeakMap = getNative(context, 'WeakMap');
  51659. var nativeCeil = Math.ceil,
  51660. nativeCreate = getNative(Object, 'create'),
  51661. nativeFloor = Math.floor,
  51662. nativeIsArray = getNative(Array, 'isArray'),
  51663. nativeIsFinite = context.isFinite,
  51664. nativeKeys = getNative(Object, 'keys'),
  51665. nativeMax = Math.max,
  51666. nativeMin = Math.min,
  51667. nativeNow = getNative(Date, 'now'),
  51668. nativeParseInt = context.parseInt,
  51669. nativeRandom = Math.random;
  51670. var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY,
  51671. POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
  51672. var MAX_ARRAY_LENGTH = 4294967295,
  51673. MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
  51674. HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
  51675. var MAX_SAFE_INTEGER = 9007199254740991;
  51676. var metaMap = WeakMap && new WeakMap;
  51677. var realNames = {};
  51678. function lodash(value) {
  51679. if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
  51680. if (value instanceof LodashWrapper) {
  51681. return value;
  51682. }
  51683. if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) {
  51684. return wrapperClone(value);
  51685. }
  51686. }
  51687. return new LodashWrapper(value);
  51688. }
  51689. function baseLodash() {
  51690. }
  51691. function LodashWrapper(value, chainAll, actions) {
  51692. this.__wrapped__ = value;
  51693. this.__actions__ = actions || [];
  51694. this.__chain__ = !!chainAll;
  51695. }
  51696. var support = lodash.support = {};
  51697. lodash.templateSettings = {
  51698. 'escape': reEscape,
  51699. 'evaluate': reEvaluate,
  51700. 'interpolate': reInterpolate,
  51701. 'variable': '',
  51702. 'imports': {
  51703. '_': lodash
  51704. }
  51705. };
  51706. function LazyWrapper(value) {
  51707. this.__wrapped__ = value;
  51708. this.__actions__ = [];
  51709. this.__dir__ = 1;
  51710. this.__filtered__ = false;
  51711. this.__iteratees__ = [];
  51712. this.__takeCount__ = POSITIVE_INFINITY;
  51713. this.__views__ = [];
  51714. }
  51715. function lazyClone() {
  51716. var result = new LazyWrapper(this.__wrapped__);
  51717. result.__actions__ = arrayCopy(this.__actions__);
  51718. result.__dir__ = this.__dir__;
  51719. result.__filtered__ = this.__filtered__;
  51720. result.__iteratees__ = arrayCopy(this.__iteratees__);
  51721. result.__takeCount__ = this.__takeCount__;
  51722. result.__views__ = arrayCopy(this.__views__);
  51723. return result;
  51724. }
  51725. function lazyReverse() {
  51726. if (this.__filtered__) {
  51727. var result = new LazyWrapper(this);
  51728. result.__dir__ = -1;
  51729. result.__filtered__ = true;
  51730. } else {
  51731. result = this.clone();
  51732. result.__dir__ *= -1;
  51733. }
  51734. return result;
  51735. }
  51736. function lazyValue() {
  51737. var array = this.__wrapped__.value(),
  51738. dir = this.__dir__,
  51739. isArr = isArray(array),
  51740. isRight = dir < 0,
  51741. arrLength = isArr ? array.length : 0,
  51742. view = getView(0, arrLength, this.__views__),
  51743. start = view.start,
  51744. end = view.end,
  51745. length = end - start,
  51746. index = isRight ? end : (start - 1),
  51747. iteratees = this.__iteratees__,
  51748. iterLength = iteratees.length,
  51749. resIndex = 0,
  51750. takeCount = nativeMin(length, this.__takeCount__);
  51751. if (!isArr || arrLength < LARGE_ARRAY_SIZE || (arrLength == length && takeCount == length)) {
  51752. return baseWrapperValue((isRight && isArr) ? array.reverse() : array, this.__actions__);
  51753. }
  51754. var result = [];
  51755. outer:
  51756. while (length-- && resIndex < takeCount) {
  51757. index += dir;
  51758. var iterIndex = -1,
  51759. value = array[index];
  51760. while (++iterIndex < iterLength) {
  51761. var data = iteratees[iterIndex],
  51762. iteratee = data.iteratee,
  51763. type = data.type,
  51764. computed = iteratee(value);
  51765. if (type == LAZY_MAP_FLAG) {
  51766. value = computed;
  51767. } else if (!computed) {
  51768. if (type == LAZY_FILTER_FLAG) {
  51769. continue outer;
  51770. } else {
  51771. break outer;
  51772. }
  51773. }
  51774. }
  51775. result[resIndex++] = value;
  51776. }
  51777. return result;
  51778. }
  51779. function MapCache() {
  51780. this.__data__ = {};
  51781. }
  51782. function mapDelete(key) {
  51783. return this.has(key) && delete this.__data__[key];
  51784. }
  51785. function mapGet(key) {
  51786. return key == '__proto__' ? undefined : this.__data__[key];
  51787. }
  51788. function mapHas(key) {
  51789. return key != '__proto__' && hasOwnProperty.call(this.__data__, key);
  51790. }
  51791. function mapSet(key, value) {
  51792. if (key != '__proto__') {
  51793. this.__data__[key] = value;
  51794. }
  51795. return this;
  51796. }
  51797. function SetCache(values) {
  51798. var length = values ? values.length : 0;
  51799. this.data = { 'hash': nativeCreate(null), 'set': new Set };
  51800. while (length--) {
  51801. this.push(values[length]);
  51802. }
  51803. }
  51804. function cacheIndexOf(cache, value) {
  51805. var data = cache.data,
  51806. result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
  51807. return result ? 0 : -1;
  51808. }
  51809. function cachePush(value) {
  51810. var data = this.data;
  51811. if (typeof value == 'string' || isObject(value)) {
  51812. data.set.add(value);
  51813. } else {
  51814. data.hash[value] = true;
  51815. }
  51816. }
  51817. function arrayConcat(array, other) {
  51818. var index = -1,
  51819. length = array.length,
  51820. othIndex = -1,
  51821. othLength = other.length,
  51822. result = Array(length + othLength);
  51823. while (++index < length) {
  51824. result[index] = array[index];
  51825. }
  51826. while (++othIndex < othLength) {
  51827. result[index++] = other[othIndex];
  51828. }
  51829. return result;
  51830. }
  51831. function arrayCopy(source, array) {
  51832. var index = -1,
  51833. length = source.length;
  51834. array || (array = Array(length));
  51835. while (++index < length) {
  51836. array[index] = source[index];
  51837. }
  51838. return array;
  51839. }
  51840. function arrayEach(array, iteratee) {
  51841. var index = -1,
  51842. length = array.length;
  51843. while (++index < length) {
  51844. if (iteratee(array[index], index, array) === false) {
  51845. break;
  51846. }
  51847. }
  51848. return array;
  51849. }
  51850. function arrayEachRight(array, iteratee) {
  51851. var length = array.length;
  51852. while (length--) {
  51853. if (iteratee(array[length], length, array) === false) {
  51854. break;
  51855. }
  51856. }
  51857. return array;
  51858. }
  51859. function arrayEvery(array, predicate) {
  51860. var index = -1,
  51861. length = array.length;
  51862. while (++index < length) {
  51863. if (!predicate(array[index], index, array)) {
  51864. return false;
  51865. }
  51866. }
  51867. return true;
  51868. }
  51869. function arrayExtremum(array, iteratee, comparator, exValue) {
  51870. var index = -1,
  51871. length = array.length,
  51872. computed = exValue,
  51873. result = computed;
  51874. while (++index < length) {
  51875. var value = array[index],
  51876. current = +iteratee(value);
  51877. if (comparator(current, computed)) {
  51878. computed = current;
  51879. result = value;
  51880. }
  51881. }
  51882. return result;
  51883. }
  51884. function arrayFilter(array, predicate) {
  51885. var index = -1,
  51886. length = array.length,
  51887. resIndex = -1,
  51888. result = [];
  51889. while (++index < length) {
  51890. var value = array[index];
  51891. if (predicate(value, index, array)) {
  51892. result[++resIndex] = value;
  51893. }
  51894. }
  51895. return result;
  51896. }
  51897. function arrayMap(array, iteratee) {
  51898. var index = -1,
  51899. length = array.length,
  51900. result = Array(length);
  51901. while (++index < length) {
  51902. result[index] = iteratee(array[index], index, array);
  51903. }
  51904. return result;
  51905. }
  51906. function arrayPush(array, values) {
  51907. var index = -1,
  51908. length = values.length,
  51909. offset = array.length;
  51910. while (++index < length) {
  51911. array[offset + index] = values[index];
  51912. }
  51913. return array;
  51914. }
  51915. function arrayReduce(array, iteratee, accumulator, initFromArray) {
  51916. var index = -1,
  51917. length = array.length;
  51918. if (initFromArray && length) {
  51919. accumulator = array[++index];
  51920. }
  51921. while (++index < length) {
  51922. accumulator = iteratee(accumulator, array[index], index, array);
  51923. }
  51924. return accumulator;
  51925. }
  51926. function arrayReduceRight(array, iteratee, accumulator, initFromArray) {
  51927. var length = array.length;
  51928. if (initFromArray && length) {
  51929. accumulator = array[--length];
  51930. }
  51931. while (length--) {
  51932. accumulator = iteratee(accumulator, array[length], length, array);
  51933. }
  51934. return accumulator;
  51935. }
  51936. function arraySome(array, predicate) {
  51937. var index = -1,
  51938. length = array.length;
  51939. while (++index < length) {
  51940. if (predicate(array[index], index, array)) {
  51941. return true;
  51942. }
  51943. }
  51944. return false;
  51945. }
  51946. function arraySum(array, iteratee) {
  51947. var length = array.length,
  51948. result = 0;
  51949. while (length--) {
  51950. result += +iteratee(array[length]) || 0;
  51951. }
  51952. return result;
  51953. }
  51954. function assignDefaults(objectValue, sourceValue) {
  51955. return objectValue === undefined ? sourceValue : objectValue;
  51956. }
  51957. function assignOwnDefaults(objectValue, sourceValue, key, object) {
  51958. return (objectValue === undefined || !hasOwnProperty.call(object, key))
  51959. ? sourceValue
  51960. : objectValue;
  51961. }
  51962. function assignWith(object, source, customizer) {
  51963. var index = -1,
  51964. props = keys(source),
  51965. length = props.length;
  51966. while (++index < length) {
  51967. var key = props[index],
  51968. value = object[key],
  51969. result = customizer(value, source[key], key, object, source);
  51970. if ((result === result ? (result !== value) : (value === value)) ||
  51971. (value === undefined && !(key in object))) {
  51972. object[key] = result;
  51973. }
  51974. }
  51975. return object;
  51976. }
  51977. function baseAssign(object, source) {
  51978. return source == null
  51979. ? object
  51980. : baseCopy(source, keys(source), object);
  51981. }
  51982. function baseAt(collection, props) {
  51983. var index = -1,
  51984. isNil = collection == null,
  51985. isArr = !isNil && isArrayLike(collection),
  51986. length = isArr ? collection.length : 0,
  51987. propsLength = props.length,
  51988. result = Array(propsLength);
  51989. while(++index < propsLength) {
  51990. var key = props[index];
  51991. if (isArr) {
  51992. result[index] = isIndex(key, length) ? collection[key] : undefined;
  51993. } else {
  51994. result[index] = isNil ? undefined : collection[key];
  51995. }
  51996. }
  51997. return result;
  51998. }
  51999. function baseCopy(source, props, object) {
  52000. object || (object = {});
  52001. var index = -1,
  52002. length = props.length;
  52003. while (++index < length) {
  52004. var key = props[index];
  52005. object[key] = source[key];
  52006. }
  52007. return object;
  52008. }
  52009. function baseCallback(func, thisArg, argCount) {
  52010. var type = typeof func;
  52011. if (type == 'function') {
  52012. return thisArg === undefined
  52013. ? func
  52014. : bindCallback(func, thisArg, argCount);
  52015. }
  52016. if (func == null) {
  52017. return identity;
  52018. }
  52019. if (type == 'object') {
  52020. return baseMatches(func);
  52021. }
  52022. return thisArg === undefined
  52023. ? property(func)
  52024. : baseMatchesProperty(func, thisArg);
  52025. }
  52026. function baseClone(value, isDeep, customizer, key, object, stackA, stackB) {
  52027. var result;
  52028. if (customizer) {
  52029. result = object ? customizer(value, key, object) : customizer(value);
  52030. }
  52031. if (result !== undefined) {
  52032. return result;
  52033. }
  52034. if (!isObject(value)) {
  52035. return value;
  52036. }
  52037. var isArr = isArray(value);
  52038. if (isArr) {
  52039. result = initCloneArray(value);
  52040. if (!isDeep) {
  52041. return arrayCopy(value, result);
  52042. }
  52043. } else {
  52044. var tag = objToString.call(value),
  52045. isFunc = tag == funcTag;
  52046. if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
  52047. result = initCloneObject(isFunc ? {} : value);
  52048. if (!isDeep) {
  52049. return baseAssign(result, value);
  52050. }
  52051. } else {
  52052. return cloneableTags[tag]
  52053. ? initCloneByTag(value, tag, isDeep)
  52054. : (object ? value : {});
  52055. }
  52056. }
  52057. stackA || (stackA = []);
  52058. stackB || (stackB = []);
  52059. var length = stackA.length;
  52060. while (length--) {
  52061. if (stackA[length] == value) {
  52062. return stackB[length];
  52063. }
  52064. }
  52065. stackA.push(value);
  52066. stackB.push(result);
  52067. (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
  52068. result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);
  52069. });
  52070. return result;
  52071. }
  52072. var baseCreate = (function() {
  52073. function object() {}
  52074. return function(prototype) {
  52075. if (isObject(prototype)) {
  52076. object.prototype = prototype;
  52077. var result = new object;
  52078. object.prototype = undefined;
  52079. }
  52080. return result || {};
  52081. };
  52082. }());
  52083. function baseDelay(func, wait, args) {
  52084. if (typeof func != 'function') {
  52085. throw new TypeError(FUNC_ERROR_TEXT);
  52086. }
  52087. return setTimeout(function() { func.apply(undefined, args); }, wait);
  52088. }
  52089. function baseDifference(array, values) {
  52090. var length = array ? array.length : 0,
  52091. result = [];
  52092. if (!length) {
  52093. return result;
  52094. }
  52095. var index = -1,
  52096. indexOf = getIndexOf(),
  52097. isCommon = indexOf == baseIndexOf,
  52098. cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null,
  52099. valuesLength = values.length;
  52100. if (cache) {
  52101. indexOf = cacheIndexOf;
  52102. isCommon = false;
  52103. values = cache;
  52104. }
  52105. outer:
  52106. while (++index < length) {
  52107. var value = array[index];
  52108. if (isCommon && value === value) {
  52109. var valuesIndex = valuesLength;
  52110. while (valuesIndex--) {
  52111. if (values[valuesIndex] === value) {
  52112. continue outer;
  52113. }
  52114. }
  52115. result.push(value);
  52116. }
  52117. else if (indexOf(values, value, 0) < 0) {
  52118. result.push(value);
  52119. }
  52120. }
  52121. return result;
  52122. }
  52123. var baseEach = createBaseEach(baseForOwn);
  52124. var baseEachRight = createBaseEach(baseForOwnRight, true);
  52125. function baseEvery(collection, predicate) {
  52126. var result = true;
  52127. baseEach(collection, function(value, index, collection) {
  52128. result = !!predicate(value, index, collection);
  52129. return result;
  52130. });
  52131. return result;
  52132. }
  52133. function baseExtremum(collection, iteratee, comparator, exValue) {
  52134. var computed = exValue,
  52135. result = computed;
  52136. baseEach(collection, function(value, index, collection) {
  52137. var current = +iteratee(value, index, collection);
  52138. if (comparator(current, computed) || (current === exValue && current === result)) {
  52139. computed = current;
  52140. result = value;
  52141. }
  52142. });
  52143. return result;
  52144. }
  52145. function baseFill(array, value, start, end) {
  52146. var length = array.length;
  52147. start = start == null ? 0 : (+start || 0);
  52148. if (start < 0) {
  52149. start = -start > length ? 0 : (length + start);
  52150. }
  52151. end = (end === undefined || end > length) ? length : (+end || 0);
  52152. if (end < 0) {
  52153. end += length;
  52154. }
  52155. length = start > end ? 0 : (end >>> 0);
  52156. start >>>= 0;
  52157. while (start < length) {
  52158. array[start++] = value;
  52159. }
  52160. return array;
  52161. }
  52162. function baseFilter(collection, predicate) {
  52163. var result = [];
  52164. baseEach(collection, function(value, index, collection) {
  52165. if (predicate(value, index, collection)) {
  52166. result.push(value);
  52167. }
  52168. });
  52169. return result;
  52170. }
  52171. function baseFind(collection, predicate, eachFunc, retKey) {
  52172. var result;
  52173. eachFunc(collection, function(value, key, collection) {
  52174. if (predicate(value, key, collection)) {
  52175. result = retKey ? key : value;
  52176. return false;
  52177. }
  52178. });
  52179. return result;
  52180. }
  52181. function baseFlatten(array, isDeep, isStrict, result) {
  52182. result || (result = []);
  52183. var index = -1,
  52184. length = array.length;
  52185. while (++index < length) {
  52186. var value = array[index];
  52187. if (isObjectLike(value) && isArrayLike(value) &&
  52188. (isStrict || isArray(value) || isArguments(value))) {
  52189. if (isDeep) {
  52190. baseFlatten(value, isDeep, isStrict, result);
  52191. } else {
  52192. arrayPush(result, value);
  52193. }
  52194. } else if (!isStrict) {
  52195. result[result.length] = value;
  52196. }
  52197. }
  52198. return result;
  52199. }
  52200. var baseFor = createBaseFor();
  52201. var baseForRight = createBaseFor(true);
  52202. function baseForIn(object, iteratee) {
  52203. return baseFor(object, iteratee, keysIn);
  52204. }
  52205. function baseForOwn(object, iteratee) {
  52206. return baseFor(object, iteratee, keys);
  52207. }
  52208. function baseForOwnRight(object, iteratee) {
  52209. return baseForRight(object, iteratee, keys);
  52210. }
  52211. function baseFunctions(object, props) {
  52212. var index = -1,
  52213. length = props.length,
  52214. resIndex = -1,
  52215. result = [];
  52216. while (++index < length) {
  52217. var key = props[index];
  52218. if (isFunction(object[key])) {
  52219. result[++resIndex] = key;
  52220. }
  52221. }
  52222. return result;
  52223. }
  52224. function baseGet(object, path, pathKey) {
  52225. if (object == null) {
  52226. return;
  52227. }
  52228. if (pathKey !== undefined && pathKey in toObject(object)) {
  52229. path = [pathKey];
  52230. }
  52231. var index = 0,
  52232. length = path.length;
  52233. while (object != null && index < length) {
  52234. object = object[path[index++]];
  52235. }
  52236. return (index && index == length) ? object : undefined;
  52237. }
  52238. function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
  52239. if (value === other) {
  52240. return true;
  52241. }
  52242. if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
  52243. return value !== value && other !== other;
  52244. }
  52245. return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
  52246. }
  52247. function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
  52248. var objIsArr = isArray(object),
  52249. othIsArr = isArray(other),
  52250. objTag = arrayTag,
  52251. othTag = arrayTag;
  52252. if (!objIsArr) {
  52253. objTag = objToString.call(object);
  52254. if (objTag == argsTag) {
  52255. objTag = objectTag;
  52256. } else if (objTag != objectTag) {
  52257. objIsArr = isTypedArray(object);
  52258. }
  52259. }
  52260. if (!othIsArr) {
  52261. othTag = objToString.call(other);
  52262. if (othTag == argsTag) {
  52263. othTag = objectTag;
  52264. } else if (othTag != objectTag) {
  52265. othIsArr = isTypedArray(other);
  52266. }
  52267. }
  52268. var objIsObj = objTag == objectTag,
  52269. othIsObj = othTag == objectTag,
  52270. isSameTag = objTag == othTag;
  52271. if (isSameTag && !(objIsArr || objIsObj)) {
  52272. return equalByTag(object, other, objTag);
  52273. }
  52274. if (!isLoose) {
  52275. var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
  52276. othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
  52277. if (objIsWrapped || othIsWrapped) {
  52278. return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
  52279. }
  52280. }
  52281. if (!isSameTag) {
  52282. return false;
  52283. }
  52284. stackA || (stackA = []);
  52285. stackB || (stackB = []);
  52286. var length = stackA.length;
  52287. while (length--) {
  52288. if (stackA[length] == object) {
  52289. return stackB[length] == other;
  52290. }
  52291. }
  52292. stackA.push(object);
  52293. stackB.push(other);
  52294. var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
  52295. stackA.pop();
  52296. stackB.pop();
  52297. return result;
  52298. }
  52299. function baseIsMatch(object, matchData, customizer) {
  52300. var index = matchData.length,
  52301. length = index,
  52302. noCustomizer = !customizer;
  52303. if (object == null) {
  52304. return !length;
  52305. }
  52306. object = toObject(object);
  52307. while (index--) {
  52308. var data = matchData[index];
  52309. if ((noCustomizer && data[2])
  52310. ? data[1] !== object[data[0]]
  52311. : !(data[0] in object)
  52312. ) {
  52313. return false;
  52314. }
  52315. }
  52316. while (++index < length) {
  52317. data = matchData[index];
  52318. var key = data[0],
  52319. objValue = object[key],
  52320. srcValue = data[1];
  52321. if (noCustomizer && data[2]) {
  52322. if (objValue === undefined && !(key in object)) {
  52323. return false;
  52324. }
  52325. } else {
  52326. var result = customizer ? customizer(objValue, srcValue, key) : undefined;
  52327. if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
  52328. return false;
  52329. }
  52330. }
  52331. }
  52332. return true;
  52333. }
  52334. function baseMap(collection, iteratee) {
  52335. var index = -1,
  52336. result = isArrayLike(collection) ? Array(collection.length) : [];
  52337. baseEach(collection, function(value, key, collection) {
  52338. result[++index] = iteratee(value, key, collection);
  52339. });
  52340. return result;
  52341. }
  52342. function baseMatches(source) {
  52343. var matchData = getMatchData(source);
  52344. if (matchData.length == 1 && matchData[0][2]) {
  52345. var key = matchData[0][0],
  52346. value = matchData[0][1];
  52347. return function(object) {
  52348. if (object == null) {
  52349. return false;
  52350. }
  52351. return object[key] === value && (value !== undefined || (key in toObject(object)));
  52352. };
  52353. }
  52354. return function(object) {
  52355. return baseIsMatch(object, matchData);
  52356. };
  52357. }
  52358. function baseMatchesProperty(path, srcValue) {
  52359. var isArr = isArray(path),
  52360. isCommon = isKey(path) && isStrictComparable(srcValue),
  52361. pathKey = (path + '');
  52362. path = toPath(path);
  52363. return function(object) {
  52364. if (object == null) {
  52365. return false;
  52366. }
  52367. var key = pathKey;
  52368. object = toObject(object);
  52369. if ((isArr || !isCommon) && !(key in object)) {
  52370. object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
  52371. if (object == null) {
  52372. return false;
  52373. }
  52374. key = last(path);
  52375. object = toObject(object);
  52376. }
  52377. return object[key] === srcValue
  52378. ? (srcValue !== undefined || (key in object))
  52379. : baseIsEqual(srcValue, object[key], undefined, true);
  52380. };
  52381. }
  52382. function baseMerge(object, source, customizer, stackA, stackB) {
  52383. if (!isObject(object)) {
  52384. return object;
  52385. }
  52386. var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)),
  52387. props = isSrcArr ? undefined : keys(source);
  52388. arrayEach(props || source, function(srcValue, key) {
  52389. if (props) {
  52390. key = srcValue;
  52391. srcValue = source[key];
  52392. }
  52393. if (isObjectLike(srcValue)) {
  52394. stackA || (stackA = []);
  52395. stackB || (stackB = []);
  52396. baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB);
  52397. }
  52398. else {
  52399. var value = object[key],
  52400. result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
  52401. isCommon = result === undefined;
  52402. if (isCommon) {
  52403. result = srcValue;
  52404. }
  52405. if ((result !== undefined || (isSrcArr && !(key in object))) &&
  52406. (isCommon || (result === result ? (result !== value) : (value === value)))) {
  52407. object[key] = result;
  52408. }
  52409. }
  52410. });
  52411. return object;
  52412. }
  52413. function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) {
  52414. var length = stackA.length,
  52415. srcValue = source[key];
  52416. while (length--) {
  52417. if (stackA[length] == srcValue) {
  52418. object[key] = stackB[length];
  52419. return;
  52420. }
  52421. }
  52422. var value = object[key],
  52423. result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
  52424. isCommon = result === undefined;
  52425. if (isCommon) {
  52426. result = srcValue;
  52427. if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) {
  52428. result = isArray(value)
  52429. ? value
  52430. : (isArrayLike(value) ? arrayCopy(value) : []);
  52431. }
  52432. else if (isPlainObject(srcValue) || isArguments(srcValue)) {
  52433. result = isArguments(value)
  52434. ? toPlainObject(value)
  52435. : (isPlainObject(value) ? value : {});
  52436. }
  52437. else {
  52438. isCommon = false;
  52439. }
  52440. }
  52441. stackA.push(srcValue);
  52442. stackB.push(result);
  52443. if (isCommon) {
  52444. object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB);
  52445. } else if (result === result ? (result !== value) : (value === value)) {
  52446. object[key] = result;
  52447. }
  52448. }
  52449. function baseProperty(key) {
  52450. return function(object) {
  52451. return object == null ? undefined : object[key];
  52452. };
  52453. }
  52454. function basePropertyDeep(path) {
  52455. var pathKey = (path + '');
  52456. path = toPath(path);
  52457. return function(object) {
  52458. return baseGet(object, path, pathKey);
  52459. };
  52460. }
  52461. function basePullAt(array, indexes) {
  52462. var length = array ? indexes.length : 0;
  52463. while (length--) {
  52464. var index = indexes[length];
  52465. if (index != previous && isIndex(index)) {
  52466. var previous = index;
  52467. splice.call(array, index, 1);
  52468. }
  52469. }
  52470. return array;
  52471. }
  52472. function baseRandom(min, max) {
  52473. return min + nativeFloor(nativeRandom() * (max - min + 1));
  52474. }
  52475. function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) {
  52476. eachFunc(collection, function(value, index, collection) {
  52477. accumulator = initFromCollection
  52478. ? (initFromCollection = false, value)
  52479. : iteratee(accumulator, value, index, collection);
  52480. });
  52481. return accumulator;
  52482. }
  52483. var baseSetData = !metaMap ? identity : function(func, data) {
  52484. metaMap.set(func, data);
  52485. return func;
  52486. };
  52487. function baseSlice(array, start, end) {
  52488. var index = -1,
  52489. length = array.length;
  52490. start = start == null ? 0 : (+start || 0);
  52491. if (start < 0) {
  52492. start = -start > length ? 0 : (length + start);
  52493. }
  52494. end = (end === undefined || end > length) ? length : (+end || 0);
  52495. if (end < 0) {
  52496. end += length;
  52497. }
  52498. length = start > end ? 0 : ((end - start) >>> 0);
  52499. start >>>= 0;
  52500. var result = Array(length);
  52501. while (++index < length) {
  52502. result[index] = array[index + start];
  52503. }
  52504. return result;
  52505. }
  52506. function baseSome(collection, predicate) {
  52507. var result;
  52508. baseEach(collection, function(value, index, collection) {
  52509. result = predicate(value, index, collection);
  52510. return !result;
  52511. });
  52512. return !!result;
  52513. }
  52514. function baseSortBy(array, comparer) {
  52515. var length = array.length;
  52516. array.sort(comparer);
  52517. while (length--) {
  52518. array[length] = array[length].value;
  52519. }
  52520. return array;
  52521. }
  52522. function baseSortByOrder(collection, iteratees, orders) {
  52523. var callback = getCallback(),
  52524. index = -1;
  52525. iteratees = arrayMap(iteratees, function(iteratee) { return callback(iteratee); });
  52526. var result = baseMap(collection, function(value) {
  52527. var criteria = arrayMap(iteratees, function(iteratee) { return iteratee(value); });
  52528. return { 'criteria': criteria, 'index': ++index, 'value': value };
  52529. });
  52530. return baseSortBy(result, function(object, other) {
  52531. return compareMultiple(object, other, orders);
  52532. });
  52533. }
  52534. function baseSum(collection, iteratee) {
  52535. var result = 0;
  52536. baseEach(collection, function(value, index, collection) {
  52537. result += +iteratee(value, index, collection) || 0;
  52538. });
  52539. return result;
  52540. }
  52541. function baseUniq(array, iteratee) {
  52542. var index = -1,
  52543. indexOf = getIndexOf(),
  52544. length = array.length,
  52545. isCommon = indexOf == baseIndexOf,
  52546. isLarge = isCommon && length >= LARGE_ARRAY_SIZE,
  52547. seen = isLarge ? createCache() : null,
  52548. result = [];
  52549. if (seen) {
  52550. indexOf = cacheIndexOf;
  52551. isCommon = false;
  52552. } else {
  52553. isLarge = false;
  52554. seen = iteratee ? [] : result;
  52555. }
  52556. outer:
  52557. while (++index < length) {
  52558. var value = array[index],
  52559. computed = iteratee ? iteratee(value, index, array) : value;
  52560. if (isCommon && value === value) {
  52561. var seenIndex = seen.length;
  52562. while (seenIndex--) {
  52563. if (seen[seenIndex] === computed) {
  52564. continue outer;
  52565. }
  52566. }
  52567. if (iteratee) {
  52568. seen.push(computed);
  52569. }
  52570. result.push(value);
  52571. }
  52572. else if (indexOf(seen, computed, 0) < 0) {
  52573. if (iteratee || isLarge) {
  52574. seen.push(computed);
  52575. }
  52576. result.push(value);
  52577. }
  52578. }
  52579. return result;
  52580. }
  52581. function baseValues(object, props) {
  52582. var index = -1,
  52583. length = props.length,
  52584. result = Array(length);
  52585. while (++index < length) {
  52586. result[index] = object[props[index]];
  52587. }
  52588. return result;
  52589. }
  52590. function baseWhile(array, predicate, isDrop, fromRight) {
  52591. var length = array.length,
  52592. index = fromRight ? length : -1;
  52593. while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {}
  52594. return isDrop
  52595. ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))
  52596. : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));
  52597. }
  52598. function baseWrapperValue(value, actions) {
  52599. var result = value;
  52600. if (result instanceof LazyWrapper) {
  52601. result = result.value();
  52602. }
  52603. var index = -1,
  52604. length = actions.length;
  52605. while (++index < length) {
  52606. var action = actions[index];
  52607. result = action.func.apply(action.thisArg, arrayPush([result], action.args));
  52608. }
  52609. return result;
  52610. }
  52611. function binaryIndex(array, value, retHighest) {
  52612. var low = 0,
  52613. high = array ? array.length : low;
  52614. if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
  52615. while (low < high) {
  52616. var mid = (low + high) >>> 1,
  52617. computed = array[mid];
  52618. if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) {
  52619. low = mid + 1;
  52620. } else {
  52621. high = mid;
  52622. }
  52623. }
  52624. return high;
  52625. }
  52626. return binaryIndexBy(array, value, identity, retHighest);
  52627. }
  52628. function binaryIndexBy(array, value, iteratee, retHighest) {
  52629. value = iteratee(value);
  52630. var low = 0,
  52631. high = array ? array.length : 0,
  52632. valIsNaN = value !== value,
  52633. valIsNull = value === null,
  52634. valIsUndef = value === undefined;
  52635. while (low < high) {
  52636. var mid = nativeFloor((low + high) / 2),
  52637. computed = iteratee(array[mid]),
  52638. isDef = computed !== undefined,
  52639. isReflexive = computed === computed;
  52640. if (valIsNaN) {
  52641. var setLow = isReflexive || retHighest;
  52642. } else if (valIsNull) {
  52643. setLow = isReflexive && isDef && (retHighest || computed != null);
  52644. } else if (valIsUndef) {
  52645. setLow = isReflexive && (retHighest || isDef);
  52646. } else if (computed == null) {
  52647. setLow = false;
  52648. } else {
  52649. setLow = retHighest ? (computed <= value) : (computed < value);
  52650. }
  52651. if (setLow) {
  52652. low = mid + 1;
  52653. } else {
  52654. high = mid;
  52655. }
  52656. }
  52657. return nativeMin(high, MAX_ARRAY_INDEX);
  52658. }
  52659. function bindCallback(func, thisArg, argCount) {
  52660. if (typeof func != 'function') {
  52661. return identity;
  52662. }
  52663. if (thisArg === undefined) {
  52664. return func;
  52665. }
  52666. switch (argCount) {
  52667. case 1: return function(value) {
  52668. return func.call(thisArg, value);
  52669. };
  52670. case 3: return function(value, index, collection) {
  52671. return func.call(thisArg, value, index, collection);
  52672. };
  52673. case 4: return function(accumulator, value, index, collection) {
  52674. return func.call(thisArg, accumulator, value, index, collection);
  52675. };
  52676. case 5: return function(value, other, key, object, source) {
  52677. return func.call(thisArg, value, other, key, object, source);
  52678. };
  52679. }
  52680. return function() {
  52681. return func.apply(thisArg, arguments);
  52682. };
  52683. }
  52684. function bufferClone(buffer) {
  52685. var result = new ArrayBuffer(buffer.byteLength),
  52686. view = new Uint8Array(result);
  52687. view.set(new Uint8Array(buffer));
  52688. return result;
  52689. }
  52690. function composeArgs(args, partials, holders) {
  52691. var holdersLength = holders.length,
  52692. argsIndex = -1,
  52693. argsLength = nativeMax(args.length - holdersLength, 0),
  52694. leftIndex = -1,
  52695. leftLength = partials.length,
  52696. result = Array(leftLength + argsLength);
  52697. while (++leftIndex < leftLength) {
  52698. result[leftIndex] = partials[leftIndex];
  52699. }
  52700. while (++argsIndex < holdersLength) {
  52701. result[holders[argsIndex]] = args[argsIndex];
  52702. }
  52703. while (argsLength--) {
  52704. result[leftIndex++] = args[argsIndex++];
  52705. }
  52706. return result;
  52707. }
  52708. function composeArgsRight(args, partials, holders) {
  52709. var holdersIndex = -1,
  52710. holdersLength = holders.length,
  52711. argsIndex = -1,
  52712. argsLength = nativeMax(args.length - holdersLength, 0),
  52713. rightIndex = -1,
  52714. rightLength = partials.length,
  52715. result = Array(argsLength + rightLength);
  52716. while (++argsIndex < argsLength) {
  52717. result[argsIndex] = args[argsIndex];
  52718. }
  52719. var offset = argsIndex;
  52720. while (++rightIndex < rightLength) {
  52721. result[offset + rightIndex] = partials[rightIndex];
  52722. }
  52723. while (++holdersIndex < holdersLength) {
  52724. result[offset + holders[holdersIndex]] = args[argsIndex++];
  52725. }
  52726. return result;
  52727. }
  52728. function createAggregator(setter, initializer) {
  52729. return function(collection, iteratee, thisArg) {
  52730. var result = initializer ? initializer() : {};
  52731. iteratee = getCallback(iteratee, thisArg, 3);
  52732. if (isArray(collection)) {
  52733. var index = -1,
  52734. length = collection.length;
  52735. while (++index < length) {
  52736. var value = collection[index];
  52737. setter(result, value, iteratee(value, index, collection), collection);
  52738. }
  52739. } else {
  52740. baseEach(collection, function(value, key, collection) {
  52741. setter(result, value, iteratee(value, key, collection), collection);
  52742. });
  52743. }
  52744. return result;
  52745. };
  52746. }
  52747. function createAssigner(assigner) {
  52748. return restParam(function(object, sources) {
  52749. var index = -1,
  52750. length = object == null ? 0 : sources.length,
  52751. customizer = length > 2 ? sources[length - 2] : undefined,
  52752. guard = length > 2 ? sources[2] : undefined,
  52753. thisArg = length > 1 ? sources[length - 1] : undefined;
  52754. if (typeof customizer == 'function') {
  52755. customizer = bindCallback(customizer, thisArg, 5);
  52756. length -= 2;
  52757. } else {
  52758. customizer = typeof thisArg == 'function' ? thisArg : undefined;
  52759. length -= (customizer ? 1 : 0);
  52760. }
  52761. if (guard && isIterateeCall(sources[0], sources[1], guard)) {
  52762. customizer = length < 3 ? undefined : customizer;
  52763. length = 1;
  52764. }
  52765. while (++index < length) {
  52766. var source = sources[index];
  52767. if (source) {
  52768. assigner(object, source, customizer);
  52769. }
  52770. }
  52771. return object;
  52772. });
  52773. }
  52774. function createBaseEach(eachFunc, fromRight) {
  52775. return function(collection, iteratee) {
  52776. var length = collection ? getLength(collection) : 0;
  52777. if (!isLength(length)) {
  52778. return eachFunc(collection, iteratee);
  52779. }
  52780. var index = fromRight ? length : -1,
  52781. iterable = toObject(collection);
  52782. while ((fromRight ? index-- : ++index < length)) {
  52783. if (iteratee(iterable[index], index, iterable) === false) {
  52784. break;
  52785. }
  52786. }
  52787. return collection;
  52788. };
  52789. }
  52790. function createBaseFor(fromRight) {
  52791. return function(object, iteratee, keysFunc) {
  52792. var iterable = toObject(object),
  52793. props = keysFunc(object),
  52794. length = props.length,
  52795. index = fromRight ? length : -1;
  52796. while ((fromRight ? index-- : ++index < length)) {
  52797. var key = props[index];
  52798. if (iteratee(iterable[key], key, iterable) === false) {
  52799. break;
  52800. }
  52801. }
  52802. return object;
  52803. };
  52804. }
  52805. function createBindWrapper(func, thisArg) {
  52806. var Ctor = createCtorWrapper(func);
  52807. function wrapper() {
  52808. var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
  52809. return fn.apply(thisArg, arguments);
  52810. }
  52811. return wrapper;
  52812. }
  52813. function createCache(values) {
  52814. return (nativeCreate && Set) ? new SetCache(values) : null;
  52815. }
  52816. function createCompounder(callback) {
  52817. return function(string) {
  52818. var index = -1,
  52819. array = words(deburr(string)),
  52820. length = array.length,
  52821. result = '';
  52822. while (++index < length) {
  52823. result = callback(result, array[index], index);
  52824. }
  52825. return result;
  52826. };
  52827. }
  52828. function createCtorWrapper(Ctor) {
  52829. return function() {
  52830. var args = arguments;
  52831. switch (args.length) {
  52832. case 0: return new Ctor;
  52833. case 1: return new Ctor(args[0]);
  52834. case 2: return new Ctor(args[0], args[1]);
  52835. case 3: return new Ctor(args[0], args[1], args[2]);
  52836. case 4: return new Ctor(args[0], args[1], args[2], args[3]);
  52837. case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
  52838. case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
  52839. case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
  52840. }
  52841. var thisBinding = baseCreate(Ctor.prototype),
  52842. result = Ctor.apply(thisBinding, args);
  52843. return isObject(result) ? result : thisBinding;
  52844. };
  52845. }
  52846. function createCurry(flag) {
  52847. function curryFunc(func, arity, guard) {
  52848. if (guard && isIterateeCall(func, arity, guard)) {
  52849. arity = undefined;
  52850. }
  52851. var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity);
  52852. result.placeholder = curryFunc.placeholder;
  52853. return result;
  52854. }
  52855. return curryFunc;
  52856. }
  52857. function createDefaults(assigner, customizer) {
  52858. return restParam(function(args) {
  52859. var object = args[0];
  52860. if (object == null) {
  52861. return object;
  52862. }
  52863. args.push(customizer);
  52864. return assigner.apply(undefined, args);
  52865. });
  52866. }
  52867. function createExtremum(comparator, exValue) {
  52868. return function(collection, iteratee, thisArg) {
  52869. if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
  52870. iteratee = undefined;
  52871. }
  52872. iteratee = getCallback(iteratee, thisArg, 3);
  52873. if (iteratee.length == 1) {
  52874. collection = isArray(collection) ? collection : toIterable(collection);
  52875. var result = arrayExtremum(collection, iteratee, comparator, exValue);
  52876. if (!(collection.length && result === exValue)) {
  52877. return result;
  52878. }
  52879. }
  52880. return baseExtremum(collection, iteratee, comparator, exValue);
  52881. };
  52882. }
  52883. function createFind(eachFunc, fromRight) {
  52884. return function(collection, predicate, thisArg) {
  52885. predicate = getCallback(predicate, thisArg, 3);
  52886. if (isArray(collection)) {
  52887. var index = baseFindIndex(collection, predicate, fromRight);
  52888. return index > -1 ? collection[index] : undefined;
  52889. }
  52890. return baseFind(collection, predicate, eachFunc);
  52891. };
  52892. }
  52893. function createFindIndex(fromRight) {
  52894. return function(array, predicate, thisArg) {
  52895. if (!(array && array.length)) {
  52896. return -1;
  52897. }
  52898. predicate = getCallback(predicate, thisArg, 3);
  52899. return baseFindIndex(array, predicate, fromRight);
  52900. };
  52901. }
  52902. function createFindKey(objectFunc) {
  52903. return function(object, predicate, thisArg) {
  52904. predicate = getCallback(predicate, thisArg, 3);
  52905. return baseFind(object, predicate, objectFunc, true);
  52906. };
  52907. }
  52908. function createFlow(fromRight) {
  52909. return function() {
  52910. var wrapper,
  52911. length = arguments.length,
  52912. index = fromRight ? length : -1,
  52913. leftIndex = 0,
  52914. funcs = Array(length);
  52915. while ((fromRight ? index-- : ++index < length)) {
  52916. var func = funcs[leftIndex++] = arguments[index];
  52917. if (typeof func != 'function') {
  52918. throw new TypeError(FUNC_ERROR_TEXT);
  52919. }
  52920. if (!wrapper && LodashWrapper.prototype.thru && getFuncName(func) == 'wrapper') {
  52921. wrapper = new LodashWrapper([], true);
  52922. }
  52923. }
  52924. index = wrapper ? -1 : length;
  52925. while (++index < length) {
  52926. func = funcs[index];
  52927. var funcName = getFuncName(func),
  52928. data = funcName == 'wrapper' ? getData(func) : undefined;
  52929. if (data && isLaziable(data[0]) && data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && !data[4].length && data[9] == 1) {
  52930. wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
  52931. } else {
  52932. wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func);
  52933. }
  52934. }
  52935. return function() {
  52936. var args = arguments,
  52937. value = args[0];
  52938. if (wrapper && args.length == 1 && isArray(value) && value.length >= LARGE_ARRAY_SIZE) {
  52939. return wrapper.plant(value).value();
  52940. }
  52941. var index = 0,
  52942. result = length ? funcs[index].apply(this, args) : value;
  52943. while (++index < length) {
  52944. result = funcs[index].call(this, result);
  52945. }
  52946. return result;
  52947. };
  52948. };
  52949. }
  52950. function createForEach(arrayFunc, eachFunc) {
  52951. return function(collection, iteratee, thisArg) {
  52952. return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
  52953. ? arrayFunc(collection, iteratee)
  52954. : eachFunc(collection, bindCallback(iteratee, thisArg, 3));
  52955. };
  52956. }
  52957. function createForIn(objectFunc) {
  52958. return function(object, iteratee, thisArg) {
  52959. if (typeof iteratee != 'function' || thisArg !== undefined) {
  52960. iteratee = bindCallback(iteratee, thisArg, 3);
  52961. }
  52962. return objectFunc(object, iteratee, keysIn);
  52963. };
  52964. }
  52965. function createForOwn(objectFunc) {
  52966. return function(object, iteratee, thisArg) {
  52967. if (typeof iteratee != 'function' || thisArg !== undefined) {
  52968. iteratee = bindCallback(iteratee, thisArg, 3);
  52969. }
  52970. return objectFunc(object, iteratee);
  52971. };
  52972. }
  52973. function createObjectMapper(isMapKeys) {
  52974. return function(object, iteratee, thisArg) {
  52975. var result = {};
  52976. iteratee = getCallback(iteratee, thisArg, 3);
  52977. baseForOwn(object, function(value, key, object) {
  52978. var mapped = iteratee(value, key, object);
  52979. key = isMapKeys ? mapped : key;
  52980. value = isMapKeys ? value : mapped;
  52981. result[key] = value;
  52982. });
  52983. return result;
  52984. };
  52985. }
  52986. function createPadDir(fromRight) {
  52987. return function(string, length, chars) {
  52988. string = baseToString(string);
  52989. return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
  52990. };
  52991. }
  52992. function createPartial(flag) {
  52993. var partialFunc = restParam(function(func, partials) {
  52994. var holders = replaceHolders(partials, partialFunc.placeholder);
  52995. return createWrapper(func, flag, undefined, partials, holders);
  52996. });
  52997. return partialFunc;
  52998. }
  52999. function createReduce(arrayFunc, eachFunc) {
  53000. return function(collection, iteratee, accumulator, thisArg) {
  53001. var initFromArray = arguments.length < 3;
  53002. return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
  53003. ? arrayFunc(collection, iteratee, accumulator, initFromArray)
  53004. : baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
  53005. };
  53006. }
  53007. function createHybridWrapper(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
  53008. var isAry = bitmask & ARY_FLAG,
  53009. isBind = bitmask & BIND_FLAG,
  53010. isBindKey = bitmask & BIND_KEY_FLAG,
  53011. isCurry = bitmask & CURRY_FLAG,
  53012. isCurryBound = bitmask & CURRY_BOUND_FLAG,
  53013. isCurryRight = bitmask & CURRY_RIGHT_FLAG,
  53014. Ctor = isBindKey ? undefined : createCtorWrapper(func);
  53015. function wrapper() {
  53016. var length = arguments.length,
  53017. index = length,
  53018. args = Array(length);
  53019. while (index--) {
  53020. args[index] = arguments[index];
  53021. }
  53022. if (partials) {
  53023. args = composeArgs(args, partials, holders);
  53024. }
  53025. if (partialsRight) {
  53026. args = composeArgsRight(args, partialsRight, holdersRight);
  53027. }
  53028. if (isCurry || isCurryRight) {
  53029. var placeholder = wrapper.placeholder,
  53030. argsHolders = replaceHolders(args, placeholder);
  53031. length -= argsHolders.length;
  53032. if (length < arity) {
  53033. var newArgPos = argPos ? arrayCopy(argPos) : undefined,
  53034. newArity = nativeMax(arity - length, 0),
  53035. newsHolders = isCurry ? argsHolders : undefined,
  53036. newHoldersRight = isCurry ? undefined : argsHolders,
  53037. newPartials = isCurry ? args : undefined,
  53038. newPartialsRight = isCurry ? undefined : args;
  53039. bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
  53040. bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
  53041. if (!isCurryBound) {
  53042. bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
  53043. }
  53044. var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity],
  53045. result = createHybridWrapper.apply(undefined, newData);
  53046. if (isLaziable(func)) {
  53047. setData(result, newData);
  53048. }
  53049. result.placeholder = placeholder;
  53050. return result;
  53051. }
  53052. }
  53053. var thisBinding = isBind ? thisArg : this,
  53054. fn = isBindKey ? thisBinding[func] : func;
  53055. if (argPos) {
  53056. args = reorder(args, argPos);
  53057. }
  53058. if (isAry && ary < args.length) {
  53059. args.length = ary;
  53060. }
  53061. if (this && this !== root && this instanceof wrapper) {
  53062. fn = Ctor || createCtorWrapper(func);
  53063. }
  53064. return fn.apply(thisBinding, args);
  53065. }
  53066. return wrapper;
  53067. }
  53068. function createPadding(string, length, chars) {
  53069. var strLength = string.length;
  53070. length = +length;
  53071. if (strLength >= length || !nativeIsFinite(length)) {
  53072. return '';
  53073. }
  53074. var padLength = length - strLength;
  53075. chars = chars == null ? ' ' : (chars + '');
  53076. return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength);
  53077. }
  53078. function createPartialWrapper(func, bitmask, thisArg, partials) {
  53079. var isBind = bitmask & BIND_FLAG,
  53080. Ctor = createCtorWrapper(func);
  53081. function wrapper() {
  53082. var argsIndex = -1,
  53083. argsLength = arguments.length,
  53084. leftIndex = -1,
  53085. leftLength = partials.length,
  53086. args = Array(leftLength + argsLength);
  53087. while (++leftIndex < leftLength) {
  53088. args[leftIndex] = partials[leftIndex];
  53089. }
  53090. while (argsLength--) {
  53091. args[leftIndex++] = arguments[++argsIndex];
  53092. }
  53093. var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
  53094. return fn.apply(isBind ? thisArg : this, args);
  53095. }
  53096. return wrapper;
  53097. }
  53098. function createRound(methodName) {
  53099. var func = Math[methodName];
  53100. return function(number, precision) {
  53101. precision = precision === undefined ? 0 : (+precision || 0);
  53102. if (precision) {
  53103. precision = pow(10, precision);
  53104. return func(number * precision) / precision;
  53105. }
  53106. return func(number);
  53107. };
  53108. }
  53109. function createSortedIndex(retHighest) {
  53110. return function(array, value, iteratee, thisArg) {
  53111. var callback = getCallback(iteratee);
  53112. return (iteratee == null && callback === baseCallback)
  53113. ? binaryIndex(array, value, retHighest)
  53114. : binaryIndexBy(array, value, callback(iteratee, thisArg, 1), retHighest);
  53115. };
  53116. }
  53117. function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
  53118. var isBindKey = bitmask & BIND_KEY_FLAG;
  53119. if (!isBindKey && typeof func != 'function') {
  53120. throw new TypeError(FUNC_ERROR_TEXT);
  53121. }
  53122. var length = partials ? partials.length : 0;
  53123. if (!length) {
  53124. bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
  53125. partials = holders = undefined;
  53126. }
  53127. length -= (holders ? holders.length : 0);
  53128. if (bitmask & PARTIAL_RIGHT_FLAG) {
  53129. var partialsRight = partials,
  53130. holdersRight = holders;
  53131. partials = holders = undefined;
  53132. }
  53133. var data = isBindKey ? undefined : getData(func),
  53134. newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity];
  53135. if (data) {
  53136. mergeData(newData, data);
  53137. bitmask = newData[1];
  53138. arity = newData[9];
  53139. }
  53140. newData[9] = arity == null
  53141. ? (isBindKey ? 0 : func.length)
  53142. : (nativeMax(arity - length, 0) || 0);
  53143. if (bitmask == BIND_FLAG) {
  53144. var result = createBindWrapper(newData[0], newData[2]);
  53145. } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) {
  53146. result = createPartialWrapper.apply(undefined, newData);
  53147. } else {
  53148. result = createHybridWrapper.apply(undefined, newData);
  53149. }
  53150. var setter = data ? baseSetData : setData;
  53151. return setter(result, newData);
  53152. }
  53153. function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
  53154. var index = -1,
  53155. arrLength = array.length,
  53156. othLength = other.length;
  53157. if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
  53158. return false;
  53159. }
  53160. while (++index < arrLength) {
  53161. var arrValue = array[index],
  53162. othValue = other[index],
  53163. result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
  53164. if (result !== undefined) {
  53165. if (result) {
  53166. continue;
  53167. }
  53168. return false;
  53169. }
  53170. if (isLoose) {
  53171. if (!arraySome(other, function(othValue) {
  53172. return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
  53173. })) {
  53174. return false;
  53175. }
  53176. } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
  53177. return false;
  53178. }
  53179. }
  53180. return true;
  53181. }
  53182. function equalByTag(object, other, tag) {
  53183. switch (tag) {
  53184. case boolTag:
  53185. case dateTag:
  53186. return +object == +other;
  53187. case errorTag:
  53188. return object.name == other.name && object.message == other.message;
  53189. case numberTag:
  53190. return (object != +object)
  53191. ? other != +other
  53192. : object == +other;
  53193. case regexpTag:
  53194. case stringTag:
  53195. return object == (other + '');
  53196. }
  53197. return false;
  53198. }
  53199. function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
  53200. var objProps = keys(object),
  53201. objLength = objProps.length,
  53202. othProps = keys(other),
  53203. othLength = othProps.length;
  53204. if (objLength != othLength && !isLoose) {
  53205. return false;
  53206. }
  53207. var index = objLength;
  53208. while (index--) {
  53209. var key = objProps[index];
  53210. if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
  53211. return false;
  53212. }
  53213. }
  53214. var skipCtor = isLoose;
  53215. while (++index < objLength) {
  53216. key = objProps[index];
  53217. var objValue = object[key],
  53218. othValue = other[key],
  53219. result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
  53220. if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
  53221. return false;
  53222. }
  53223. skipCtor || (skipCtor = key == 'constructor');
  53224. }
  53225. if (!skipCtor) {
  53226. var objCtor = object.constructor,
  53227. othCtor = other.constructor;
  53228. if (objCtor != othCtor &&
  53229. ('constructor' in object && 'constructor' in other) &&
  53230. !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
  53231. typeof othCtor == 'function' && othCtor instanceof othCtor)) {
  53232. return false;
  53233. }
  53234. }
  53235. return true;
  53236. }
  53237. function getCallback(func, thisArg, argCount) {
  53238. var result = lodash.callback || callback;
  53239. result = result === callback ? baseCallback : result;
  53240. return argCount ? result(func, thisArg, argCount) : result;
  53241. }
  53242. var getData = !metaMap ? noop : function(func) {
  53243. return metaMap.get(func);
  53244. };
  53245. function getFuncName(func) {
  53246. var result = func.name,
  53247. array = realNames[result],
  53248. length = array ? array.length : 0;
  53249. while (length--) {
  53250. var data = array[length],
  53251. otherFunc = data.func;
  53252. if (otherFunc == null || otherFunc == func) {
  53253. return data.name;
  53254. }
  53255. }
  53256. return result;
  53257. }
  53258. function getIndexOf(collection, target, fromIndex) {
  53259. var result = lodash.indexOf || indexOf;
  53260. result = result === indexOf ? baseIndexOf : result;
  53261. return collection ? result(collection, target, fromIndex) : result;
  53262. }
  53263. var getLength = baseProperty('length');
  53264. function getMatchData(object) {
  53265. var result = pairs(object),
  53266. length = result.length;
  53267. while (length--) {
  53268. result[length][2] = isStrictComparable(result[length][1]);
  53269. }
  53270. return result;
  53271. }
  53272. function getNative(object, key) {
  53273. var value = object == null ? undefined : object[key];
  53274. return isNative(value) ? value : undefined;
  53275. }
  53276. function getView(start, end, transforms) {
  53277. var index = -1,
  53278. length = transforms.length;
  53279. while (++index < length) {
  53280. var data = transforms[index],
  53281. size = data.size;
  53282. switch (data.type) {
  53283. case 'drop': start += size; break;
  53284. case 'dropRight': end -= size; break;
  53285. case 'take': end = nativeMin(end, start + size); break;
  53286. case 'takeRight': start = nativeMax(start, end - size); break;
  53287. }
  53288. }
  53289. return { 'start': start, 'end': end };
  53290. }
  53291. function initCloneArray(array) {
  53292. var length = array.length,
  53293. result = new array.constructor(length);
  53294. if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
  53295. result.index = array.index;
  53296. result.input = array.input;
  53297. }
  53298. return result;
  53299. }
  53300. function initCloneObject(object) {
  53301. var Ctor = object.constructor;
  53302. if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
  53303. Ctor = Object;
  53304. }
  53305. return new Ctor;
  53306. }
  53307. function initCloneByTag(object, tag, isDeep) {
  53308. var Ctor = object.constructor;
  53309. switch (tag) {
  53310. case arrayBufferTag:
  53311. return bufferClone(object);
  53312. case boolTag:
  53313. case dateTag:
  53314. return new Ctor(+object);
  53315. case float32Tag: case float64Tag:
  53316. case int8Tag: case int16Tag: case int32Tag:
  53317. case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
  53318. var buffer = object.buffer;
  53319. return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
  53320. case numberTag:
  53321. case stringTag:
  53322. return new Ctor(object);
  53323. case regexpTag:
  53324. var result = new Ctor(object.source, reFlags.exec(object));
  53325. result.lastIndex = object.lastIndex;
  53326. }
  53327. return result;
  53328. }
  53329. function invokePath(object, path, args) {
  53330. if (object != null && !isKey(path, object)) {
  53331. path = toPath(path);
  53332. object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
  53333. path = last(path);
  53334. }
  53335. var func = object == null ? object : object[path];
  53336. return func == null ? undefined : func.apply(object, args);
  53337. }
  53338. function isArrayLike(value) {
  53339. return value != null && isLength(getLength(value));
  53340. }
  53341. function isIndex(value, length) {
  53342. value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
  53343. length = length == null ? MAX_SAFE_INTEGER : length;
  53344. return value > -1 && value % 1 == 0 && value < length;
  53345. }
  53346. function isIterateeCall(value, index, object) {
  53347. if (!isObject(object)) {
  53348. return false;
  53349. }
  53350. var type = typeof index;
  53351. if (type == 'number'
  53352. ? (isArrayLike(object) && isIndex(index, object.length))
  53353. : (type == 'string' && index in object)) {
  53354. var other = object[index];
  53355. return value === value ? (value === other) : (other !== other);
  53356. }
  53357. return false;
  53358. }
  53359. function isKey(value, object) {
  53360. var type = typeof value;
  53361. if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
  53362. return true;
  53363. }
  53364. if (isArray(value)) {
  53365. return false;
  53366. }
  53367. var result = !reIsDeepProp.test(value);
  53368. return result || (object != null && value in toObject(object));
  53369. }
  53370. function isLaziable(func) {
  53371. var funcName = getFuncName(func);
  53372. if (!(funcName in LazyWrapper.prototype)) {
  53373. return false;
  53374. }
  53375. var other = lodash[funcName];
  53376. if (func === other) {
  53377. return true;
  53378. }
  53379. var data = getData(other);
  53380. return !!data && func === data[0];
  53381. }
  53382. function isLength(value) {
  53383. return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  53384. }
  53385. function isStrictComparable(value) {
  53386. return value === value && !isObject(value);
  53387. }
  53388. function mergeData(data, source) {
  53389. var bitmask = data[1],
  53390. srcBitmask = source[1],
  53391. newBitmask = bitmask | srcBitmask,
  53392. isCommon = newBitmask < ARY_FLAG;
  53393. var isCombo =
  53394. (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) ||
  53395. (srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) ||
  53396. (srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG);
  53397. if (!(isCommon || isCombo)) {
  53398. return data;
  53399. }
  53400. if (srcBitmask & BIND_FLAG) {
  53401. data[2] = source[2];
  53402. newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG;
  53403. }
  53404. var value = source[3];
  53405. if (value) {
  53406. var partials = data[3];
  53407. data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value);
  53408. data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]);
  53409. }
  53410. value = source[5];
  53411. if (value) {
  53412. partials = data[5];
  53413. data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value);
  53414. data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]);
  53415. }
  53416. value = source[7];
  53417. if (value) {
  53418. data[7] = arrayCopy(value);
  53419. }
  53420. if (srcBitmask & ARY_FLAG) {
  53421. data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
  53422. }
  53423. if (data[9] == null) {
  53424. data[9] = source[9];
  53425. }
  53426. data[0] = source[0];
  53427. data[1] = newBitmask;
  53428. return data;
  53429. }
  53430. function mergeDefaults(objectValue, sourceValue) {
  53431. return objectValue === undefined ? sourceValue : merge(objectValue, sourceValue, mergeDefaults);
  53432. }
  53433. function pickByArray(object, props) {
  53434. object = toObject(object);
  53435. var index = -1,
  53436. length = props.length,
  53437. result = {};
  53438. while (++index < length) {
  53439. var key = props[index];
  53440. if (key in object) {
  53441. result[key] = object[key];
  53442. }
  53443. }
  53444. return result;
  53445. }
  53446. function pickByCallback(object, predicate) {
  53447. var result = {};
  53448. baseForIn(object, function(value, key, object) {
  53449. if (predicate(value, key, object)) {
  53450. result[key] = value;
  53451. }
  53452. });
  53453. return result;
  53454. }
  53455. function reorder(array, indexes) {
  53456. var arrLength = array.length,
  53457. length = nativeMin(indexes.length, arrLength),
  53458. oldArray = arrayCopy(array);
  53459. while (length--) {
  53460. var index = indexes[length];
  53461. array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
  53462. }
  53463. return array;
  53464. }
  53465. var setData = (function() {
  53466. var count = 0,
  53467. lastCalled = 0;
  53468. return function(key, value) {
  53469. var stamp = now(),
  53470. remaining = HOT_SPAN - (stamp - lastCalled);
  53471. lastCalled = stamp;
  53472. if (remaining > 0) {
  53473. if (++count >= HOT_COUNT) {
  53474. return key;
  53475. }
  53476. } else {
  53477. count = 0;
  53478. }
  53479. return baseSetData(key, value);
  53480. };
  53481. }());
  53482. function shimKeys(object) {
  53483. var props = keysIn(object),
  53484. propsLength = props.length,
  53485. length = propsLength && object.length;
  53486. var allowIndexes = !!length && isLength(length) &&
  53487. (isArray(object) || isArguments(object));
  53488. var index = -1,
  53489. result = [];
  53490. while (++index < propsLength) {
  53491. var key = props[index];
  53492. if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
  53493. result.push(key);
  53494. }
  53495. }
  53496. return result;
  53497. }
  53498. function toIterable(value) {
  53499. if (value == null) {
  53500. return [];
  53501. }
  53502. if (!isArrayLike(value)) {
  53503. return values(value);
  53504. }
  53505. return isObject(value) ? value : Object(value);
  53506. }
  53507. function toObject(value) {
  53508. return isObject(value) ? value : Object(value);
  53509. }
  53510. function toPath(value) {
  53511. if (isArray(value)) {
  53512. return value;
  53513. }
  53514. var result = [];
  53515. baseToString(value).replace(rePropName, function(match, number, quote, string) {
  53516. result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
  53517. });
  53518. return result;
  53519. }
  53520. function wrapperClone(wrapper) {
  53521. return wrapper instanceof LazyWrapper
  53522. ? wrapper.clone()
  53523. : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
  53524. }
  53525. function chunk(array, size, guard) {
  53526. if (guard ? isIterateeCall(array, size, guard) : size == null) {
  53527. size = 1;
  53528. } else {
  53529. size = nativeMax(nativeFloor(size) || 1, 1);
  53530. }
  53531. var index = 0,
  53532. length = array ? array.length : 0,
  53533. resIndex = -1,
  53534. result = Array(nativeCeil(length / size));
  53535. while (index < length) {
  53536. result[++resIndex] = baseSlice(array, index, (index += size));
  53537. }
  53538. return result;
  53539. }
  53540. function compact(array) {
  53541. var index = -1,
  53542. length = array ? array.length : 0,
  53543. resIndex = -1,
  53544. result = [];
  53545. while (++index < length) {
  53546. var value = array[index];
  53547. if (value) {
  53548. result[++resIndex] = value;
  53549. }
  53550. }
  53551. return result;
  53552. }
  53553. var difference = restParam(function(array, values) {
  53554. return (isObjectLike(array) && isArrayLike(array))
  53555. ? baseDifference(array, baseFlatten(values, false, true))
  53556. : [];
  53557. });
  53558. function drop(array, n, guard) {
  53559. var length = array ? array.length : 0;
  53560. if (!length) {
  53561. return [];
  53562. }
  53563. if (guard ? isIterateeCall(array, n, guard) : n == null) {
  53564. n = 1;
  53565. }
  53566. return baseSlice(array, n < 0 ? 0 : n);
  53567. }
  53568. function dropRight(array, n, guard) {
  53569. var length = array ? array.length : 0;
  53570. if (!length) {
  53571. return [];
  53572. }
  53573. if (guard ? isIterateeCall(array, n, guard) : n == null) {
  53574. n = 1;
  53575. }
  53576. n = length - (+n || 0);
  53577. return baseSlice(array, 0, n < 0 ? 0 : n);
  53578. }
  53579. function dropRightWhile(array, predicate, thisArg) {
  53580. return (array && array.length)
  53581. ? baseWhile(array, getCallback(predicate, thisArg, 3), true, true)
  53582. : [];
  53583. }
  53584. function dropWhile(array, predicate, thisArg) {
  53585. return (array && array.length)
  53586. ? baseWhile(array, getCallback(predicate, thisArg, 3), true)
  53587. : [];
  53588. }
  53589. function fill(array, value, start, end) {
  53590. var length = array ? array.length : 0;
  53591. if (!length) {
  53592. return [];
  53593. }
  53594. if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {
  53595. start = 0;
  53596. end = length;
  53597. }
  53598. return baseFill(array, value, start, end);
  53599. }
  53600. var findIndex = createFindIndex();
  53601. var findLastIndex = createFindIndex(true);
  53602. function first(array) {
  53603. return array ? array[0] : undefined;
  53604. }
  53605. function flatten(array, isDeep, guard) {
  53606. var length = array ? array.length : 0;
  53607. if (guard && isIterateeCall(array, isDeep, guard)) {
  53608. isDeep = false;
  53609. }
  53610. return length ? baseFlatten(array, isDeep) : [];
  53611. }
  53612. function flattenDeep(array) {
  53613. var length = array ? array.length : 0;
  53614. return length ? baseFlatten(array, true) : [];
  53615. }
  53616. function indexOf(array, value, fromIndex) {
  53617. var length = array ? array.length : 0;
  53618. if (!length) {
  53619. return -1;
  53620. }
  53621. if (typeof fromIndex == 'number') {
  53622. fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
  53623. } else if (fromIndex) {
  53624. var index = binaryIndex(array, value);
  53625. if (index < length &&
  53626. (value === value ? (value === array[index]) : (array[index] !== array[index]))) {
  53627. return index;
  53628. }
  53629. return -1;
  53630. }
  53631. return baseIndexOf(array, value, fromIndex || 0);
  53632. }
  53633. function initial(array) {
  53634. return dropRight(array, 1);
  53635. }
  53636. var intersection = restParam(function(arrays) {
  53637. var othLength = arrays.length,
  53638. othIndex = othLength,
  53639. caches = Array(length),
  53640. indexOf = getIndexOf(),
  53641. isCommon = indexOf == baseIndexOf,
  53642. result = [];
  53643. while (othIndex--) {
  53644. var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : [];
  53645. caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null;
  53646. }
  53647. var array = arrays[0],
  53648. index = -1,
  53649. length = array ? array.length : 0,
  53650. seen = caches[0];
  53651. outer:
  53652. while (++index < length) {
  53653. value = array[index];
  53654. if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) {
  53655. var othIndex = othLength;
  53656. while (--othIndex) {
  53657. var cache = caches[othIndex];
  53658. if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) {
  53659. continue outer;
  53660. }
  53661. }
  53662. if (seen) {
  53663. seen.push(value);
  53664. }
  53665. result.push(value);
  53666. }
  53667. }
  53668. return result;
  53669. });
  53670. function last(array) {
  53671. var length = array ? array.length : 0;
  53672. return length ? array[length - 1] : undefined;
  53673. }
  53674. function lastIndexOf(array, value, fromIndex) {
  53675. var length = array ? array.length : 0;
  53676. if (!length) {
  53677. return -1;
  53678. }
  53679. var index = length;
  53680. if (typeof fromIndex == 'number') {
  53681. index = (fromIndex < 0 ? nativeMax(length + fromIndex, 0) : nativeMin(fromIndex || 0, length - 1)) + 1;
  53682. } else if (fromIndex) {
  53683. index = binaryIndex(array, value, true) - 1;
  53684. var other = array[index];
  53685. if (value === value ? (value === other) : (other !== other)) {
  53686. return index;
  53687. }
  53688. return -1;
  53689. }
  53690. if (value !== value) {
  53691. return indexOfNaN(array, index, true);
  53692. }
  53693. while (index--) {
  53694. if (array[index] === value) {
  53695. return index;
  53696. }
  53697. }
  53698. return -1;
  53699. }
  53700. function pull() {
  53701. var args = arguments,
  53702. array = args[0];
  53703. if (!(array && array.length)) {
  53704. return array;
  53705. }
  53706. var index = 0,
  53707. indexOf = getIndexOf(),
  53708. length = args.length;
  53709. while (++index < length) {
  53710. var fromIndex = 0,
  53711. value = args[index];
  53712. while ((fromIndex = indexOf(array, value, fromIndex)) > -1) {
  53713. splice.call(array, fromIndex, 1);
  53714. }
  53715. }
  53716. return array;
  53717. }
  53718. var pullAt = restParam(function(array, indexes) {
  53719. indexes = baseFlatten(indexes);
  53720. var result = baseAt(array, indexes);
  53721. basePullAt(array, indexes.sort(baseCompareAscending));
  53722. return result;
  53723. });
  53724. function remove(array, predicate, thisArg) {
  53725. var result = [];
  53726. if (!(array && array.length)) {
  53727. return result;
  53728. }
  53729. var index = -1,
  53730. indexes = [],
  53731. length = array.length;
  53732. predicate = getCallback(predicate, thisArg, 3);
  53733. while (++index < length) {
  53734. var value = array[index];
  53735. if (predicate(value, index, array)) {
  53736. result.push(value);
  53737. indexes.push(index);
  53738. }
  53739. }
  53740. basePullAt(array, indexes);
  53741. return result;
  53742. }
  53743. function rest(array) {
  53744. return drop(array, 1);
  53745. }
  53746. function slice(array, start, end) {
  53747. var length = array ? array.length : 0;
  53748. if (!length) {
  53749. return [];
  53750. }
  53751. if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
  53752. start = 0;
  53753. end = length;
  53754. }
  53755. return baseSlice(array, start, end);
  53756. }
  53757. var sortedIndex = createSortedIndex();
  53758. var sortedLastIndex = createSortedIndex(true);
  53759. function take(array, n, guard) {
  53760. var length = array ? array.length : 0;
  53761. if (!length) {
  53762. return [];
  53763. }
  53764. if (guard ? isIterateeCall(array, n, guard) : n == null) {
  53765. n = 1;
  53766. }
  53767. return baseSlice(array, 0, n < 0 ? 0 : n);
  53768. }
  53769. function takeRight(array, n, guard) {
  53770. var length = array ? array.length : 0;
  53771. if (!length) {
  53772. return [];
  53773. }
  53774. if (guard ? isIterateeCall(array, n, guard) : n == null) {
  53775. n = 1;
  53776. }
  53777. n = length - (+n || 0);
  53778. return baseSlice(array, n < 0 ? 0 : n);
  53779. }
  53780. function takeRightWhile(array, predicate, thisArg) {
  53781. return (array && array.length)
  53782. ? baseWhile(array, getCallback(predicate, thisArg, 3), false, true)
  53783. : [];
  53784. }
  53785. function takeWhile(array, predicate, thisArg) {
  53786. return (array && array.length)
  53787. ? baseWhile(array, getCallback(predicate, thisArg, 3))
  53788. : [];
  53789. }
  53790. var union = restParam(function(arrays) {
  53791. return baseUniq(baseFlatten(arrays, false, true));
  53792. });
  53793. function uniq(array, isSorted, iteratee, thisArg) {
  53794. var length = array ? array.length : 0;
  53795. if (!length) {
  53796. return [];
  53797. }
  53798. if (isSorted != null && typeof isSorted != 'boolean') {
  53799. thisArg = iteratee;
  53800. iteratee = isIterateeCall(array, isSorted, thisArg) ? undefined : isSorted;
  53801. isSorted = false;
  53802. }
  53803. var callback = getCallback();
  53804. if (!(iteratee == null && callback === baseCallback)) {
  53805. iteratee = callback(iteratee, thisArg, 3);
  53806. }
  53807. return (isSorted && getIndexOf() == baseIndexOf)
  53808. ? sortedUniq(array, iteratee)
  53809. : baseUniq(array, iteratee);
  53810. }
  53811. function unzip(array) {
  53812. if (!(array && array.length)) {
  53813. return [];
  53814. }
  53815. var index = -1,
  53816. length = 0;
  53817. array = arrayFilter(array, function(group) {
  53818. if (isArrayLike(group)) {
  53819. length = nativeMax(group.length, length);
  53820. return true;
  53821. }
  53822. });
  53823. var result = Array(length);
  53824. while (++index < length) {
  53825. result[index] = arrayMap(array, baseProperty(index));
  53826. }
  53827. return result;
  53828. }
  53829. function unzipWith(array, iteratee, thisArg) {
  53830. var length = array ? array.length : 0;
  53831. if (!length) {
  53832. return [];
  53833. }
  53834. var result = unzip(array);
  53835. if (iteratee == null) {
  53836. return result;
  53837. }
  53838. iteratee = bindCallback(iteratee, thisArg, 4);
  53839. return arrayMap(result, function(group) {
  53840. return arrayReduce(group, iteratee, undefined, true);
  53841. });
  53842. }
  53843. var without = restParam(function(array, values) {
  53844. return isArrayLike(array)
  53845. ? baseDifference(array, values)
  53846. : [];
  53847. });
  53848. function xor() {
  53849. var index = -1,
  53850. length = arguments.length;
  53851. while (++index < length) {
  53852. var array = arguments[index];
  53853. if (isArrayLike(array)) {
  53854. var result = result
  53855. ? arrayPush(baseDifference(result, array), baseDifference(array, result))
  53856. : array;
  53857. }
  53858. }
  53859. return result ? baseUniq(result) : [];
  53860. }
  53861. var zip = restParam(unzip);
  53862. function zipObject(props, values) {
  53863. var index = -1,
  53864. length = props ? props.length : 0,
  53865. result = {};
  53866. if (length && !values && !isArray(props[0])) {
  53867. values = [];
  53868. }
  53869. while (++index < length) {
  53870. var key = props[index];
  53871. if (values) {
  53872. result[key] = values[index];
  53873. } else if (key) {
  53874. result[key[0]] = key[1];
  53875. }
  53876. }
  53877. return result;
  53878. }
  53879. var zipWith = restParam(function(arrays) {
  53880. var length = arrays.length,
  53881. iteratee = length > 2 ? arrays[length - 2] : undefined,
  53882. thisArg = length > 1 ? arrays[length - 1] : undefined;
  53883. if (length > 2 && typeof iteratee == 'function') {
  53884. length -= 2;
  53885. } else {
  53886. iteratee = (length > 1 && typeof thisArg == 'function') ? (--length, thisArg) : undefined;
  53887. thisArg = undefined;
  53888. }
  53889. arrays.length = length;
  53890. return unzipWith(arrays, iteratee, thisArg);
  53891. });
  53892. function chain(value) {
  53893. var result = lodash(value);
  53894. result.__chain__ = true;
  53895. return result;
  53896. }
  53897. function tap(value, interceptor, thisArg) {
  53898. interceptor.call(thisArg, value);
  53899. return value;
  53900. }
  53901. function thru(value, interceptor, thisArg) {
  53902. return interceptor.call(thisArg, value);
  53903. }
  53904. function wrapperChain() {
  53905. return chain(this);
  53906. }
  53907. function wrapperCommit() {
  53908. return new LodashWrapper(this.value(), this.__chain__);
  53909. }
  53910. var wrapperConcat = restParam(function(values) {
  53911. values = baseFlatten(values);
  53912. return this.thru(function(array) {
  53913. return arrayConcat(isArray(array) ? array : [toObject(array)], values);
  53914. });
  53915. });
  53916. function wrapperPlant(value) {
  53917. var result,
  53918. parent = this;
  53919. while (parent instanceof baseLodash) {
  53920. var clone = wrapperClone(parent);
  53921. if (result) {
  53922. previous.__wrapped__ = clone;
  53923. } else {
  53924. result = clone;
  53925. }
  53926. var previous = clone;
  53927. parent = parent.__wrapped__;
  53928. }
  53929. previous.__wrapped__ = value;
  53930. return result;
  53931. }
  53932. function wrapperReverse() {
  53933. var value = this.__wrapped__;
  53934. var interceptor = function(value) {
  53935. return (wrapped && wrapped.__dir__ < 0) ? value : value.reverse();
  53936. };
  53937. if (value instanceof LazyWrapper) {
  53938. var wrapped = value;
  53939. if (this.__actions__.length) {
  53940. wrapped = new LazyWrapper(this);
  53941. }
  53942. wrapped = wrapped.reverse();
  53943. wrapped.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });
  53944. return new LodashWrapper(wrapped, this.__chain__);
  53945. }
  53946. return this.thru(interceptor);
  53947. }
  53948. function wrapperToString() {
  53949. return (this.value() + '');
  53950. }
  53951. function wrapperValue() {
  53952. return baseWrapperValue(this.__wrapped__, this.__actions__);
  53953. }
  53954. var at = restParam(function(collection, props) {
  53955. return baseAt(collection, baseFlatten(props));
  53956. });
  53957. var countBy = createAggregator(function(result, value, key) {
  53958. hasOwnProperty.call(result, key) ? ++result[key] : (result[key] = 1);
  53959. });
  53960. function every(collection, predicate, thisArg) {
  53961. var func = isArray(collection) ? arrayEvery : baseEvery;
  53962. if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
  53963. predicate = undefined;
  53964. }
  53965. if (typeof predicate != 'function' || thisArg !== undefined) {
  53966. predicate = getCallback(predicate, thisArg, 3);
  53967. }
  53968. return func(collection, predicate);
  53969. }
  53970. function filter(collection, predicate, thisArg) {
  53971. var func = isArray(collection) ? arrayFilter : baseFilter;
  53972. predicate = getCallback(predicate, thisArg, 3);
  53973. return func(collection, predicate);
  53974. }
  53975. var find = createFind(baseEach);
  53976. var findLast = createFind(baseEachRight, true);
  53977. function findWhere(collection, source) {
  53978. return find(collection, baseMatches(source));
  53979. }
  53980. var forEach = createForEach(arrayEach, baseEach);
  53981. var forEachRight = createForEach(arrayEachRight, baseEachRight);
  53982. var groupBy = createAggregator(function(result, value, key) {
  53983. if (hasOwnProperty.call(result, key)) {
  53984. result[key].push(value);
  53985. } else {
  53986. result[key] = [value];
  53987. }
  53988. });
  53989. function includes(collection, target, fromIndex, guard) {
  53990. var length = collection ? getLength(collection) : 0;
  53991. if (!isLength(length)) {
  53992. collection = values(collection);
  53993. length = collection.length;
  53994. }
  53995. if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) {
  53996. fromIndex = 0;
  53997. } else {
  53998. fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0);
  53999. }
  54000. return (typeof collection == 'string' || !isArray(collection) && isString(collection))
  54001. ? (fromIndex <= length && collection.indexOf(target, fromIndex) > -1)
  54002. : (!!length && getIndexOf(collection, target, fromIndex) > -1);
  54003. }
  54004. var indexBy = createAggregator(function(result, value, key) {
  54005. result[key] = value;
  54006. });
  54007. var invoke = restParam(function(collection, path, args) {
  54008. var index = -1,
  54009. isFunc = typeof path == 'function',
  54010. isProp = isKey(path),
  54011. result = isArrayLike(collection) ? Array(collection.length) : [];
  54012. baseEach(collection, function(value) {
  54013. var func = isFunc ? path : ((isProp && value != null) ? value[path] : undefined);
  54014. result[++index] = func ? func.apply(value, args) : invokePath(value, path, args);
  54015. });
  54016. return result;
  54017. });
  54018. function map(collection, iteratee, thisArg) {
  54019. var func = isArray(collection) ? arrayMap : baseMap;
  54020. iteratee = getCallback(iteratee, thisArg, 3);
  54021. return func(collection, iteratee);
  54022. }
  54023. var partition = createAggregator(function(result, value, key) {
  54024. result[key ? 0 : 1].push(value);
  54025. }, function() { return [[], []]; });
  54026. function pluck(collection, path) {
  54027. return map(collection, property(path));
  54028. }
  54029. var reduce = createReduce(arrayReduce, baseEach);
  54030. var reduceRight = createReduce(arrayReduceRight, baseEachRight);
  54031. function reject(collection, predicate, thisArg) {
  54032. var func = isArray(collection) ? arrayFilter : baseFilter;
  54033. predicate = getCallback(predicate, thisArg, 3);
  54034. return func(collection, function(value, index, collection) {
  54035. return !predicate(value, index, collection);
  54036. });
  54037. }
  54038. function sample(collection, n, guard) {
  54039. if (guard ? isIterateeCall(collection, n, guard) : n == null) {
  54040. collection = toIterable(collection);
  54041. var length = collection.length;
  54042. return length > 0 ? collection[baseRandom(0, length - 1)] : undefined;
  54043. }
  54044. var index = -1,
  54045. result = toArray(collection),
  54046. length = result.length,
  54047. lastIndex = length - 1;
  54048. n = nativeMin(n < 0 ? 0 : (+n || 0), length);
  54049. while (++index < n) {
  54050. var rand = baseRandom(index, lastIndex),
  54051. value = result[rand];
  54052. result[rand] = result[index];
  54053. result[index] = value;
  54054. }
  54055. result.length = n;
  54056. return result;
  54057. }
  54058. function shuffle(collection) {
  54059. return sample(collection, POSITIVE_INFINITY);
  54060. }
  54061. function size(collection) {
  54062. var length = collection ? getLength(collection) : 0;
  54063. return isLength(length) ? length : keys(collection).length;
  54064. }
  54065. function some(collection, predicate, thisArg) {
  54066. var func = isArray(collection) ? arraySome : baseSome;
  54067. if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
  54068. predicate = undefined;
  54069. }
  54070. if (typeof predicate != 'function' || thisArg !== undefined) {
  54071. predicate = getCallback(predicate, thisArg, 3);
  54072. }
  54073. return func(collection, predicate);
  54074. }
  54075. function sortBy(collection, iteratee, thisArg) {
  54076. if (collection == null) {
  54077. return [];
  54078. }
  54079. if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
  54080. iteratee = undefined;
  54081. }
  54082. var index = -1;
  54083. iteratee = getCallback(iteratee, thisArg, 3);
  54084. var result = baseMap(collection, function(value, key, collection) {
  54085. return { 'criteria': iteratee(value, key, collection), 'index': ++index, 'value': value };
  54086. });
  54087. return baseSortBy(result, compareAscending);
  54088. }
  54089. var sortByAll = restParam(function(collection, iteratees) {
  54090. if (collection == null) {
  54091. return [];
  54092. }
  54093. var guard = iteratees[2];
  54094. if (guard && isIterateeCall(iteratees[0], iteratees[1], guard)) {
  54095. iteratees.length = 1;
  54096. }
  54097. return baseSortByOrder(collection, baseFlatten(iteratees), []);
  54098. });
  54099. function sortByOrder(collection, iteratees, orders, guard) {
  54100. if (collection == null) {
  54101. return [];
  54102. }
  54103. if (guard && isIterateeCall(iteratees, orders, guard)) {
  54104. orders = undefined;
  54105. }
  54106. if (!isArray(iteratees)) {
  54107. iteratees = iteratees == null ? [] : [iteratees];
  54108. }
  54109. if (!isArray(orders)) {
  54110. orders = orders == null ? [] : [orders];
  54111. }
  54112. return baseSortByOrder(collection, iteratees, orders);
  54113. }
  54114. function where(collection, source) {
  54115. return filter(collection, baseMatches(source));
  54116. }
  54117. var now = nativeNow || function() {
  54118. return new Date().getTime();
  54119. };
  54120. function after(n, func) {
  54121. if (typeof func != 'function') {
  54122. if (typeof n == 'function') {
  54123. var temp = n;
  54124. n = func;
  54125. func = temp;
  54126. } else {
  54127. throw new TypeError(FUNC_ERROR_TEXT);
  54128. }
  54129. }
  54130. n = nativeIsFinite(n = +n) ? n : 0;
  54131. return function() {
  54132. if (--n < 1) {
  54133. return func.apply(this, arguments);
  54134. }
  54135. };
  54136. }
  54137. function ary(func, n, guard) {
  54138. if (guard && isIterateeCall(func, n, guard)) {
  54139. n = undefined;
  54140. }
  54141. n = (func && n == null) ? func.length : nativeMax(+n || 0, 0);
  54142. return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
  54143. }
  54144. function before(n, func) {
  54145. var result;
  54146. if (typeof func != 'function') {
  54147. if (typeof n == 'function') {
  54148. var temp = n;
  54149. n = func;
  54150. func = temp;
  54151. } else {
  54152. throw new TypeError(FUNC_ERROR_TEXT);
  54153. }
  54154. }
  54155. return function() {
  54156. if (--n > 0) {
  54157. result = func.apply(this, arguments);
  54158. }
  54159. if (n <= 1) {
  54160. func = undefined;
  54161. }
  54162. return result;
  54163. };
  54164. }
  54165. var bind = restParam(function(func, thisArg, partials) {
  54166. var bitmask = BIND_FLAG;
  54167. if (partials.length) {
  54168. var holders = replaceHolders(partials, bind.placeholder);
  54169. bitmask |= PARTIAL_FLAG;
  54170. }
  54171. return createWrapper(func, bitmask, thisArg, partials, holders);
  54172. });
  54173. var bindAll = restParam(function(object, methodNames) {
  54174. methodNames = methodNames.length ? baseFlatten(methodNames) : functions(object);
  54175. var index = -1,
  54176. length = methodNames.length;
  54177. while (++index < length) {
  54178. var key = methodNames[index];
  54179. object[key] = createWrapper(object[key], BIND_FLAG, object);
  54180. }
  54181. return object;
  54182. });
  54183. var bindKey = restParam(function(object, key, partials) {
  54184. var bitmask = BIND_FLAG | BIND_KEY_FLAG;
  54185. if (partials.length) {
  54186. var holders = replaceHolders(partials, bindKey.placeholder);
  54187. bitmask |= PARTIAL_FLAG;
  54188. }
  54189. return createWrapper(key, bitmask, object, partials, holders);
  54190. });
  54191. var curry = createCurry(CURRY_FLAG);
  54192. var curryRight = createCurry(CURRY_RIGHT_FLAG);
  54193. function debounce(func, wait, options) {
  54194. var args,
  54195. maxTimeoutId,
  54196. result,
  54197. stamp,
  54198. thisArg,
  54199. timeoutId,
  54200. trailingCall,
  54201. lastCalled = 0,
  54202. maxWait = false,
  54203. trailing = true;
  54204. if (typeof func != 'function') {
  54205. throw new TypeError(FUNC_ERROR_TEXT);
  54206. }
  54207. wait = wait < 0 ? 0 : (+wait || 0);
  54208. if (options === true) {
  54209. var leading = true;
  54210. trailing = false;
  54211. } else if (isObject(options)) {
  54212. leading = !!options.leading;
  54213. maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
  54214. trailing = 'trailing' in options ? !!options.trailing : trailing;
  54215. }
  54216. function cancel() {
  54217. if (timeoutId) {
  54218. clearTimeout(timeoutId);
  54219. }
  54220. if (maxTimeoutId) {
  54221. clearTimeout(maxTimeoutId);
  54222. }
  54223. lastCalled = 0;
  54224. maxTimeoutId = timeoutId = trailingCall = undefined;
  54225. }
  54226. function complete(isCalled, id) {
  54227. if (id) {
  54228. clearTimeout(id);
  54229. }
  54230. maxTimeoutId = timeoutId = trailingCall = undefined;
  54231. if (isCalled) {
  54232. lastCalled = now();
  54233. result = func.apply(thisArg, args);
  54234. if (!timeoutId && !maxTimeoutId) {
  54235. args = thisArg = undefined;
  54236. }
  54237. }
  54238. }
  54239. function delayed() {
  54240. var remaining = wait - (now() - stamp);
  54241. if (remaining <= 0 || remaining > wait) {
  54242. complete(trailingCall, maxTimeoutId);
  54243. } else {
  54244. timeoutId = setTimeout(delayed, remaining);
  54245. }
  54246. }
  54247. function maxDelayed() {
  54248. complete(trailing, timeoutId);
  54249. }
  54250. function debounced() {
  54251. args = arguments;
  54252. stamp = now();
  54253. thisArg = this;
  54254. trailingCall = trailing && (timeoutId || !leading);
  54255. if (maxWait === false) {
  54256. var leadingCall = leading && !timeoutId;
  54257. } else {
  54258. if (!maxTimeoutId && !leading) {
  54259. lastCalled = stamp;
  54260. }
  54261. var remaining = maxWait - (stamp - lastCalled),
  54262. isCalled = remaining <= 0 || remaining > maxWait;
  54263. if (isCalled) {
  54264. if (maxTimeoutId) {
  54265. maxTimeoutId = clearTimeout(maxTimeoutId);
  54266. }
  54267. lastCalled = stamp;
  54268. result = func.apply(thisArg, args);
  54269. }
  54270. else if (!maxTimeoutId) {
  54271. maxTimeoutId = setTimeout(maxDelayed, remaining);
  54272. }
  54273. }
  54274. if (isCalled && timeoutId) {
  54275. timeoutId = clearTimeout(timeoutId);
  54276. }
  54277. else if (!timeoutId && wait !== maxWait) {
  54278. timeoutId = setTimeout(delayed, wait);
  54279. }
  54280. if (leadingCall) {
  54281. isCalled = true;
  54282. result = func.apply(thisArg, args);
  54283. }
  54284. if (isCalled && !timeoutId && !maxTimeoutId) {
  54285. args = thisArg = undefined;
  54286. }
  54287. return result;
  54288. }
  54289. debounced.cancel = cancel;
  54290. return debounced;
  54291. }
  54292. var defer = restParam(function(func, args) {
  54293. return baseDelay(func, 1, args);
  54294. });
  54295. var delay = restParam(function(func, wait, args) {
  54296. return baseDelay(func, wait, args);
  54297. });
  54298. var flow = createFlow();
  54299. var flowRight = createFlow(true);
  54300. function memoize(func, resolver) {
  54301. if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
  54302. throw new TypeError(FUNC_ERROR_TEXT);
  54303. }
  54304. var memoized = function() {
  54305. var args = arguments,
  54306. key = resolver ? resolver.apply(this, args) : args[0],
  54307. cache = memoized.cache;
  54308. if (cache.has(key)) {
  54309. return cache.get(key);
  54310. }
  54311. var result = func.apply(this, args);
  54312. memoized.cache = cache.set(key, result);
  54313. return result;
  54314. };
  54315. memoized.cache = new memoize.Cache;
  54316. return memoized;
  54317. }
  54318. var modArgs = restParam(function(func, transforms) {
  54319. transforms = baseFlatten(transforms);
  54320. if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) {
  54321. throw new TypeError(FUNC_ERROR_TEXT);
  54322. }
  54323. var length = transforms.length;
  54324. return restParam(function(args) {
  54325. var index = nativeMin(args.length, length);
  54326. while (index--) {
  54327. args[index] = transforms[index](args[index]);
  54328. }
  54329. return func.apply(this, args);
  54330. });
  54331. });
  54332. function negate(predicate) {
  54333. if (typeof predicate != 'function') {
  54334. throw new TypeError(FUNC_ERROR_TEXT);
  54335. }
  54336. return function() {
  54337. return !predicate.apply(this, arguments);
  54338. };
  54339. }
  54340. function once(func) {
  54341. return before(2, func);
  54342. }
  54343. var partial = createPartial(PARTIAL_FLAG);
  54344. var partialRight = createPartial(PARTIAL_RIGHT_FLAG);
  54345. var rearg = restParam(function(func, indexes) {
  54346. return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes));
  54347. });
  54348. function restParam(func, start) {
  54349. if (typeof func != 'function') {
  54350. throw new TypeError(FUNC_ERROR_TEXT);
  54351. }
  54352. start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
  54353. return function() {
  54354. var args = arguments,
  54355. index = -1,
  54356. length = nativeMax(args.length - start, 0),
  54357. rest = Array(length);
  54358. while (++index < length) {
  54359. rest[index] = args[start + index];
  54360. }
  54361. switch (start) {
  54362. case 0: return func.call(this, rest);
  54363. case 1: return func.call(this, args[0], rest);
  54364. case 2: return func.call(this, args[0], args[1], rest);
  54365. }
  54366. var otherArgs = Array(start + 1);
  54367. index = -1;
  54368. while (++index < start) {
  54369. otherArgs[index] = args[index];
  54370. }
  54371. otherArgs[start] = rest;
  54372. return func.apply(this, otherArgs);
  54373. };
  54374. }
  54375. function spread(func) {
  54376. if (typeof func != 'function') {
  54377. throw new TypeError(FUNC_ERROR_TEXT);
  54378. }
  54379. return function(array) {
  54380. return func.apply(this, array);
  54381. };
  54382. }
  54383. function throttle(func, wait, options) {
  54384. var leading = true,
  54385. trailing = true;
  54386. if (typeof func != 'function') {
  54387. throw new TypeError(FUNC_ERROR_TEXT);
  54388. }
  54389. if (options === false) {
  54390. leading = false;
  54391. } else if (isObject(options)) {
  54392. leading = 'leading' in options ? !!options.leading : leading;
  54393. trailing = 'trailing' in options ? !!options.trailing : trailing;
  54394. }
  54395. return debounce(func, wait, { 'leading': leading, 'maxWait': +wait, 'trailing': trailing });
  54396. }
  54397. function wrap(value, wrapper) {
  54398. wrapper = wrapper == null ? identity : wrapper;
  54399. return createWrapper(wrapper, PARTIAL_FLAG, undefined, [value], []);
  54400. }
  54401. function clone(value, isDeep, customizer, thisArg) {
  54402. if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {
  54403. isDeep = false;
  54404. }
  54405. else if (typeof isDeep == 'function') {
  54406. thisArg = customizer;
  54407. customizer = isDeep;
  54408. isDeep = false;
  54409. }
  54410. return typeof customizer == 'function'
  54411. ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1))
  54412. : baseClone(value, isDeep);
  54413. }
  54414. function cloneDeep(value, customizer, thisArg) {
  54415. return typeof customizer == 'function'
  54416. ? baseClone(value, true, bindCallback(customizer, thisArg, 1))
  54417. : baseClone(value, true);
  54418. }
  54419. function gt(value, other) {
  54420. return value > other;
  54421. }
  54422. function gte(value, other) {
  54423. return value >= other;
  54424. }
  54425. function isArguments(value) {
  54426. return isObjectLike(value) && isArrayLike(value) &&
  54427. hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
  54428. }
  54429. var isArray = nativeIsArray || function(value) {
  54430. return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
  54431. };
  54432. function isBoolean(value) {
  54433. return value === true || value === false || (isObjectLike(value) && objToString.call(value) == boolTag);
  54434. }
  54435. function isDate(value) {
  54436. return isObjectLike(value) && objToString.call(value) == dateTag;
  54437. }
  54438. function isElement(value) {
  54439. return !!value && value.nodeType === 1 && isObjectLike(value) && !isPlainObject(value);
  54440. }
  54441. function isEmpty(value) {
  54442. if (value == null) {
  54443. return true;
  54444. }
  54445. if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) ||
  54446. (isObjectLike(value) && isFunction(value.splice)))) {
  54447. return !value.length;
  54448. }
  54449. return !keys(value).length;
  54450. }
  54451. function isEqual(value, other, customizer, thisArg) {
  54452. customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
  54453. var result = customizer ? customizer(value, other) : undefined;
  54454. return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
  54455. }
  54456. function isError(value) {
  54457. return isObjectLike(value) && typeof value.message == 'string' && objToString.call(value) == errorTag;
  54458. }
  54459. function isFinite(value) {
  54460. return typeof value == 'number' && nativeIsFinite(value);
  54461. }
  54462. function isFunction(value) {
  54463. return isObject(value) && objToString.call(value) == funcTag;
  54464. }
  54465. function isObject(value) {
  54466. var type = typeof value;
  54467. return !!value && (type == 'object' || type == 'function');
  54468. }
  54469. function isMatch(object, source, customizer, thisArg) {
  54470. customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
  54471. return baseIsMatch(object, getMatchData(source), customizer);
  54472. }
  54473. function isNaN(value) {
  54474. return isNumber(value) && value != +value;
  54475. }
  54476. function isNative(value) {
  54477. if (value == null) {
  54478. return false;
  54479. }
  54480. if (isFunction(value)) {
  54481. return reIsNative.test(fnToString.call(value));
  54482. }
  54483. return isObjectLike(value) && reIsHostCtor.test(value);
  54484. }
  54485. function isNull(value) {
  54486. return value === null;
  54487. }
  54488. function isNumber(value) {
  54489. return typeof value == 'number' || (isObjectLike(value) && objToString.call(value) == numberTag);
  54490. }
  54491. function isPlainObject(value) {
  54492. var Ctor;
  54493. if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) ||
  54494. (!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) {
  54495. return false;
  54496. }
  54497. var result;
  54498. baseForIn(value, function(subValue, key) {
  54499. result = key;
  54500. });
  54501. return result === undefined || hasOwnProperty.call(value, result);
  54502. }
  54503. function isRegExp(value) {
  54504. return isObject(value) && objToString.call(value) == regexpTag;
  54505. }
  54506. function isString(value) {
  54507. return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag);
  54508. }
  54509. function isTypedArray(value) {
  54510. return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
  54511. }
  54512. function isUndefined(value) {
  54513. return value === undefined;
  54514. }
  54515. function lt(value, other) {
  54516. return value < other;
  54517. }
  54518. function lte(value, other) {
  54519. return value <= other;
  54520. }
  54521. function toArray(value) {
  54522. var length = value ? getLength(value) : 0;
  54523. if (!isLength(length)) {
  54524. return values(value);
  54525. }
  54526. if (!length) {
  54527. return [];
  54528. }
  54529. return arrayCopy(value);
  54530. }
  54531. function toPlainObject(value) {
  54532. return baseCopy(value, keysIn(value));
  54533. }
  54534. var merge = createAssigner(baseMerge);
  54535. var assign = createAssigner(function(object, source, customizer) {
  54536. return customizer
  54537. ? assignWith(object, source, customizer)
  54538. : baseAssign(object, source);
  54539. });
  54540. function create(prototype, properties, guard) {
  54541. var result = baseCreate(prototype);
  54542. if (guard && isIterateeCall(prototype, properties, guard)) {
  54543. properties = undefined;
  54544. }
  54545. return properties ? baseAssign(result, properties) : result;
  54546. }
  54547. var defaults = createDefaults(assign, assignDefaults);
  54548. var defaultsDeep = createDefaults(merge, mergeDefaults);
  54549. var findKey = createFindKey(baseForOwn);
  54550. var findLastKey = createFindKey(baseForOwnRight);
  54551. var forIn = createForIn(baseFor);
  54552. var forInRight = createForIn(baseForRight);
  54553. var forOwn = createForOwn(baseForOwn);
  54554. var forOwnRight = createForOwn(baseForOwnRight);
  54555. function functions(object) {
  54556. return baseFunctions(object, keysIn(object));
  54557. }
  54558. function get(object, path, defaultValue) {
  54559. var result = object == null ? undefined : baseGet(object, toPath(path), path + '');
  54560. return result === undefined ? defaultValue : result;
  54561. }
  54562. function has(object, path) {
  54563. if (object == null) {
  54564. return false;
  54565. }
  54566. var result = hasOwnProperty.call(object, path);
  54567. if (!result && !isKey(path)) {
  54568. path = toPath(path);
  54569. object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
  54570. if (object == null) {
  54571. return false;
  54572. }
  54573. path = last(path);
  54574. result = hasOwnProperty.call(object, path);
  54575. }
  54576. return result || (isLength(object.length) && isIndex(path, object.length) &&
  54577. (isArray(object) || isArguments(object)));
  54578. }
  54579. function invert(object, multiValue, guard) {
  54580. if (guard && isIterateeCall(object, multiValue, guard)) {
  54581. multiValue = undefined;
  54582. }
  54583. var index = -1,
  54584. props = keys(object),
  54585. length = props.length,
  54586. result = {};
  54587. while (++index < length) {
  54588. var key = props[index],
  54589. value = object[key];
  54590. if (multiValue) {
  54591. if (hasOwnProperty.call(result, value)) {
  54592. result[value].push(key);
  54593. } else {
  54594. result[value] = [key];
  54595. }
  54596. }
  54597. else {
  54598. result[value] = key;
  54599. }
  54600. }
  54601. return result;
  54602. }
  54603. var keys = !nativeKeys ? shimKeys : function(object) {
  54604. var Ctor = object == null ? undefined : object.constructor;
  54605. if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
  54606. (typeof object != 'function' && isArrayLike(object))) {
  54607. return shimKeys(object);
  54608. }
  54609. return isObject(object) ? nativeKeys(object) : [];
  54610. };
  54611. function keysIn(object) {
  54612. if (object == null) {
  54613. return [];
  54614. }
  54615. if (!isObject(object)) {
  54616. object = Object(object);
  54617. }
  54618. var length = object.length;
  54619. length = (length && isLength(length) &&
  54620. (isArray(object) || isArguments(object)) && length) || 0;
  54621. var Ctor = object.constructor,
  54622. index = -1,
  54623. isProto = typeof Ctor == 'function' && Ctor.prototype === object,
  54624. result = Array(length),
  54625. skipIndexes = length > 0;
  54626. while (++index < length) {
  54627. result[index] = (index + '');
  54628. }
  54629. for (var key in object) {
  54630. if (!(skipIndexes && isIndex(key, length)) &&
  54631. !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
  54632. result.push(key);
  54633. }
  54634. }
  54635. return result;
  54636. }
  54637. var mapKeys = createObjectMapper(true);
  54638. var mapValues = createObjectMapper();
  54639. var omit = restParam(function(object, props) {
  54640. if (object == null) {
  54641. return {};
  54642. }
  54643. if (typeof props[0] != 'function') {
  54644. var props = arrayMap(baseFlatten(props), String);
  54645. return pickByArray(object, baseDifference(keysIn(object), props));
  54646. }
  54647. var predicate = bindCallback(props[0], props[1], 3);
  54648. return pickByCallback(object, function(value, key, object) {
  54649. return !predicate(value, key, object);
  54650. });
  54651. });
  54652. function pairs(object) {
  54653. object = toObject(object);
  54654. var index = -1,
  54655. props = keys(object),
  54656. length = props.length,
  54657. result = Array(length);
  54658. while (++index < length) {
  54659. var key = props[index];
  54660. result[index] = [key, object[key]];
  54661. }
  54662. return result;
  54663. }
  54664. var pick = restParam(function(object, props) {
  54665. if (object == null) {
  54666. return {};
  54667. }
  54668. return typeof props[0] == 'function'
  54669. ? pickByCallback(object, bindCallback(props[0], props[1], 3))
  54670. : pickByArray(object, baseFlatten(props));
  54671. });
  54672. function result(object, path, defaultValue) {
  54673. var result = object == null ? undefined : object[path];
  54674. if (result === undefined) {
  54675. if (object != null && !isKey(path, object)) {
  54676. path = toPath(path);
  54677. object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
  54678. result = object == null ? undefined : object[last(path)];
  54679. }
  54680. result = result === undefined ? defaultValue : result;
  54681. }
  54682. return isFunction(result) ? result.call(object) : result;
  54683. }
  54684. function set(object, path, value) {
  54685. if (object == null) {
  54686. return object;
  54687. }
  54688. var pathKey = (path + '');
  54689. path = (object[pathKey] != null || isKey(path, object)) ? [pathKey] : toPath(path);
  54690. var index = -1,
  54691. length = path.length,
  54692. lastIndex = length - 1,
  54693. nested = object;
  54694. while (nested != null && ++index < length) {
  54695. var key = path[index];
  54696. if (isObject(nested)) {
  54697. if (index == lastIndex) {
  54698. nested[key] = value;
  54699. } else if (nested[key] == null) {
  54700. nested[key] = isIndex(path[index + 1]) ? [] : {};
  54701. }
  54702. }
  54703. nested = nested[key];
  54704. }
  54705. return object;
  54706. }
  54707. function transform(object, iteratee, accumulator, thisArg) {
  54708. var isArr = isArray(object) || isTypedArray(object);
  54709. iteratee = getCallback(iteratee, thisArg, 4);
  54710. if (accumulator == null) {
  54711. if (isArr || isObject(object)) {
  54712. var Ctor = object.constructor;
  54713. if (isArr) {
  54714. accumulator = isArray(object) ? new Ctor : [];
  54715. } else {
  54716. accumulator = baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined);
  54717. }
  54718. } else {
  54719. accumulator = {};
  54720. }
  54721. }
  54722. (isArr ? arrayEach : baseForOwn)(object, function(value, index, object) {
  54723. return iteratee(accumulator, value, index, object);
  54724. });
  54725. return accumulator;
  54726. }
  54727. function values(object) {
  54728. return baseValues(object, keys(object));
  54729. }
  54730. function valuesIn(object) {
  54731. return baseValues(object, keysIn(object));
  54732. }
  54733. function inRange(value, start, end) {
  54734. start = +start || 0;
  54735. if (end === undefined) {
  54736. end = start;
  54737. start = 0;
  54738. } else {
  54739. end = +end || 0;
  54740. }
  54741. return value >= nativeMin(start, end) && value < nativeMax(start, end);
  54742. }
  54743. function random(min, max, floating) {
  54744. if (floating && isIterateeCall(min, max, floating)) {
  54745. max = floating = undefined;
  54746. }
  54747. var noMin = min == null,
  54748. noMax = max == null;
  54749. if (floating == null) {
  54750. if (noMax && typeof min == 'boolean') {
  54751. floating = min;
  54752. min = 1;
  54753. }
  54754. else if (typeof max == 'boolean') {
  54755. floating = max;
  54756. noMax = true;
  54757. }
  54758. }
  54759. if (noMin && noMax) {
  54760. max = 1;
  54761. noMax = false;
  54762. }
  54763. min = +min || 0;
  54764. if (noMax) {
  54765. max = min;
  54766. min = 0;
  54767. } else {
  54768. max = +max || 0;
  54769. }
  54770. if (floating || min % 1 || max % 1) {
  54771. var rand = nativeRandom();
  54772. return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand + '').length - 1)))), max);
  54773. }
  54774. return baseRandom(min, max);
  54775. }
  54776. var camelCase = createCompounder(function(result, word, index) {
  54777. word = word.toLowerCase();
  54778. return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word);
  54779. });
  54780. function capitalize(string) {
  54781. string = baseToString(string);
  54782. return string && (string.charAt(0).toUpperCase() + string.slice(1));
  54783. }
  54784. function deburr(string) {
  54785. string = baseToString(string);
  54786. return string && string.replace(reLatin1, deburrLetter).replace(reComboMark, '');
  54787. }
  54788. function endsWith(string, target, position) {
  54789. string = baseToString(string);
  54790. target = (target + '');
  54791. var length = string.length;
  54792. position = position === undefined
  54793. ? length
  54794. : nativeMin(position < 0 ? 0 : (+position || 0), length);
  54795. position -= target.length;
  54796. return position >= 0 && string.indexOf(target, position) == position;
  54797. }
  54798. function escape(string) {
  54799. string = baseToString(string);
  54800. return (string && reHasUnescapedHtml.test(string))
  54801. ? string.replace(reUnescapedHtml, escapeHtmlChar)
  54802. : string;
  54803. }
  54804. function escapeRegExp(string) {
  54805. string = baseToString(string);
  54806. return (string && reHasRegExpChars.test(string))
  54807. ? string.replace(reRegExpChars, escapeRegExpChar)
  54808. : (string || '(?:)');
  54809. }
  54810. var kebabCase = createCompounder(function(result, word, index) {
  54811. return result + (index ? '-' : '') + word.toLowerCase();
  54812. });
  54813. function pad(string, length, chars) {
  54814. string = baseToString(string);
  54815. length = +length;
  54816. var strLength = string.length;
  54817. if (strLength >= length || !nativeIsFinite(length)) {
  54818. return string;
  54819. }
  54820. var mid = (length - strLength) / 2,
  54821. leftLength = nativeFloor(mid),
  54822. rightLength = nativeCeil(mid);
  54823. chars = createPadding('', rightLength, chars);
  54824. return chars.slice(0, leftLength) + string + chars;
  54825. }
  54826. var padLeft = createPadDir();
  54827. var padRight = createPadDir(true);
  54828. function parseInt(string, radix, guard) {
  54829. if (guard ? isIterateeCall(string, radix, guard) : radix == null) {
  54830. radix = 0;
  54831. } else if (radix) {
  54832. radix = +radix;
  54833. }
  54834. string = trim(string);
  54835. return nativeParseInt(string, radix || (reHasHexPrefix.test(string) ? 16 : 10));
  54836. }
  54837. function repeat(string, n) {
  54838. var result = '';
  54839. string = baseToString(string);
  54840. n = +n;
  54841. if (n < 1 || !string || !nativeIsFinite(n)) {
  54842. return result;
  54843. }
  54844. do {
  54845. if (n % 2) {
  54846. result += string;
  54847. }
  54848. n = nativeFloor(n / 2);
  54849. string += string;
  54850. } while (n);
  54851. return result;
  54852. }
  54853. var snakeCase = createCompounder(function(result, word, index) {
  54854. return result + (index ? '_' : '') + word.toLowerCase();
  54855. });
  54856. var startCase = createCompounder(function(result, word, index) {
  54857. return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1));
  54858. });
  54859. function startsWith(string, target, position) {
  54860. string = baseToString(string);
  54861. position = position == null
  54862. ? 0
  54863. : nativeMin(position < 0 ? 0 : (+position || 0), string.length);
  54864. return string.lastIndexOf(target, position) == position;
  54865. }
  54866. function template(string, options, otherOptions) {
  54867. var settings = lodash.templateSettings;
  54868. if (otherOptions && isIterateeCall(string, options, otherOptions)) {
  54869. options = otherOptions = undefined;
  54870. }
  54871. string = baseToString(string);
  54872. options = assignWith(baseAssign({}, otherOptions || options), settings, assignOwnDefaults);
  54873. var imports = assignWith(baseAssign({}, options.imports), settings.imports, assignOwnDefaults),
  54874. importsKeys = keys(imports),
  54875. importsValues = baseValues(imports, importsKeys);
  54876. var isEscaping,
  54877. isEvaluating,
  54878. index = 0,
  54879. interpolate = options.interpolate || reNoMatch,
  54880. source = "__p += '";
  54881. var reDelimiters = RegExp(
  54882. (options.escape || reNoMatch).source + '|' +
  54883. interpolate.source + '|' +
  54884. (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
  54885. (options.evaluate || reNoMatch).source + '|$'
  54886. , 'g');
  54887. var sourceURL = '//# sourceURL=' +
  54888. ('sourceURL' in options
  54889. ? options.sourceURL
  54890. : ('lodash.templateSources[' + (++templateCounter) + ']')
  54891. ) + '\n';
  54892. string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
  54893. interpolateValue || (interpolateValue = esTemplateValue);
  54894. source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);
  54895. if (escapeValue) {
  54896. isEscaping = true;
  54897. source += "' +\n__e(" + escapeValue + ") +\n'";
  54898. }
  54899. if (evaluateValue) {
  54900. isEvaluating = true;
  54901. source += "';\n" + evaluateValue + ";\n__p += '";
  54902. }
  54903. if (interpolateValue) {
  54904. source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
  54905. }
  54906. index = offset + match.length;
  54907. return match;
  54908. });
  54909. source += "';\n";
  54910. var variable = options.variable;
  54911. if (!variable) {
  54912. source = 'with (obj) {\n' + source + '\n}\n';
  54913. }
  54914. source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
  54915. .replace(reEmptyStringMiddle, '$1')
  54916. .replace(reEmptyStringTrailing, '$1;');
  54917. source = 'function(' + (variable || 'obj') + ') {\n' +
  54918. (variable
  54919. ? ''
  54920. : 'obj || (obj = {});\n'
  54921. ) +
  54922. "var __t, __p = ''" +
  54923. (isEscaping
  54924. ? ', __e = _.escape'
  54925. : ''
  54926. ) +
  54927. (isEvaluating
  54928. ? ', __j = Array.prototype.join;\n' +
  54929. "function print() { __p += __j.call(arguments, '') }\n"
  54930. : ';\n'
  54931. ) +
  54932. source +
  54933. 'return __p\n}';
  54934. var result = attempt(function() {
  54935. return Function(importsKeys, sourceURL + 'return ' + source).apply(undefined, importsValues);
  54936. });
  54937. result.source = source;
  54938. if (isError(result)) {
  54939. throw result;
  54940. }
  54941. return result;
  54942. }
  54943. function trim(string, chars, guard) {
  54944. var value = string;
  54945. string = baseToString(string);
  54946. if (!string) {
  54947. return string;
  54948. }
  54949. if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
  54950. return string.slice(trimmedLeftIndex(string), trimmedRightIndex(string) + 1);
  54951. }
  54952. chars = (chars + '');
  54953. return string.slice(charsLeftIndex(string, chars), charsRightIndex(string, chars) + 1);
  54954. }
  54955. function trimLeft(string, chars, guard) {
  54956. var value = string;
  54957. string = baseToString(string);
  54958. if (!string) {
  54959. return string;
  54960. }
  54961. if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
  54962. return string.slice(trimmedLeftIndex(string));
  54963. }
  54964. return string.slice(charsLeftIndex(string, (chars + '')));
  54965. }
  54966. function trimRight(string, chars, guard) {
  54967. var value = string;
  54968. string = baseToString(string);
  54969. if (!string) {
  54970. return string;
  54971. }
  54972. if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
  54973. return string.slice(0, trimmedRightIndex(string) + 1);
  54974. }
  54975. return string.slice(0, charsRightIndex(string, (chars + '')) + 1);
  54976. }
  54977. function trunc(string, options, guard) {
  54978. if (guard && isIterateeCall(string, options, guard)) {
  54979. options = undefined;
  54980. }
  54981. var length = DEFAULT_TRUNC_LENGTH,
  54982. omission = DEFAULT_TRUNC_OMISSION;
  54983. if (options != null) {
  54984. if (isObject(options)) {
  54985. var separator = 'separator' in options ? options.separator : separator;
  54986. length = 'length' in options ? (+options.length || 0) : length;
  54987. omission = 'omission' in options ? baseToString(options.omission) : omission;
  54988. } else {
  54989. length = +options || 0;
  54990. }
  54991. }
  54992. string = baseToString(string);
  54993. if (length >= string.length) {
  54994. return string;
  54995. }
  54996. var end = length - omission.length;
  54997. if (end < 1) {
  54998. return omission;
  54999. }
  55000. var result = string.slice(0, end);
  55001. if (separator == null) {
  55002. return result + omission;
  55003. }
  55004. if (isRegExp(separator)) {
  55005. if (string.slice(end).search(separator)) {
  55006. var match,
  55007. newEnd,
  55008. substring = string.slice(0, end);
  55009. if (!separator.global) {
  55010. separator = RegExp(separator.source, (reFlags.exec(separator) || '') + 'g');
  55011. }
  55012. separator.lastIndex = 0;
  55013. while ((match = separator.exec(substring))) {
  55014. newEnd = match.index;
  55015. }
  55016. result = result.slice(0, newEnd == null ? end : newEnd);
  55017. }
  55018. } else if (string.indexOf(separator, end) != end) {
  55019. var index = result.lastIndexOf(separator);
  55020. if (index > -1) {
  55021. result = result.slice(0, index);
  55022. }
  55023. }
  55024. return result + omission;
  55025. }
  55026. function unescape(string) {
  55027. string = baseToString(string);
  55028. return (string && reHasEscapedHtml.test(string))
  55029. ? string.replace(reEscapedHtml, unescapeHtmlChar)
  55030. : string;
  55031. }
  55032. function words(string, pattern, guard) {
  55033. if (guard && isIterateeCall(string, pattern, guard)) {
  55034. pattern = undefined;
  55035. }
  55036. string = baseToString(string);
  55037. return string.match(pattern || reWords) || [];
  55038. }
  55039. var attempt = restParam(function(func, args) {
  55040. try {
  55041. return func.apply(undefined, args);
  55042. } catch(e) {
  55043. return isError(e) ? e : new Error(e);
  55044. }
  55045. });
  55046. function callback(func, thisArg, guard) {
  55047. if (guard && isIterateeCall(func, thisArg, guard)) {
  55048. thisArg = undefined;
  55049. }
  55050. return isObjectLike(func)
  55051. ? matches(func)
  55052. : baseCallback(func, thisArg);
  55053. }
  55054. function constant(value) {
  55055. return function() {
  55056. return value;
  55057. };
  55058. }
  55059. function identity(value) {
  55060. return value;
  55061. }
  55062. function matches(source) {
  55063. return baseMatches(baseClone(source, true));
  55064. }
  55065. function matchesProperty(path, srcValue) {
  55066. return baseMatchesProperty(path, baseClone(srcValue, true));
  55067. }
  55068. var method = restParam(function(path, args) {
  55069. return function(object) {
  55070. return invokePath(object, path, args);
  55071. };
  55072. });
  55073. var methodOf = restParam(function(object, args) {
  55074. return function(path) {
  55075. return invokePath(object, path, args);
  55076. };
  55077. });
  55078. function mixin(object, source, options) {
  55079. if (options == null) {
  55080. var isObj = isObject(source),
  55081. props = isObj ? keys(source) : undefined,
  55082. methodNames = (props && props.length) ? baseFunctions(source, props) : undefined;
  55083. if (!(methodNames ? methodNames.length : isObj)) {
  55084. methodNames = false;
  55085. options = source;
  55086. source = object;
  55087. object = this;
  55088. }
  55089. }
  55090. if (!methodNames) {
  55091. methodNames = baseFunctions(source, keys(source));
  55092. }
  55093. var chain = true,
  55094. index = -1,
  55095. isFunc = isFunction(object),
  55096. length = methodNames.length;
  55097. if (options === false) {
  55098. chain = false;
  55099. } else if (isObject(options) && 'chain' in options) {
  55100. chain = options.chain;
  55101. }
  55102. while (++index < length) {
  55103. var methodName = methodNames[index],
  55104. func = source[methodName];
  55105. object[methodName] = func;
  55106. if (isFunc) {
  55107. object.prototype[methodName] = (function(func) {
  55108. return function() {
  55109. var chainAll = this.__chain__;
  55110. if (chain || chainAll) {
  55111. var result = object(this.__wrapped__),
  55112. actions = result.__actions__ = arrayCopy(this.__actions__);
  55113. actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
  55114. result.__chain__ = chainAll;
  55115. return result;
  55116. }
  55117. return func.apply(object, arrayPush([this.value()], arguments));
  55118. };
  55119. }(func));
  55120. }
  55121. }
  55122. return object;
  55123. }
  55124. function noConflict() {
  55125. root._ = oldDash;
  55126. return this;
  55127. }
  55128. function noop() {
  55129. }
  55130. function property(path) {
  55131. return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
  55132. }
  55133. function propertyOf(object) {
  55134. return function(path) {
  55135. return baseGet(object, toPath(path), path + '');
  55136. };
  55137. }
  55138. function range(start, end, step) {
  55139. if (step && isIterateeCall(start, end, step)) {
  55140. end = step = undefined;
  55141. }
  55142. start = +start || 0;
  55143. step = step == null ? 1 : (+step || 0);
  55144. if (end == null) {
  55145. end = start;
  55146. start = 0;
  55147. } else {
  55148. end = +end || 0;
  55149. }
  55150. var index = -1,
  55151. length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
  55152. result = Array(length);
  55153. while (++index < length) {
  55154. result[index] = start;
  55155. start += step;
  55156. }
  55157. return result;
  55158. }
  55159. function times(n, iteratee, thisArg) {
  55160. n = nativeFloor(n);
  55161. if (n < 1 || !nativeIsFinite(n)) {
  55162. return [];
  55163. }
  55164. var index = -1,
  55165. result = Array(nativeMin(n, MAX_ARRAY_LENGTH));
  55166. iteratee = bindCallback(iteratee, thisArg, 1);
  55167. while (++index < n) {
  55168. if (index < MAX_ARRAY_LENGTH) {
  55169. result[index] = iteratee(index);
  55170. } else {
  55171. iteratee(index);
  55172. }
  55173. }
  55174. return result;
  55175. }
  55176. function uniqueId(prefix) {
  55177. var id = ++idCounter;
  55178. return baseToString(prefix) + id;
  55179. }
  55180. function add(augend, addend) {
  55181. return (+augend || 0) + (+addend || 0);
  55182. }
  55183. var ceil = createRound('ceil');
  55184. var floor = createRound('floor');
  55185. var max = createExtremum(gt, NEGATIVE_INFINITY);
  55186. var min = createExtremum(lt, POSITIVE_INFINITY);
  55187. var round = createRound('round');
  55188. function sum(collection, iteratee, thisArg) {
  55189. if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
  55190. iteratee = undefined;
  55191. }
  55192. iteratee = getCallback(iteratee, thisArg, 3);
  55193. return iteratee.length == 1
  55194. ? arraySum(isArray(collection) ? collection : toIterable(collection), iteratee)
  55195. : baseSum(collection, iteratee);
  55196. }
  55197. lodash.prototype = baseLodash.prototype;
  55198. LodashWrapper.prototype = baseCreate(baseLodash.prototype);
  55199. LodashWrapper.prototype.constructor = LodashWrapper;
  55200. LazyWrapper.prototype = baseCreate(baseLodash.prototype);
  55201. LazyWrapper.prototype.constructor = LazyWrapper;
  55202. MapCache.prototype['delete'] = mapDelete;
  55203. MapCache.prototype.get = mapGet;
  55204. MapCache.prototype.has = mapHas;
  55205. MapCache.prototype.set = mapSet;
  55206. SetCache.prototype.push = cachePush;
  55207. memoize.Cache = MapCache;
  55208. lodash.after = after;
  55209. lodash.ary = ary;
  55210. lodash.assign = assign;
  55211. lodash.at = at;
  55212. lodash.before = before;
  55213. lodash.bind = bind;
  55214. lodash.bindAll = bindAll;
  55215. lodash.bindKey = bindKey;
  55216. lodash.callback = callback;
  55217. lodash.chain = chain;
  55218. lodash.chunk = chunk;
  55219. lodash.compact = compact;
  55220. lodash.constant = constant;
  55221. lodash.countBy = countBy;
  55222. lodash.create = create;
  55223. lodash.curry = curry;
  55224. lodash.curryRight = curryRight;
  55225. lodash.debounce = debounce;
  55226. lodash.defaults = defaults;
  55227. lodash.defaultsDeep = defaultsDeep;
  55228. lodash.defer = defer;
  55229. lodash.delay = delay;
  55230. lodash.difference = difference;
  55231. lodash.drop = drop;
  55232. lodash.dropRight = dropRight;
  55233. lodash.dropRightWhile = dropRightWhile;
  55234. lodash.dropWhile = dropWhile;
  55235. lodash.fill = fill;
  55236. lodash.filter = filter;
  55237. lodash.flatten = flatten;
  55238. lodash.flattenDeep = flattenDeep;
  55239. lodash.flow = flow;
  55240. lodash.flowRight = flowRight;
  55241. lodash.forEach = forEach;
  55242. lodash.forEachRight = forEachRight;
  55243. lodash.forIn = forIn;
  55244. lodash.forInRight = forInRight;
  55245. lodash.forOwn = forOwn;
  55246. lodash.forOwnRight = forOwnRight;
  55247. lodash.functions = functions;
  55248. lodash.groupBy = groupBy;
  55249. lodash.indexBy = indexBy;
  55250. lodash.initial = initial;
  55251. lodash.intersection = intersection;
  55252. lodash.invert = invert;
  55253. lodash.invoke = invoke;
  55254. lodash.keys = keys;
  55255. lodash.keysIn = keysIn;
  55256. lodash.map = map;
  55257. lodash.mapKeys = mapKeys;
  55258. lodash.mapValues = mapValues;
  55259. lodash.matches = matches;
  55260. lodash.matchesProperty = matchesProperty;
  55261. lodash.memoize = memoize;
  55262. lodash.merge = merge;
  55263. lodash.method = method;
  55264. lodash.methodOf = methodOf;
  55265. lodash.mixin = mixin;
  55266. lodash.modArgs = modArgs;
  55267. lodash.negate = negate;
  55268. lodash.omit = omit;
  55269. lodash.once = once;
  55270. lodash.pairs = pairs;
  55271. lodash.partial = partial;
  55272. lodash.partialRight = partialRight;
  55273. lodash.partition = partition;
  55274. lodash.pick = pick;
  55275. lodash.pluck = pluck;
  55276. lodash.property = property;
  55277. lodash.propertyOf = propertyOf;
  55278. lodash.pull = pull;
  55279. lodash.pullAt = pullAt;
  55280. lodash.range = range;
  55281. lodash.rearg = rearg;
  55282. lodash.reject = reject;
  55283. lodash.remove = remove;
  55284. lodash.rest = rest;
  55285. lodash.restParam = restParam;
  55286. lodash.set = set;
  55287. lodash.shuffle = shuffle;
  55288. lodash.slice = slice;
  55289. lodash.sortBy = sortBy;
  55290. lodash.sortByAll = sortByAll;
  55291. lodash.sortByOrder = sortByOrder;
  55292. lodash.spread = spread;
  55293. lodash.take = take;
  55294. lodash.takeRight = takeRight;
  55295. lodash.takeRightWhile = takeRightWhile;
  55296. lodash.takeWhile = takeWhile;
  55297. lodash.tap = tap;
  55298. lodash.throttle = throttle;
  55299. lodash.thru = thru;
  55300. lodash.times = times;
  55301. lodash.toArray = toArray;
  55302. lodash.toPlainObject = toPlainObject;
  55303. lodash.transform = transform;
  55304. lodash.union = union;
  55305. lodash.uniq = uniq;
  55306. lodash.unzip = unzip;
  55307. lodash.unzipWith = unzipWith;
  55308. lodash.values = values;
  55309. lodash.valuesIn = valuesIn;
  55310. lodash.where = where;
  55311. lodash.without = without;
  55312. lodash.wrap = wrap;
  55313. lodash.xor = xor;
  55314. lodash.zip = zip;
  55315. lodash.zipObject = zipObject;
  55316. lodash.zipWith = zipWith;
  55317. lodash.backflow = flowRight;
  55318. lodash.collect = map;
  55319. lodash.compose = flowRight;
  55320. lodash.each = forEach;
  55321. lodash.eachRight = forEachRight;
  55322. lodash.extend = assign;
  55323. lodash.iteratee = callback;
  55324. lodash.methods = functions;
  55325. lodash.object = zipObject;
  55326. lodash.select = filter;
  55327. lodash.tail = rest;
  55328. lodash.unique = uniq;
  55329. mixin(lodash, lodash);
  55330. lodash.add = add;
  55331. lodash.attempt = attempt;
  55332. lodash.camelCase = camelCase;
  55333. lodash.capitalize = capitalize;
  55334. lodash.ceil = ceil;
  55335. lodash.clone = clone;
  55336. lodash.cloneDeep = cloneDeep;
  55337. lodash.deburr = deburr;
  55338. lodash.endsWith = endsWith;
  55339. lodash.escape = escape;
  55340. lodash.escapeRegExp = escapeRegExp;
  55341. lodash.every = every;
  55342. lodash.find = find;
  55343. lodash.findIndex = findIndex;
  55344. lodash.findKey = findKey;
  55345. lodash.findLast = findLast;
  55346. lodash.findLastIndex = findLastIndex;
  55347. lodash.findLastKey = findLastKey;
  55348. lodash.findWhere = findWhere;
  55349. lodash.first = first;
  55350. lodash.floor = floor;
  55351. lodash.get = get;
  55352. lodash.gt = gt;
  55353. lodash.gte = gte;
  55354. lodash.has = has;
  55355. lodash.identity = identity;
  55356. lodash.includes = includes;
  55357. lodash.indexOf = indexOf;
  55358. lodash.inRange = inRange;
  55359. lodash.isArguments = isArguments;
  55360. lodash.isArray = isArray;
  55361. lodash.isBoolean = isBoolean;
  55362. lodash.isDate = isDate;
  55363. lodash.isElement = isElement;
  55364. lodash.isEmpty = isEmpty;
  55365. lodash.isEqual = isEqual;
  55366. lodash.isError = isError;
  55367. lodash.isFinite = isFinite;
  55368. lodash.isFunction = isFunction;
  55369. lodash.isMatch = isMatch;
  55370. lodash.isNaN = isNaN;
  55371. lodash.isNative = isNative;
  55372. lodash.isNull = isNull;
  55373. lodash.isNumber = isNumber;
  55374. lodash.isObject = isObject;
  55375. lodash.isPlainObject = isPlainObject;
  55376. lodash.isRegExp = isRegExp;
  55377. lodash.isString = isString;
  55378. lodash.isTypedArray = isTypedArray;
  55379. lodash.isUndefined = isUndefined;
  55380. lodash.kebabCase = kebabCase;
  55381. lodash.last = last;
  55382. lodash.lastIndexOf = lastIndexOf;
  55383. lodash.lt = lt;
  55384. lodash.lte = lte;
  55385. lodash.max = max;
  55386. lodash.min = min;
  55387. lodash.noConflict = noConflict;
  55388. lodash.noop = noop;
  55389. lodash.now = now;
  55390. lodash.pad = pad;
  55391. lodash.padLeft = padLeft;
  55392. lodash.padRight = padRight;
  55393. lodash.parseInt = parseInt;
  55394. lodash.random = random;
  55395. lodash.reduce = reduce;
  55396. lodash.reduceRight = reduceRight;
  55397. lodash.repeat = repeat;
  55398. lodash.result = result;
  55399. lodash.round = round;
  55400. lodash.runInContext = runInContext;
  55401. lodash.size = size;
  55402. lodash.snakeCase = snakeCase;
  55403. lodash.some = some;
  55404. lodash.sortedIndex = sortedIndex;
  55405. lodash.sortedLastIndex = sortedLastIndex;
  55406. lodash.startCase = startCase;
  55407. lodash.startsWith = startsWith;
  55408. lodash.sum = sum;
  55409. lodash.template = template;
  55410. lodash.trim = trim;
  55411. lodash.trimLeft = trimLeft;
  55412. lodash.trimRight = trimRight;
  55413. lodash.trunc = trunc;
  55414. lodash.unescape = unescape;
  55415. lodash.uniqueId = uniqueId;
  55416. lodash.words = words;
  55417. lodash.all = every;
  55418. lodash.any = some;
  55419. lodash.contains = includes;
  55420. lodash.eq = isEqual;
  55421. lodash.detect = find;
  55422. lodash.foldl = reduce;
  55423. lodash.foldr = reduceRight;
  55424. lodash.head = first;
  55425. lodash.include = includes;
  55426. lodash.inject = reduce;
  55427. mixin(lodash, (function() {
  55428. var source = {};
  55429. baseForOwn(lodash, function(func, methodName) {
  55430. if (!lodash.prototype[methodName]) {
  55431. source[methodName] = func;
  55432. }
  55433. });
  55434. return source;
  55435. }()), false);
  55436. lodash.sample = sample;
  55437. lodash.prototype.sample = function(n) {
  55438. if (!this.__chain__ && n == null) {
  55439. return sample(this.value());
  55440. }
  55441. return this.thru(function(value) {
  55442. return sample(value, n);
  55443. });
  55444. };
  55445. lodash.VERSION = VERSION;
  55446. arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {
  55447. lodash[methodName].placeholder = lodash;
  55448. });
  55449. arrayEach(['drop', 'take'], function(methodName, index) {
  55450. LazyWrapper.prototype[methodName] = function(n) {
  55451. var filtered = this.__filtered__;
  55452. if (filtered && !index) {
  55453. return new LazyWrapper(this);
  55454. }
  55455. n = n == null ? 1 : nativeMax(nativeFloor(n) || 0, 0);
  55456. var result = this.clone();
  55457. if (filtered) {
  55458. result.__takeCount__ = nativeMin(result.__takeCount__, n);
  55459. } else {
  55460. result.__views__.push({ 'size': n, 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') });
  55461. }
  55462. return result;
  55463. };
  55464. LazyWrapper.prototype[methodName + 'Right'] = function(n) {
  55465. return this.reverse()[methodName](n).reverse();
  55466. };
  55467. });
  55468. arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {
  55469. var type = index + 1,
  55470. isFilter = type != LAZY_MAP_FLAG;
  55471. LazyWrapper.prototype[methodName] = function(iteratee, thisArg) {
  55472. var result = this.clone();
  55473. result.__iteratees__.push({ 'iteratee': getCallback(iteratee, thisArg, 1), 'type': type });
  55474. result.__filtered__ = result.__filtered__ || isFilter;
  55475. return result;
  55476. };
  55477. });
  55478. arrayEach(['first', 'last'], function(methodName, index) {
  55479. var takeName = 'take' + (index ? 'Right' : '');
  55480. LazyWrapper.prototype[methodName] = function() {
  55481. return this[takeName](1).value()[0];
  55482. };
  55483. });
  55484. arrayEach(['initial', 'rest'], function(methodName, index) {
  55485. var dropName = 'drop' + (index ? '' : 'Right');
  55486. LazyWrapper.prototype[methodName] = function() {
  55487. return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
  55488. };
  55489. });
  55490. arrayEach(['pluck', 'where'], function(methodName, index) {
  55491. var operationName = index ? 'filter' : 'map',
  55492. createCallback = index ? baseMatches : property;
  55493. LazyWrapper.prototype[methodName] = function(value) {
  55494. return this[operationName](createCallback(value));
  55495. };
  55496. });
  55497. LazyWrapper.prototype.compact = function() {
  55498. return this.filter(identity);
  55499. };
  55500. LazyWrapper.prototype.reject = function(predicate, thisArg) {
  55501. predicate = getCallback(predicate, thisArg, 1);
  55502. return this.filter(function(value) {
  55503. return !predicate(value);
  55504. });
  55505. };
  55506. LazyWrapper.prototype.slice = function(start, end) {
  55507. start = start == null ? 0 : (+start || 0);
  55508. var result = this;
  55509. if (result.__filtered__ && (start > 0 || end < 0)) {
  55510. return new LazyWrapper(result);
  55511. }
  55512. if (start < 0) {
  55513. result = result.takeRight(-start);
  55514. } else if (start) {
  55515. result = result.drop(start);
  55516. }
  55517. if (end !== undefined) {
  55518. end = (+end || 0);
  55519. result = end < 0 ? result.dropRight(-end) : result.take(end - start);
  55520. }
  55521. return result;
  55522. };
  55523. LazyWrapper.prototype.takeRightWhile = function(predicate, thisArg) {
  55524. return this.reverse().takeWhile(predicate, thisArg).reverse();
  55525. };
  55526. LazyWrapper.prototype.toArray = function() {
  55527. return this.take(POSITIVE_INFINITY);
  55528. };
  55529. baseForOwn(LazyWrapper.prototype, function(func, methodName) {
  55530. var checkIteratee = /^(?:filter|map|reject)|While$/.test(methodName),
  55531. retUnwrapped = /^(?:first|last)$/.test(methodName),
  55532. lodashFunc = lodash[retUnwrapped ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName];
  55533. if (!lodashFunc) {
  55534. return;
  55535. }
  55536. lodash.prototype[methodName] = function() {
  55537. var args = retUnwrapped ? [1] : arguments,
  55538. chainAll = this.__chain__,
  55539. value = this.__wrapped__,
  55540. isHybrid = !!this.__actions__.length,
  55541. isLazy = value instanceof LazyWrapper,
  55542. iteratee = args[0],
  55543. useLazy = isLazy || isArray(value);
  55544. if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {
  55545. isLazy = useLazy = false;
  55546. }
  55547. var interceptor = function(value) {
  55548. return (retUnwrapped && chainAll)
  55549. ? lodashFunc(value, 1)[0]
  55550. : lodashFunc.apply(undefined, arrayPush([value], args));
  55551. };
  55552. var action = { 'func': thru, 'args': [interceptor], 'thisArg': undefined },
  55553. onlyLazy = isLazy && !isHybrid;
  55554. if (retUnwrapped && !chainAll) {
  55555. if (onlyLazy) {
  55556. value = value.clone();
  55557. value.__actions__.push(action);
  55558. return func.call(value);
  55559. }
  55560. return lodashFunc.call(undefined, this.value())[0];
  55561. }
  55562. if (!retUnwrapped && useLazy) {
  55563. value = onlyLazy ? value : new LazyWrapper(this);
  55564. var result = func.apply(value, args);
  55565. result.__actions__.push(action);
  55566. return new LodashWrapper(result, chainAll);
  55567. }
  55568. return this.thru(interceptor);
  55569. };
  55570. });
  55571. arrayEach(['join', 'pop', 'push', 'replace', 'shift', 'sort', 'splice', 'split', 'unshift'], function(methodName) {
  55572. var func = (/^(?:replace|split)$/.test(methodName) ? stringProto : arrayProto)[methodName],
  55573. chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
  55574. retUnwrapped = /^(?:join|pop|replace|shift)$/.test(methodName);
  55575. lodash.prototype[methodName] = function() {
  55576. var args = arguments;
  55577. if (retUnwrapped && !this.__chain__) {
  55578. return func.apply(this.value(), args);
  55579. }
  55580. return this[chainName](function(value) {
  55581. return func.apply(value, args);
  55582. });
  55583. };
  55584. });
  55585. baseForOwn(LazyWrapper.prototype, function(func, methodName) {
  55586. var lodashFunc = lodash[methodName];
  55587. if (lodashFunc) {
  55588. var key = lodashFunc.name,
  55589. names = realNames[key] || (realNames[key] = []);
  55590. names.push({ 'name': methodName, 'func': lodashFunc });
  55591. }
  55592. });
  55593. realNames[createHybridWrapper(undefined, BIND_KEY_FLAG).name] = [{ 'name': 'wrapper', 'func': undefined }];
  55594. LazyWrapper.prototype.clone = lazyClone;
  55595. LazyWrapper.prototype.reverse = lazyReverse;
  55596. LazyWrapper.prototype.value = lazyValue;
  55597. lodash.prototype.chain = wrapperChain;
  55598. lodash.prototype.commit = wrapperCommit;
  55599. lodash.prototype.concat = wrapperConcat;
  55600. lodash.prototype.plant = wrapperPlant;
  55601. lodash.prototype.reverse = wrapperReverse;
  55602. lodash.prototype.toString = wrapperToString;
  55603. lodash.prototype.run = lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
  55604. lodash.prototype.collect = lodash.prototype.map;
  55605. lodash.prototype.head = lodash.prototype.first;
  55606. lodash.prototype.select = lodash.prototype.filter;
  55607. lodash.prototype.tail = lodash.prototype.rest;
  55608. return lodash;
  55609. }
  55610. var _ = runInContext();
  55611. if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
  55612. root._ = _;
  55613. define(function() {
  55614. return _;
  55615. });
  55616. }
  55617. else if (freeExports && freeModule) {
  55618. if (moduleExports) {
  55619. (freeModule.exports = _)._ = _;
  55620. }
  55621. else {
  55622. freeExports._ = _;
  55623. }
  55624. }
  55625. else {
  55626. root._ = _;
  55627. }
  55628. }.call(this));
  55629. }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
  55630. },{}]},{},["/node_modules/xqlint/lib/xqlint.js"]);
  55631. });
  55632. define("ace/mode/xquery_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/xquery/xqlint"], function(require, exports, module) {
  55633. "use strict";
  55634. var oop = require("../lib/oop");
  55635. var Mirror = require("../worker/mirror").Mirror;
  55636. var XQLintLib = require("./xquery/xqlint");
  55637. var XQLint = XQLintLib.XQLint;
  55638. var getModuleResolverFromModules = function(modules){
  55639. return function(uri){
  55640. var index = modules;
  55641. var mod = index[uri];
  55642. var variables = {};
  55643. var functions = {};
  55644. mod.functions.forEach(function(fn){
  55645. functions[uri + '#' + fn.name + '#' + fn.arity] = {
  55646. params: []
  55647. };
  55648. fn.parameters.forEach(function(param){
  55649. functions[uri + '#' + fn.name + '#' + fn.arity].params.push('$' + param.name);
  55650. });
  55651. });
  55652. mod.variables.forEach(function(variable){
  55653. var name = variable.name.substring(variable.name.indexOf(':') + 1);
  55654. variables[uri + '#' + name] = { type: 'VarDecl', annotations: [] };
  55655. });
  55656. return {
  55657. variables: variables,
  55658. functions: functions
  55659. };
  55660. };
  55661. };
  55662. var XQueryWorker = exports.XQueryWorker = function(sender) {
  55663. Mirror.call(this, sender);
  55664. this.setTimeout(200);
  55665. var that = this;
  55666. this.sender.on("complete", function(e){
  55667. if(that.xqlint) {
  55668. var pos = { line: e.data.pos.row, col: e.data.pos.column };
  55669. var proposals = that.xqlint.getCompletions(pos);
  55670. that.sender.emit("complete", proposals);
  55671. }
  55672. });
  55673. this.sender.on("setAvailableModuleNamespaces", function(e){
  55674. that.availableModuleNamespaces = e.data;
  55675. });
  55676. this.sender.on("setFileName", function(e){
  55677. that.fileName = e.data;
  55678. });
  55679. this.sender.on("setModuleResolver", function(e){
  55680. that.moduleResolver = getModuleResolverFromModules(e.data);
  55681. });
  55682. };
  55683. oop.inherits(XQueryWorker, Mirror);
  55684. (function() {
  55685. this.onUpdate = function() {
  55686. this.sender.emit("start");
  55687. var value = this.doc.getValue();
  55688. var sctx = XQLintLib.createStaticContext();
  55689. if(this.moduleResolver) {
  55690. sctx.setModuleResolver(this.moduleResolver);
  55691. }
  55692. if(this.availableModuleNamespaces) {
  55693. sctx.availableModuleNamespaces = this.availableModuleNamespaces;
  55694. }
  55695. var opts = {
  55696. styleCheck: this.styleCheck,
  55697. staticContext: sctx,
  55698. fileName: this.fileName
  55699. };
  55700. this.xqlint = new XQLint(value, opts);
  55701. this.sender.emit("markers", this.xqlint.getMarkers());
  55702. };
  55703. }).call(XQueryWorker.prototype);
  55704. });
  55705. define("ace/lib/es5-shim",["require","exports","module"], function(require, exports, module) {
  55706. function Empty() {}
  55707. if (!Function.prototype.bind) {
  55708. Function.prototype.bind = function bind(that) { // .length is 1
  55709. var target = this;
  55710. if (typeof target != "function") {
  55711. throw new TypeError("Function.prototype.bind called on incompatible " + target);
  55712. }
  55713. var args = slice.call(arguments, 1); // for normal call
  55714. var bound = function () {
  55715. if (this instanceof bound) {
  55716. var result = target.apply(
  55717. this,
  55718. args.concat(slice.call(arguments))
  55719. );
  55720. if (Object(result) === result) {
  55721. return result;
  55722. }
  55723. return this;
  55724. } else {
  55725. return target.apply(
  55726. that,
  55727. args.concat(slice.call(arguments))
  55728. );
  55729. }
  55730. };
  55731. if(target.prototype) {
  55732. Empty.prototype = target.prototype;
  55733. bound.prototype = new Empty();
  55734. Empty.prototype = null;
  55735. }
  55736. return bound;
  55737. };
  55738. }
  55739. var call = Function.prototype.call;
  55740. var prototypeOfArray = Array.prototype;
  55741. var prototypeOfObject = Object.prototype;
  55742. var slice = prototypeOfArray.slice;
  55743. var _toString = call.bind(prototypeOfObject.toString);
  55744. var owns = call.bind(prototypeOfObject.hasOwnProperty);
  55745. var defineGetter;
  55746. var defineSetter;
  55747. var lookupGetter;
  55748. var lookupSetter;
  55749. var supportsAccessors;
  55750. if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
  55751. defineGetter = call.bind(prototypeOfObject.__defineGetter__);
  55752. defineSetter = call.bind(prototypeOfObject.__defineSetter__);
  55753. lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
  55754. lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
  55755. }
  55756. if ([1,2].splice(0).length != 2) {
  55757. if(function() { // test IE < 9 to splice bug - see issue #138
  55758. function makeArray(l) {
  55759. var a = new Array(l+2);
  55760. a[0] = a[1] = 0;
  55761. return a;
  55762. }
  55763. var array = [], lengthBefore;
  55764. array.splice.apply(array, makeArray(20));
  55765. array.splice.apply(array, makeArray(26));
  55766. lengthBefore = array.length; //46
  55767. array.splice(5, 0, "XXX"); // add one element
  55768. lengthBefore + 1 == array.length
  55769. if (lengthBefore + 1 == array.length) {
  55770. return true;// has right splice implementation without bugs
  55771. }
  55772. }()) {//IE 6/7
  55773. var array_splice = Array.prototype.splice;
  55774. Array.prototype.splice = function(start, deleteCount) {
  55775. if (!arguments.length) {
  55776. return [];
  55777. } else {
  55778. return array_splice.apply(this, [
  55779. start === void 0 ? 0 : start,
  55780. deleteCount === void 0 ? (this.length - start) : deleteCount
  55781. ].concat(slice.call(arguments, 2)))
  55782. }
  55783. };
  55784. } else {//IE8
  55785. Array.prototype.splice = function(pos, removeCount){
  55786. var length = this.length;
  55787. if (pos > 0) {
  55788. if (pos > length)
  55789. pos = length;
  55790. } else if (pos == void 0) {
  55791. pos = 0;
  55792. } else if (pos < 0) {
  55793. pos = Math.max(length + pos, 0);
  55794. }
  55795. if (!(pos+removeCount < length))
  55796. removeCount = length - pos;
  55797. var removed = this.slice(pos, pos+removeCount);
  55798. var insert = slice.call(arguments, 2);
  55799. var add = insert.length;
  55800. if (pos === length) {
  55801. if (add) {
  55802. this.push.apply(this, insert);
  55803. }
  55804. } else {
  55805. var remove = Math.min(removeCount, length - pos);
  55806. var tailOldPos = pos + remove;
  55807. var tailNewPos = tailOldPos + add - remove;
  55808. var tailCount = length - tailOldPos;
  55809. var lengthAfterRemove = length - remove;
  55810. if (tailNewPos < tailOldPos) { // case A
  55811. for (var i = 0; i < tailCount; ++i) {
  55812. this[tailNewPos+i] = this[tailOldPos+i];
  55813. }
  55814. } else if (tailNewPos > tailOldPos) { // case B
  55815. for (i = tailCount; i--; ) {
  55816. this[tailNewPos+i] = this[tailOldPos+i];
  55817. }
  55818. } // else, add == remove (nothing to do)
  55819. if (add && pos === lengthAfterRemove) {
  55820. this.length = lengthAfterRemove; // truncate array
  55821. this.push.apply(this, insert);
  55822. } else {
  55823. this.length = lengthAfterRemove + add; // reserves space
  55824. for (i = 0; i < add; ++i) {
  55825. this[pos+i] = insert[i];
  55826. }
  55827. }
  55828. }
  55829. return removed;
  55830. };
  55831. }
  55832. }
  55833. if (!Array.isArray) {
  55834. Array.isArray = function isArray(obj) {
  55835. return _toString(obj) == "[object Array]";
  55836. };
  55837. }
  55838. var boxedString = Object("a"),
  55839. splitString = boxedString[0] != "a" || !(0 in boxedString);
  55840. if (!Array.prototype.forEach) {
  55841. Array.prototype.forEach = function forEach(fun /*, thisp*/) {
  55842. var object = toObject(this),
  55843. self = splitString && _toString(this) == "[object String]" ?
  55844. this.split("") :
  55845. object,
  55846. thisp = arguments[1],
  55847. i = -1,
  55848. length = self.length >>> 0;
  55849. if (_toString(fun) != "[object Function]") {
  55850. throw new TypeError(); // TODO message
  55851. }
  55852. while (++i < length) {
  55853. if (i in self) {
  55854. fun.call(thisp, self[i], i, object);
  55855. }
  55856. }
  55857. };
  55858. }
  55859. if (!Array.prototype.map) {
  55860. Array.prototype.map = function map(fun /*, thisp*/) {
  55861. var object = toObject(this),
  55862. self = splitString && _toString(this) == "[object String]" ?
  55863. this.split("") :
  55864. object,
  55865. length = self.length >>> 0,
  55866. result = Array(length),
  55867. thisp = arguments[1];
  55868. if (_toString(fun) != "[object Function]") {
  55869. throw new TypeError(fun + " is not a function");
  55870. }
  55871. for (var i = 0; i < length; i++) {
  55872. if (i in self)
  55873. result[i] = fun.call(thisp, self[i], i, object);
  55874. }
  55875. return result;
  55876. };
  55877. }
  55878. if (!Array.prototype.filter) {
  55879. Array.prototype.filter = function filter(fun /*, thisp */) {
  55880. var object = toObject(this),
  55881. self = splitString && _toString(this) == "[object String]" ?
  55882. this.split("") :
  55883. object,
  55884. length = self.length >>> 0,
  55885. result = [],
  55886. value,
  55887. thisp = arguments[1];
  55888. if (_toString(fun) != "[object Function]") {
  55889. throw new TypeError(fun + " is not a function");
  55890. }
  55891. for (var i = 0; i < length; i++) {
  55892. if (i in self) {
  55893. value = self[i];
  55894. if (fun.call(thisp, value, i, object)) {
  55895. result.push(value);
  55896. }
  55897. }
  55898. }
  55899. return result;
  55900. };
  55901. }
  55902. if (!Array.prototype.every) {
  55903. Array.prototype.every = function every(fun /*, thisp */) {
  55904. var object = toObject(this),
  55905. self = splitString && _toString(this) == "[object String]" ?
  55906. this.split("") :
  55907. object,
  55908. length = self.length >>> 0,
  55909. thisp = arguments[1];
  55910. if (_toString(fun) != "[object Function]") {
  55911. throw new TypeError(fun + " is not a function");
  55912. }
  55913. for (var i = 0; i < length; i++) {
  55914. if (i in self && !fun.call(thisp, self[i], i, object)) {
  55915. return false;
  55916. }
  55917. }
  55918. return true;
  55919. };
  55920. }
  55921. if (!Array.prototype.some) {
  55922. Array.prototype.some = function some(fun /*, thisp */) {
  55923. var object = toObject(this),
  55924. self = splitString && _toString(this) == "[object String]" ?
  55925. this.split("") :
  55926. object,
  55927. length = self.length >>> 0,
  55928. thisp = arguments[1];
  55929. if (_toString(fun) != "[object Function]") {
  55930. throw new TypeError(fun + " is not a function");
  55931. }
  55932. for (var i = 0; i < length; i++) {
  55933. if (i in self && fun.call(thisp, self[i], i, object)) {
  55934. return true;
  55935. }
  55936. }
  55937. return false;
  55938. };
  55939. }
  55940. if (!Array.prototype.reduce) {
  55941. Array.prototype.reduce = function reduce(fun /*, initial*/) {
  55942. var object = toObject(this),
  55943. self = splitString && _toString(this) == "[object String]" ?
  55944. this.split("") :
  55945. object,
  55946. length = self.length >>> 0;
  55947. if (_toString(fun) != "[object Function]") {
  55948. throw new TypeError(fun + " is not a function");
  55949. }
  55950. if (!length && arguments.length == 1) {
  55951. throw new TypeError("reduce of empty array with no initial value");
  55952. }
  55953. var i = 0;
  55954. var result;
  55955. if (arguments.length >= 2) {
  55956. result = arguments[1];
  55957. } else {
  55958. do {
  55959. if (i in self) {
  55960. result = self[i++];
  55961. break;
  55962. }
  55963. if (++i >= length) {
  55964. throw new TypeError("reduce of empty array with no initial value");
  55965. }
  55966. } while (true);
  55967. }
  55968. for (; i < length; i++) {
  55969. if (i in self) {
  55970. result = fun.call(void 0, result, self[i], i, object);
  55971. }
  55972. }
  55973. return result;
  55974. };
  55975. }
  55976. if (!Array.prototype.reduceRight) {
  55977. Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {
  55978. var object = toObject(this),
  55979. self = splitString && _toString(this) == "[object String]" ?
  55980. this.split("") :
  55981. object,
  55982. length = self.length >>> 0;
  55983. if (_toString(fun) != "[object Function]") {
  55984. throw new TypeError(fun + " is not a function");
  55985. }
  55986. if (!length && arguments.length == 1) {
  55987. throw new TypeError("reduceRight of empty array with no initial value");
  55988. }
  55989. var result, i = length - 1;
  55990. if (arguments.length >= 2) {
  55991. result = arguments[1];
  55992. } else {
  55993. do {
  55994. if (i in self) {
  55995. result = self[i--];
  55996. break;
  55997. }
  55998. if (--i < 0) {
  55999. throw new TypeError("reduceRight of empty array with no initial value");
  56000. }
  56001. } while (true);
  56002. }
  56003. do {
  56004. if (i in this) {
  56005. result = fun.call(void 0, result, self[i], i, object);
  56006. }
  56007. } while (i--);
  56008. return result;
  56009. };
  56010. }
  56011. if (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {
  56012. Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {
  56013. var self = splitString && _toString(this) == "[object String]" ?
  56014. this.split("") :
  56015. toObject(this),
  56016. length = self.length >>> 0;
  56017. if (!length) {
  56018. return -1;
  56019. }
  56020. var i = 0;
  56021. if (arguments.length > 1) {
  56022. i = toInteger(arguments[1]);
  56023. }
  56024. i = i >= 0 ? i : Math.max(0, length + i);
  56025. for (; i < length; i++) {
  56026. if (i in self && self[i] === sought) {
  56027. return i;
  56028. }
  56029. }
  56030. return -1;
  56031. };
  56032. }
  56033. if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
  56034. Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {
  56035. var self = splitString && _toString(this) == "[object String]" ?
  56036. this.split("") :
  56037. toObject(this),
  56038. length = self.length >>> 0;
  56039. if (!length) {
  56040. return -1;
  56041. }
  56042. var i = length - 1;
  56043. if (arguments.length > 1) {
  56044. i = Math.min(i, toInteger(arguments[1]));
  56045. }
  56046. i = i >= 0 ? i : length - Math.abs(i);
  56047. for (; i >= 0; i--) {
  56048. if (i in self && sought === self[i]) {
  56049. return i;
  56050. }
  56051. }
  56052. return -1;
  56053. };
  56054. }
  56055. if (!Object.getPrototypeOf) {
  56056. Object.getPrototypeOf = function getPrototypeOf(object) {
  56057. return object.__proto__ || (
  56058. object.constructor ?
  56059. object.constructor.prototype :
  56060. prototypeOfObject
  56061. );
  56062. };
  56063. }
  56064. if (!Object.getOwnPropertyDescriptor) {
  56065. var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " +
  56066. "non-object: ";
  56067. Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
  56068. if ((typeof object != "object" && typeof object != "function") || object === null)
  56069. throw new TypeError(ERR_NON_OBJECT + object);
  56070. if (!owns(object, property))
  56071. return;
  56072. var descriptor, getter, setter;
  56073. descriptor = { enumerable: true, configurable: true };
  56074. if (supportsAccessors) {
  56075. var prototype = object.__proto__;
  56076. object.__proto__ = prototypeOfObject;
  56077. var getter = lookupGetter(object, property);
  56078. var setter = lookupSetter(object, property);
  56079. object.__proto__ = prototype;
  56080. if (getter || setter) {
  56081. if (getter) descriptor.get = getter;
  56082. if (setter) descriptor.set = setter;
  56083. return descriptor;
  56084. }
  56085. }
  56086. descriptor.value = object[property];
  56087. return descriptor;
  56088. };
  56089. }
  56090. if (!Object.getOwnPropertyNames) {
  56091. Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
  56092. return Object.keys(object);
  56093. };
  56094. }
  56095. if (!Object.create) {
  56096. var createEmpty;
  56097. if (Object.prototype.__proto__ === null) {
  56098. createEmpty = function () {
  56099. return { "__proto__": null };
  56100. };
  56101. } else {
  56102. createEmpty = function () {
  56103. var empty = {};
  56104. for (var i in empty)
  56105. empty[i] = null;
  56106. empty.constructor =
  56107. empty.hasOwnProperty =
  56108. empty.propertyIsEnumerable =
  56109. empty.isPrototypeOf =
  56110. empty.toLocaleString =
  56111. empty.toString =
  56112. empty.valueOf =
  56113. empty.__proto__ = null;
  56114. return empty;
  56115. }
  56116. }
  56117. Object.create = function create(prototype, properties) {
  56118. var object;
  56119. if (prototype === null) {
  56120. object = createEmpty();
  56121. } else {
  56122. if (typeof prototype != "object")
  56123. throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'");
  56124. var Type = function () {};
  56125. Type.prototype = prototype;
  56126. object = new Type();
  56127. object.__proto__ = prototype;
  56128. }
  56129. if (properties !== void 0)
  56130. Object.defineProperties(object, properties);
  56131. return object;
  56132. };
  56133. }
  56134. function doesDefinePropertyWork(object) {
  56135. try {
  56136. Object.defineProperty(object, "sentinel", {});
  56137. return "sentinel" in object;
  56138. } catch (exception) {
  56139. }
  56140. }
  56141. if (Object.defineProperty) {
  56142. var definePropertyWorksOnObject = doesDefinePropertyWork({});
  56143. var definePropertyWorksOnDom = typeof document == "undefined" ||
  56144. doesDefinePropertyWork(document.createElement("div"));
  56145. if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
  56146. var definePropertyFallback = Object.defineProperty;
  56147. }
  56148. }
  56149. if (!Object.defineProperty || definePropertyFallback) {
  56150. var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: ";
  56151. var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: "
  56152. var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " +
  56153. "on this javascript engine";
  56154. Object.defineProperty = function defineProperty(object, property, descriptor) {
  56155. if ((typeof object != "object" && typeof object != "function") || object === null)
  56156. throw new TypeError(ERR_NON_OBJECT_TARGET + object);
  56157. if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null)
  56158. throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
  56159. if (definePropertyFallback) {
  56160. try {
  56161. return definePropertyFallback.call(Object, object, property, descriptor);
  56162. } catch (exception) {
  56163. }
  56164. }
  56165. if (owns(descriptor, "value")) {
  56166. if (supportsAccessors && (lookupGetter(object, property) ||
  56167. lookupSetter(object, property)))
  56168. {
  56169. var prototype = object.__proto__;
  56170. object.__proto__ = prototypeOfObject;
  56171. delete object[property];
  56172. object[property] = descriptor.value;
  56173. object.__proto__ = prototype;
  56174. } else {
  56175. object[property] = descriptor.value;
  56176. }
  56177. } else {
  56178. if (!supportsAccessors)
  56179. throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
  56180. if (owns(descriptor, "get"))
  56181. defineGetter(object, property, descriptor.get);
  56182. if (owns(descriptor, "set"))
  56183. defineSetter(object, property, descriptor.set);
  56184. }
  56185. return object;
  56186. };
  56187. }
  56188. if (!Object.defineProperties) {
  56189. Object.defineProperties = function defineProperties(object, properties) {
  56190. for (var property in properties) {
  56191. if (owns(properties, property))
  56192. Object.defineProperty(object, property, properties[property]);
  56193. }
  56194. return object;
  56195. };
  56196. }
  56197. if (!Object.seal) {
  56198. Object.seal = function seal(object) {
  56199. return object;
  56200. };
  56201. }
  56202. if (!Object.freeze) {
  56203. Object.freeze = function freeze(object) {
  56204. return object;
  56205. };
  56206. }
  56207. try {
  56208. Object.freeze(function () {});
  56209. } catch (exception) {
  56210. Object.freeze = (function freeze(freezeObject) {
  56211. return function freeze(object) {
  56212. if (typeof object == "function") {
  56213. return object;
  56214. } else {
  56215. return freezeObject(object);
  56216. }
  56217. };
  56218. })(Object.freeze);
  56219. }
  56220. if (!Object.preventExtensions) {
  56221. Object.preventExtensions = function preventExtensions(object) {
  56222. return object;
  56223. };
  56224. }
  56225. if (!Object.isSealed) {
  56226. Object.isSealed = function isSealed(object) {
  56227. return false;
  56228. };
  56229. }
  56230. if (!Object.isFrozen) {
  56231. Object.isFrozen = function isFrozen(object) {
  56232. return false;
  56233. };
  56234. }
  56235. if (!Object.isExtensible) {
  56236. Object.isExtensible = function isExtensible(object) {
  56237. if (Object(object) === object) {
  56238. throw new TypeError(); // TODO message
  56239. }
  56240. var name = '';
  56241. while (owns(object, name)) {
  56242. name += '?';
  56243. }
  56244. object[name] = true;
  56245. var returnValue = owns(object, name);
  56246. delete object[name];
  56247. return returnValue;
  56248. };
  56249. }
  56250. if (!Object.keys) {
  56251. var hasDontEnumBug = true,
  56252. dontEnums = [
  56253. "toString",
  56254. "toLocaleString",
  56255. "valueOf",
  56256. "hasOwnProperty",
  56257. "isPrototypeOf",
  56258. "propertyIsEnumerable",
  56259. "constructor"
  56260. ],
  56261. dontEnumsLength = dontEnums.length;
  56262. for (var key in {"toString": null}) {
  56263. hasDontEnumBug = false;
  56264. }
  56265. Object.keys = function keys(object) {
  56266. if (
  56267. (typeof object != "object" && typeof object != "function") ||
  56268. object === null
  56269. ) {
  56270. throw new TypeError("Object.keys called on a non-object");
  56271. }
  56272. var keys = [];
  56273. for (var name in object) {
  56274. if (owns(object, name)) {
  56275. keys.push(name);
  56276. }
  56277. }
  56278. if (hasDontEnumBug) {
  56279. for (var i = 0, ii = dontEnumsLength; i < ii; i++) {
  56280. var dontEnum = dontEnums[i];
  56281. if (owns(object, dontEnum)) {
  56282. keys.push(dontEnum);
  56283. }
  56284. }
  56285. }
  56286. return keys;
  56287. };
  56288. }
  56289. if (!Date.now) {
  56290. Date.now = function now() {
  56291. return new Date().getTime();
  56292. };
  56293. }
  56294. var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
  56295. "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
  56296. "\u2029\uFEFF";
  56297. if (!String.prototype.trim || ws.trim()) {
  56298. ws = "[" + ws + "]";
  56299. var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
  56300. trimEndRegexp = new RegExp(ws + ws + "*$");
  56301. String.prototype.trim = function trim() {
  56302. return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, "");
  56303. };
  56304. }
  56305. function toInteger(n) {
  56306. n = +n;
  56307. if (n !== n) { // isNaN
  56308. n = 0;
  56309. } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {
  56310. n = (n > 0 || -1) * Math.floor(Math.abs(n));
  56311. }
  56312. return n;
  56313. }
  56314. function isPrimitive(input) {
  56315. var type = typeof input;
  56316. return (
  56317. input === null ||
  56318. type === "undefined" ||
  56319. type === "boolean" ||
  56320. type === "number" ||
  56321. type === "string"
  56322. );
  56323. }
  56324. function toPrimitive(input) {
  56325. var val, valueOf, toString;
  56326. if (isPrimitive(input)) {
  56327. return input;
  56328. }
  56329. valueOf = input.valueOf;
  56330. if (typeof valueOf === "function") {
  56331. val = valueOf.call(input);
  56332. if (isPrimitive(val)) {
  56333. return val;
  56334. }
  56335. }
  56336. toString = input.toString;
  56337. if (typeof toString === "function") {
  56338. val = toString.call(input);
  56339. if (isPrimitive(val)) {
  56340. return val;
  56341. }
  56342. }
  56343. throw new TypeError();
  56344. }
  56345. var toObject = function (o) {
  56346. if (o == null) { // this matches both null and undefined
  56347. throw new TypeError("can't convert "+o+" to object");
  56348. }
  56349. return Object(o);
  56350. };
  56351. });