const keywordDescTable=["end of source","identifier","number","string","regular expression","false","true","null","template continuation","template end","=>","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","#","eval","arguments","enum","BigInt","@","JSXText","KeyOf","ReadOnly","is","unique","declare","type","namespace","abstract","module","global","require","target"];function tokenDesc(e){return keywordDescTable[255&e]}const descKeywordTable=Object.create(null,{this:{value:33566815},function:{value:33566808},if:{value:12377},return:{value:12380},var:{value:33566791},else:{value:12370},for:{value:12374},new:{value:33566811},in:{value:167786289},typeof:{value:302002218},while:{value:12386},case:{value:12363},break:{value:12362},try:{value:12385},catch:{value:12364},delete:{value:302002219},throw:{value:302002272},switch:{value:33566814},continue:{value:12366},default:{value:12368},instanceof:{value:167786290},do:{value:12369},void:{value:302002220},finally:{value:12373},arguments:{value:37879925},keyof:{value:131194},readonly:{value:131195},unique:{value:131197},declare:{value:131198},async:{value:594028},await:{value:34017389},class:{value:33566797},const:{value:33566793},constructor:{value:69742},debugger:{value:12367},enum:{value:12406},eval:{value:37879924},export:{value:12371},extends:{value:12372},false:{value:33566725},from:{value:69745},get:{value:69743},implements:{value:20579},import:{value:33566810},interface:{value:20580},let:{value:33574984},null:{value:33566727},of:{value:69746},package:{value:20581},private:{value:20582},protected:{value:20583},public:{value:20584},set:{value:69744},static:{value:20585},super:{value:33566813},true:{value:33566726},with:{value:12387},yield:{value:1107316842},is:{value:131196},type:{value:131199},namespace:{value:131200},abstract:{value:131201},as:{value:167843947},module:{value:131202},global:{value:131203},require:{value:131204},target:{value:131205}});function descKeyword(e){return 0|descKeywordTable[e]}const characterType=[0,0,0,0,0,0,0,0,0,16,48,16,16,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,3,0,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0];function isValidIdentifierPart(e){return 0!=(1&convert[0+(e>>>5)]>>>e)}function isValidIdentifierStart(e){return 0!=(1&convert[34816+(e>>>5)]>>>e)}function mustEscape(e){return 0!=(1&convert[69632+(e>>>5)]>>>e)}const convert=((e,t)=>{const n=new Uint32Array(104448);let r=0,a=0;for(;r<3392;){const o=e[r++];if(o<0)a-=o;else{let s=e[r++];2&o&&(s=t[s]),1&o?n.fill(s,a,a+=e[r++]):n[a++]=s}}return n})([-1,2,28,2,29,2,5,-1,0,77595648,3,46,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,15,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,20,2,0,0,608174079,2,0,2,127,2,6,2,62,-1,2,64,2,26,2,1,3,0,3,0,4294901711,2,40,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2965387679,0,196559,0,3594373100,0,3288319768,0,8469959,2,171,0,4294828031,0,3825204735,0,123747807,0,65487,2,3,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247020,2,68,0,4284449919,0,851904,2,4,2,16,0,67076095,-1,2,69,0,1006628014,0,4093591391,-1,0,50331649,0,3265266687,2,34,0,4294844415,0,4278190047,2,23,2,125,-1,3,0,2,2,33,2,0,2,9,2,0,2,13,2,14,3,0,10,2,71,2,0,2,72,2,73,2,74,2,0,2,75,2,0,2,10,0,261632,2,19,3,0,2,2,11,2,4,3,0,18,2,76,2,5,3,0,2,2,77,0,2088959,2,31,2,8,0,909311,3,0,2,0,814743551,2,42,0,67057664,3,0,2,2,45,2,0,2,32,2,0,2,18,2,7,0,268374015,2,30,2,51,2,0,2,78,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,1073676416,-2,3,0,2,2,43,0,1046528,3,0,3,2,8,2,0,2,41,0,4294960127,2,9,2,39,2,10,0,4294377472,2,21,3,0,7,0,4227858431,3,0,8,2,11,2,0,2,80,2,9,2,0,2,81,2,82,2,83,-1,2,122,0,1048577,2,84,2,12,-1,2,12,0,131042,2,85,2,86,2,87,2,0,2,35,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,13,2,0,0,2147516671,2,24,3,88,2,2,0,-16,2,89,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,14,2,79,2,15,3,0,2,2,49,2,16,-1,2,17,-16,3,0,205,2,18,-2,3,0,655,2,19,3,0,36,2,70,-1,2,17,2,9,3,0,8,2,91,2,119,2,0,0,3220242431,3,0,3,2,20,2,22,2,92,3,0,2,2,93,2,21,-1,2,22,2,0,2,27,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,25,2,8,2,23,3,0,2,0,67076097,2,7,2,0,2,24,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,14,2,95,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,25,3,0,2,2,21,-1,0,3774349439,2,101,2,102,3,0,2,2,20,2,26,3,0,10,2,9,2,17,2,0,2,47,2,0,2,27,2,103,2,19,0,1638399,2,169,2,104,3,0,3,2,23,2,28,2,29,2,5,2,30,2,0,2,7,2,105,-1,2,106,2,107,2,108,-1,3,0,3,2,16,-2,2,0,2,31,-3,2,146,-4,2,23,2,0,2,37,0,1,2,0,2,63,2,32,2,16,2,9,2,0,2,109,-1,3,0,4,2,9,2,33,2,110,2,6,2,0,2,111,2,0,2,50,-4,3,0,9,2,24,2,18,2,27,-4,2,112,2,113,2,18,2,24,2,7,-2,2,114,2,18,2,21,-2,2,0,2,115,-2,0,4277137519,0,2269118463,-1,3,23,2,-1,2,34,2,38,2,0,3,18,2,2,36,2,20,-3,3,0,2,2,35,-1,2,0,2,36,2,0,2,36,2,0,2,48,-14,2,23,2,44,2,37,-5,3,0,2,2,38,0,2147549120,2,0,2,16,2,17,2,130,2,0,2,52,0,4294901872,0,5242879,3,0,2,0,402595359,-1,2,118,0,1090519039,-2,2,120,2,39,2,0,2,55,2,40,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,1140787199,-1,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,41,2,42,-1,2,10,2,43,-6,2,0,2,16,-3,3,0,2,0,2147484671,-8,2,0,2,7,2,44,2,0,0,603979727,-1,2,0,2,45,-8,2,54,2,46,0,67043329,2,123,2,47,0,8388351,-2,2,124,0,3028287487,2,48,2,126,0,33259519,2,42,-9,2,24,-8,3,0,28,2,21,-3,3,0,3,2,49,3,0,6,2,50,-85,3,0,33,2,49,-126,3,0,18,2,38,-269,3,0,17,2,45,2,7,2,42,-2,2,17,2,51,2,0,2,24,0,67043343,2,128,2,19,-21,3,0,2,-4,3,0,2,0,4294901791,2,7,2,164,-2,0,3,3,0,191,2,20,3,0,23,2,36,-296,3,0,8,2,7,-2,2,17,3,0,11,2,6,-72,3,0,3,2,129,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,52,2,0,2,131,2,132,2,56,2,0,2,133,2,134,2,135,3,0,10,2,136,2,137,2,14,3,52,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,90,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-62,3,0,6,0,8323103,-1,3,0,2,2,55,-37,2,56,2,140,2,141,2,142,2,143,2,144,-138,3,0,1334,2,24,-1,3,0,129,2,31,3,0,6,2,9,3,0,180,2,145,3,0,233,0,1,-96,3,0,16,2,9,-22583,3,0,7,2,19,-6130,3,5,2,-1,0,69207040,3,46,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,15,2,60,2,0,2,35,-1,2,17,2,61,-1,2,0,2,62,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,19,2,63,3,0,2,0,131135,2,94,0,70256639,0,71303167,0,272,2,45,2,62,-1,2,64,-2,2,96,0,603979775,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,66,0,33554435,2,121,2,65,2,147,0,131075,0,3594373096,0,67094296,2,66,-1,2,67,0,603979263,2,156,0,3,0,4294828001,0,602930687,2,180,0,393219,2,67,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,68,2,38,-1,2,4,0,917503,2,38,-1,2,69,0,537783470,0,4026531935,-1,0,1,-1,2,34,2,70,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,13,2,14,3,0,10,2,71,2,0,2,72,2,73,2,74,2,0,2,75,2,0,2,16,-1,2,19,3,0,2,2,11,2,4,3,0,18,2,76,2,5,3,0,2,2,77,0,253951,3,20,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,45,2,0,0,4294903295,2,0,2,18,2,7,-1,2,17,2,51,2,0,2,78,2,42,-1,2,24,2,0,2,31,-2,0,128,-2,2,79,2,8,0,4064,-1,2,117,0,4227907585,2,0,2,116,2,0,2,50,2,196,2,9,2,39,2,10,-1,0,6544896,3,0,6,-2,3,0,8,2,11,2,0,2,80,2,9,2,0,2,81,2,82,2,83,-3,2,84,2,12,-3,2,85,2,86,2,87,2,0,2,35,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,13,2,0,0,33023,2,24,3,88,2,-17,2,89,0,524157950,2,4,2,0,2,90,2,4,2,0,2,14,2,79,2,15,3,0,2,2,49,2,16,-1,2,17,-16,3,0,205,2,18,-2,3,0,655,2,19,3,0,36,2,70,-1,2,17,2,9,3,0,8,2,91,0,3072,2,0,0,2147516415,2,9,3,0,2,2,19,2,22,2,92,3,0,2,2,93,2,21,-1,2,22,0,4294965179,0,7,2,0,2,8,2,92,2,8,-1,0,1761345536,2,94,2,95,2,38,2,23,2,96,2,36,2,162,0,2080440287,2,0,2,35,2,138,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,14,2,95,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,25,3,0,2,2,21,-1,0,2700607615,2,101,2,102,3,0,2,2,20,2,26,3,0,10,2,9,2,17,2,0,2,47,2,0,2,27,2,103,-3,2,104,3,0,3,2,23,-1,3,5,2,2,30,2,0,2,7,2,105,-1,2,106,2,107,2,108,-1,3,0,3,2,16,-2,2,0,2,31,-8,2,23,2,0,2,37,-1,2,0,2,63,2,32,2,18,2,9,2,0,2,109,-1,3,0,4,2,9,2,17,2,110,2,6,2,0,2,111,2,0,2,50,-4,3,0,9,2,24,2,18,2,27,-4,2,112,2,113,2,18,2,24,2,7,-2,2,114,2,18,2,21,-2,2,0,2,115,-2,0,4277075969,2,18,-1,3,23,2,-1,2,34,2,139,2,0,3,18,2,2,36,2,20,-3,3,0,2,2,35,-1,2,0,2,36,2,0,2,36,2,0,2,50,-14,2,23,2,44,2,116,-5,2,117,2,41,-2,2,117,2,19,2,17,2,35,2,117,2,38,0,4294901776,0,4718591,2,117,2,36,0,335544350,-1,2,118,2,119,-2,2,120,2,39,2,7,-1,2,121,2,65,0,3758161920,0,3,-4,2,0,2,31,2,174,-1,2,0,2,19,0,176,-5,2,0,2,49,2,182,-1,2,0,2,19,2,194,-1,2,0,2,62,-2,2,16,-7,2,0,2,119,-3,3,0,2,2,122,-8,0,4294965249,0,67633151,0,4026597376,2,0,0,536871887,-1,2,0,2,45,-8,2,54,2,49,0,1,2,123,2,19,-3,2,124,2,37,2,125,2,126,0,16778239,-10,2,36,-8,3,0,28,2,21,-3,3,0,3,2,49,3,0,6,2,50,-85,3,0,33,2,49,-126,3,0,18,2,38,-269,3,0,17,2,45,2,7,-3,2,17,2,127,2,0,2,19,2,50,2,128,2,19,-21,3,0,2,-4,3,0,2,0,65567,-1,2,26,-2,0,3,3,0,191,2,20,3,0,23,2,36,-296,3,0,8,2,7,-2,2,17,3,0,11,2,6,-72,3,0,3,2,129,2,130,-187,3,0,2,2,52,2,0,2,131,2,132,2,56,2,0,2,133,2,134,2,135,3,0,10,2,136,2,137,2,14,3,52,2,3,53,2,3,54,2,2,138,-129,3,0,6,2,139,-1,3,0,2,2,50,-37,2,56,2,140,2,141,2,142,2,143,2,144,-138,3,0,1334,2,24,-1,3,0,129,2,31,3,0,6,2,9,3,0,180,2,145,3,0,233,0,1,-96,3,0,16,2,9,-28719,2,0,0,1,-1,2,122,2,0,0,8193,-21,0,50331648,0,10255,0,4,-11,2,66,2,168,-1,0,71680,-1,2,157,0,4292900864,0,805306431,-5,2,146,-1,2,176,-1,0,6144,-2,2,123,-1,2,150,-1,2,153,2,147,2,161,2,0,0,3223322624,2,36,0,4,-4,2,188,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,148,0,4294886464,0,33292336,0,417809,2,148,0,1329579616,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,149,0,469762560,0,4171219488,0,16711728,2,149,0,202375680,0,3214918176,0,4294508592,0,139280,-1,0,983584,2,190,0,58720275,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,175,2,0,0,17816169,0,3288339281,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,146,0,4160757760,2,0,-6,2,163,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,150,2,155,2,158,-2,2,159,-20,0,3758096385,-2,2,151,0,4292878336,2,22,2,166,0,4294057984,-2,2,160,2,152,2,172,-2,2,151,-1,2,179,-1,2,167,2,122,0,4026593280,0,14,0,4292919296,-1,2,154,0,939588608,-1,0,805306368,-1,2,122,0,1610612736,2,152,2,153,3,0,2,-2,2,154,2,155,-3,0,267386880,-1,2,156,0,7168,-1,0,65024,2,150,2,157,2,158,-7,2,165,-8,2,159,-1,0,1426112704,2,160,-1,2,185,0,271581216,0,2149777408,2,19,2,157,2,122,0,851967,0,3758129152,-1,2,19,2,178,-4,2,154,-20,2,192,2,161,-56,0,3145728,2,184,-1,2,191,2,122,-1,2,162,2,122,-4,0,32505856,-1,2,163,-1,0,2147385088,2,22,1,2155905152,2,-3,2,164,2,0,2,165,-2,2,166,-6,2,167,0,4026597375,0,1,-1,0,1,-1,2,168,-3,2,139,2,66,-2,2,162,2,177,-1,2,173,2,122,-6,2,122,-213,2,167,-657,2,17,-36,2,169,-1,2,186,-10,0,4294963200,-5,2,170,-5,2,158,2,0,2,24,-1,0,4227919872,-1,2,170,-2,0,4227874752,-3,0,2146435072,2,155,-2,0,1006649344,2,122,-1,2,22,0,201375744,-3,0,134217720,2,22,0,4286677377,0,32896,-1,2,171,-3,2,172,-349,2,173,2,174,2,175,3,0,264,-11,2,176,-2,2,158,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,19,-1,2,183,-1,2,181,0,3221291007,2,158,-1,0,524288,0,2158720,-3,2,155,0,1,-4,2,122,0,3808625411,0,3489628288,0,4096,0,1207959680,0,3221274624,2,0,-3,2,177,0,120,0,7340032,-2,0,4026564608,2,4,2,19,2,160,3,0,4,2,155,-1,2,178,2,175,-1,0,8176,2,179,2,177,2,180,-1,0,4290773232,2,0,-4,2,160,2,187,0,15728640,2,175,-1,2,157,-1,0,4294934512,3,0,4,-9,2,22,2,167,2,181,3,0,4,0,704,0,1849688064,0,4194304,-1,2,122,0,4294901887,2,0,0,130547712,0,1879048192,0,2080374784,3,0,2,-1,2,182,2,183,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,184,0,16252928,0,3791388672,2,39,3,0,2,-2,2,193,2,0,-1,2,26,-1,0,66584576,-1,2,189,3,0,9,2,122,3,0,4,-1,2,157,2,158,3,0,5,-2,0,245760,0,2147418112,-1,2,146,2,199,0,4227923456,-1,2,185,2,186,2,22,-2,2,176,0,4292870145,0,262144,2,122,3,0,2,0,1073758848,2,187,-1,0,4227921920,2,188,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,2483027968,2,0,-2,2,189,3,0,5,-1,2,184,2,160,2,0,-2,0,4227923936,2,63,-1,2,170,2,94,2,0,2,150,2,154,3,0,6,-1,2,175,3,0,3,-2,0,2146959360,3,0,8,-2,2,157,-1,2,190,2,117,-1,2,151,3,0,8,2,191,0,8388608,2,171,2,169,2,183,0,4286578944,3,0,2,0,1152,0,1266679808,2,189,0,576,0,4261707776,2,94,3,0,9,2,151,3,0,8,-28,2,158,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,2,164,3,0,126,-18,2,192,3,0,269,-17,2,151,2,122,0,4294917120,3,0,2,2,19,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,177,3,0,3,-2,0,65504,2,122,2,49,3,0,2,2,92,-191,2,123,-23,2,26,3,0,296,-8,2,122,3,0,2,2,19,-11,2,175,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,167,-1,0,384,-1,0,133693440,-3,2,193,-2,2,30,3,0,4,2,166,-2,2,22,2,151,3,0,4,-2,2,185,-1,2,146,0,335552923,2,194,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,62,-6,0,4286578784,2,0,-2,0,1006696448,3,0,24,2,37,-1,2,195,3,0,10,2,194,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,47,3,0,8,-1,2,154,-2,2,166,0,98304,0,65537,2,167,2,169,-2,2,154,-1,2,63,2,0,2,116,2,197,2,175,0,4294770176,2,30,3,0,4,-30,2,195,2,196,-3,2,166,-2,2,151,2,0,2,154,-1,2,189,-1,2,157,2,198,3,0,2,2,154,2,122,-1,0,193331200,-1,0,4227923960,2,197,-1,3,0,3,2,198,3,0,44,-1334,2,22,2,0,-129,2,195,-6,2,160,-180,2,199,-233,2,4,3,0,96,-16,2,160,3,0,22583,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828015,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,1061158911,536805376,4294910143,4160749567,4294901759,134217727,4294901760,4194303,65535,262143,67108863,4286578688,536870911,8388607,4294918143,4294443008,255,67043328,2281701374,4294967232,2097151,4294903807,4294902783,4294967039,511,524287,131071,127,4294902271,4294549487,16777215,1023,67047423,4294901888,33554431,4286578687,4294770687,67043583,32767,15,2047999,4292870143,4294934527,4294966783,67045375,4294967279,262083,20511,4290772991,41943039,493567,2047,4294959104,1071644671,602799615,65536,4294828e3,805044223,4277151126,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4294967292,4294965759,4294966272,4294901823,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4294705152,4294966143,64,4294966719,16383,3774873592,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,31,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,2147532800,61440,3758096384,117440512,65280,4227858432,3233808384,3221225472,4294965248,32768,57152,4294934528,67108864,4293918720,4290772992,25165824,57344,4278190080,65472,4227907584,65520,1920,4026531840,49152,4160749568,4294836224,63488,1073741824,4294967040,251658240,196608,12582912,2097152,65408,64512,417808,4227923712,48,512,4294967168,4294966784,16,4292870144,4227915776,65528,4294950912,65532]);function nextUnicodeChar(e){const{index:t}=e,n=e.source.charCodeAt(t);if(n<55296||n>56319)return n;const r=e.source.charCodeAt(t+1);return r<56320||r>57343?n:65536+((1023&n)<<10)|1023&r}const isIdentifierPart=e=>0!=(1&characterType[e])||isValidIdentifierPart(e);function escapeInvalidCharacters(e){switch(e){case 0:return"\\0";case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 11:return"\\v";case 12:return"\\f";case 13:return"\\r";default:return mustEscape(e)?e<16?`\\x0${e.toString(16)}`:e<256?`\\x${e.toString(16)}`:e<4096?`\\u0${e.toString(16)}`:e<65536?`\\u${e.toString(16)}`:`\\u{${e.toString(16)}}`:fromCodePoint(e)}}function consumeOpt(e,t){return e.source.charCodeAt(e.index)===t&&(e.index++,e.column++,!0)}function consumeLineFeed(e,t){e.flags|=Flags.NewLine,e.index++,0==(t&ScannerState.LastIsCR)&&(e.column=0,e.line++)}function scanPrivateName(e,t){return t&Context.InClass&&isValidIdentifierStart(e.source.charCodeAt(e.index))||report(e,1,tokenDesc(e.token)),115}function advanceNewline(e){e.flags|=Flags.NewLine,e.index++,e.column=0,e.line++}const fromCodePoint=e=>e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023));function readNext(e){return e.index++,e.column++,e.index>=e.source.length&&report(e,14),nextUnicodeChar(e)}function toHex(e){return e<48?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e<=102?e-97+10:-1}function advanceOnMaybeAstral(e,t){e.index++,e.column++,t>65535&&e.index++}function scanEscapeSequence(e,t,n){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:case 10:case 8232:case 8233:return e.column=-1,e.line++,Escape.Empty;case 48:case 49:case 50:case 51:{let r=n-48,a=e.index+1,o=e.column+1,s=e.source.charCodeAt(a);if(s<48||s>55){if(0!==r||56===s||57===s){if(t&Context.Strict)return Escape.StrictOctal;e.flags|=Flags.HasOctal}}else{if(t&Context.Strict)return Escape.StrictOctal;e.flags|=Flags.HasOctal,e.lastValue=s,r=8*r+(s-48),a++,o++,(s=e.source.charCodeAt(a))>=48&&s<=55&&(e.lastValue=s,r=8*r+(s-48),a++,o++),e.index=a-1,e.column=o-1}return r}case 52:case 53:case 54:case 55:{if(t&Context.Strict)return Escape.StrictOctal;let r=n-48;const a=e.index+1,o=e.column+1,s=e.source.charCodeAt(a);return s>=48&&s<=55&&(r=8*r+(s-48),e.lastValue=s,e.index=a,e.column=o),r}case 56:case 57:return Escape.EightOrNine;case 120:{const t=toHex(e.lastValue=readNext(e));if(t<0)return Escape.InvalidHex;const n=toHex(e.lastValue=readNext(e));return n<0?Escape.InvalidHex:t<<4|n}case 117:{let t=e.lastValue=readNext(e);if(123===t){let n=toHex(t=e.lastValue=readNext(e));if(n<0)return Escape.InvalidHex;for(t=e.lastValue=readNext(e);125!==t;){const r=toHex(t);if(r<0)return Escape.InvalidHex;if((n=16*n+r)>1114111)return Escape.OutOfRange;t=e.lastValue=readNext(e)}return n}{let n=toHex(t);if(n<0)return Escape.InvalidHex;for(let r=0;r<3;r++){const r=toHex(t=e.lastValue=readNext(e));if(r<0)return Escape.InvalidHex;n=16*n+r}return n}}default:return e.source.charCodeAt(e.index)}}function throwStringError(e,t,n){switch(n){case Escape.Empty:return;case Escape.StrictOctal:report(e,t&Context.TaggedTemplate?76:11);case Escape.EightOrNine:report(e,13);case Escape.InvalidHex:report(e,75,"hexadecimal");case Escape.OutOfRange:report(e,14)}}function scanString(e,t,n){const{index:r,lastValue:a}=e;let o="";e.index++,e.column++;let s=e.source.charCodeAt(e.index);for(;s!==n;){switch(s){case 13:case 10:report(e,6);case 92:if((s=readNext(e))>128)o+=fromCodePoint(s);else{e.lastValue=s;const n=scanEscapeSequence(e,t,s);n>=0?o+=fromCodePoint(n):throwStringError(e,t,n),s=e.lastValue}break;default:o+=fromCodePoint(s)}s=readNext(e)}return e.index++,e.column++,e.tokenRaw=e.source.slice(r,e.index),e.tokenValue=o,e.lastValue=a,33554435}function consumeTemplateBrace(e,t){return e.index>=e.length&&report(e,9),e.index--,e.column--,scanTemplate(e,t)}function scanTemplate(e,t){const{index:n,lastValue:r}=e;let a=!0,o="",s=readNext(e);e:for(;96!==s;){switch(s){case 36:{const t=e.index+1;if(t=128)o+=fromCodePoint(s);else{e.lastValue=s;const n=scanEscapeSequence(e,t|Context.Strict,s);if(n>=0)o+=fromCodePoint(n);else{if(n!==Escape.Empty&&t&Context.TaggedTemplate){o=void 0,(s=scanLooserTemplateSegment(e,e.lastValue))<0&&(a=!1);break e}throwStringError(e,t|Context.TaggedTemplate,n)}s=e.lastValue}break;case 13:case 10:case 8232:case 8233:e.column=-1,e.line++;default:null!=o&&(o+=fromCodePoint(s))}s=readNext(e)}return e.index++,e.column++,e.tokenValue=o,e.lastValue=r,a?(e.tokenRaw=e.source.slice(n+1,e.index-1),33554441):(e.tokenRaw=e.source.slice(n+1,e.index-2),33554440)}function scanLooserTemplateSegment(e,t){for(;96!==t;){if(36===t&&123===e.source.charCodeAt(e.index+1))return e.index++,e.column++,-t;t=readNext(e)}return t}function scanHexIntegerLiteral(e,t){e.index++,e.column++;let n=NumericState.None,r=toHex(e.source.charCodeAt(e.index));for(r<0&&report(e,0),e.index++,e.column++;e.index=48&&r<=57)||i>=n)break;o=o*n+i,e.index++,e.column++,a++}return 0===a&&report(e,0),s&NumericState.SeenSeparator&&report(e,59),assembleNumericLiteral(e,t,o,consumeOpt(e,110))}function scanImplicitOctalDigits(e,t){switch(e.source.charCodeAt(e.index)){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:{t&Context.Strict&&report(e,0);let n=e.index,r=e.column,a=0;for(e.flags|=Flags.HasOctal;n55)return scanNumericLiteral(e,t);a=8*a+(o-48),n++,r++}}return e.index=n,e.column=r,assembleNumericLiteral(e,t,a,consumeOpt(e,110))}case 56:case 57:e.flags|=Flags.HasOctal;default:return t&Context.OptionsNext&&95===e.source.charCodeAt(e.index)&&report(e,60),scanNumericLiteral(e,t)}}function scanSignedInteger(e,t){let n=e.source.charCodeAt(e.index);43!==n&&45!==n||(e.index++,e.column++,n=e.source.charCodeAt(e.index)),n>=48&&n<=57||report(e,0);const r=e.index,a=scanDecimalDigitsOrSeparator(e);return e.source.substring(t,r)+a}function scanNumericLiteral(e,t,n=NumericState.None){let r=n&NumericState.Float?0:scanDecimalAsSmi(e,t);const a=e.source.charCodeAt(e.index);if(46!==a&&95!==a&&!isValidIdentifierStart(a))return assembleNumericLiteral(e,t,r);consumeOpt(e,46)&&(t&Context.OptionsNext&&95===e.source.charCodeAt(e.index)&&report(e,60),n|=NumericState.Float,r=`${r}.${scanDecimalDigitsOrSeparator(e)}`);const o=e.index;return consumeOpt(e,110)&&(n&NumericState.Float&&report(e,0),n|=NumericState.BigInt),(consumeOpt(e,101)||consumeOpt(e,69))&&(n|=NumericState.Float,r+=scanSignedInteger(e,o)),isValidIdentifierStart(e.source.charCodeAt(e.index))&&report(e,0),assembleNumericLiteral(e,t,n&NumericState.Float?parseFloat(r):parseInt(r,10),!!(n&NumericState.BigInt))}function scanNumericSeparator(e,t){return e.index++,e.column++,t&NumericState.SeenSeparator&&report(e,59),t|=NumericState.SeenSeparator}function scanDecimalDigitsOrSeparator(e){let t=e.index,n=NumericState.None,r="";e:for(;e.index=48&&a<=57||95===a;)t&Context.OptionsNext&&95===a?(n=scanNumericSeparator(e,n),a=e.source.charCodeAt(e.index)):(n&=~NumericState.SeenSeparator,r=10*r+(a-48),e.index++,e.column++,a=e.source.charCodeAt(e.index));return n&NumericState.SeenSeparator&&report(e,59),r}function assembleNumericLiteral(e,t,n,r=!1){return e.tokenValue=n,t&Context.OptionsRaw&&(e.tokenRaw=e.source.slice(e.startIndex,e.index)),r?33554551:33554434}function scanIdentifier(e,t,n){let r=e.index,a="",o=!1;n&&advanceOnMaybeAstral(e,n);e:for(;e.index=55296&&n<=56319){n=(1023&n)<<10|1023&e.source.charCodeAt(t+1)|65536}if(!isIdentifierPart(n))break e;advanceOnMaybeAstral(e,n)}}r=2&&s<=11){const n=descKeyword(a);if(n>0)return o&&(t&Context.DisallowEscapedKeyword&&tolerant(e,t,3),e.flags|=Flags.EscapedKeyword),n}return t&Context.OptionsRawidentifiers&&(e.tokenRaw=e.source.slice(r,e.index)),33685505}function scanMaybeIdentifier(e,t,n){return isValidIdentifierStart(n=nextUnicodeChar(e))||report(e,10,escapeInvalidCharacters(n)),scanIdentifier(e,t,n)}function scanUnicodeCodePointEscape(e){const{index:t}=e;if(t+5=55296&&n<=56319&&report(e,74),isIdentifierPart(n)||report(e,75,"unicode"),fromCodePoint(n)}report(e,0)}function scanIdentifierUnicodeEscape(e){let t=e.source.charCodeAt(e.index),n=0;if(123===t){let r=toHex(t=readNext(e));for(;r>=0;)(n=n<<4|r)>1114111&&report(e,89),e.index++,e.column++,r=toHex(e.source.charCodeAt(e.index));125!==e.source.charCodeAt(e.index)&&report(e,75,"unicode"),consumeOpt(e,125)}else for(let r=0;r<4;r++){const r=toHex(t=e.source.charCodeAt(e.index));r<0&&report(e,75,"unicode"),n=n<<4|r,e.index++,e.column++}return n}function skipSingleHTMLComment(e,t,n,r){return t&Context.Module&&report(e,90),skipSingleLineComment(e,t,n,r)}function skipSingleLineComment(e,t,n,r){const a=e.index,o=!!(t&Context.OptionsComments);for(;e.index128)switch(a){case 8232:case 8233:r=r&~ScannerState.LastIsCR|ScannerState.NewLine,advanceNewline(e);break;case 65519:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:case 8205:e.index++,e.column++;break;default:return scanMaybeIdentifier(e,t,a)}else switch(a){case 13:r|=ScannerState.NewLine|ScannerState.LastIsCR,advanceNewline(e);break;case 10:consumeLineFeed(e,r),r=r&~ScannerState.LastIsCR|ScannerState.NewLine;break;case 9:case 11:case 12:case 32:e.index++,e.column++;break;case 40:return e.index++,e.column++,50331659;case 41:return e.index++,e.column++,16;case 44:return e.index++,e.column++,16777234;case 58:return e.index++,e.column++,16777237;case 59:return e.index++,e.column++,17825809;case 63:return e.index++,e.column++,22;case 93:return e.index++,e.column++,20;case 123:return e.index++,e.column++,41943052;case 125:return e.index++,e.column++,17825807;case 126:return e.index++,e.column++,301989934;case 91:return e.index++,e.column++,41943059;case 64:return e.index++,e.column++,120;case 47:if(e.index++,e.column++,e.index>=e.length)return 167774773;switch(e.source.charCodeAt(e.index)){case 47:e.index++,e.column++,r=skipSingleLineComment(e,t,r,"SingleLine");continue;case 42:e.index++,e.column++,r=skipMultiLineComment(e,t,r);continue;case 61:return e.index++,e.column++,100663333;default:return 167774773}case 45:switch(e.index++,e.column++,e.source.charCodeAt(e.index)){case 45:if(e.index++,e.column++,(r&ScannerState.NewLine||n)&&consumeOpt(e,62)){r=skipSingleHTMLComment(e,t,r,"HTMLClose");continue}return 570425372;case 61:return e.index++,e.column++,67108899;default:return 436209968}case 60:if(e.index++,e.column++,consumeOpt(e,33)&&consumeOpt(e,45)&&consumeOpt(e,45)){r=skipSingleHTMLComment(e,t,r,"HTMLOpen");continue}switch(e.source.charCodeAt(e.index)){case 60:return e.index++,e.column++,consumeOpt(e,61)?67108894:167774273;case 61:return e.index++,e.column++,167774013;case 47:{if(!(t&Context.OptionsJSX))break;const n=e.index+1;if(n=e.length)return 167774771;const t=e.source.charCodeAt(e.index);return 61===t?(e.index++,e.column++,67108900):42!==t?167774771:(e.index++,e.column++,consumeOpt(e,61)?67108897:167775030)}case 43:{if(e.index++,e.column++,e.index>=e.length)return 436209967;const t=e.source.charCodeAt(e.index);return 43===t?(e.index++,e.column++,570425371):61===t?(e.index++,e.column++,67108898):436209967}case 92:return scanIdentifier(e,t);case 61:{e.index++,e.column++;const t=e.source.charCodeAt(e.index);return 61===t?(e.index++,e.column++,consumeOpt(e,61)?167773753:167773755):62===t?(e.index++,e.column++,10):83886109}case 62:{if(e.index++,e.column++,e.index>=e.length)return 167774016;if(t&Context.InJSXChild)return 167774016;let n=e.source.charCodeAt(e.index);return 61===n?(e.index++,e.column++,167774014):62!==n?167774016:(e.index++,e.column++,62===(n=e.source.charCodeAt(e.index))?(e.index++,e.column++,consumeOpt(e,61)?67108896:167774275):61===n?(e.index++,e.column++,67108895):167774274)}case 94:return e.index++,e.column++,consumeOpt(e,61)?67108903:167773254;case 96:return scanTemplate(e,t);case 124:{e.index++,e.column++;const t=e.source.charCodeAt(e.index);return 124===t?(e.index++,e.column++,169869624):61===t?(e.index++,e.column++,67108904):167772997}case 46:{let n=e.index+1;const r=e.source.charCodeAt(n);return r>=48&&r<=57?(scanNumericLiteral(e,t,NumericState.Float),33554434):46===r&&++n=e.source.length&&report(e,7)}const a=e.index-1;let o=RegexFlags.Empty;const{index:s}=e;e:for(;e.index=e.source.length)return 1048576;e.lastIndex=e.startIndex=e.index;const t=e.source.charCodeAt(e.index);if(60===t)return e.index++,e.column++,consumeOpt(e,47)?25:167774015;if(123===t)return e.index++,e.column++,41943052;for(;e.index=e.source.length&&report(e,6);return e.index++,e.column++,t&Context.OptionsRaw&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=a,33554435}function parseJSXEmptyExpression(e,t){return finishNode(t,e,getLocation(e),{type:"JSXEmptyExpression"})}function parseJSXSpreadChild(e,t){const n=getLocation(e);expect(e,t,14);const r=parseExpression(e,t);return expect(e,t,17825807),finishNode(t,e,n,{type:"JSXSpreadChild",expression:r})}function parseJSXExpressionContainer(e,t){const n=getLocation(e);expect(e,t,41943052),17825807===e.token&&tolerant(e,t,84);const r=parseExpressionCoverGrammar(e,t&~Context.InJSXChild,parseAssignmentExpression);return expect(e,t,17825807),finishNode(t,e,n,{type:"JSXExpressionContainer",expression:r})}function parseJSXExpression(e,t){const n=getLocation(e);if(expect(e,t,41943052),14===e.token)return parseJSXSpreadChild(e,t);const r=17825807===e.token?parseJSXEmptyExpression(e,t):parseExpressionCoverGrammar(e,t,parseAssignmentExpression);return nextJSXToken(e),finishNode(t,e,n,{type:"JSXExpressionContainer",expression:r})}function parseJSXClosingFragment(e,t){const n=getLocation(e);return expect(e,t,25),expect(e,t,167774016),finishNode(t,e,n,{type:"JSXClosingFragment"})}function parseJSXClosingElement(e,t){const n=getLocation(e);expect(e,t,25);const r=parseJSXElementName(e,t);return t&Context.InJSXChild?expect(e,t,167774016):nextJSXToken(e),finishNode(t,e,n,{type:"JSXClosingElement",name:r})}function parseJSXIdentifier(e,t){const{token:n,tokenValue:r,tokenRaw:a}=e;135168&n||tolerant(e,t,1,tokenDesc(e.token));const o=getLocation(e);nextToken(e,t);const s=finishNode(t,e,o,{type:"JSXIdentifier",name:r});return t&Context.OptionsRawidentifiers&&(s.raw=a),s}function parseJSXMemberExpression(e,t,n,r){return scanJSXIdentifier(e),finishNode(t,e,r,{type:"JSXMemberExpression",object:n,property:parseJSXIdentifier(e,t)})}function parseJSXElementName(e,t){const n=getLocation(e);scanJSXIdentifier(e);let r=parseJSXIdentifier(e,t);if(16777237===e.token)return parseJSXNamespacedName(e,t,r,n);for(;consume(e,t,16777229);)r=parseJSXMemberExpression(e,t,r,n);return r}function scanJSXIdentifier(e){const{token:t}=e;if(135168&t){const t=e.index;let n=e.source.charCodeAt(e.index);for(;e.index"),expect(e,t,10),parseArrowBody(e,t&~Context.Async,r,n,ModifierState.None)}function parseAsyncArrowFunction(e,t,n,r,a){return e.flags&=~(Flags.AllowDestructuring|Flags.AllowBinding),e.flags&Flags.NewLine&&tolerant(e,t,36,"async"),expect(e,t,10),parseArrowBody(e,t|Context.Async,a,r,n)}function parseArrowBody(e,t,n,r,a){e.pendingExpressionError=null;for(const r in n)reinterpret(e,t|Context.InParameter,n[r]);const o=41943052!==e.token;return finishNode(t,e,r,{type:"ArrowFunctionExpression",body:o?parseExpressionCoverGrammar(e,t&~(Context.Yield|Context.InParameter),parseAssignmentExpression):swapContext(e,t&~(Context.Yield|Context.AllowDecorator)|Context.InFunctionBody,a,parseFunctionBody),params:n,id:null,async:!!(a&ModifierState.Await),generator:!1,expression:o})}function parseFormalListAndBody(e,t,n){const r=parseFormalParameters(e,t|Context.InParameter,n),a=r.args;return{params:r.params,body:parseFunctionBody(e,t&~Context.AllowDecorator|Context.InFunctionBody,a)}}function parseFunctionBody(e,t,n){const r=getLocation(e);expect(e,t|Context.DisallowEscapedKeyword,41943052);const a=[];for(;33554435===e.token;){const{tokenRaw:n,tokenValue:r}=e;a.push(parseDirective(e,t)),12===n.length&&"use strict"===r&&(e.flags&Flags.SimpleParameterList?tolerant(e,t,64):e.flags&(Flags.HasStrictReserved|Flags.StrictFunctionName)?tolerant(e,t,50):e.flags&Flags.StrictEvalArguments&&tolerant(e,t,47),t|=Context.Strict)}t&Context.Strict&&validateParams(e,t,n);const{labelSet:o}=e;e.labelSet={};const s=e.flags;for(e.flags=e.flags&~(Flags.StrictFunctionName|Flags.StrictEvalArguments|Flags.InSwitchStatement|Flags.InIterationStatement)|Flags.AllowDestructuring;17825807!==e.token;)a.push(parseStatementListItem(e,t));return s&Flags.InIterationStatement&&(e.flags|=Flags.InIterationStatement),s&Flags.InSwitchStatement&&(e.flags|=Flags.InSwitchStatement),e.labelSet=o,expect(e,t,17825807),finishNode(t,e,r,{type:"BlockStatement",body:a})}function parseFormalParameters(e,t,n){expect(e,t,50331659),e.flags&=~(Flags.SimpleParameterList|Flags.HasStrictReserved);const r=[],a=[];for(;16!==e.token;){if(14===e.token){n&ObjectState.Setter&&tolerant(e,t,67),e.flags|=Flags.SimpleParameterList,a.push(parseRestElement(e,t,r));break}if(a.push(parseFormalParameterList(e,t,r)),!consume(e,t,16777234))break;if(16===e.token)break}return n&ObjectState.Setter&&1!==a.length&&tolerant(e,t,66,"Setter","one",""),n&ObjectState.Getter&&a.length>0&&tolerant(e,t,66,"Getter","no","s"),expect(e,t,16),{params:a,args:r}}function parseFormalParameterList(e,t,n){const r=getLocation(e);135168&e.token?(hasBit(e.token,20480)&&(t&Context.Strict&&tolerant(e,t,50),e.flags|=Flags.StrictFunctionName),hasBit(e.token,4194304)&&(t&Context.Strict&&tolerant(e,t,47),e.flags|=Flags.StrictEvalArguments)):e.flags|=Flags.SimpleParameterList;const a=parseBindingIdentifierOrPattern(e,t,n);return consume(e,t,83886109)?(1074003968&e.token&&t&(Context.Yield|Context.Async)&&tolerant(e,t,262144&e.token?52:51),e.flags|=Flags.SimpleParameterList,finishNode(t,e,r,{type:"AssignmentPattern",left:a,right:parseExpressionCoverGrammar(e,t,parseAssignmentExpression)})):a}function parseClassExpression(e,t){const n=getLocation(e);let r=[];t&Context.OptionsExperimental&&(r=parseDecorators(e,t)),expect(e,t|Context.DisallowEscapedKeyword,33566797);const{token:a}=e;let o=ObjectState.None,s=null,i=null;41943052!==a&&12372!==a&&(t&Context.Async&&262144&a&&tolerant(e,t,48),s=parseBindingIdentifier(e,t|Context.Strict)),consume(e,t,12372)&&(i=parseLeftHandSideExpression(e,t|Context.Strict,n),o|=ObjectState.Heritage);const c=parseClassBodyAndElementList(e,t|Context.Strict,o);return finishNode(t,e,n,t&Context.OptionsExperimental?{type:"ClassExpression",id:s,superClass:i,body:c,decorators:r}:{type:"ClassExpression",id:s,superClass:i,body:c})}function parseClassBodyAndElementList(e,t,n){const r=getLocation(e);expect(e,t,41943052);const a=[];let o=[];for(;17825807!==e.token;)consume(e,t,17825809)||(t&Context.OptionsExperimental&&(o=parseDecorators(e,t),17825807===e.token&&report(e,92),0!==o.length&&"constructor"===e.tokenValue&&report(e,93)),a.push(t&Context.OptionsNext&&115===e.token?parsePrivateFields(e,t,o):parseClassElement(e,t,n,o)));return e.flags&=~Flags.HasConstructor,expect(e,t,17825807),finishNode(t,e,r,{type:"ClassBody",body:a})}function parseClassElement(e,t,n,r){const a=getLocation(e);let{tokenValue:o,token:s}=e;const i=e.flags;consume(e,t,167774771)&&(n|=ObjectState.Generator),41943059===e.token&&(n|=ObjectState.Computed),"constructor"===e.tokenValue&&(n&ObjectState.Generator?tolerant(e,t,45,"generator"):n&ObjectState.Heritage&&(t|=Context.AllowSuperProperty),n|=ObjectState.Constructor);let c,l=parsePropertyName(e,t);if(!(16777216&e.token)){if(i&Flags.EscapedKeyword&&tolerant(e,t,3),20585===s&&(s=e.token,consume(e,t,167774771)&&(n|=ObjectState.Generator),o=e.tokenValue,41943059===e.token&&(n|=ObjectState.Computed),"prototype"===e.tokenValue&&tolerant(e,t,65),n|=ObjectState.Static,l=parsePropertyName(e,t),t&Context.OptionsNext&&isInstanceField(e)))return"constructor"===o&&tolerant(e,t,1,tokenDesc(e.token)),parseFieldDefinition(e,t,l,n,a,r);50331659!==e.token&&(!(524288&s)||n&ObjectState.Generator||e.flags&Flags.NewLine?69743!==s&&69744!==s||(n|=69743===s?ObjectState.Getter:ObjectState.Setter,o=e.tokenValue,41943059===e.token&&(n|=ObjectState.Computed),l=parsePropertyName(e,t&~Context.Strict)):(s=e.token,o=e.tokenValue,n|=ObjectState.Async,consume(e,t,167774771)&&(n|=ObjectState.Generator),41943059===e.token&&(n|=ObjectState.Computed),l=parsePropertyName(e,t)),"prototype"===o?tolerant(e,t,65):n&ObjectState.Static||"constructor"!==o||tolerant(e,t,45,"accessor"))}if(50331659===e.token)!(n&ObjectState.Computed)&&n&ObjectState.Constructor&&(e.flags&Flags.HasConstructor?report(e,12):e.flags|=Flags.HasConstructor),c=parseMethodDeclaration(e,t,n);else{if(t&Context.OptionsNext)return parseFieldDefinition(e,t,l,n,a,r);tolerant(e,t,1,tokenDesc(s))}const p=n&ObjectState.Constructor?"constructor":n&ObjectState.Getter?"get":n&ObjectState.Setter?"set":"method";return finishNode(t,e,a,t&Context.OptionsExperimental?{type:"MethodDefinition",kind:p,static:!!(n&ObjectState.Static),computed:!!(n&ObjectState.Computed),key:l,value:c,decorators:r}:{type:"MethodDefinition",kind:p,static:!!(n&ObjectState.Static),computed:!!(n&ObjectState.Computed),key:l,value:c})}function parseFieldDefinition(e,t,n,r,a,o){r&ObjectState.Constructor&&tolerant(e,t,0);let s=null;return r&(ObjectState.Async|ObjectState.Generator)&&tolerant(e,t,0),consume(e,t,83886109)&&(4194304&e.token&&tolerant(e,t,47),s=parseAssignmentExpression(e,t)),consume(e,t,16777234),finishNode(t,e,a,t&Context.OptionsExperimental?{type:"FieldDefinition",key:n,value:s,computed:!!(r&ObjectState.Computed),static:!!(r&ObjectState.Static),decorators:o}:{type:"FieldDefinition",key:n,value:s,computed:!!(r&ObjectState.Computed),static:!!(r&ObjectState.Static)})}function parsePrivateName(e,t,n){const r=e.tokenValue;return nextToken(e,t),finishNode(t,e,n,{type:"PrivateName",name:r})}function parsePrivateFields(e,t,n){const r=getLocation(e);expect(e,t|Context.InClass,115),"constructor"===e.tokenValue&&tolerant(e,t,41);const a=parsePrivateName(e,t,r);if(50331659===e.token)return parsePrivateMethod(e,t,a,r,n);let o=null;return consume(e,t,83886109)&&(4194304&e.token&&tolerant(e,t,47),o=parseAssignmentExpression(e,t)),consume(e,t,16777234),finishNode(t,e,r,t&Context.OptionsExperimental?{type:"FieldDefinition",key:a,value:o,computed:!1,static:!1,decorators:n}:{type:"FieldDefinition",key:a,value:o,computed:!1,static:!1})}function parsePrivateMethod(e,t,n,r,a){const o=parseMethodDeclaration(e,t|Context.Strict,ObjectState.None);return e.flags&=~(Flags.AllowDestructuring|Flags.AllowBinding),finishNode(t,e,r,t&Context.OptionsExperimental?{type:"MethodDefinition",kind:"method",static:!1,computed:!1,key:n,value:o,decorators:a}:{type:"MethodDefinition",kind:"method",static:!1,computed:!1,key:n,value:o})}function parseCallImportOrMetaProperty(e,t){const n=getLocation(e),r=parseIdentifier(e,t);if(consume(e,t,16777229)){if(t&Context.Module&&"meta"===e.tokenValue)return parseMetaProperty(e,t,r,n);tolerant(e,t,1,tokenDesc(e.token))}let a=parseImportExpression(e,t,n);expect(e,t,50331659);const o=parseExpressionCoverGrammar(e,t|Context.AllowIn,parseAssignmentExpression);return expect(e,t,16),a=finishNode(t,e,n,{type:"CallExpression",callee:a,arguments:[o]})}function parseImportExpression(e,t,n){return finishNode(t,e,n,{type:"Import"})}function parseMetaProperty(e,t,n,r){return finishNode(t,e,r,{meta:n,type:"MetaProperty",property:parseIdentifier(e,t)})}function parseNewExpressionOrMetaProperty(e,t){const n=getLocation(e),r=parseIdentifier(e,t);return consume(e,t|Context.DisallowEscapedKeyword,16777229)?("target"===e.tokenValue&&t&(Context.InParameter|Context.InFunctionBody)||tolerant(e,t,53),parseMetaProperty(e,t,r,n)):finishNode(t,e,n,{type:"NewExpression",callee:parseImportOrMemberExpression(e,t,n),arguments:50331659===e.token?parseArgumentList(e,t):[]})}function parseImportOrMemberExpression(e,t,n){const{token:r}=e;return t&Context.OptionsNext&&33566810===r?(lookahead(e,t,nextTokenIsLeftParen)&&tolerant(e,t,1,tokenDesc(r)),parseCallImportOrMetaProperty(e,t)):parseMemberExpression(e,t,n)}function parseSuperProperty(e,t){const n=getLocation(e);switch(expect(e,t,33566813),e.token){case 50331659:t&Context.AllowSuperProperty||tolerant(e,t,54);break;case 41943059:case 16777229:t&Context.Method||tolerant(e,t,55);break;default:tolerant(e,t,56)}return finishNode(t,e,n,{type:"Super"})}function parseTemplateLiteral(e,t){return finishNode(t,e,getLocation(e),{type:"TemplateLiteral",expressions:[],quasis:[parseTemplateSpans(e,t)]})}function parseTemplateHead(e,t,n=null,r,a){return e.token=consumeTemplateBrace(e,t),finishNode(t,e,a,{type:"TemplateElement",value:{cooked:n,raw:r},tail:!1})}function parseTemplate(e,t,n=[],r=[]){const a=getLocation(e),{tokenValue:o,tokenRaw:s}=e;expect(e,t,33554440),n.push(parseExpression(e,t));const i=getLocation(e);return r.push(parseTemplateHead(e,t,o,s,a)),33554441===e.token?r.push(parseTemplateSpans(e,t,i)):parseTemplate(e,t,n,r),finishNode(t,e,a,{type:"TemplateLiteral",expressions:n,quasis:r})}function parseTemplateSpans(e,t,n=getLocation(e)){const{tokenValue:r,tokenRaw:a}=e;return expect(e,t,33554441),finishNode(t,e,n,{type:"TemplateElement",value:{cooked:r,raw:a},tail:!0})}function parseDecoratorList(e,t){const n=getLocation(e);return finishNode(t,e,n,{type:"Decorator",expression:parseLeftHandSideExpression(e,t,n)})}function parseDecorators(e,t){const n=[];for(;consume(e,t,120);)n.push(parseDecoratorList(e,t|Context.AllowDecorator));return n}var Context,Flags,Labels,NumericState,ScannerState,ModifierState,CoverParenthesizedState,Escape,RegexFlags,CoverCallState,RegexState,ObjectState;function validateBreakOrContinueLabel(e,t,n,r){const a=hasLabel(e,n);a||tolerant(e,t,32,n),!r||a&Labels.Nested||tolerant(e,t,31,n)}function addLabel(e,t){void 0===e.labelSet&&(e.labelSet={}),e.labelSet[`$${t}`]=isIterationStatement(e.token)?Labels.Nested:Labels.NotNested}function popLabel(e,t){e.labelSet[`$${t}`]=Labels.None}function hasLabel(e,t){return e.labelSet?e.labelSet[`$${t}`]:Labels.None}function finishNode(e,t,n,r){const{lastIndex:a,lastLine:o,lastColumn:s,sourceFile:i,index:c}=t;return e&Context.LocationTracker&&(e&Context.OptionsRanges&&(r.start=n.index,r.end=a),e&Context.OptionsLoc&&(r.loc={start:{line:n.line,column:n.column},end:{line:o,column:s}},i&&(r.loc.source=i))),r}function expect(e,t,n,r=1){return e.token!==n&&report(e,r,tokenDesc(e.token)),nextToken(e,t),!0}function consume(e,t,n){return e.token===n&&(nextToken(e,t),!0)}function nextToken(e,t){return e.lastIndex=e.index,e.lastLine=e.line,e.lastColumn=e.column,e.token=scan(e,t)}!function(e){e[e.Empty=0]="Empty",e[e.OptionsNext=1]="OptionsNext",e[e.OptionsRanges=2]="OptionsRanges",e[e.OptionsJSX=4]="OptionsJSX",e[e.OptionsRaw=8]="OptionsRaw",e[e.OptionsLoc=16]="OptionsLoc",e[e.OptionsGlobalReturn=32]="OptionsGlobalReturn",e[e.OptionsComments=64]="OptionsComments",e[e.OptionsShebang=128]="OptionsShebang",e[e.OptionsRawidentifiers=256]="OptionsRawidentifiers",e[e.OptionsTolerant=512]="OptionsTolerant",e[e.OptionsNode=1024]="OptionsNode",e[e.OptionsExperimental=2048]="OptionsExperimental",e[e.Strict=4096]="Strict",e[e.Module=8192]="Module",e[e.TaggedTemplate=16384]="TaggedTemplate",e[e.InClass=32768]="InClass",e[e.AllowIn=65536]="AllowIn",e[e.Async=131072]="Async",e[e.Yield=262144]="Yield",e[e.InParameter=524288]="InParameter",e[e.InFunctionBody=1048576]="InFunctionBody",e[e.AllowSingleStatement=2097152]="AllowSingleStatement",e[e.BlockScope=4194304]="BlockScope",e[e.ForStatement=8388608]="ForStatement",e[e.RequireIdentifier=16777216]="RequireIdentifier",e[e.Method=33554432]="Method",e[e.AllowSuperProperty=67108864]="AllowSuperProperty",e[e.InParen=134217728]="InParen",e[e.InJSXChild=268435456]="InJSXChild",e[e.DisallowEscapedKeyword=536870912]="DisallowEscapedKeyword",e[e.AllowDecorator=1073741824]="AllowDecorator",e[e.LocationTracker=18]="LocationTracker"}(Context||(Context={})),function(e){e[e.None=0]="None",e[e.NewLine=1]="NewLine",e[e.AllowBinding=2]="AllowBinding",e[e.AllowDestructuring=4]="AllowDestructuring",e[e.SimpleParameterList=8]="SimpleParameterList",e[e.InSwitchStatement=16]="InSwitchStatement",e[e.InIterationStatement=32]="InIterationStatement",e[e.HasStrictReserved=64]="HasStrictReserved",e[e.HasOctal=128]="HasOctal",e[e.SimpleAssignmentTarget=256]="SimpleAssignmentTarget",e[e.HasProtoField=512]="HasProtoField",e[e.StrictFunctionName=1024]="StrictFunctionName",e[e.StrictEvalArguments=2048]="StrictEvalArguments",e[e.InFunctionBody=4096]="InFunctionBody",e[e.HasAwait=8192]="HasAwait",e[e.HasYield=16384]="HasYield",e[e.EscapedKeyword=32768]="EscapedKeyword",e[e.HasConstructor=65536]="HasConstructor"}(Flags||(Flags={})),function(e){e[e.None=0]="None",e[e.NotNested=1]="NotNested",e[e.Nested=2]="Nested"}(Labels||(Labels={})),function(e){e[e.None=0]="None",e[e.SeenSeparator=1]="SeenSeparator",e[e.EigthOrNine=2]="EigthOrNine",e[e.Float=4]="Float",e[e.BigInt=8]="BigInt"}(NumericState||(NumericState={})),function(e){e[e.None=0]="None",e[e.NewLine=1]="NewLine",e[e.LastIsCR=2]="LastIsCR"}(ScannerState||(ScannerState={})),function(e){e[e.None=0]="None",e[e.Generator=1]="Generator",e[e.Await=2]="Await"}(ModifierState||(ModifierState={})),function(e){e[e.None=0]="None",e[e.SequenceExpression=1]="SequenceExpression",e[e.HasEvalOrArguments=2]="HasEvalOrArguments",e[e.HasReservedWords=4]="HasReservedWords",e[e.HasYield=8]="HasYield",e[e.HasBinding=16]="HasBinding"}(CoverParenthesizedState||(CoverParenthesizedState={})),function(e){e[e.Empty=-1]="Empty",e[e.StrictOctal=-2]="StrictOctal",e[e.EightOrNine=-3]="EightOrNine",e[e.InvalidHex=-4]="InvalidHex",e[e.OutOfRange=-5]="OutOfRange"}(Escape||(Escape={})),function(e){e[e.Empty=0]="Empty",e[e.IgnoreCase=1]="IgnoreCase",e[e.Global=2]="Global",e[e.Multiline=4]="Multiline",e[e.Unicode=8]="Unicode",e[e.Sticky=16]="Sticky",e[e.DotAll=32]="DotAll"}(RegexFlags||(RegexFlags={})),function(e){e[e.Empty=0]="Empty",e[e.SeenSpread=1]="SeenSpread",e[e.HasSpread=2]="HasSpread",e[e.SimpleParameter=4]="SimpleParameter",e[e.EvalOrArguments=8]="EvalOrArguments",e[e.Yield=16]="Yield",e[e.Await=32]="Await"}(CoverCallState||(CoverCallState={})),function(e){e[e.Empty=0]="Empty",e[e.Escape=1]="Escape",e[e.Class=2]="Class"}(RegexState||(RegexState={})),function(e){e[e.None=0]="None",e[e.Async=1]="Async",e[e.Generator=2]="Generator",e[e.Getter=4]="Getter",e[e.Setter=8]="Setter",e[e.Computed=16]="Computed",e[e.Method=32]="Method",e[e.Shorthand=64]="Shorthand",e[e.Static=128]="Static",e[e.Constructor=256]="Constructor",e[e.Heritage=512]="Heritage"}(ObjectState||(ObjectState={}));const hasBit=(e,t)=>(e&t)===t;function consumeSemicolon(e,t){return 1048576&e.token||e.flags&Flags.NewLine?consume(e,t,17825809):report(e,!(t&Context.Async)&&262144&e.token?38:1,tokenDesc(e.token))}function parseExpressionCoverGrammar(e,t,n){const{flags:r,pendingExpressionError:a}=e;e.flags|=Flags.AllowBinding|Flags.AllowDestructuring,e.pendingExpressionError=void 0;const o=n(e,t);if(e.pendingExpressionError){const{error:n,line:r,column:a,index:o}=e.pendingExpressionError;constructError(e,t,o,r,a,n)}return e.flags&=~(Flags.AllowBinding|Flags.AllowDestructuring),r&Flags.AllowBinding&&(e.flags|=Flags.AllowBinding),r&Flags.AllowDestructuring&&(e.flags|=Flags.AllowDestructuring),e.pendingExpressionError=a,o}function restoreExpressionCoverGrammar(e,t,n){const{flags:r,pendingExpressionError:a}=e;e.flags|=Flags.AllowBinding|Flags.AllowDestructuring,e.pendingExpressionError=void 0;const o=n(e,t);return e.flags&Flags.AllowBinding&&r&Flags.AllowBinding||(e.flags&=~Flags.AllowBinding),e.flags&Flags.AllowDestructuring&&r&Flags.AllowDestructuring||(e.flags&=~Flags.AllowDestructuring),e.pendingExpressionError=a||e.pendingExpressionError,o}function swapContext(e,t,n,r,a=ObjectState.None){return t&=~(Context.Async|Context.Yield|Context.InParameter),n&ModifierState.Generator&&(t|=Context.Yield),n&ModifierState.Await&&(t|=Context.Async),r(e,t,a)}function validateParams(e,t,n){const r=new Map;for(let a=0;a{switch(n.type){case"Identifier":t&Context.Strict&&nameIsArgumentsOrEval(n.name)&&report(e,3);case"ArrayPattern":case"AssignmentPattern":case"ObjectPattern":case"RestElement":case"MetaProperty":return;case"ArrayExpression":n.type="ArrayPattern";for(let r=0;rn[t]);constructError(e,Context.Empty,r,a,o,s)}function tolerant(e,t,n,...r){const{index:a,line:o,column:s}=getErrorLocation(e);constructError(e,t,a,o,s,errorMessages[n].replace(/%(\d+)/g,(e,t)=>r[t]))}function parseClassDeclaration(e,t){const n=getLocation(e);let r=[];t&Context.OptionsExperimental&&(r=parseDecorators(e,t)),expect(e,t|Context.DisallowEscapedKeyword,33566797);const a=t&Context.RequireIdentifier&&33685505!==e.token?null:parseBindingIdentifier(e,t|Context.Strict|Context.DisallowEscapedKeyword);let o=ObjectState.None,s=null;consume(e,t,12372)&&(s=parseLeftHandSideExpression(e,t|Context.Strict,n),o|=ObjectState.Heritage);const i=parseClassBodyAndElementList(e,t&~Context.RequireIdentifier|Context.Strict|Context.InClass,o);return finishNode(t,e,n,t&Context.OptionsExperimental?{type:"ClassDeclaration",id:a,superClass:s,body:i,decorators:r}:{type:"ClassDeclaration",id:a,superClass:s,body:i})}function parseFunctionDeclaration(e,t){const n=getLocation(e);expect(e,t,33566808);let r=ModifierState.None;return consume(e,t,167774771)&&(t&Context.AllowSingleStatement&&!(t&Context.InFunctionBody)&&tolerant(e,t,22),r=ModifierState.Generator),parseFunctionDeclarationBody(e,t,r,n)}function parseFunctionDeclarationBody(e,t,n,r){const{token:a}=e;let o=null;t&Context.Yield&&1073741824&a&&tolerant(e,t,49),t&Context.Async&&262144&a&&tolerant(e,t,48),50331659!==a?o=parseBindingIdentifier(e,t):t&Context.RequireIdentifier||tolerant(e,t,39);const{params:s,body:i}=swapContext(e,t&~(Context.Method|Context.AllowSuperProperty|Context.RequireIdentifier),n,parseFormalListAndBody);return finishNode(t,e,r,{type:"FunctionDeclaration",params:s,body:i,async:!!(n&ModifierState.Await),generator:!!(n&ModifierState.Generator),expression:!1,id:o})}function parseAsyncFunctionOrAsyncGeneratorDeclaration(e,t){const n=getLocation(e);expect(e,t,594028),expect(e,t,33566808);const r=ModifierState.Await;return parseFunctionDeclarationBody(e,t,(consume(e,t,167774771)?ModifierState.Generator:ModifierState.None)|r,n)}function parseVariableDeclaration(e,t,n){const r=getLocation(e),a=0!=(8388608&e.token),o=parseBindingIdentifierOrPattern(e,t);let s=null;return consume(e,t|Context.DisallowEscapedKeyword,83886109)?(s=parseExpressionCoverGrammar(e,t&~(Context.BlockScope|Context.ForStatement),parseAssignmentExpression),isInOrOf(e.token)&&(t&Context.ForStatement||a)&&(167786289===e.token?(t&(Context.BlockScope|Context.Strict|Context.Async)||a)&&tolerant(e,t,25,tokenDesc(e.token)):tolerant(e,t,25,tokenDesc(e.token)))):isInOrOf(e.token)||!n&&!a||tolerant(e,t,24,n?"const":"destructuring"),finishNode(t,e,r,{type:"VariableDeclarator",init:s,id:o})}function parseVariableDeclarationList(e,t,n){const r=[parseVariableDeclaration(e,t,n)];for(;consume(e,t,16777234);)r.push(parseVariableDeclaration(e,t,n));return t&Context.ForStatement&&isInOrOf(e.token)&&1!==r.length&&tolerant(e,t,26,tokenDesc(e.token)),r}function parseStatementListItem(e,t){switch(e.token){case 33566808:return parseFunctionDeclaration(e,t);case 120:case 33566797:return parseClassDeclaration(e,t);case 33574984:return parseLetOrExpressionStatement(e,t|Context.AllowIn);case 33566793:return parseVariableStatement(e,t|Context.BlockScope|Context.AllowIn);case 594028:return parseAsyncFunctionDeclarationOrStatement(e,t);case 33566810:if(t&Context.OptionsNext&&lookahead(e,t,nextTokenIsLeftParenOrPeriod))return parseExpressionStatement(e,t|Context.AllowIn);case 12371:t&Context.Module&&tolerant(e,t,34,tokenDesc(e.token));default:return parseStatement(e,t|Context.AllowSingleStatement)}}function parseStatement(e,t){switch(e.token){case 33566791:return parseVariableStatement(e,t|Context.AllowIn);case 17825809:return parseEmptyStatement(e,t);case 33566814:return parseSwitchStatement(e,t);case 41943052:return parseBlockStatement(e,t);case 12380:return parseReturnStatement(e,t);case 12377:return parseIfStatement(e,t);case 12369:return parseDoWhileStatement(e,t);case 12386:return parseWhileStatement(e,t);case 12387:return parseWithStatement(e,t);case 12362:return parseBreakStatement(e,t);case 12366:return parseContinueStatement(e,t);case 12367:return parseDebuggerStatement(e,t);case 302002272:return parseThrowStatement(e,t);case 12385:return parseTryStatement(e,t|Context.DisallowEscapedKeyword);case 12374:return parseForStatement(e,t|Context.ForStatement);case 594028:return lookahead(e,t,nextTokenIsFuncKeywordOnSameLine)&&tolerant(e,t,35),parseExpressionOrLabelledStatement(e,t|Context.AllowSingleStatement);case 33566808:tolerant(e,t,t&Context.Strict?19:20);case 33566797:tolerant(e,t,21,tokenDesc(e.token));default:return parseExpressionOrLabelledStatement(e,t)}}function parseEmptyStatement(e,t){const n=getLocation(e);return nextToken(e,t),finishNode(t,e,n,{type:"EmptyStatement"})}function parseContinueStatement(e,t){const n=getLocation(e);nextToken(e,t),e.flags&(Flags.InSwitchStatement|Flags.InIterationStatement)||tolerant(e,t,30,tokenDesc(e.token));let r=null;if(!(e.flags&Flags.NewLine)&&135168&e.token){const{tokenValue:n}=e;r=parseIdentifier(e,t),validateBreakOrContinueLabel(e,t,n,!0)}return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ContinueStatement",label:r})}function parseBreakStatement(e,t){const n=getLocation(e);nextToken(e,t);let r=null;if(!(e.flags&Flags.NewLine)&&135168&e.token){const{tokenValue:n}=e;r=parseIdentifier(e,t),validateBreakOrContinueLabel(e,t,n,!1)}else e.flags&(Flags.InSwitchStatement|Flags.InIterationStatement)||tolerant(e,t,30,"break");return consumeSemicolon(e,t),finishNode(t,e,n,{type:"BreakStatement",label:r})}function parseIfStatement(e,t){const n=getLocation(e);nextToken(e,t),expect(e,t,50331659);const r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return expect(e,t,16),finishNode(t,e,n,{type:"IfStatement",test:r,consequent:parseConsequentOrAlternate(e,t|Context.DisallowEscapedKeyword),alternate:consume(e,t,12370)?parseConsequentOrAlternate(e,t):null})}function parseConsequentOrAlternate(e,t){return t&Context.Strict||33566808!==e.token?parseStatement(e,t&~Context.AllowSingleStatement):parseFunctionDeclaration(e,t)}function parseDebuggerStatement(e,t){const n=getLocation(e);return nextToken(e,t),consumeSemicolon(e,t),finishNode(t,e,n,{type:"DebuggerStatement"})}function parseTryStatement(e,t){const n=getLocation(e);nextToken(e,t);const r=parseBlockStatement(e,t),a=12364===e.token?parseCatchBlock(e,t):null,o=consume(e,t,12373)?parseBlockStatement(e,t):null;return a||o||tolerant(e,t,79),finishNode(t,e,n,{type:"TryStatement",block:r,handler:a,finalizer:o})}function parseCatchBlock(e,t){const n=getLocation(e);nextToken(e,t);let r=null;if(consume(e,t,50331659)){const n=[];r=parseBindingIdentifierOrPattern(e,t,n),validateParams(e,t,n),expect(e,t,16)}return finishNode(t,e,n,{type:"CatchClause",param:r,body:parseBlockStatement(e,t)})}function parseThrowStatement(e,t){const n=getLocation(e);nextToken(e,t),e.flags&Flags.NewLine&&tolerant(e,t,80);const r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ThrowStatement",argument:r})}function parseExpressionStatement(e,t){const n=getLocation(e),r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ExpressionStatement",expression:r})}function parseDirective(e,t){const n=getLocation(e),r=e.tokenRaw.slice(1,-1),a=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ExpressionStatement",expression:a,directive:r})}function parseExpressionOrLabelledStatement(e,t){const n=getLocation(e),{tokenValue:r,token:a}=e,o=parseExpression(e,t&~(Context.AllowSingleStatement|Context.AllowDecorator)|Context.AllowIn);if(135168&a&&16777237===e.token){t&Context.Yield&&1073741824&a&&tolerant(e,t,57),expect(e,t,16777237,83),hasLabel(e,r)&&tolerant(e,t,29,r),addLabel(e,r);const s=!(t&Context.Strict)&&t&Context.AllowSingleStatement&&33566808===e.token?parseFunctionDeclaration(e,t):parseStatement(e,t);return popLabel(e,r),finishNode(t,e,n,{type:"LabeledStatement",label:o,body:s})}return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ExpressionStatement",expression:o})}function parseDoWhileStatement(e,t){const n=getLocation(e);nextToken(e,t);const r=parseIterationStatement(e,t);expect(e,t,12386),expect(e,t,50331659);const a=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return expect(e,t,16),consume(e,t,17825809),finishNode(t,e,n,{type:"DoWhileStatement",body:r,test:a})}function parseWhileStatement(e,t){const n=getLocation(e);nextToken(e,t),expect(e,t,50331659);const r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return expect(e,t,16),finishNode(t,e,n,{type:"WhileStatement",test:r,body:parseIterationStatement(e,t)})}function parseBlockStatement(e,t){const n=getLocation(e),r=[];for(expect(e,t,41943052);17825807!==e.token;)r.push(parseStatementListItem(e,t));return expect(e,t,17825807),finishNode(t,e,n,{type:"BlockStatement",body:r})}function parseReturnStatement(e,t){const n=getLocation(e);t&(Context.OptionsGlobalReturn|Context.InFunctionBody)||tolerant(e,t,18),e.flags&Flags.EscapedKeyword&&tolerant(e,t,3),nextToken(e,t);const r=1048576&e.token||e.flags&Flags.NewLine?null:parseExpression(e,t&~(Context.InFunctionBody|Context.AllowDecorator)|Context.AllowIn);return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ReturnStatement",argument:r})}function parseIterationStatement(e,t){const n=e.flags;e.flags|=Flags.InIterationStatement|Flags.AllowDestructuring;const r=parseStatement(e,t&~Context.AllowSingleStatement|Context.DisallowEscapedKeyword);return e.flags=n,r}function parseWithStatement(e,t){t&Context.Strict&&tolerant(e,t,37);const n=getLocation(e);nextToken(e,t),expect(e,t,50331659);const r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);return expect(e,t,16),finishNode(t,e,n,{type:"WithStatement",object:r,body:parseStatement(e,t&~Context.AllowSingleStatement)})}function parseSwitchStatement(e,t){const n=getLocation(e);nextToken(e,t),expect(e,t,50331659);const r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn);expect(e,t,16),expect(e,t|Context.DisallowEscapedKeyword,41943052);const a=[],o=e.flags;e.flags|=Flags.InSwitchStatement;let s=!1;for(;17825807!==e.token;){const n=parseCaseOrDefaultClauses(e,t);a.push(n),null===n.test&&(s&&tolerant(e,t,33),s=!0)}return e.flags=o,expect(e,t,17825807),finishNode(t,e,n,{type:"SwitchStatement",discriminant:r,cases:a})}function parseCaseOrDefaultClauses(e,t){const n=getLocation(e);let r=null;consume(e,t,12363)?r=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn):expect(e,t,12368),expect(e,t,16777237);const a=[];for(;!isEndOfCaseOrDefaultClauses(e);)a.push(parseStatementListItem(e,t|Context.AllowIn));return finishNode(t,e,n,{type:"SwitchCase",test:r,consequent:a})}function parseVariableStatement(e,t,n=!0){const r=getLocation(e),{token:a}=e,o=33566793===a;nextToken(e,t);const s=parseVariableDeclarationList(e,t,o);return n&&consumeSemicolon(e,t),finishNode(t,e,r,{type:"VariableDeclaration",kind:tokenDesc(a),declarations:s})}function parseLetOrExpressionStatement(e,t,n=!0){return lookahead(e,t,isLexical)?parseVariableStatement(e,t|Context.BlockScope,n):parseExpressionOrLabelledStatement(e,t)}function parseAsyncFunctionDeclarationOrStatement(e,t){return lookahead(e,t,nextTokenIsFuncKeywordOnSameLine)?parseAsyncFunctionOrAsyncGeneratorDeclaration(e,t):parseStatement(e,t)}function parseForStatement(e,t){const n=getLocation(e);expect(e,t,12374);const r=!!(t&Context.Async&&consume(e,t,34017389));expect(e,t|Context.DisallowEscapedKeyword,50331659);const{token:a}=e;let o,s=null,i=null,c=null,l="ForStatement",p=null,u=null;33566793===a||33574984===a&&lookahead(e,t,isLexical)?c=parseVariableStatement(e,t&~Context.AllowIn|Context.BlockScope,!1):33566791===a?c=parseVariableStatement(e,t&~Context.AllowIn,!1):17825809!==a&&(i=getLocation(e),s=restoreExpressionCoverGrammar(e,t&~Context.AllowIn|Context.DisallowEscapedKeyword,parseAssignmentExpression)),consume(e,t,69746)?(l="ForOfStatement",s?(e.flags&Flags.AllowDestructuring&&"AssignmentExpression"!==s.type||tolerant(e,t,73),reinterpret(e,t,s)):s=c,o=parseAssignmentExpression(e,t|Context.AllowIn)):consume(e,t,167786289)?(s?(e.flags&Flags.AllowDestructuring||tolerant(e,t,73),reinterpret(e,t,s)):s=c,l="ForInStatement",o=parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn)):(16777234===e.token&&(s=parseSequenceExpression(e,t,s,i)),c&&(s=c),expect(e,t,17825809),p=17825809!==e.token?parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn):null,expect(e,t,17825809),u=16!==e.token?parseExpression(e,t&~Context.AllowDecorator|Context.AllowIn):null),expect(e,t,16);const d=parseIterationStatement(e,t);return finishNode(t,e,n,"ForOfStatement"===l?{type:l,body:d,left:s,right:o,await:r}:o?{type:l,body:d,left:s,right:o}:{type:l,body:d,init:s,test:p,update:u})}function parseModuleItemList(e,t){nextToken(e,t);const n=[];for(;1048576!==e.token;)n.push(33554435===e.token?parseDirective(e,t):parseModuleItem(e,t|Context.AllowIn));return n}function parseModuleItem(e,t){switch(e.token){case 120:return parseDecorators(e,t);case 12371:return parseExportDeclaration(e,t);case 33566810:if(!(t&Context.OptionsNext&&lookahead(e,t,nextTokenIsLeftParenOrPeriod)))return parseImportDeclaration(e,t);default:return parseStatementListItem(e,t)}}function parseExportDeclaration(e,t){const n=getLocation(e),r=[];let a=null,o=null;switch(expect(e,t|Context.DisallowEscapedKeyword,12371),e.token){case 167774771:return parseExportAllDeclaration(e,t,n);case 12368:return parseExportDefault(e,t,n);case 41943052:{expect(e,t,41943052);let n=!1;for(;17825807!==e.token;)69743!==e.token&&12288&e.token&&(n=!0,setPendingError(e)),r.push(parseNamedExportDeclaration(e,t)),17825807!==e.token&&expect(e,t,16777234);expect(e,t|Context.DisallowEscapedKeyword,17825807),69745===e.token?a=parseModuleSpecifier(e,t):n&&tolerant(e,t,46),consumeSemicolon(e,t);break}case 33566797:o=parseClassDeclaration(e,t);break;case 33574984:case 33566793:o=parseVariableStatement(e,t|Context.BlockScope);break;case 33566791:o=parseVariableStatement(e,t);break;case 33566808:o=parseFunctionDeclaration(e,t);break;case 594028:if(lookahead(e,t,nextTokenIsFuncKeywordOnSameLine)){o=parseAsyncFunctionOrAsyncGeneratorDeclaration(e,t);break}default:report(e,1,tokenDesc(e.token))}return finishNode(t,e,n,{type:"ExportNamedDeclaration",source:a,specifiers:r,declaration:o})}function parseExportAllDeclaration(e,t,n){expect(e,t,167774771);const r=parseModuleSpecifier(e,t);return consumeSemicolon(e,t),finishNode(t,e,n,{type:"ExportAllDeclaration",source:r})}function parseNamedExportDeclaration(e,t){const n=getLocation(e),r=parseIdentifierName(e,t|Context.DisallowEscapedKeyword,e.token);return finishNode(t,e,n,{type:"ExportSpecifier",local:r,exported:consume(e,t,167843947)?parseIdentifierName(e,t,e.token):r})}function parseExportDefault(e,t,n){let r;switch(expect(e,t|Context.DisallowEscapedKeyword,12368),e.token){case 33566808:r=parseFunctionDeclaration(e,t|Context.RequireIdentifier);break;case 120:case 33566797:r=parseClassDeclaration(e,t&~Context.AllowIn|Context.RequireIdentifier);break;case 594028:r=parseAsyncFunctionOrAssignmentExpression(e,t|Context.RequireIdentifier);break;default:r=parseAssignmentExpression(e,t|Context.AllowIn),consumeSemicolon(e,t)}return finishNode(t,e,n,{type:"ExportDefaultDeclaration",declaration:r})}function parseImportDeclaration(e,t){const n=getLocation(e);let r;expect(e,t,33566810);let a=[];return 33554435===e.token?r=parseLiteral(e,t):(a=parseImportClause(e,t|Context.DisallowEscapedKeyword),r=parseModuleSpecifier(e,t)),consumeSemicolon(e,t),finishNode(t,e,n,{type:"ImportDeclaration",specifiers:a,source:r})}function parseImportClause(e,t){const n=[];switch(e.token){case 33685505:if(n.push(parseImportDefaultSpecifier(e,t)),consume(e,t,16777234))switch(e.token){case 167774771:parseNameSpaceImport(e,t,n);break;case 41943052:parseNamedImports(e,t,n);break;default:tolerant(e,t,1,tokenDesc(e.token))}break;case 41943052:parseNamedImports(e,t,n);break;case 167774771:parseNameSpaceImport(e,t,n);break;default:report(e,1,tokenDesc(e.token))}return n}function parseNamedImports(e,t,n){for(expect(e,t,41943052);17825807!==e.token;)n.push(parseImportSpecifier(e,t)),17825807!==e.token&&expect(e,t,16777234);expect(e,t,17825807)}function parseImportSpecifier(e,t){const n=getLocation(e),{token:r}=e,a=parseIdentifierName(e,t|Context.DisallowEscapedKeyword,r);let o;return consume(e,t,167843947)?o=parseBindingIdentifier(e,t):(hasBit(r,12288)&&tolerant(e,t,46),hasBit(r,4194304)&&tolerant(e,t,47),o=a),finishNode(t,e,n,{type:"ImportSpecifier",local:o,imported:a})}function parseNameSpaceImport(e,t,n){const r=getLocation(e);expect(e,t,167774771),expect(e,t,167843947,82);const a=parseBindingIdentifier(e,t);n.push(finishNode(t,e,r,{type:"ImportNamespaceSpecifier",local:a}))}function parseModuleSpecifier(e,t){return expect(e,t,69745),33554435!==e.token&&report(e,1,tokenDesc(e.token)),parseLiteral(e,t)}function parseImportDefaultSpecifier(e,t){return finishNode(t,e,getLocation(e),{type:"ImportDefaultSpecifier",local:parseIdentifier(e,t)})}function parseAsyncFunctionOrAssignmentExpression(e,t){return lookahead(e,t,nextTokenIsFuncKeywordOnSameLine)?parseAsyncFunctionOrAsyncGeneratorDeclaration(e,t|Context.RequireIdentifier):parseAssignmentExpression(e,t|Context.AllowIn)}function createParser(e,t){return{source:e,length:e.length,index:0,line:1,column:0,startIndex:0,startColumn:0,startLine:1,lastIndex:0,lastColumn:0,lastLine:0,pendingExpressionError:void 0,flags:Flags.AllowDestructuring,token:1048576,tokenRaw:"",lastValue:0,comments:[],sourceFile:t,tokenRegExp:void 0,tokenValue:void 0,labelSet:void 0,errorLocation:void 0,errors:[]}}function parseSource(e,t,n){let r="";t&&(t.module&&(n|=Context.Module),t.next&&(n|=Context.OptionsNext),t.jsx&&(n|=Context.OptionsJSX),t.ranges&&(n|=Context.OptionsRanges),t.loc&&(n|=Context.OptionsLoc),t.raw&&(n|=Context.OptionsRaw),t.rawIdentifier&&(n|=Context.OptionsRawidentifiers),t.globalReturn&&(n|=Context.OptionsGlobalReturn),t.skipShebang&&(n|=Context.OptionsShebang),t.tolerant&&(n|=Context.OptionsTolerant),t.source&&(r=t.source),t.comments&&(n|=Context.OptionsComments),t.impliedStrict&&(n|=Context.Strict),t.experimental&&(n|=Context.OptionsExperimental),t.node&&(n|=Context.OptionsNode));const a=createParser(e,r),o=n&Context.Module?parseModuleItemList(a,n):parseStatementList(a,n),s={type:"Program",sourceType:n&Context.Module?"module":"script",body:o};return n&Context.LocationTracker&&(n&Context.OptionsRanges&&(s.start=0,s.end=e.length),n&Context.OptionsLoc&&(s.loc={start:{line:1,column:0},end:{line:a.line,column:a.column}},r&&(s.loc.source=r))),n&Context.OptionsComments&&(s.comments=a.comments),n&Context.OptionsTolerant&&(s.errors=a.errors),s}function parseStatementList(e,t){const n=[];let r=!0;for(nextToken(e,t|Context.DisallowEscapedKeyword);1048576!==e.token;)r&&33554435!==e.token&&(r=!1),r?(t&Context.Strict||12!==e.tokenRaw.length||"use strict"!==e.tokenValue||(t|=Context.Strict),n.push(parseDirective(e,t))):n.push(parseStatementListItem(e,t));return n}function parse(e,t){return t&&t.module?parseModule(e,t):parseScript(e,t)}function parseScript(e,t){return parseSource(e,t,Context.Empty)}function parseModule(e,t){return parseSource(e,t,Context.Strict|Context.Module)}var estree=Object.freeze({}),index=Object.freeze({scanIdentifier:scanIdentifier,scanMaybeIdentifier:scanMaybeIdentifier,scanHexIntegerLiteral:scanHexIntegerLiteral,scanOctalOrBinary:scanOctalOrBinary,scanImplicitOctalDigits:scanImplicitOctalDigits,scanSignedInteger:scanSignedInteger,scanNumericLiteral:scanNumericLiteral,scanNumericSeparator:scanNumericSeparator,scanDecimalDigitsOrSeparator:scanDecimalDigitsOrSeparator,scanDecimalAsSmi:scanDecimalAsSmi,scanRegularExpression:scanRegularExpression,scan:scan,scanEscapeSequence:scanEscapeSequence,throwStringError:throwStringError,scanString:scanString,consumeTemplateBrace:consumeTemplateBrace,scanTemplate:scanTemplate,skipSingleHTMLComment:skipSingleHTMLComment,skipSingleLineComment:skipSingleLineComment,skipMultiLineComment:skipMultiLineComment,addComment:addComment,nextUnicodeChar:nextUnicodeChar,isIdentifierPart:isIdentifierPart,escapeInvalidCharacters:escapeInvalidCharacters,consumeOpt:consumeOpt,consumeLineFeed:consumeLineFeed,scanPrivateName:scanPrivateName,advanceNewline:advanceNewline,fromCodePoint:fromCodePoint,readNext:readNext,toHex:toHex,advanceOnMaybeAstral:advanceOnMaybeAstral}),parser=Object.freeze({parseClassDeclaration:parseClassDeclaration,parseFunctionDeclaration:parseFunctionDeclaration,parseAsyncFunctionOrAsyncGeneratorDeclaration:parseAsyncFunctionOrAsyncGeneratorDeclaration,parseVariableDeclarationList:parseVariableDeclarationList,parseExpression:parseExpression,parseSequenceExpression:parseSequenceExpression,parseAssignmentExpression:parseAssignmentExpression,parseRestElement:parseRestElement,parseLeftHandSideExpression:parseLeftHandSideExpression,parsePrimaryExpression:parsePrimaryExpression,parseIdentifier:parseIdentifier,parseLiteral:parseLiteral,parseBigIntLiteral:parseBigIntLiteral,parseIdentifierName:parseIdentifierName,parseFunctionExpression:parseFunctionExpression,parseAsyncFunctionOrAsyncGeneratorExpression:parseAsyncFunctionOrAsyncGeneratorExpression,parsePropertyName:parsePropertyName,parseObjectLiteral:parseObjectLiteral,parseFormalListAndBody:parseFormalListAndBody,parseFunctionBody:parseFunctionBody,parseFormalParameters:parseFormalParameters,parseFormalParameterList:parseFormalParameterList,parseClassBodyAndElementList:parseClassBodyAndElementList,parseClassElement:parseClassElement,parseDecorators:parseDecorators,parseModuleItemList:parseModuleItemList,parseModuleItem:parseModuleItem,parseExportDeclaration:parseExportDeclaration,parseImportDeclaration:parseImportDeclaration,createParser:createParser,parseSource:parseSource,parseStatementList:parseStatementList,parse:parse,parseScript:parseScript,parseModule:parseModule,parseBindingIdentifierOrPattern:parseBindingIdentifierOrPattern,parseBindingIdentifier:parseBindingIdentifier,parseAssignmentRestElement:parseAssignmentRestElement,parseAssignmentPattern:parseAssignmentPattern,parseBindingInitializer:parseBindingInitializer,parseStatementListItem:parseStatementListItem,parseStatement:parseStatement,parseEmptyStatement:parseEmptyStatement,parseContinueStatement:parseContinueStatement,parseBreakStatement:parseBreakStatement,parseIfStatement:parseIfStatement,parseDebuggerStatement:parseDebuggerStatement,parseTryStatement:parseTryStatement,parseCatchBlock:parseCatchBlock,parseThrowStatement:parseThrowStatement,parseExpressionStatement:parseExpressionStatement,parseDirective:parseDirective,parseExpressionOrLabelledStatement:parseExpressionOrLabelledStatement,parseDoWhileStatement:parseDoWhileStatement,parseWhileStatement:parseWhileStatement,parseBlockStatement:parseBlockStatement,parseReturnStatement:parseReturnStatement,parseIterationStatement:parseIterationStatement,parseWithStatement:parseWithStatement,parseSwitchStatement:parseSwitchStatement,parseCaseOrDefaultClauses:parseCaseOrDefaultClauses,parseVariableStatement:parseVariableStatement,parseJSXRootElement:parseJSXRootElement,parseJSXOpeningElement:parseJSXOpeningElement,nextJSXToken:nextJSXToken,scanJSXToken:scanJSXToken,parseJSXText:parseJSXText,parseJSXAttributes:parseJSXAttributes,parseJSXSpreadAttribute:parseJSXSpreadAttribute,parseJSXNamespacedName:parseJSXNamespacedName,parseJSXAttributeName:parseJSXAttributeName,parseJSXAttribute:parseJSXAttribute,parseJSXEmptyExpression:parseJSXEmptyExpression,parseJSXSpreadChild:parseJSXSpreadChild,parseJSXExpressionContainer:parseJSXExpressionContainer,parseJSXExpression:parseJSXExpression,parseJSXClosingFragment:parseJSXClosingFragment,parseJSXClosingElement:parseJSXClosingElement,parseJSXIdentifier:parseJSXIdentifier,parseJSXMemberExpression:parseJSXMemberExpression,parseJSXElementName:parseJSXElementName,scanJSXIdentifier:scanJSXIdentifier});const Parser=parser,version="1.6.9";export{version,estree as ESTree,index as Scanner,parse,parseSource,parseModule,parseScript,characterType,errorMessages,constructError,report,tolerant,tokenDesc,descKeyword,Parser,isValidIdentifierPart,isValidIdentifierStart,mustEscape,Context,Flags,Labels,NumericState,ScannerState,ModifierState,CoverParenthesizedState,Escape,RegexFlags,CoverCallState,RegexState,ObjectState,validateBreakOrContinueLabel,addLabel,popLabel,hasLabel,finishNode,expect,consume,nextToken,hasBit,consumeSemicolon,parseExpressionCoverGrammar,restoreExpressionCoverGrammar,swapContext,validateParams,reinterpret,lookahead,isValidSimpleAssignmentTarget,getLocation,isValidIdentifier,isLexical,isEndOfCaseOrDefaultClauses,nextTokenIsLeftParenOrPeriod,nextTokenisIdentifierOrParen,nextTokenIsLeftParen,nextTokenIsFuncKeywordOnSameLine,isPropertyWithPrivateFieldKey,parseAndClassifyIdentifier,nameIsArgumentsOrEval,setPendingError,isEqualTagNames,isInstanceField,validateUpdateExpression,setPendingExpressionError,validateCoverParenthesizedExpression,validateAsyncArgumentList,isInOrOf};