alasql 0.0.51 → 0.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alasql.js +8 -8
- package/console/alasql.js +8 -8
- package/console/alasql.min.js +3 -3
- package/dist/alasql-worker.js +1 -1
- package/dist/alasql.js +8 -8
- package/dist/alasql.min.js +3 -3
- package/package.json +1 -1
- package/src/05copyright.js +1 -1
- package/src/10start.js +1 -1
- package/src/15utility.js +3 -3
- package/src/424select.js +2 -2
- package/src/70insert.js +1 -1
package/console/alasql.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(root,factory){if(typeof define==="function"&&define.amd){define([],factory)}else if(typeof exports==="object"){module.exports=factory()}else{root.alasql=factory()}})(this,function(){var alasql=function(sql,params,cb,scope){if(typeof importScripts!="function"&&alasql.webworker){var id=alasql.lastid++;alasql.buffer[id]=cb;alasql.webworker.postMessage({id:id,sql:sql,params:params})}else{if(arguments.length==0){return new yy.Select({columns:[new yy.Column({columnid:"*"})],from:[new yy.ParamValue({param:0})]})}else if(arguments.length==1&&typeof sql=="object"&&sql instanceof Array){var select=new yy.Select({columns:[new yy.Column({columnid:"*"})],from:[new yy.ParamValue({param:0})]});select.preparams=[sql];return select}else{if(typeof sql=="string"&&sql[0]=="#"&&typeof document=="object"){sql=document.querySelector(sql).textContent}else if(typeof sql=="object"&&sql instanceof HTMElement){sql=sql.textContent}else if(typeof sql=="function"){sql=sql.toString().slice(14,-3)}return alasql.exec(sql,params,cb,scope)}}};alasql.version="0.0.51";var parser=function(){var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,11],$V1=[1,6],$V2=[1,14],$V3=[1,37],$V4=[1,64],$V5=[1,85],$V6=[1,76],$V7=[1,84],$V8=[1,73],$V9=[1,71],$Va=[1,81],$Vb=[1,56],$Vc=[1,59],$Vd=[1,54],$Ve=[1,51],$Vf=[1,58],$Vg=[1,52],$Vh=[1,60],$Vi=[1,53],$Vj=[1,57],$Vk=[1,70],$Vl=[1,65],$Vm=[1,72],$Vn=[1,74],$Vo=[1,75],$Vp=[1,68],$Vq=[1,69],$Vr=[1,67],$Vs=[1,77],$Vt=[1,78],$Vu=[1,79],$Vv=[1,80],$Vw=[1,55],$Vx=[1,66],$Vy=[1,63],$Vz=[1,87],$VA=[1,88],$VB=[8,9,11,229],$VC=[8,9,11,229,233],$VD=[1,143],$VE=[1,144],$VF=[1,108],$VG=[1,119],$VH=[1,116],$VI=[1,115],$VJ=[1,133],$VK=[1,129],$VL=[1,130],$VM=[1,134],$VN=[1,135],$VO=[1,136],$VP=[1,137],$VQ=[1,138],$VR=[1,139],$VS=[1,140],$VT=[1,141],$VU=[1,142],$VV=[1,117],$VW=[1,118],$VX=[1,120],$VY=[1,121],$VZ=[1,126],$V_=[1,127],$V$=[1,122],$V01=[1,123],$V11=[1,124],$V21=[1,125],$V31=[1,128],$V41=[1,114],$V51=[1,113],$V61=[1,112],$V71=[1,132],$V81=[1,145],$V91=[284,285,338],$Va1=[1,153],$Vb1=[1,158],$Vc1=[4,5],$Vd1=[8,9,11,67,96,103,125,156,157,167,168,169,171,229,233],$Ve1=[8,9,11,67,99,101,103,105,107,229,233],$Vf1=[1,180],$Vg1=[1,188],$Vh1=[1,187],$Vi1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$Vj1=[1,219],$Vk1=[1,212],$Vl1=[4,5,66,130,180,182,193,194,195,197,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,235,236,256,344,348],$Vm1=[2,90],$Vn1=[1,233],$Vo1=[8,9,11,67,96,99,101,103,105,107,229,233],$Vp1=[4,5,66,109,112,113,122,130,180,182,193,194,195,197,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,235,236,256,344,348],$Vq1=[4,5,8,9,11,67,96,99,101,103,105,107,229,233],$Vr1=[1,246],$Vs1=[1,250],$Vt1=[1,247],$Vu1=[1,248],$Vv1=[1,249],$Vw1=[1,251],$Vx1=[1,252],$Vy1=[1,253],$Vz1=[1,254],$VA1=[1,255],$VB1=[1,256],$VC1=[1,257],$VD1=[1,258],$VE1=[1,259],$VF1=[1,260],$VG1=[1,261],$VH1=[1,262],$VI1=[1,263],$VJ1=[1,264],$VK1=[1,265],$VL1=[1,267],$VM1=[1,268],$VN1=[1,270],$VO1=[1,269],$VP1=[1,271],$VQ1=[1,272],$VR1=[1,273],$VS1=[1,274],$VT1=[2,210],$VU1=[1,283],$VV1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,219,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,289,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,350,352,358,360,361,363,364,365,366,368,371,372,384],$VW1=[2,270],$VX1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,153,154,156,157,166,167,168,169,171,174,175,180,182,193,218,219,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,289,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,350,352,358,360,361,363,364,365,366,368,371,372,384],$VY1=[1,291],$VZ1=[1,301],$V_1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,350,352,358,360,361,363,364,365,366,368,371,372,384],$V$1=[1,317],$V02=[4,5,8,9,11,24,47,61,63,65,66,67,85,90,93,96,99,101,103,105,107,112,114,120,125,130,134,136,139,145,146,147,148,149,150,151,152,153,154,156,157,166,167,168,169,171,174,175,180,182,193,218,219,223,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,272,274,278,288,289,290,293,304,305,306,308,309,317,318,321,322,325,326,327,328,329,330,331,332,334,335,336,339,341,342,350,352,357,358,360,361,363,364,365,366,368,371,372,384,388],$V12=[1,324],$V22=[1,325],$V32=[2,389],$V42=[1,330],$V52=[8,9,11,67,93,114,229,233,266,388],$V62=[8,9,11,63,229,233],$V72=[2,441],$V82=[1,345],$V92=[4,5,293],$Va2=[8,9,11,67,96,103,156,157,167,168,169,171,229,233],$Vb2=[4,5,90],$Vc2=[8,9,11,67,101,103,105,107,229,233],$Vd2=[8,9,11,63,67,103,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233],$Ve2=[2,127],$Vf2=[1,374],$Vg2=[63,93,114],$Vh2=[8,9,11,63,67,219,229,233,256,274,289,304,305,308,309,321],$Vi2=[113,263,264],$Vj2=[1,444],$Vk2=[1,450],$Vl2=[1,451],$Vm2=[1,463],$Vn2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,234,235,236,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$Vo2=[2,285],$Vp2=[1,470],$Vq2=[229,231,233],$Vr2=[63,352],$Vs2=[63,350,352],$Vt2=[1,477],$Vu2=[63,350],$Vv2=[4,5,130,218],$Vw2=[8,9,11,67,229,233],$Vx2=[8,9,11,67,103,156,157,167,168,169,171,229,233],$Vy2=[1,523],$Vz2=[8,9,11,67,103,105,107,229,233],$VA2=[8,9,11,67,85,96,103,125,156,157,167,168,169,171,229,233],$VB2=[1,558],$VC2=[8,9,11,63,67,85,96,103,125,156,157,167,168,169,171,229,233],$VD2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,234,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VE2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VF2=[4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,242,243,244,245,246,247,248,249,250,251,254,255,259,260,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VG2=[4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,255,259,260,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VH2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,219,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,289,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VI2=[1,578],$VJ2=[8,9,11,63,67,229,233],$VK2=[2,208],$VL2=[1,622],$VM2=[8,9,11,67,103,157,167,168,169,171,229,233],$VN2=[8,9,11,63,67,96,103,125,156,157,167,168,169,171,229,233],$VO2=[8,9,11,67,105,107,229,233],$VP2=[1,643],$VQ2=[1,654],$VR2=[8,9,11,63,67,156,229,231,233,384],$VS2=[1,662],$VT2=[1,661],$VU2=[2,248],$VV2=[1,682],$VW2=[2,458],$VX2=[1,703],$VY2=[1,712],$VZ2=[8,9,11,63,67,229,231,233,384],$V_2=[1,715],$V$2=[8,9,11,63,67,103,134,136,145,146,147,148,149,150,151,152,156,157,167,168,169,171,229,233],$V03=[8,9,11,67,103,167,168,169,171,229,233],$V13=[1,720],$V23=[1,724],$V33=[1,725],$V43=[1,727],$V53=[1,728],$V63=[1,729],$V73=[1,730],$V83=[1,731],$V93=[1,732],$Va3=[1,733],$Vb3=[1,734],$Vc3=[8,9,11,67,107,229,233],$Vd3=[8,9,11,229,231,233,384],$Ve3=[240,246],$Vf3=[1,767],$Vg3=[63,67],$Vh3=[8,9,11,67,103,167,168,169,229,233],$Vi3=[8,9,11,67,103,134,136,145,146,147,148,149,150,151,152,156,157,167,168,169,171,229,233],$Vj3=[1,812],$Vk3=[1,814],$Vl3=[4,5,66,220,222,223,224,225],$Vm3=[1,841],$Vn3=[1,854],$Vo3=[1,855],$Vp3=[1,853],$Vq3=[1,851],$Vr3=[1,857],$Vs3=[1,848],$Vt3=[1,849],$Vu3=[1,850],$Vv3=[1,852],$Vw3=[1,861],$Vx3=[8,9,11,63,67,103,167,168,169,229,233],$Vy3=[8,9,11,67,167,168,169,229,233],$Vz3=[1,876],$VA3=[1,877],$VB3=[1,878],$VC3=[8,9,11,67,103,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233],$VD3=[1,902],$VE3=[1,901],$VF3=[1,931],$VG3=[1,932],$VH3=[1,933],$VI3=[1,934],$VJ3=[112,120,304,305,306,308],$VK3=[2,401],$VL3=[1,939],$VM3=[1,949],$VN3=[8,9,11,63,67,103,166,167,168,169,171,229,233],$VO3=[1,968],$VP3=[8,9,11,229,233,274,288,289,290],$VQ3=[1,1081],$VR3=[1,1091];var parser={trace:function trace(){},yy:{},symbols_:{error:2,Literal:3,LITERAL:4,BRALITERAL:5,main:6,Statements:7,EOF:8,SEMICOLON:9,AStatement:10,GO:11,ExplainStatement:12,EXPLAIN:13,QUERY:14,PLAN:15,Statement:16,If:17,AlterTable:18,AttachDatabase:19,CreateDatabase:20,CreateIndex:21,CreateTable:22,CreateView:23,CreateEdge:24,CreateVertex:25,Declare:26,Delete:27,DetachDatabase:28,DropDatabase:29,DropIndex:30,DropTable:31,DropView:32,Insert:33,RenameTable:34,Select:35,Merge:36,WithSelect:37,ShowCreateTable:38,ShowColumns:39,ShowDatabases:40,ShowIndex:41,ShowTables:42,TruncateTable:43,BeginTransaction:44,CommitTransaction:45,RollbackTransaction:46,EndTransaction:47,UseDatabase:48,Update:49,Help:50,JavaScript:51,Source:52,Assert:53,While:54,Continue:55,Break:56,BeginEnd:57,Print:58,Require:59,SetVariable:60,WITH:61,WithTablesList:62,COMMA:63,WithTable:64,AS:65,LPAR:66,RPAR:67,SelectClause:68,Select_option0:69,IntoClause:70,FromClause:71,WhereClause:72,GroupClause:73,OrderClause:74,LimitClause:75,UnionClause:76,SearchClause:77,Select_option1:78,Select_option2:79,Select_option3:80,Select_option4:81,Select_option5:82,Select_option6:83,RemoveClause:84,REMOVE:85,RemoveClause_option0:86,RemoveColumnsList:87,RemoveColumn:88,Column:89,LIKE:90,StringValue:91,SearchSelector:92,SEARCH:93,SearchSelector_repetition0:94,SearchFrom:95,FROM:96,Expression:97,SearchLet:98,LET:99,SearchWhile:100,WHILE:101,SearchLimit:102,LIMIT:103,SearchStrategy:104,STRATEGY:105,SearchTimeout:106,TIMEOUT:107,SelectModifier:108,DISTINCT:109,TopClause:110,ResultColumns:111,UNIQUE:112,ALL:113,SELECT:114,VALUE:115,ROW:116,COLUMN:117,MATRIX:118,TEXTSTRING:119,INDEX:120,RECORDSET:121,TOP:122,NumValue:123,PERCENT:124,INTO:125,Table:126,FuncValue:127,ParamValue:128,VarValue:129,STRING:130,FromTablesList:131,JoinTablesList:132,ApplyClause:133,CROSS:134,APPLY:135,OUTER:136,FromTable:137,FromString:138,DOT:139,JoinTable:140,JoinMode:141,JoinTableAs:142,OnClause:143,JoinModeMode:144,NATURAL:145,JOIN:146,INNER:147,LEFT:148,RIGHT:149,FULL:150,SEMI:151,ANTI:152,ON:153,USING:154,ColumnsList:155,WHERE:156,GROUP:157,BY:158,GroupExpressionsList:159,HavingClause:160,GroupExpression:161,GROUPING:162,SETS:163,ROLLUP:164,CUBE:165,HAVING:166,UNION:167,EXCEPT:168,INTERSECT:169,CORRESPONDING:170,ORDER:171,OrderExpressionsList:172,OrderExpression:173,DIRECTION:174,COLLATE:175,NOCASE:176,OffsetClause:177,OFFSET:178,ResultColumn:179,NUMBER:180,Star:181,STAR:182,AggrValue:183,Op:184,LogicValue:185,NullValue:186,ExistsValue:187,CaseValue:188,CastClause:189,Json:190,NewClause:191,Expression_group0:192,JAVASCRIPT:193,NEW:194,CAST:195,ColumnType:196,CONVERT:197,PrimitiveValue:198,CURRENT_TIMESTAMP:199,Aggregator:200,ExprList:201,OverClause:202,OVER:203,OverPartitionClause:204,OverOrderByClause:205,PARTITION:206,SUM:207,COUNT:208,MIN:209,MAX:210,AVG:211,FIRST:212,LAST:213,AGGR:214,ARRAY:215,TRUE:216,FALSE:217,NSTRING:218,NULL:219,AT:220,EXISTS:221,DOLLAR:222,COLON:223,QUESTION:224,BRAQUESTION:225,CASE:226,WhensList:227,ElseClause:228,END:229,When:230,WHEN:231,THEN:232,ELSE:233,NOT_LIKE:234,PLUS:235,MINUS:236,SLASH:237,MODULO:238,CARET:239,ARROW:240,SHARP:241,GT:242,GE:243,LT:244,LE:245,EQ:246,EQEQ:247,EQEQEQ:248,NE:249,NEEQEQ:250,NEEQEQEQ:251,CondOp:252,AllSome:253,AND:254,OR:255,NOT:256,IN:257,ColFunc:258,BETWEEN:259,NOT_BETWEEN:260,IS:261,DOUBLECOLON:262,SOME:263,ANY:264,UPDATE:265,SET:266,SetColumnsList:267,SetColumn:268,DELETE:269,INSERT:270,Into:271,VALUES:272,ValuesListsList:273,DEFAULT:274,ValuesList:275,Value:276,DateValue:277,CREATE:278,TemporaryClause:279,TableClass:280,IfNotExists:281,CreateTableDefClause:282,CreateTableOptionsClause:283,TABLE:284,CLASS:285,CreateTableOptions:286,CreateTableOption:287,ENGINE:288,AUTO_INCREMENT:289,CHARSET:290,TEMPORARY:291,TEMP:292,IF:293,ColumnDefsList:294,ConstraintsList:295,Constraint:296,ConstraintName:297,PrimaryKey:298,ForeignKey:299,UniqueKey:300,IndexKey:301,Check:302,CONSTRAINT:303,CHECK:304,PRIMARY:305,KEY:306,ColsList:307,FOREIGN:308,REFERENCES:309,OnForeignKeyClause:310,OnDeleteClause:311,OnUpdateClause:312,NO:313,ACTION:314,ColumnDef:315,ColumnConstraintsClause:316,ColumnConstraints:317,ENUM:318,ColumnConstraintsList:319,ColumnConstraint:320,IDENTITY:321,DROP:322,DropTable_group0:323,IfExists:324,ALTER:325,RENAME:326,TO:327,ADD:328,MODIFY:329,ATTACH:330,DATABASE:331,DETACH:332,AsClause:333,USE:334,SHOW:335,DATABASES:336,TABLES:337,VIEW:338,HELP:339,ExpressionStatement:340,SOURCE:341,ASSERT:342,JsonObject:343,ATLBRA:344,JsonArray:345,JsonValue:346,JsonPrimitiveValue:347,LCUR:348,JsonPropertiesList:349,RCUR:350,JsonElementsList:351,RBRA:352,JsonProperty:353,OnOff:354,SetPropsList:355,SetProp:356,OFF:357,COMMIT:358,TRANSACTION:359,ROLLBACK:360,BEGIN:361,ElseStatement:362,CONTINUE:363,BREAK:364,PRINT:365,REQUIRE:366,StringValuesList:367,DECLARE:368,DeclaresList:369,DeclareItem:370,TRUNCATE:371,MERGE:372,MergeInto:373,MergeUsing:374,MergeOn:375,MergeMatchedList:376,OutputClause:377,MergeMatched:378,MergeNotMatched:379,MATCHED:380,MergeMatchedAction:381,MergeNotMatchedAction:382,TARGET:383,OUTPUT:384,VERTEX:385,CreateVertex_option0:386,CreateVertexSet:387,CONTENT:388,DeleteVertex:389,DeleteVertex_option0:390,DeleteEdge:391,EDGE:392,DeleteEdge_option0:393,DeleteEdge_option1:394,DeleteEdge_option2:395,$accept:0,$end:1},terminals_:{2:"error",4:"LITERAL",5:"BRALITERAL",8:"EOF",9:"SEMICOLON",11:"GO",13:"EXPLAIN",14:"QUERY",15:"PLAN",24:"CreateEdge",47:"EndTransaction",61:"WITH",63:"COMMA",65:"AS",66:"LPAR",67:"RPAR",85:"REMOVE",90:"LIKE",93:"SEARCH",96:"FROM",99:"LET",101:"WHILE",103:"LIMIT",105:"STRATEGY",107:"TIMEOUT",109:"DISTINCT",112:"UNIQUE",113:"ALL",114:"SELECT",115:"VALUE",116:"ROW",117:"COLUMN",118:"MATRIX",119:"TEXTSTRING",120:"INDEX",121:"RECORDSET",122:"TOP",124:"PERCENT",125:"INTO",130:"STRING",134:"CROSS",135:"APPLY",136:"OUTER",139:"DOT",145:"NATURAL",146:"JOIN",147:"INNER",148:"LEFT",149:"RIGHT",150:"FULL",151:"SEMI",152:"ANTI",153:"ON",154:"USING",156:"WHERE",157:"GROUP",158:"BY",162:"GROUPING",163:"SETS",164:"ROLLUP",165:"CUBE",166:"HAVING",167:"UNION",168:"EXCEPT",169:"INTERSECT",170:"CORRESPONDING",171:"ORDER",174:"DIRECTION",175:"COLLATE",176:"NOCASE",178:"OFFSET",180:"NUMBER",182:"STAR",193:"JAVASCRIPT",194:"NEW",195:"CAST",197:"CONVERT",199:"CURRENT_TIMESTAMP",203:"OVER",206:"PARTITION",207:"SUM",208:"COUNT",209:"MIN",210:"MAX",211:"AVG",212:"FIRST",213:"LAST",214:"AGGR",215:"ARRAY",216:"TRUE",217:"FALSE",218:"NSTRING",219:"NULL",220:"AT",221:"EXISTS",222:"DOLLAR",223:"COLON",224:"QUESTION",225:"BRAQUESTION",226:"CASE",229:"END",231:"WHEN",232:"THEN",233:"ELSE",234:"NOT_LIKE",235:"PLUS",236:"MINUS",237:"SLASH",238:"MODULO",239:"CARET",240:"ARROW",241:"SHARP",242:"GT",243:"GE",244:"LT",245:"LE",246:"EQ",247:"EQEQ",248:"EQEQEQ",249:"NE",250:"NEEQEQ",251:"NEEQEQEQ",254:"AND",255:"OR",256:"NOT",257:"IN",259:"BETWEEN",260:"NOT_BETWEEN",261:"IS",262:"DOUBLECOLON",263:"SOME",264:"ANY",265:"UPDATE",266:"SET",269:"DELETE",270:"INSERT",272:"VALUES",274:"DEFAULT",277:"DateValue",278:"CREATE",284:"TABLE",285:"CLASS",288:"ENGINE",289:"AUTO_INCREMENT",290:"CHARSET",291:"TEMPORARY",292:"TEMP",293:"IF",303:"CONSTRAINT",304:"CHECK",305:"PRIMARY",306:"KEY",308:"FOREIGN",309:"REFERENCES",313:"NO",314:"ACTION",317:"ColumnConstraints",318:"ENUM",321:"IDENTITY",322:"DROP",325:"ALTER",326:"RENAME",327:"TO",328:"ADD",329:"MODIFY",330:"ATTACH",331:"DATABASE",332:"DETACH",334:"USE",335:"SHOW",336:"DATABASES",337:"TABLES",338:"VIEW",339:"HELP",341:"SOURCE",342:"ASSERT",344:"ATLBRA",348:"LCUR",350:"RCUR",352:"RBRA",357:"OFF",358:"COMMIT",359:"TRANSACTION",360:"ROLLBACK",361:"BEGIN",363:"CONTINUE",364:"BREAK",365:"PRINT",366:"REQUIRE",368:"DECLARE",371:"TRUNCATE",372:"MERGE",380:"MATCHED",383:"TARGET",384:"OUTPUT",385:"VERTEX",388:"CONTENT",392:"EDGE"},productions_:[0,[3,1],[3,1],[6,2],[7,3],[7,3],[7,1],[7,1],[12,2],[12,4],[10,1],[16,0],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[37,3],[62,3],[62,1],[64,5],[35,9],[35,7],[84,3],[87,3],[87,1],[88,1],[88,2],[77,1],[92,2],[95,2],[98,1],[100,2],[102,2],[104,2],[106,2],[68,4],[68,4],[68,4],[68,3],[108,1],[108,2],[108,2],[108,2],[108,2],[108,2],[108,2],[108,2],[110,2],[110,4],[110,3],[110,0],[70,0],[70,2],[70,2],[70,2],[70,2],[70,2],[71,2],[71,3],[71,5],[71,0],[133,6],[133,7],[133,6],[133,7],[131,1],[131,3],[137,4],[137,5],[137,3],[137,2],[137,3],[137,1],[137,2],[137,3],[137,1],[137,1],[137,2],[137,3],[137,1],[137,2],[137,3],[137,1],[137,2],[137,3],[138,1],[126,3],[126,1],[132,2],[132,2],[132,1],[132,1],[140,3],[142,1],[142,2],[142,3],[142,2],[142,3],[142,4],[142,5],[142,1],[142,2],[142,3],[142,1],[142,2],[142,3],[141,1],[141,2],[144,1],[144,2],[144,2],[144,3],[144,2],[144,3],[144,2],[144,3],[144,2],[144,2],[144,2],[143,2],[143,2],[143,0],[72,0],[72,2],[73,0],[73,4],[159,1],[159,3],[161,5],[161,4],[161,4],[161,1],[160,0],[160,2],[76,0],[76,2],[76,3],[76,2],[76,2],[76,3],[76,4],[76,3],[76,3],[74,0],[74,3],[172,1],[172,3],[173,1],[173,2],[173,3],[173,4],[75,0],[75,3],[177,0],[177,2],[111,3],[111,1],[179,3],[179,2],[179,3],[179,2],[179,3],[179,2],[179,1],[181,5],[181,3],[181,1],[89,5],[89,3],[89,3],[89,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,3],[97,3],[97,3],[97,1],[51,1],[191,2],[191,2],[189,6],[189,8],[189,6],[189,8],[198,1],[198,1],[198,1],[198,1],[198,1],[198,1],[198,1],[183,5],[183,6],[183,6],[202,0],[202,4],[202,4],[202,5],[204,3],[205,3],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[127,4],[127,3],[201,1],[201,3],[123,1],[185,1],[185,1],[91,1],[91,1],[186,1],[129,2],[187,4],[128,2],[128,2],[128,1],[128,1],[188,5],[188,4],[227,2],[227,1],[230,4],[228,2],[228,0],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,5],[184,3],[184,3],[184,3],[184,5],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,6],[184,6],[184,3],[184,3],[184,2],[184,2],[184,2],[184,3],[184,5],[184,6],[184,5],[184,6],[184,4],[184,5],[184,3],[184,4],[184,3],[184,3],[184,3],[184,3],[258,1],[258,1],[258,4],[252,1],[252,1],[252,1],[252,1],[252,1],[252,1],[253,1],[253,1],[253,1],[49,6],[49,4],[267,1],[267,3],[268,3],[27,5],[27,3],[33,5],[33,5],[33,8],[33,4],[33,7],[271,0],[271,1],[273,3],[273,1],[273,1],[273,5],[273,3],[273,3],[275,1],[275,3],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[155,1],[155,3],[22,9],[22,5],[280,1],[280,1],[283,0],[283,1],[286,2],[286,1],[287,1],[287,3],[287,3],[287,3],[279,0],[279,1],[279,1],[281,0],[281,3],[282,3],[282,1],[282,2],[295,1],[295,3],[296,2],[296,2],[296,2],[296,2],[296,2],[297,0],[297,2],[302,4],[298,5],[299,11],[310,0],[310,2],[311,4],[312,4],[300,1],[301,5],[301,5],[307,1],[307,1],[307,3],[307,3],[294,1],[294,3],[315,3],[315,2],[315,1],[196,6],[196,4],[196,1],[196,4],[316,0],[316,1],[319,2],[319,1],[320,2],[320,7],[320,5],[320,1],[320,6],[320,1],[320,2],[320,1],[320,2],[320,1],[31,4],[324,0],[324,2],[18,6],[18,6],[18,6],[18,8],[18,6],[34,5],[19,4],[19,7],[19,6],[19,9],[28,3],[20,4],[20,6],[20,9],[20,6],[333,0],[333,2],[48,3],[48,2],[29,4],[29,5],[29,5],[21,8],[21,9],[30,3],[40,2],[40,4],[40,3],[40,5],[42,2],[42,4],[42,4],[42,6],[39,4],[39,6],[41,4],[41,6],[38,4],[38,6],[23,10],[23,7],[32,4],[50,2],[50,1],[340,1],[52,2],[53,2],[53,2],[53,4],[190,4],[190,2],[190,2],[190,2],[190,2],[190,1],[190,2],[190,2],[346,1],[346,1],[347,1],[347,1],[347,1],[347,1],[347,1],[347,1],[347,1],[347,3],[343,3],[343,4],[343,2],[345,2],[345,3],[345,1],[349,3],[349,1],[353,3],[353,3],[353,3],[351,3],[351,1],[60,3],[60,5],[60,6],[355,3],[355,2],[356,1],[356,1],[356,3],[354,1],[354,1],[45,2],[46,2],[44,2],[17,4],[17,3],[362,2],[54,3],[55,1],[56,1],[57,3],[58,2],[58,2],[59,2],[367,3],[367,1],[26,2],[369,1],[369,3],[370,3],[370,4],[370,5],[370,6],[43,3],[36,6],[373,1],[373,2],[374,2],[375,2],[376,2],[376,2],[376,1],[376,1],[378,4],[378,6],[381,1],[381,3],[379,5],[379,7],[379,7],[379,9],[379,7],[379,9],[382,3],[382,6],[382,3],[382,6],[377,0],[377,2],[377,5],[377,4],[377,7],[25,4],[387,0],[387,2],[387,2],[387,1],[389,4],[391,6],[69,0],[69,1],[78,0],[78,1],[79,0],[79,1],[80,0],[80,1],[81,0],[81,1],[82,0],[82,1],[83,0],[83,1],[86,0],[86,1],[94,0],[94,2],[192,1],[192,1],[323,1],[323,1],[386,0],[386,1],[390,0],[390,2],[393,0],[393,2],[394,0],[394,2],[395,0],[395,2]],performAction:function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:if(yy.casesensitive)this.$=$$[$0];else this.$=$$[$0].toLowerCase();break;case 2:this.$=doubleq($$[$0].substr(1,$$[$0].length-2));break;case 3:return new yy.Statements({statements:$$[$0-1]});break;case 4:case 5:this.$=$$[$0-2];if($$[$0])$$[$0-2].push($$[$0]);break;case 6:case 7:case 58:case 64:case 105:case 130:case 131:case 166:case 185:case 196:case 265:case 282:case 346:case 359:case 360:case 364:case 372:case 413:case 414:case 522:case 527:case 547:case 549:case 563:case 564:this.$=[$$[$0]];break;case 8:this.$=$$[$0];$$[$0].explain=true;break;case 9:this.$=$$[$0];$$[$0].explain=true;break;case 10:this.$=$$[$0];if(yy.exists)this.$.exists=yy.exists;delete yy.exists;if(yy.queries)this.$.queries=yy.queries;delete yy.queries;break;case 11:case 79:case 90:case 100:case 161:case 162:case 164:case 172:case 174:case 183:case 191:case 193:case 244:case 285:case 376:case 386:case 389:case 401:case 406:case 407:case 441:this.$=undefined;break;case 56:this.$=new yy.WithSelect({withs:$$[$0-1],select:$$[$0]});break;case 57:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 59:this.$={name:$$[$0-4],select:$$[$0-1]};break;case 60:yy.extend(this.$,$$[$0-8]);yy.extend(this.$,$$[$0-7]);yy.extend(this.$,$$[$0-6]);yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);this.$=$$[$0-8];break;case 62:this.$={removecolumns:$$[$0]};break;case 63:this.$=$$[$0-2];this.$.push($$[$0]);break;case 65:case 68:case 112:case 171:case 203:case 211:case 212:case 213:case 214:case 215:case 216:case 217:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 226:case 238:case 239:case 240:case 241:case 242:case 243:case 284:case 335:case 336:case 337:case 338:case 339:case 340:case 402:case 427:case 429:case 496:case 497:case 498:case 499:case 500:case 501:case 505:case 507:case 508:case 517:case 528:case 529:this.$=$$[$0];break;case 66:this.$={like:$$[$0]};break;case 75:this.$=new yy.Select({columns:$$[$0],distinct:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 76:this.$=new yy.Select({columns:$$[$0],distinct:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 77:this.$=new yy.Select({columns:$$[$0],all:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 78:this.$=new yy.Select({columns:$$[$0]});yy,extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);break;case 80:this.$={modifier:"VALUE"};break;case 81:this.$={modifier:"ROW"};break;case 82:this.$={modifier:"COLUMN"};break;case 83:this.$={modifier:"MATRIX"};break;case 84:this.$={modifier:"TEXTSTRING"};break;case 85:this.$={modifier:"INDEX"};break;case 86:this.$={modifier:"RECORDSET"};break;case 87:this.$={top:$$[$0]};break;case 88:this.$={top:$$[$0-1]};break;case 89:this.$={top:$$[$0-1],percent:true};break;case 91:case 248:case 408:case 409:case 585:this.$=undefined;break;case 92:case 93:case 94:case 95:this.$={into:$$[$0]};break;case 96:var s=$$[$0];s=s.substr(1,s.length-2);var x3=s.substr(-3).toUpperCase();var x4=s.substr(-4).toUpperCase();if(s[0]=="#"){this.$={into:new yy.FuncValue({funcid:"HTML",args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}else if(x3=="XLS"||x3=="CSV"||x3=="TAB"){this.$={into:new yy.FuncValue({funcid:x3,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}else if(x4=="XLSX"||x4=="JSON"){this.$={into:new yy.FuncValue({funcid:x4,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}break;case 97:this.$={from:$$[$0]};break;case 98:this.$={from:$$[$0-1],joins:$$[$0]};break;case 99:this.$={from:$$[$0-2],joins:$$[$0-1]};break;case 101:this.$=new yy.Apply({select:$$[$0-2],applymode:"CROSS",as:$$[$0]});break;case 102:this.$=new yy.Apply({select:$$[$0-3],applymode:"CROSS",as:$$[$0]});break;case 103:this.$=new yy.Apply({select:$$[$0-2],applymode:"OUTER",as:$$[$0]});break;case 104:this.$=new yy.Apply({select:$$[$0-3],applymode:"OUTER",as:$$[$0]});break;case 106:case 167:case 347:case 415:case 416:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 107:this.$=$$[$0-2];this.$.as=$$[$0];break;case 108:this.$=$$[$0-3];this.$.as=$$[$0];break;case 109:this.$=$$[$0-1];this.$.as="default";break;case 110:this.$=$$[$0-1];$$[$0-1].as=$$[$0];break;case 111:this.$=$$[$0-2];$$[$0-2].as=$$[$0];break;case 113:case 117:case 120:case 123:this.$=$$[$0-1];$$[$0-1].as=$$[$0];break;case 114:case 118:case 121:case 124:this.$=$$[$0-2];$$[$0-2].as=$$[$0];break;case 115:case 116:case 119:case 122:this.$=$$[$0];$$[$0].as="default";break;case 125:var s=$$[$0];s=s.substr(1,s.length-2);var x3=s.substr(-3).toUpperCase();var x4=s.substr(-4).toUpperCase();var r;if(s[0]=="#"){r=new yy.FuncValue({funcid:"HTML",args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else if(x3=="XLS"||x3=="CSV"||x3=="TAB"){r=new yy.FuncValue({funcid:x3,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else if(x4=="XLSX"||x4=="JSON"){r=new yy.FuncValue({funcid:x4,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else{throw new Error("Unknown string in FROM clause")};this.$=r;break;case 126:this.$=new yy.Table({databaseid:$$[$0-2],tableid:$$[$0]});break;case 127:this.$=new yy.Table({tableid:$$[$0]});break;case 128:case 129:this.$=$$[$0-1];$$[$0-1].push($$[$0]);break;case 132:this.$=new yy.Join($$[$0-2]);yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);break;case 133:this.$={table:$$[$0]};break;case 134:this.$={table:$$[$0-1],as:$$[$0]};break;case 135:this.$={table:$$[$0-2],as:$$[$0]};break;case 136:this.$={param:$$[$0-1],as:$$[$0]};break;case 137:this.$={param:$$[$0-2],as:$$[$0]};break;case 138:this.$={select:$$[$0-3],as:$$[$0]};break;case 139:this.$={select:$$[$0-4],as:$$[$0]};break;case 140:this.$={funcid:$$[$0],as:"default"};break;case 141:this.$={funcid:$$[$0-1],as:$$[$0]};break;case 142:this.$={funcid:$$[$0-2],as:$$[$0]};break;case 143:this.$={variable:$$[$0],as:"default"};break;case 144:this.$={variable:$$[$0-1],as:$$[$0]};break;case 145:this.$={variable:$$[$0-2],as:$$[$0]};break;case 146:this.$={joinmode:$$[$0]};break;case 147:this.$={joinmode:$$[$0-1],natural:true};break;case 148:case 149:this.$="INNER";break;case 150:case 151:this.$="LEFT";break;case 152:case 153:this.$="RIGHT";break;case 154:case 155:this.$="OUTER";break;case 156:this.$="SEMI";break;case 157:this.$="ANTI";break;case 158:this.$="CROSS";break;case 159:this.$={on:$$[$0]};break;case 160:case 559:this.$={using:$$[$0]};break;case 163:this.$={where:new yy.Expression({expression:$$[$0]})};break;case 165:this.$={group:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 168:this.$=new yy.GroupExpression({type:"GROUPING SETS",group:$$[$0-1]});break;case 169:this.$=new yy.GroupExpression({type:"ROLLUP",group:$$[$0-1]});break;case 170:this.$=new yy.GroupExpression({type:"CUBE",group:$$[$0-1]});break;case 173:this.$={having:$$[$0]};break;case 175:this.$={union:$$[$0]};break;case 176:this.$={unionall:$$[$0]};break;case 177:this.$={except:$$[$0]};break;case 178:this.$={intersect:$$[$0]};break;case 179:this.$={union:$$[$0-1],corresponding:true};break;case 180:this.$={unionall:$$[$0-1],corresponding:true};break;case 181:this.$={except:$$[$0-1],corresponding:true};break;case 182:this.$={intersect:$$[$0-1],corresponding:true};break;case 184:this.$={order:$$[$0]};break;case 186:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 187:this.$=new yy.Expression({expression:$$[$0],direction:"ASC"});break;case 188:this.$=new yy.Expression({expression:$$[$0-1],direction:$$[$0].toUpperCase()});break;case 189:this.$=new yy.Expression({expression:$$[$0-2],direction:"ASC",nocase:true});break;case 190:this.$=new yy.Expression({expression:$$[$0-3],direction:$$[$0].toUpperCase(),nocase:true});break;case 192:this.$={limit:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 194:this.$={offset:$$[$0]};break;case 195:case 395:case 418:case 521:case 526:case 546:case 550:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 197:case 199:case 201:$$[$0-2].as=$$[$0];this.$=$$[$0-2];break;case 198:case 200:case 202:$$[$0-1].as=$$[$0];this.$=$$[$0-1];break;case 204:this.$=new yy.Column({columid:$$[$0],tableid:$$[$0-2],databaseid:$$[$0-4]});break;case 205:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2]});break;case 206:this.$=new yy.Column({columnid:$$[$0]});break;case 207:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2],databaseid:$$[$0-4]});break;case 208:case 209:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2]});break;case 210:this.$=new yy.Column({columnid:$$[$0]});break;case 225:this.$=new yy.Json({value:$$[$0]});break;case 227:case 228:case 229:if(!yy.queries)yy.queries=[];yy.queries.push($$[$0-1]);$$[$0-1].queriesidx=yy.queries.length;this.$=$$[$0-1];break;case 230:this.$=$$[$0];break;case 231:this.$=new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)});break;case 232:this.$=new yy.FuncValue({funcid:$$[$0],newid:true});break;case 233:this.$=$$[$0];yy.extend(this.$,{newid:true});break;case 234:this.$=new yy.Convert({expression:$$[$0-3]});yy.extend(this.$,$$[$0-1]);break;case 235:this.$=new yy.Convert({expression:$$[$0-5],style:$$[$0-1]});yy.extend(this.$,$$[$0-3]);break;case 236:this.$=new yy.Convert({expression:$$[$0-1]});yy.extend(this.$,$$[$0-3]);
|
|
1
|
+
(function(root,factory){if(typeof define==="function"&&define.amd){define([],factory)}else if(typeof exports==="object"){module.exports=factory()}else{root.alasql=factory()}})(this,function(){var alasql=function(sql,params,cb,scope){if(typeof importScripts!="function"&&alasql.webworker){var id=alasql.lastid++;alasql.buffer[id]=cb;alasql.webworker.postMessage({id:id,sql:sql,params:params})}else{if(arguments.length==0){return new yy.Select({columns:[new yy.Column({columnid:"*"})],from:[new yy.ParamValue({param:0})]})}else if(arguments.length==1&&typeof sql=="object"&&sql instanceof Array){var select=new yy.Select({columns:[new yy.Column({columnid:"*"})],from:[new yy.ParamValue({param:0})]});select.preparams=[sql];return select}else{if(typeof sql=="string"&&sql[0]=="#"&&typeof document=="object"){sql=document.querySelector(sql).textContent}else if(typeof sql=="object"&&sql instanceof HTMElement){sql=sql.textContent}else if(typeof sql=="function"){sql=sql.toString().slice(14,-3)}return alasql.exec(sql,params,cb,scope)}}};alasql.version="0.0.52";var parser=function(){var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,11],$V1=[1,6],$V2=[1,14],$V3=[1,37],$V4=[1,64],$V5=[1,85],$V6=[1,76],$V7=[1,84],$V8=[1,73],$V9=[1,71],$Va=[1,81],$Vb=[1,56],$Vc=[1,59],$Vd=[1,54],$Ve=[1,51],$Vf=[1,58],$Vg=[1,52],$Vh=[1,60],$Vi=[1,53],$Vj=[1,57],$Vk=[1,70],$Vl=[1,65],$Vm=[1,72],$Vn=[1,74],$Vo=[1,75],$Vp=[1,68],$Vq=[1,69],$Vr=[1,67],$Vs=[1,77],$Vt=[1,78],$Vu=[1,79],$Vv=[1,80],$Vw=[1,55],$Vx=[1,66],$Vy=[1,63],$Vz=[1,87],$VA=[1,88],$VB=[8,9,11,229],$VC=[8,9,11,229,233],$VD=[1,143],$VE=[1,144],$VF=[1,108],$VG=[1,119],$VH=[1,116],$VI=[1,115],$VJ=[1,133],$VK=[1,129],$VL=[1,130],$VM=[1,134],$VN=[1,135],$VO=[1,136],$VP=[1,137],$VQ=[1,138],$VR=[1,139],$VS=[1,140],$VT=[1,141],$VU=[1,142],$VV=[1,117],$VW=[1,118],$VX=[1,120],$VY=[1,121],$VZ=[1,126],$V_=[1,127],$V$=[1,122],$V01=[1,123],$V11=[1,124],$V21=[1,125],$V31=[1,128],$V41=[1,114],$V51=[1,113],$V61=[1,112],$V71=[1,132],$V81=[1,145],$V91=[284,285,338],$Va1=[1,153],$Vb1=[1,158],$Vc1=[4,5],$Vd1=[8,9,11,67,96,103,125,156,157,167,168,169,171,229,233],$Ve1=[8,9,11,67,99,101,103,105,107,229,233],$Vf1=[1,180],$Vg1=[1,188],$Vh1=[1,187],$Vi1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$Vj1=[1,219],$Vk1=[1,212],$Vl1=[4,5,66,130,180,182,193,194,195,197,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,235,236,256,344,348],$Vm1=[2,90],$Vn1=[1,233],$Vo1=[8,9,11,67,96,99,101,103,105,107,229,233],$Vp1=[4,5,66,109,112,113,122,130,180,182,193,194,195,197,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,235,236,256,344,348],$Vq1=[4,5,8,9,11,67,96,99,101,103,105,107,229,233],$Vr1=[1,246],$Vs1=[1,250],$Vt1=[1,247],$Vu1=[1,248],$Vv1=[1,249],$Vw1=[1,251],$Vx1=[1,252],$Vy1=[1,253],$Vz1=[1,254],$VA1=[1,255],$VB1=[1,256],$VC1=[1,257],$VD1=[1,258],$VE1=[1,259],$VF1=[1,260],$VG1=[1,261],$VH1=[1,262],$VI1=[1,263],$VJ1=[1,264],$VK1=[1,265],$VL1=[1,267],$VM1=[1,268],$VN1=[1,270],$VO1=[1,269],$VP1=[1,271],$VQ1=[1,272],$VR1=[1,273],$VS1=[1,274],$VT1=[2,210],$VU1=[1,283],$VV1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,219,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,289,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,350,352,358,360,361,363,364,365,366,368,371,372,384],$VW1=[2,270],$VX1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,153,154,156,157,166,167,168,169,171,174,175,180,182,193,218,219,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,289,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,350,352,358,360,361,363,364,365,366,368,371,372,384],$VY1=[1,291],$VZ1=[1,301],$V_1=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,350,352,358,360,361,363,364,365,366,368,371,372,384],$V$1=[1,317],$V02=[4,5,8,9,11,24,47,61,63,65,66,67,85,90,93,96,99,101,103,105,107,112,114,120,125,130,134,136,139,145,146,147,148,149,150,151,152,153,154,156,157,166,167,168,169,171,174,175,180,182,193,218,219,223,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,272,274,278,288,289,290,293,304,305,306,308,309,317,318,321,322,325,326,327,328,329,330,331,332,334,335,336,339,341,342,350,352,357,358,360,361,363,364,365,366,368,371,372,384,388],$V12=[1,324],$V22=[1,325],$V32=[2,389],$V42=[1,330],$V52=[8,9,11,67,93,114,229,233,266,388],$V62=[8,9,11,63,229,233],$V72=[2,441],$V82=[1,345],$V92=[4,5,293],$Va2=[8,9,11,67,96,103,156,157,167,168,169,171,229,233],$Vb2=[4,5,90],$Vc2=[8,9,11,67,101,103,105,107,229,233],$Vd2=[8,9,11,63,67,103,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233],$Ve2=[2,127],$Vf2=[1,374],$Vg2=[63,93,114],$Vh2=[8,9,11,63,67,219,229,233,256,274,289,304,305,308,309,321],$Vi2=[113,263,264],$Vj2=[1,444],$Vk2=[1,450],$Vl2=[1,451],$Vm2=[1,463],$Vn2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,234,235,236,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$Vo2=[2,285],$Vp2=[1,470],$Vq2=[229,231,233],$Vr2=[63,352],$Vs2=[63,350,352],$Vt2=[1,477],$Vu2=[63,350],$Vv2=[4,5,130,218],$Vw2=[8,9,11,67,229,233],$Vx2=[8,9,11,67,103,156,157,167,168,169,171,229,233],$Vy2=[1,523],$Vz2=[8,9,11,67,103,105,107,229,233],$VA2=[8,9,11,67,85,96,103,125,156,157,167,168,169,171,229,233],$VB2=[1,558],$VC2=[8,9,11,63,67,85,96,103,125,156,157,167,168,169,171,229,233],$VD2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,234,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VE2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VF2=[4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,242,243,244,245,246,247,248,249,250,251,254,255,259,260,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VG2=[4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,255,259,260,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VH2=[4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,219,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,289,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],$VI2=[1,578],$VJ2=[8,9,11,63,67,229,233],$VK2=[2,208],$VL2=[1,622],$VM2=[8,9,11,67,103,157,167,168,169,171,229,233],$VN2=[8,9,11,63,67,96,103,125,156,157,167,168,169,171,229,233],$VO2=[8,9,11,67,105,107,229,233],$VP2=[1,643],$VQ2=[1,654],$VR2=[8,9,11,63,67,156,229,231,233,384],$VS2=[1,662],$VT2=[1,661],$VU2=[2,248],$VV2=[1,682],$VW2=[2,458],$VX2=[1,703],$VY2=[1,712],$VZ2=[8,9,11,63,67,229,231,233,384],$V_2=[1,715],$V$2=[8,9,11,63,67,103,134,136,145,146,147,148,149,150,151,152,156,157,167,168,169,171,229,233],$V03=[8,9,11,67,103,167,168,169,171,229,233],$V13=[1,720],$V23=[1,724],$V33=[1,725],$V43=[1,727],$V53=[1,728],$V63=[1,729],$V73=[1,730],$V83=[1,731],$V93=[1,732],$Va3=[1,733],$Vb3=[1,734],$Vc3=[8,9,11,67,107,229,233],$Vd3=[8,9,11,229,231,233,384],$Ve3=[240,246],$Vf3=[1,767],$Vg3=[63,67],$Vh3=[8,9,11,67,103,167,168,169,229,233],$Vi3=[8,9,11,67,103,134,136,145,146,147,148,149,150,151,152,156,157,167,168,169,171,229,233],$Vj3=[1,812],$Vk3=[1,814],$Vl3=[4,5,66,220,222,223,224,225],$Vm3=[1,841],$Vn3=[1,854],$Vo3=[1,855],$Vp3=[1,853],$Vq3=[1,851],$Vr3=[1,857],$Vs3=[1,848],$Vt3=[1,849],$Vu3=[1,850],$Vv3=[1,852],$Vw3=[1,861],$Vx3=[8,9,11,63,67,103,167,168,169,229,233],$Vy3=[8,9,11,67,167,168,169,229,233],$Vz3=[1,876],$VA3=[1,877],$VB3=[1,878],$VC3=[8,9,11,67,103,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233],$VD3=[1,902],$VE3=[1,901],$VF3=[1,931],$VG3=[1,932],$VH3=[1,933],$VI3=[1,934],$VJ3=[112,120,304,305,306,308],$VK3=[2,401],$VL3=[1,939],$VM3=[1,949],$VN3=[8,9,11,63,67,103,166,167,168,169,171,229,233],$VO3=[1,968],$VP3=[8,9,11,229,233,274,288,289,290],$VQ3=[1,1081],$VR3=[1,1091];var parser={trace:function trace(){},yy:{},symbols_:{error:2,Literal:3,LITERAL:4,BRALITERAL:5,main:6,Statements:7,EOF:8,SEMICOLON:9,AStatement:10,GO:11,ExplainStatement:12,EXPLAIN:13,QUERY:14,PLAN:15,Statement:16,If:17,AlterTable:18,AttachDatabase:19,CreateDatabase:20,CreateIndex:21,CreateTable:22,CreateView:23,CreateEdge:24,CreateVertex:25,Declare:26,Delete:27,DetachDatabase:28,DropDatabase:29,DropIndex:30,DropTable:31,DropView:32,Insert:33,RenameTable:34,Select:35,Merge:36,WithSelect:37,ShowCreateTable:38,ShowColumns:39,ShowDatabases:40,ShowIndex:41,ShowTables:42,TruncateTable:43,BeginTransaction:44,CommitTransaction:45,RollbackTransaction:46,EndTransaction:47,UseDatabase:48,Update:49,Help:50,JavaScript:51,Source:52,Assert:53,While:54,Continue:55,Break:56,BeginEnd:57,Print:58,Require:59,SetVariable:60,WITH:61,WithTablesList:62,COMMA:63,WithTable:64,AS:65,LPAR:66,RPAR:67,SelectClause:68,Select_option0:69,IntoClause:70,FromClause:71,WhereClause:72,GroupClause:73,OrderClause:74,LimitClause:75,UnionClause:76,SearchClause:77,Select_option1:78,Select_option2:79,Select_option3:80,Select_option4:81,Select_option5:82,Select_option6:83,RemoveClause:84,REMOVE:85,RemoveClause_option0:86,RemoveColumnsList:87,RemoveColumn:88,Column:89,LIKE:90,StringValue:91,SearchSelector:92,SEARCH:93,SearchSelector_repetition0:94,SearchFrom:95,FROM:96,Expression:97,SearchLet:98,LET:99,SearchWhile:100,WHILE:101,SearchLimit:102,LIMIT:103,SearchStrategy:104,STRATEGY:105,SearchTimeout:106,TIMEOUT:107,SelectModifier:108,DISTINCT:109,TopClause:110,ResultColumns:111,UNIQUE:112,ALL:113,SELECT:114,VALUE:115,ROW:116,COLUMN:117,MATRIX:118,TEXTSTRING:119,INDEX:120,RECORDSET:121,TOP:122,NumValue:123,PERCENT:124,INTO:125,Table:126,FuncValue:127,ParamValue:128,VarValue:129,STRING:130,FromTablesList:131,JoinTablesList:132,ApplyClause:133,CROSS:134,APPLY:135,OUTER:136,FromTable:137,FromString:138,DOT:139,JoinTable:140,JoinMode:141,JoinTableAs:142,OnClause:143,JoinModeMode:144,NATURAL:145,JOIN:146,INNER:147,LEFT:148,RIGHT:149,FULL:150,SEMI:151,ANTI:152,ON:153,USING:154,ColumnsList:155,WHERE:156,GROUP:157,BY:158,GroupExpressionsList:159,HavingClause:160,GroupExpression:161,GROUPING:162,SETS:163,ROLLUP:164,CUBE:165,HAVING:166,UNION:167,EXCEPT:168,INTERSECT:169,CORRESPONDING:170,ORDER:171,OrderExpressionsList:172,OrderExpression:173,DIRECTION:174,COLLATE:175,NOCASE:176,OffsetClause:177,OFFSET:178,ResultColumn:179,NUMBER:180,Star:181,STAR:182,AggrValue:183,Op:184,LogicValue:185,NullValue:186,ExistsValue:187,CaseValue:188,CastClause:189,Json:190,NewClause:191,Expression_group0:192,JAVASCRIPT:193,NEW:194,CAST:195,ColumnType:196,CONVERT:197,PrimitiveValue:198,CURRENT_TIMESTAMP:199,Aggregator:200,ExprList:201,OverClause:202,OVER:203,OverPartitionClause:204,OverOrderByClause:205,PARTITION:206,SUM:207,COUNT:208,MIN:209,MAX:210,AVG:211,FIRST:212,LAST:213,AGGR:214,ARRAY:215,TRUE:216,FALSE:217,NSTRING:218,NULL:219,AT:220,EXISTS:221,DOLLAR:222,COLON:223,QUESTION:224,BRAQUESTION:225,CASE:226,WhensList:227,ElseClause:228,END:229,When:230,WHEN:231,THEN:232,ELSE:233,NOT_LIKE:234,PLUS:235,MINUS:236,SLASH:237,MODULO:238,CARET:239,ARROW:240,SHARP:241,GT:242,GE:243,LT:244,LE:245,EQ:246,EQEQ:247,EQEQEQ:248,NE:249,NEEQEQ:250,NEEQEQEQ:251,CondOp:252,AllSome:253,AND:254,OR:255,NOT:256,IN:257,ColFunc:258,BETWEEN:259,NOT_BETWEEN:260,IS:261,DOUBLECOLON:262,SOME:263,ANY:264,UPDATE:265,SET:266,SetColumnsList:267,SetColumn:268,DELETE:269,INSERT:270,Into:271,VALUES:272,ValuesListsList:273,DEFAULT:274,ValuesList:275,Value:276,DateValue:277,CREATE:278,TemporaryClause:279,TableClass:280,IfNotExists:281,CreateTableDefClause:282,CreateTableOptionsClause:283,TABLE:284,CLASS:285,CreateTableOptions:286,CreateTableOption:287,ENGINE:288,AUTO_INCREMENT:289,CHARSET:290,TEMPORARY:291,TEMP:292,IF:293,ColumnDefsList:294,ConstraintsList:295,Constraint:296,ConstraintName:297,PrimaryKey:298,ForeignKey:299,UniqueKey:300,IndexKey:301,Check:302,CONSTRAINT:303,CHECK:304,PRIMARY:305,KEY:306,ColsList:307,FOREIGN:308,REFERENCES:309,OnForeignKeyClause:310,OnDeleteClause:311,OnUpdateClause:312,NO:313,ACTION:314,ColumnDef:315,ColumnConstraintsClause:316,ColumnConstraints:317,ENUM:318,ColumnConstraintsList:319,ColumnConstraint:320,IDENTITY:321,DROP:322,DropTable_group0:323,IfExists:324,ALTER:325,RENAME:326,TO:327,ADD:328,MODIFY:329,ATTACH:330,DATABASE:331,DETACH:332,AsClause:333,USE:334,SHOW:335,DATABASES:336,TABLES:337,VIEW:338,HELP:339,ExpressionStatement:340,SOURCE:341,ASSERT:342,JsonObject:343,ATLBRA:344,JsonArray:345,JsonValue:346,JsonPrimitiveValue:347,LCUR:348,JsonPropertiesList:349,RCUR:350,JsonElementsList:351,RBRA:352,JsonProperty:353,OnOff:354,SetPropsList:355,SetProp:356,OFF:357,COMMIT:358,TRANSACTION:359,ROLLBACK:360,BEGIN:361,ElseStatement:362,CONTINUE:363,BREAK:364,PRINT:365,REQUIRE:366,StringValuesList:367,DECLARE:368,DeclaresList:369,DeclareItem:370,TRUNCATE:371,MERGE:372,MergeInto:373,MergeUsing:374,MergeOn:375,MergeMatchedList:376,OutputClause:377,MergeMatched:378,MergeNotMatched:379,MATCHED:380,MergeMatchedAction:381,MergeNotMatchedAction:382,TARGET:383,OUTPUT:384,VERTEX:385,CreateVertex_option0:386,CreateVertexSet:387,CONTENT:388,DeleteVertex:389,DeleteVertex_option0:390,DeleteEdge:391,EDGE:392,DeleteEdge_option0:393,DeleteEdge_option1:394,DeleteEdge_option2:395,$accept:0,$end:1},terminals_:{2:"error",4:"LITERAL",5:"BRALITERAL",8:"EOF",9:"SEMICOLON",11:"GO",13:"EXPLAIN",14:"QUERY",15:"PLAN",24:"CreateEdge",47:"EndTransaction",61:"WITH",63:"COMMA",65:"AS",66:"LPAR",67:"RPAR",85:"REMOVE",90:"LIKE",93:"SEARCH",96:"FROM",99:"LET",101:"WHILE",103:"LIMIT",105:"STRATEGY",107:"TIMEOUT",109:"DISTINCT",112:"UNIQUE",113:"ALL",114:"SELECT",115:"VALUE",116:"ROW",117:"COLUMN",118:"MATRIX",119:"TEXTSTRING",120:"INDEX",121:"RECORDSET",122:"TOP",124:"PERCENT",125:"INTO",130:"STRING",134:"CROSS",135:"APPLY",136:"OUTER",139:"DOT",145:"NATURAL",146:"JOIN",147:"INNER",148:"LEFT",149:"RIGHT",150:"FULL",151:"SEMI",152:"ANTI",153:"ON",154:"USING",156:"WHERE",157:"GROUP",158:"BY",162:"GROUPING",163:"SETS",164:"ROLLUP",165:"CUBE",166:"HAVING",167:"UNION",168:"EXCEPT",169:"INTERSECT",170:"CORRESPONDING",171:"ORDER",174:"DIRECTION",175:"COLLATE",176:"NOCASE",178:"OFFSET",180:"NUMBER",182:"STAR",193:"JAVASCRIPT",194:"NEW",195:"CAST",197:"CONVERT",199:"CURRENT_TIMESTAMP",203:"OVER",206:"PARTITION",207:"SUM",208:"COUNT",209:"MIN",210:"MAX",211:"AVG",212:"FIRST",213:"LAST",214:"AGGR",215:"ARRAY",216:"TRUE",217:"FALSE",218:"NSTRING",219:"NULL",220:"AT",221:"EXISTS",222:"DOLLAR",223:"COLON",224:"QUESTION",225:"BRAQUESTION",226:"CASE",229:"END",231:"WHEN",232:"THEN",233:"ELSE",234:"NOT_LIKE",235:"PLUS",236:"MINUS",237:"SLASH",238:"MODULO",239:"CARET",240:"ARROW",241:"SHARP",242:"GT",243:"GE",244:"LT",245:"LE",246:"EQ",247:"EQEQ",248:"EQEQEQ",249:"NE",250:"NEEQEQ",251:"NEEQEQEQ",254:"AND",255:"OR",256:"NOT",257:"IN",259:"BETWEEN",260:"NOT_BETWEEN",261:"IS",262:"DOUBLECOLON",263:"SOME",264:"ANY",265:"UPDATE",266:"SET",269:"DELETE",270:"INSERT",272:"VALUES",274:"DEFAULT",277:"DateValue",278:"CREATE",284:"TABLE",285:"CLASS",288:"ENGINE",289:"AUTO_INCREMENT",290:"CHARSET",291:"TEMPORARY",292:"TEMP",293:"IF",303:"CONSTRAINT",304:"CHECK",305:"PRIMARY",306:"KEY",308:"FOREIGN",309:"REFERENCES",313:"NO",314:"ACTION",317:"ColumnConstraints",318:"ENUM",321:"IDENTITY",322:"DROP",325:"ALTER",326:"RENAME",327:"TO",328:"ADD",329:"MODIFY",330:"ATTACH",331:"DATABASE",332:"DETACH",334:"USE",335:"SHOW",336:"DATABASES",337:"TABLES",338:"VIEW",339:"HELP",341:"SOURCE",342:"ASSERT",344:"ATLBRA",348:"LCUR",350:"RCUR",352:"RBRA",357:"OFF",358:"COMMIT",359:"TRANSACTION",360:"ROLLBACK",361:"BEGIN",363:"CONTINUE",364:"BREAK",365:"PRINT",366:"REQUIRE",368:"DECLARE",371:"TRUNCATE",372:"MERGE",380:"MATCHED",383:"TARGET",384:"OUTPUT",385:"VERTEX",388:"CONTENT",392:"EDGE"},productions_:[0,[3,1],[3,1],[6,2],[7,3],[7,3],[7,1],[7,1],[12,2],[12,4],[10,1],[16,0],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[37,3],[62,3],[62,1],[64,5],[35,9],[35,7],[84,3],[87,3],[87,1],[88,1],[88,2],[77,1],[92,2],[95,2],[98,1],[100,2],[102,2],[104,2],[106,2],[68,4],[68,4],[68,4],[68,3],[108,1],[108,2],[108,2],[108,2],[108,2],[108,2],[108,2],[108,2],[110,2],[110,4],[110,3],[110,0],[70,0],[70,2],[70,2],[70,2],[70,2],[70,2],[71,2],[71,3],[71,5],[71,0],[133,6],[133,7],[133,6],[133,7],[131,1],[131,3],[137,4],[137,5],[137,3],[137,2],[137,3],[137,1],[137,2],[137,3],[137,1],[137,1],[137,2],[137,3],[137,1],[137,2],[137,3],[137,1],[137,2],[137,3],[138,1],[126,3],[126,1],[132,2],[132,2],[132,1],[132,1],[140,3],[142,1],[142,2],[142,3],[142,2],[142,3],[142,4],[142,5],[142,1],[142,2],[142,3],[142,1],[142,2],[142,3],[141,1],[141,2],[144,1],[144,2],[144,2],[144,3],[144,2],[144,3],[144,2],[144,3],[144,2],[144,2],[144,2],[143,2],[143,2],[143,0],[72,0],[72,2],[73,0],[73,4],[159,1],[159,3],[161,5],[161,4],[161,4],[161,1],[160,0],[160,2],[76,0],[76,2],[76,3],[76,2],[76,2],[76,3],[76,4],[76,3],[76,3],[74,0],[74,3],[172,1],[172,3],[173,1],[173,2],[173,3],[173,4],[75,0],[75,3],[177,0],[177,2],[111,3],[111,1],[179,3],[179,2],[179,3],[179,2],[179,3],[179,2],[179,1],[181,5],[181,3],[181,1],[89,5],[89,3],[89,3],[89,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,3],[97,3],[97,3],[97,1],[51,1],[191,2],[191,2],[189,6],[189,8],[189,6],[189,8],[198,1],[198,1],[198,1],[198,1],[198,1],[198,1],[198,1],[183,5],[183,6],[183,6],[202,0],[202,4],[202,4],[202,5],[204,3],[205,3],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[200,1],[127,4],[127,3],[201,1],[201,3],[123,1],[185,1],[185,1],[91,1],[91,1],[186,1],[129,2],[187,4],[128,2],[128,2],[128,1],[128,1],[188,5],[188,4],[227,2],[227,1],[230,4],[228,2],[228,0],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,5],[184,3],[184,3],[184,3],[184,5],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,3],[184,6],[184,6],[184,3],[184,3],[184,2],[184,2],[184,2],[184,3],[184,5],[184,6],[184,5],[184,6],[184,4],[184,5],[184,3],[184,4],[184,3],[184,3],[184,3],[184,3],[258,1],[258,1],[258,4],[252,1],[252,1],[252,1],[252,1],[252,1],[252,1],[253,1],[253,1],[253,1],[49,6],[49,4],[267,1],[267,3],[268,3],[27,5],[27,3],[33,5],[33,5],[33,8],[33,4],[33,7],[271,0],[271,1],[273,3],[273,1],[273,1],[273,5],[273,3],[273,3],[275,1],[275,3],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[155,1],[155,3],[22,9],[22,5],[280,1],[280,1],[283,0],[283,1],[286,2],[286,1],[287,1],[287,3],[287,3],[287,3],[279,0],[279,1],[279,1],[281,0],[281,3],[282,3],[282,1],[282,2],[295,1],[295,3],[296,2],[296,2],[296,2],[296,2],[296,2],[297,0],[297,2],[302,4],[298,5],[299,11],[310,0],[310,2],[311,4],[312,4],[300,1],[301,5],[301,5],[307,1],[307,1],[307,3],[307,3],[294,1],[294,3],[315,3],[315,2],[315,1],[196,6],[196,4],[196,1],[196,4],[316,0],[316,1],[319,2],[319,1],[320,2],[320,7],[320,5],[320,1],[320,6],[320,1],[320,2],[320,1],[320,2],[320,1],[31,4],[324,0],[324,2],[18,6],[18,6],[18,6],[18,8],[18,6],[34,5],[19,4],[19,7],[19,6],[19,9],[28,3],[20,4],[20,6],[20,9],[20,6],[333,0],[333,2],[48,3],[48,2],[29,4],[29,5],[29,5],[21,8],[21,9],[30,3],[40,2],[40,4],[40,3],[40,5],[42,2],[42,4],[42,4],[42,6],[39,4],[39,6],[41,4],[41,6],[38,4],[38,6],[23,10],[23,7],[32,4],[50,2],[50,1],[340,1],[52,2],[53,2],[53,2],[53,4],[190,4],[190,2],[190,2],[190,2],[190,2],[190,1],[190,2],[190,2],[346,1],[346,1],[347,1],[347,1],[347,1],[347,1],[347,1],[347,1],[347,1],[347,3],[343,3],[343,4],[343,2],[345,2],[345,3],[345,1],[349,3],[349,1],[353,3],[353,3],[353,3],[351,3],[351,1],[60,3],[60,5],[60,6],[355,3],[355,2],[356,1],[356,1],[356,3],[354,1],[354,1],[45,2],[46,2],[44,2],[17,4],[17,3],[362,2],[54,3],[55,1],[56,1],[57,3],[58,2],[58,2],[59,2],[367,3],[367,1],[26,2],[369,1],[369,3],[370,3],[370,4],[370,5],[370,6],[43,3],[36,6],[373,1],[373,2],[374,2],[375,2],[376,2],[376,2],[376,1],[376,1],[378,4],[378,6],[381,1],[381,3],[379,5],[379,7],[379,7],[379,9],[379,7],[379,9],[382,3],[382,6],[382,3],[382,6],[377,0],[377,2],[377,5],[377,4],[377,7],[25,4],[387,0],[387,2],[387,2],[387,1],[389,4],[391,6],[69,0],[69,1],[78,0],[78,1],[79,0],[79,1],[80,0],[80,1],[81,0],[81,1],[82,0],[82,1],[83,0],[83,1],[86,0],[86,1],[94,0],[94,2],[192,1],[192,1],[323,1],[323,1],[386,0],[386,1],[390,0],[390,2],[393,0],[393,2],[394,0],[394,2],[395,0],[395,2]],performAction:function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:if(yy.casesensitive)this.$=$$[$0];else this.$=$$[$0].toLowerCase();break;case 2:this.$=doubleq($$[$0].substr(1,$$[$0].length-2));break;case 3:return new yy.Statements({statements:$$[$0-1]});break;case 4:case 5:this.$=$$[$0-2];if($$[$0])$$[$0-2].push($$[$0]);break;case 6:case 7:case 58:case 64:case 105:case 130:case 131:case 166:case 185:case 196:case 265:case 282:case 346:case 359:case 360:case 364:case 372:case 413:case 414:case 522:case 527:case 547:case 549:case 563:case 564:this.$=[$$[$0]];break;case 8:this.$=$$[$0];$$[$0].explain=true;break;case 9:this.$=$$[$0];$$[$0].explain=true;break;case 10:this.$=$$[$0];if(yy.exists)this.$.exists=yy.exists;delete yy.exists;if(yy.queries)this.$.queries=yy.queries;delete yy.queries;break;case 11:case 79:case 90:case 100:case 161:case 162:case 164:case 172:case 174:case 183:case 191:case 193:case 244:case 285:case 376:case 386:case 389:case 401:case 406:case 407:case 441:this.$=undefined;break;case 56:this.$=new yy.WithSelect({withs:$$[$0-1],select:$$[$0]});break;case 57:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 59:this.$={name:$$[$0-4],select:$$[$0-1]};break;case 60:yy.extend(this.$,$$[$0-8]);yy.extend(this.$,$$[$0-7]);yy.extend(this.$,$$[$0-6]);yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);this.$=$$[$0-8];break;case 62:this.$={removecolumns:$$[$0]};break;case 63:this.$=$$[$0-2];this.$.push($$[$0]);break;case 65:case 68:case 112:case 171:case 203:case 211:case 212:case 213:case 214:case 215:case 216:case 217:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 226:case 238:case 239:case 240:case 241:case 242:case 243:case 284:case 335:case 336:case 337:case 338:case 339:case 340:case 402:case 427:case 429:case 496:case 497:case 498:case 499:case 500:case 501:case 505:case 507:case 508:case 517:case 528:case 529:this.$=$$[$0];break;case 66:this.$={like:$$[$0]};break;case 75:this.$=new yy.Select({columns:$$[$0],distinct:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 76:this.$=new yy.Select({columns:$$[$0],distinct:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 77:this.$=new yy.Select({columns:$$[$0],all:true});yy,extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-1]);break;case 78:this.$=new yy.Select({columns:$$[$0]});yy,extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);break;case 80:this.$={modifier:"VALUE"};break;case 81:this.$={modifier:"ROW"};break;case 82:this.$={modifier:"COLUMN"};break;case 83:this.$={modifier:"MATRIX"};break;case 84:this.$={modifier:"TEXTSTRING"};break;case 85:this.$={modifier:"INDEX"};break;case 86:this.$={modifier:"RECORDSET"};break;case 87:this.$={top:$$[$0]};break;case 88:this.$={top:$$[$0-1]};break;case 89:this.$={top:$$[$0-1],percent:true};break;case 91:case 248:case 408:case 409:case 585:this.$=undefined;break;case 92:case 93:case 94:case 95:this.$={into:$$[$0]};break;case 96:var s=$$[$0];s=s.substr(1,s.length-2);var x3=s.substr(-3).toUpperCase();var x4=s.substr(-4).toUpperCase();if(s[0]=="#"){this.$={into:new yy.FuncValue({funcid:"HTML",args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}else if(x3=="XLS"||x3=="CSV"||x3=="TAB"){this.$={into:new yy.FuncValue({funcid:x3,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}else if(x4=="XLSX"||x4=="JSON"){this.$={into:new yy.FuncValue({funcid:x4,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}}break;case 97:this.$={from:$$[$0]};break;case 98:this.$={from:$$[$0-1],joins:$$[$0]};break;case 99:this.$={from:$$[$0-2],joins:$$[$0-1]};break;case 101:this.$=new yy.Apply({select:$$[$0-2],applymode:"CROSS",as:$$[$0]});break;case 102:this.$=new yy.Apply({select:$$[$0-3],applymode:"CROSS",as:$$[$0]});break;case 103:this.$=new yy.Apply({select:$$[$0-2],applymode:"OUTER",as:$$[$0]});break;case 104:this.$=new yy.Apply({select:$$[$0-3],applymode:"OUTER",as:$$[$0]});break;case 106:case 167:case 347:case 415:case 416:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 107:this.$=$$[$0-2];this.$.as=$$[$0];break;case 108:this.$=$$[$0-3];this.$.as=$$[$0];break;case 109:this.$=$$[$0-1];this.$.as="default";break;case 110:this.$=$$[$0-1];$$[$0-1].as=$$[$0];break;case 111:this.$=$$[$0-2];$$[$0-2].as=$$[$0];break;case 113:case 117:case 120:case 123:this.$=$$[$0-1];$$[$0-1].as=$$[$0];break;case 114:case 118:case 121:case 124:this.$=$$[$0-2];$$[$0-2].as=$$[$0];break;case 115:case 116:case 119:case 122:this.$=$$[$0];$$[$0].as="default";break;case 125:var s=$$[$0];s=s.substr(1,s.length-2);var x3=s.substr(-3).toUpperCase();var x4=s.substr(-4).toUpperCase();var r;if(s[0]=="#"){r=new yy.FuncValue({funcid:"HTML",args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else if(x3=="XLS"||x3=="CSV"||x3=="TAB"){r=new yy.FuncValue({funcid:x3,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else if(x4=="XLSX"||x4=="JSON"){r=new yy.FuncValue({funcid:x4,args:[new yy.StringValue({value:s}),new yy.Json({value:{headers:true}})]})}else{throw new Error("Unknown string in FROM clause")};this.$=r;break;case 126:this.$=new yy.Table({databaseid:$$[$0-2],tableid:$$[$0]});break;case 127:this.$=new yy.Table({tableid:$$[$0]});break;case 128:case 129:this.$=$$[$0-1];$$[$0-1].push($$[$0]);break;case 132:this.$=new yy.Join($$[$0-2]);yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);break;case 133:this.$={table:$$[$0]};break;case 134:this.$={table:$$[$0-1],as:$$[$0]};break;case 135:this.$={table:$$[$0-2],as:$$[$0]};break;case 136:this.$={param:$$[$0-1],as:$$[$0]};break;case 137:this.$={param:$$[$0-2],as:$$[$0]};break;case 138:this.$={select:$$[$0-3],as:$$[$0]};break;case 139:this.$={select:$$[$0-4],as:$$[$0]};break;case 140:this.$={funcid:$$[$0],as:"default"};break;case 141:this.$={funcid:$$[$0-1],as:$$[$0]};break;case 142:this.$={funcid:$$[$0-2],as:$$[$0]};break;case 143:this.$={variable:$$[$0],as:"default"};break;case 144:this.$={variable:$$[$0-1],as:$$[$0]};break;case 145:this.$={variable:$$[$0-2],as:$$[$0]};break;case 146:this.$={joinmode:$$[$0]};break;case 147:this.$={joinmode:$$[$0-1],natural:true};break;case 148:case 149:this.$="INNER";break;case 150:case 151:this.$="LEFT";break;case 152:case 153:this.$="RIGHT";break;case 154:case 155:this.$="OUTER";break;case 156:this.$="SEMI";break;case 157:this.$="ANTI";break;case 158:this.$="CROSS";break;case 159:this.$={on:$$[$0]};break;case 160:case 559:this.$={using:$$[$0]};break;case 163:this.$={where:new yy.Expression({expression:$$[$0]})};break;case 165:this.$={group:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 168:this.$=new yy.GroupExpression({type:"GROUPING SETS",group:$$[$0-1]});break;case 169:this.$=new yy.GroupExpression({type:"ROLLUP",group:$$[$0-1]});break;case 170:this.$=new yy.GroupExpression({type:"CUBE",group:$$[$0-1]});break;case 173:this.$={having:$$[$0]};break;case 175:this.$={union:$$[$0]};break;case 176:this.$={unionall:$$[$0]};break;case 177:this.$={except:$$[$0]};break;case 178:this.$={intersect:$$[$0]};break;case 179:this.$={union:$$[$0-1],corresponding:true};break;case 180:this.$={unionall:$$[$0-1],corresponding:true};break;case 181:this.$={except:$$[$0-1],corresponding:true};break;case 182:this.$={intersect:$$[$0-1],corresponding:true};break;case 184:this.$={order:$$[$0]};break;case 186:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 187:this.$=new yy.Expression({expression:$$[$0],direction:"ASC"});break;case 188:this.$=new yy.Expression({expression:$$[$0-1],direction:$$[$0].toUpperCase()});break;case 189:this.$=new yy.Expression({expression:$$[$0-2],direction:"ASC",nocase:true});break;case 190:this.$=new yy.Expression({expression:$$[$0-3],direction:$$[$0].toUpperCase(),nocase:true});break;case 192:this.$={limit:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 194:this.$={offset:$$[$0]};break;case 195:case 395:case 418:case 521:case 526:case 546:case 550:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 197:case 199:case 201:$$[$0-2].as=$$[$0];this.$=$$[$0-2];break;case 198:case 200:case 202:$$[$0-1].as=$$[$0];this.$=$$[$0-1];break;case 204:this.$=new yy.Column({columid:$$[$0],tableid:$$[$0-2],databaseid:$$[$0-4]});break;case 205:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2]});break;case 206:this.$=new yy.Column({columnid:$$[$0]});break;case 207:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2],databaseid:$$[$0-4]});break;case 208:case 209:this.$=new yy.Column({columnid:$$[$0],tableid:$$[$0-2]});break;case 210:this.$=new yy.Column({columnid:$$[$0]});break;case 225:this.$=new yy.Json({value:$$[$0]});break;case 227:case 228:case 229:if(!yy.queries)yy.queries=[];yy.queries.push($$[$0-1]);$$[$0-1].queriesidx=yy.queries.length;this.$=$$[$0-1];break;case 230:this.$=$$[$0];break;case 231:this.$=new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)});break;case 232:this.$=new yy.FuncValue({funcid:$$[$0],newid:true});break;case 233:this.$=$$[$0];yy.extend(this.$,{newid:true});break;case 234:this.$=new yy.Convert({expression:$$[$0-3]});yy.extend(this.$,$$[$0-1]);break;case 235:this.$=new yy.Convert({expression:$$[$0-5],style:$$[$0-1]});yy.extend(this.$,$$[$0-3]);break;case 236:this.$=new yy.Convert({expression:$$[$0-1]});yy.extend(this.$,$$[$0-3]);
|
|
2
2
|
break;case 237:this.$=new yy.Convert({expression:$$[$0-3],style:$$[$0-1]});yy.extend(this.$,$$[$0-5]);break;case 245:if($$[$0-2].length>1&&($$[$0-4].toUpperCase()=="MAX"||$$[$0-4].toUpperCase()=="MIN")){this.$=new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]})}else{this.$=new yy.AggrValue({aggregatorid:$$[$0-4].toUpperCase(),expression:$$[$0-2].pop(),over:$$[$0]})}break;case 246:this.$=new yy.AggrValue({aggregatorid:$$[$0-5].toUpperCase(),expression:$$[$0-2],distinct:true,over:$$[$0]});break;case 247:this.$=new yy.AggrValue({aggregatorid:$$[$0-5].toUpperCase(),expression:$$[$0-2],over:$$[$0]});break;case 249:case 250:this.$=new yy.Over;yy.extend(this.$,$$[$0-1]);break;case 251:this.$=new yy.Over;yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);break;case 252:this.$={partition:$$[$0]};break;case 253:this.$={order:$$[$0]};break;case 254:this.$="SUM";break;case 255:this.$="COUNT";break;case 256:this.$="MIN";break;case 257:this.$="MAX";break;case 258:this.$="AVG";break;case 259:this.$="FIRST";break;case 260:this.$="LAST";break;case 261:this.$="AGGR";break;case 262:this.$="ARRAY";break;case 263:var funcid=$$[$0-3];var exprlist=$$[$0-1];if(exprlist.length>1&&(funcid.toUpperCase()=="MIN"||funcid.toUpperCase()=="MAX")){this.$=new yy.FuncValue({funcid:funcid,args:exprlist})}else if(alasql.aggr[$$[$0-3]]){this.$=new yy.AggrValue({aggregatorid:"REDUCE",funcid:funcid,expression:exprlist.pop()})}else{this.$=new yy.FuncValue({funcid:funcid,args:exprlist})};break;case 264:this.$=new yy.FuncValue({funcid:$$[$0-2]});break;case 266:$$[$0-2].push($$[$0]);this.$=$$[$0-2];break;case 267:this.$=new yy.NumValue({value:+$$[$0]});break;case 268:this.$=new yy.LogicValue({value:true});break;case 269:this.$=new yy.LogicValue({value:false});break;case 270:this.$=new yy.StringValue({value:$$[$0].substr(1,$$[$0].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});break;case 271:this.$=new yy.StringValue({value:$$[$0].substr(2,$$[$0].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});break;case 272:this.$=new yy.NullValue({value:undefined});break;case 273:this.$=new yy.VarValue({variable:$$[$0]});break;case 274:if(!yy.exists)yy.exists=[];this.$=new yy.ExistsValue({value:$$[$0-1],existsidx:yy.exists.length});yy.exists.push($$[$0-1]);break;case 275:case 276:this.$=new yy.ParamValue({param:$$[$0]});break;case 277:if(typeof yy.question=="undefined")yy.question=0;this.$=new yy.ParamValue({param:yy.question++});break;case 278:if(typeof yy.question=="undefined")yy.question=0;this.$=new yy.ParamValue({param:yy.question++,array:true});break;case 279:this.$=new yy.CaseValue({expression:$$[$0-3],whens:$$[$0-2],elses:$$[$0-1]});break;case 280:this.$=new yy.CaseValue({whens:$$[$0-2],elses:$$[$0-1]});break;case 281:case 561:case 562:this.$=$$[$0-1];this.$.push($$[$0]);break;case 283:this.$={when:$$[$0-2],then:$$[$0]};break;case 286:this.$=new yy.Op({left:$$[$0-2],op:"LIKE",right:$$[$0]});break;case 287:this.$=new yy.Op({left:$$[$0-2],op:"NOT LIKE",right:$$[$0]});break;case 288:this.$=new yy.Op({left:$$[$0-2],op:"+",right:$$[$0]});break;case 289:this.$=new yy.Op({left:$$[$0-2],op:"-",right:$$[$0]});break;case 290:this.$=new yy.Op({left:$$[$0-2],op:"*",right:$$[$0]});break;case 291:this.$=new yy.Op({left:$$[$0-2],op:"/",right:$$[$0]});break;case 292:this.$=new yy.Op({left:$$[$0-2],op:"%",right:$$[$0]});break;case 293:this.$=new yy.Op({left:$$[$0-2],op:"^",right:$$[$0]});break;case 294:case 295:case 297:this.$=new yy.Op({left:$$[$0-2],op:"->",right:$$[$0]});break;case 296:this.$=new yy.Op({left:$$[$0-4],op:"->",right:$$[$0-1]});break;case 298:case 299:case 301:this.$=new yy.Op({left:$$[$0-2],op:"#",right:$$[$0]});break;case 300:this.$=new yy.Op({left:$$[$0-4],op:"#",right:$$[$0-1]});break;case 302:this.$=new yy.Op({left:$$[$0-2],op:">",right:$$[$0]});break;case 303:this.$=new yy.Op({left:$$[$0-2],op:">=",right:$$[$0]});break;case 304:this.$=new yy.Op({left:$$[$0-2],op:"<",right:$$[$0]});break;case 305:this.$=new yy.Op({left:$$[$0-2],op:"<=",right:$$[$0]});break;case 306:this.$=new yy.Op({left:$$[$0-2],op:"=",right:$$[$0]});break;case 307:this.$=new yy.Op({left:$$[$0-2],op:"==",right:$$[$0]});break;case 308:this.$=new yy.Op({left:$$[$0-2],op:"===",right:$$[$0]});break;case 309:this.$=new yy.Op({left:$$[$0-2],op:"!=",right:$$[$0]});break;case 310:this.$=new yy.Op({left:$$[$0-2],op:"!==",right:$$[$0]});break;case 311:this.$=new yy.Op({left:$$[$0-2],op:"!===",right:$$[$0]});break;case 312:if(!yy.queries)yy.queries=[];this.$=new yy.Op({left:$$[$0-5],op:$$[$0-4],allsome:$$[$0-3],right:$$[$0-1],queriesidx:yy.queries.length});yy.queries.push($$[$0-1]);break;case 313:this.$=new yy.Op({left:$$[$0-5],op:$$[$0-4],allsome:$$[$0-3],right:$$[$0-1]});break;case 314:this.$=new yy.Op({left:$$[$0-2],op:"AND",right:$$[$0]});break;case 315:this.$=new yy.Op({left:$$[$0-2],op:"OR",right:$$[$0]});break;case 316:this.$=new yy.UniOp({op:"NOT",right:$$[$0]});break;case 317:this.$=new yy.UniOp({op:"-",right:$$[$0]});break;case 318:this.$=new yy.UniOp({op:"+",right:$$[$0]});break;case 319:this.$=new yy.UniOp({right:$$[$0-1]});break;case 320:if(!yy.queries)yy.queries=[];this.$=new yy.Op({left:$$[$0-4],op:"IN",right:$$[$0-1],queriesidx:yy.queries.length});yy.queries.push($$[$0-1]);break;case 321:if(!yy.queries)yy.queries=[];this.$=new yy.Op({left:$$[$0-5],op:"NOT IN",right:$$[$0-1],queriesidx:yy.queries.length});yy.queries.push($$[$0-1]);break;case 322:this.$=new yy.Op({left:$$[$0-4],op:"IN",right:$$[$0-1]});break;case 323:this.$=new yy.Op({left:$$[$0-5],op:"NOT IN",right:$$[$0-1]});break;case 324:this.$=new yy.Op({left:$$[$0-3],op:"IN",right:[]});break;case 325:this.$=new yy.Op({left:$$[$0-4],op:"NOT IN",right:[]});break;case 326:this.$=new yy.Op({left:$$[$0-2],op:"IN",right:$$[$0]});break;case 327:this.$=new yy.Op({left:$$[$0-3],op:"NOT IN",right:$$[$0]});break;case 328:this.$=new yy.Op({left:$$[$0-2],op:"BETWEEN",right:$$[$0]});break;case 329:this.$=new yy.Op({left:$$[$0-2],op:"NOT BETWEEN",right:$$[$0]});break;case 330:this.$=new yy.Op({op:"IS",left:$$[$0-2],right:$$[$0]});break;case 331:this.$=new yy.Convert({expression:$$[$0-2]});yy.extend(this.$,$$[$0]);break;case 332:case 333:this.$=$$[$0];break;case 334:this.$=$$[$0-1];break;case 341:this.$="ALL";break;case 342:this.$="SOME";break;case 343:this.$="ANY";break;case 344:this.$=new yy.Update({table:$$[$0-4],columns:$$[$0-2],where:$$[$0]});break;case 345:this.$=new yy.Update({table:$$[$0-2],columns:$$[$0]});break;case 348:this.$=new yy.SetColumn({column:$$[$0-2],expression:$$[$0]});break;case 349:this.$=new yy.Delete({table:$$[$0-2],where:$$[$0]});break;case 350:this.$=new yy.Delete({table:$$[$0]});break;case 351:this.$=new yy.Insert({into:$$[$0-2],values:$$[$0]});break;case 352:this.$=new yy.Insert({into:$$[$0-2],"default":true});break;case 353:this.$=new yy.Insert({into:$$[$0-5],columns:$$[$0-3],values:$$[$0]});break;case 354:this.$=new yy.Insert({into:$$[$0-1],select:$$[$0]});break;case 355:this.$=new yy.Insert({into:$$[$0-4],columns:$$[$0-2],select:$$[$0]});break;case 358:this.$=[$$[$0-1]];break;case 361:this.$=$$[$0-4];$$[$0-4].push($$[$0-1]);break;case 362:case 363:case 365:case 373:this.$=$$[$0-2];$$[$0-2].push($$[$0]);break;case 374:this.$=new yy.CreateTable({table:$$[$0-4]});yy.extend(this.$,$$[$0-7]);yy.extend(this.$,$$[$0-6]);yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0]);break;case 375:this.$=new yy.CreateTable({table:$$[$0]});yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,$$[$0-1]);break;case 377:this.$={"class":true};break;case 387:case 388:this.$={temporary:true};break;case 390:this.$={ifnotexists:true};break;case 391:this.$={columns:$$[$0-2],constraints:$$[$0]};break;case 392:this.$={columns:$$[$0]};break;case 393:this.$={as:$$[$0]};break;case 394:case 417:this.$=[$$[$0]];break;case 396:case 397:case 398:case 399:case 400:$$[$0].constraintid=$$[$0-1];this.$=$$[$0];break;case 403:this.$={type:"CHECK",expression:$$[$0-1]};break;case 404:this.$={type:"PRIMARY KEY",columns:$$[$0-1]};break;case 405:this.$={type:"FOREIGN KEY",columns:$$[$0-7],fktableid:$$[$0-4],fkcolumns:$$[$0-2]};break;case 419:this.$=new yy.ColumnDef({columnid:$$[$0-2]});yy.extend(this.$,$$[$0-1]);yy.extend(this.$,$$[$0]);break;case 420:this.$=new yy.ColumnDef({columnid:$$[$0-1]});yy.extend(this.$,$$[$0]);break;case 421:this.$=new yy.ColumnDef({columnid:$$[$0],dbtypeid:""});break;case 422:this.$={dbtypeid:$$[$0-5],dbsize:+$$[$0-3],dbprecision:+$$[$0-1]};break;case 423:this.$={dbtypeid:$$[$0-3],dbsize:+$$[$0-1]};break;case 424:this.$={dbtypeid:$$[$0]};break;case 425:this.$={dbtypeid:"ENUM",enumvalues:$$[$0-1]};break;case 426:this.$=undefined;break;case 428:yy.extend($$[$0-1],$$[$0]);this.$=$$[$0-1];break;case 430:this.$={primarykey:true};break;case 431:case 432:this.$={foreignkey:{tableid:$$[$0-3],columnid:$$[$0-1]}};break;case 433:this.$={auto_increment:true};break;case 434:this.$={identity:[$$[$0-3],$$[$0-1]]};break;case 435:this.$={identity:[1,1]};break;case 436:this.$={"default":$$[$0]};break;case 437:this.$={"null":true};break;case 438:this.$={notnull:true};break;case 439:this.$=$$[$0];break;case 440:this.$=new yy.DropTable({table:$$[$0],type:$$[$0-2]});yy.extend(this.$,$$[$0-1]);break;case 442:this.$={ifexists:true};break;case 443:this.$=new yy.AlterTable({table:$$[$0-3],renameto:$$[$0]});break;case 444:this.$=new yy.AlterTable({table:$$[$0-3],addcolumn:$$[$0]});break;case 445:this.$=new yy.AlterTable({table:$$[$0-3],modifycolumn:$$[$0]});break;case 446:this.$=new yy.AlterTable({table:$$[$0-5],renamecolumn:$$[$0-2],to:$$[$0]});break;case 447:this.$=new yy.AlterTable({table:$$[$0-3],dropcolumn:$$[$0]});break;case 448:this.$=new yy.AlterTable({table:$$[$0-2],renameto:$$[$0]});break;case 449:this.$=new yy.AttachDatabase({databaseid:$$[$0],engineid:$$[$0-2].toUpperCase()});break;case 450:this.$=new yy.AttachDatabase({databaseid:$$[$0-3],engineid:$$[$0-5].toUpperCase(),args:$$[$0-1]});break;case 451:this.$=new yy.AttachDatabase({databaseid:$$[$0-2],engineid:$$[$0-4].toUpperCase(),as:$$[$0]});break;case 452:this.$=new yy.AttachDatabase({databaseid:$$[$0-5],engineid:$$[$0-7].toUpperCase(),as:$$[$0],args:$$[$0-3]});break;case 453:this.$=new yy.DetachDatabase({databaseid:$$[$0]});break;case 454:this.$=new yy.CreateDatabase({databaseid:$$[$0]});yy.extend(this.$,$$[$0]);break;case 455:this.$=new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),databaseid:$$[$0-1],as:$$[$0]});yy.extend(this.$,$$[$0-2]);break;case 456:this.$=new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(),databaseid:$$[$0-4],args:$$[$0-2],as:$$[$0]});yy.extend(this.$,$$[$0-5]);break;case 457:this.$=new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),as:$$[$0],args:[$$[$0-1]]});yy.extend(this.$,$$[$0-2]);break;case 458:this.$=undefined;break;case 459:case 492:case 510:case 513:case 530:this.$=$$[$0-1];break;case 460:case 461:this.$=new yy.UseDatabase({databaseid:$$[$0]});break;case 462:this.$=new yy.DropDatabase({databaseid:$$[$0]});yy.extend(this.$,$$[$0-1]);break;case 463:case 464:this.$=new yy.DropDatabase({databaseid:$$[$0],engineid:$$[$0-3].toUpperCase()});yy.extend(this.$,$$[$0-1]);break;case 465:this.$=new yy.CreateIndex({indexid:$$[$0-5],table:$$[$0-3],columns:$$[$0-1]});break;case 466:this.$=new yy.CreateIndex({indexid:$$[$0-5],table:$$[$0-3],columns:$$[$0-1],unique:true});break;case 467:this.$=new yy.DropIndex({indexid:$$[$0]});break;case 468:this.$=new yy.ShowDatabases;break;case 469:this.$=new yy.ShowDatabases({like:$$[$0]});break;case 470:this.$=new yy.ShowDatabases({engineid:$$[$0-1].toUpperCase()});break;case 471:this.$=new yy.ShowDatabases({engineid:$$[$0-3].toUpperCase(),like:$$[$0]});break;case 472:this.$=new yy.ShowTables;break;case 473:this.$=new yy.ShowTables({like:$$[$0]});break;case 474:this.$=new yy.ShowTables({databaseid:$$[$0]});break;case 475:this.$=new yy.ShowTables({like:$$[$0],databaseid:$$[$0-2]});break;case 476:this.$=new yy.ShowColumns({table:$$[$0]});break;case 477:this.$=new yy.ShowColumns({table:$$[$0-2],databaseid:$$[$0]});break;case 478:this.$=new yy.ShowIndex({table:$$[$0]});break;case 479:this.$=new yy.ShowIndex({table:$$[$0-2],databaseid:$$[$0]});break;case 480:this.$=new yy.ShowCreateTable({table:$$[$0]});break;case 481:this.$=new yy.ShowCreateTable({table:$$[$0-2],databaseid:$$[$0]});break;case 482:this.$=new yy.CreateTable({table:$$[$0-5],view:true,select:$$[$0],viewcolumns:$$[$0-3]});yy.extend(this.$,$$[$0-8]);yy.extend(this.$,$$[$0-6]);break;case 483:this.$=new yy.CreateTable({table:$$[$0-2],view:true,select:$$[$0]});yy.extend(this.$,$$[$0-5]);yy.extend(this.$,$$[$0-3]);break;case 484:this.$=new yy.DropTable({table:$$[$0],view:true});yy.extend(this.$,$$[$0-1]);break;case 485:this.$=new yy.Help({subject:$$[$0].value.toUpperCase()});break;case 486:this.$=new yy.Help;break;case 487:this.$=new yy.ExpressionStatement({expression:$$[$0]});break;case 488:this.$=new yy.Source({url:$$[$0].value});break;case 489:this.$=new yy.Assert({value:$$[$0]});break;case 490:this.$=new yy.Assert({value:$$[$0].value});break;case 491:this.$=new yy.Assert({value:$$[$0],message:$$[$0-2]});break;case 493:case 504:case 506:this.$=$$[$0].value;break;case 494:case 502:this.$=+$$[$0].value;break;case 495:this.$=!!$$[$0].value;break;case 503:this.$=""+$$[$0].value;break;case 509:this.$=$$[$0-1];break;case 511:case 514:this.$=$$[$0-2];break;case 512:this.$={};break;case 515:this.$=[];break;case 516:yy.extend($$[$0-2],$$[$0]);this.$=$$[$0-2];break;case 518:this.$={};this.$[$$[$0-2].substr(1,$$[$0-2].length-2)]=$$[$0];break;case 519:case 520:this.$={};this.$[$$[$0-2]]=$$[$0];break;case 523:this.$=new yy.SetVariable({variable:$$[$0-1].toLowerCase(),value:$$[$0]});break;case 524:this.$=new yy.SetVariable({variable:$$[$0-2],expression:$$[$0]});break;case 525:this.$=new yy.SetVariable({variable:$$[$0-3],props:$$[$0-2],expression:$$[$0]});break;case 531:this.$=true;break;case 532:this.$=false;break;case 533:this.$=new yy.CommitTransaction;break;case 534:this.$=new yy.RollbackTransaction;break;case 535:this.$=new yy.BeginTransaction;break;case 536:this.$=new yy.If({expression:$$[$0-2],thenstat:$$[$0-1],elsestat:$$[$0]});if($$[$0-1].exists)this.$.exists=$$[$0-1].exists;if($$[$0-1].queries)this.$.queries=$$[$0-1].queries;break;case 537:this.$=new yy.If({expression:$$[$0-1],thenstat:$$[$0]});if($$[$0].exists)this.$.exists=$$[$0].exists;if($$[$0].queries)this.$.queries=$$[$0].queries;break;case 538:this.$=$$[$0];break;case 539:this.$=new yy.While({expression:$$[$0-1],loopstat:$$[$0]});if($$[$0].exists)this.$.exists=$$[$0].exists;if($$[$0].queries)this.$.queries=$$[$0].queries;break;case 540:this.$=new yy.Continue;break;case 541:this.$=new yy.Break;break;case 542:this.$=new yy.BeginEnd({statements:$$[$0-1]});break;case 543:case 544:this.$=new yy.Print({statement:$$[$0]});break;case 545:this.$=new yy.Require({paths:$$[$0]});break;case 548:this.$=new yy.Declare({declares:$$[$0]});break;case 551:this.$={variable:$$[$0-1]};yy.extend(this.$,$$[$0]);break;case 552:this.$={variable:$$[$0-2]};yy.extend(this.$,$$[$0]);break;case 553:this.$={variable:$$[$0-3],expression:$$[$0]};yy.extend(this.$,$$[$0-2]);break;case 554:this.$={variable:$$[$0-4],expression:$$[$0]};yy.extend(this.$,$$[$0-2]);break;case 555:this.$=new yy.TruncateTable({table:$$[$0]});break;case 556:this.$=new yy.Merge;yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);break;case 557:case 558:this.$={into:$$[$0]};break;case 560:this.$={on:$$[$0]};break;case 565:this.$={matched:true,action:$$[$0]};break;case 566:this.$={matched:true,expr:$$[$0-2],action:$$[$0]};break;case 567:this.$={"delete":true};break;case 568:this.$={update:$$[$0]};break;case 569:case 570:this.$={matched:false,bytarget:true,action:$$[$0]};break;case 571:case 572:this.$={matched:false,bytarget:true,expr:$$[$0-2],action:$$[$0]};break;case 573:this.$={matched:false,bysource:true,action:$$[$0]};break;case 574:this.$={matched:false,bysource:true,expr:$$[$0-2],action:$$[$0]};break;case 575:this.$={insert:true,values:$$[$0]};break;case 576:this.$={insert:true,values:$$[$0],columns:$$[$0-3]};break;case 577:this.$={insert:true,defaultvalues:true};break;case 578:this.$={insert:true,defaultvalues:true,columns:$$[$0-3]};break;case 580:this.$={output:{columns:$$[$0]}};break;case 581:this.$={output:{columns:$$[$0-3],intovar:$$[$0]}};break;case 582:this.$={output:{columns:$$[$0-2],intotable:$$[$0]}};break;case 583:this.$={output:{columns:$$[$0-5],intotable:$$[$0-3],intocolumns:$$[$0-1]}};break;case 584:this.$=new yy.CreateVertex({"class":$$[$0-1]});yy.extend(this.$,$$[$0]);break;case 586:this.$={sets:$$[$0]};break;case 587:this.$={content:$$[$0]};break;case 588:this.$={select:$$[$0]};break;case 607:this.$=[];break;case 608:$$[$0-1].push($$[$0]);break}},table:[o([8,9,11],$V0,{6:1,7:2,10:3,12:4,16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,13:$V1,24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),{1:[3]},{8:[1,86],9:$Vz,11:$VA},o($VB,[2,6]),o($VB,[2,7]),o($VC,[2,10]),o($VB,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,10:89,14:[1,90],24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($VC,[2,12]),o($VC,[2,13]),o($VC,[2,14]),o($VC,[2,15]),o($VC,[2,16]),o($VC,[2,17]),o($VC,[2,18]),o($VC,[2,19]),o($VC,[2,20]),o($VC,[2,21]),o($VC,[2,22]),o($VC,[2,23]),o($VC,[2,24]),o($VC,[2,25]),o($VC,[2,26]),o($VC,[2,27]),o($VC,[2,28]),o($VC,[2,29]),o($VC,[2,30]),o($VC,[2,31]),o($VC,[2,32]),o($VC,[2,33]),o($VC,[2,34]),o($VC,[2,35]),o($VC,[2,36]),o($VC,[2,37]),o($VC,[2,38]),o($VC,[2,39]),o($VC,[2,40]),o($VC,[2,41]),o($VC,[2,42]),o($VC,[2,43]),o($VC,[2,44]),o($VC,[2,45]),o($VC,[2,46]),o($VC,[2,47]),o($VC,[2,48]),o($VC,[2,49]),o($VC,[2,50]),o($VC,[2,51]),o($VC,[2,52]),o($VC,[2,53]),o($VC,[2,54]),o($VC,[2,55]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:91,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{284:[1,146]},{3:147,4:$VD,5:$VE},o($V91,[2,386],{3:149,279:152,4:$VD,5:$VE,112:[1,151],120:[1,150],291:[1,154],292:[1,155],331:[1,148],385:$Va1}),{220:$Vb1,369:156,370:157},{96:[1,159]},{331:[1,160]},{3:162,4:$VD,5:$VE,120:[1,163],284:[1,166],285:[1,167],323:164,331:[1,161],338:[1,165]},o($Vc1,[2,356],{271:168,125:[1,169]}),{284:[1,170]},o($Vd1,[2,591],{69:171,84:172,85:[1,173]}),o($Ve1,[2,593],{78:174,95:175,96:[1,176]}),{3:186,4:$VD,5:$VE,66:$Vf1,125:[1,179],126:181,127:183,128:182,129:184,130:$Vg1,137:178,138:185,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21,373:177},{3:191,4:$VD,5:$VE,62:189,64:190},{3:195,4:$VD,5:$VE,117:[1,193],120:[1,196],278:[1,192],336:[1,194],337:[1,197]},{284:[1,198]},o([9,11,229],$V0,{10:3,12:4,16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,7:200,13:$V1,24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,359:[1,199],360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),{359:[1,201]},{359:[1,202]},{3:204,4:$VD,5:$VE,331:[1,203]},{3:206,4:$VD,5:$VE,126:205},o($VC,[2,486],{91:207,130:$VG,218:$VX}),o($Vi1,[2,231]),{91:208,130:$VG,218:$VX},{3:220,4:$VD,5:$VE,91:214,123:213,127:218,128:217,130:[1,211],180:$VH,185:215,186:216,190:209,198:210,199:$Vj1,216:$VV,217:$VW,218:$VX,219:$VY,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:221,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VC,[2,540]),o($VC,[2,541]),{3:111,4:$VD,5:$VE,35:222,51:109,66:$VF,68:61,77:62,89:95,91:99,92:83,93:$V5,97:224,108:82,114:$V7,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,340:223,343:131,344:$V71,348:$V81},{91:226,130:$VG,218:$VX,367:225},{3:227,4:$VD,5:$VE,220:[1,228]},o($Vl1,$Vm1,{110:232,109:[1,229],112:[1,230],113:[1,231],122:$Vn1}),o($Vo1,[2,67]),o($Vp1,[2,79],{115:[1,234],116:[1,235],117:[1,236],118:[1,237],119:[1,238],120:[1,239],121:[1,240]}),o($Vq1,[2,607],{94:241}),{1:[2,3]},o($VB,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,10:242,24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($VB,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,10:243,24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($VB,[2,8]),{15:[1,244]},o($VC,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,10:245,252:266,24:$V2,47:$V3,61:$V4,90:$Vr1,93:$V5,101:$V6,114:$V7,182:$Vs1,193:$V8,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($Vi1,[2,211]),o($Vi1,[2,212]),o($Vi1,[2,213]),o($Vi1,[2,214]),o($Vi1,[2,215]),o($Vi1,[2,216]),o($Vi1,[2,217]),o($Vi1,[2,218]),o($Vi1,[2,219]),o($Vi1,[2,220]),o($Vi1,[2,221]),o($Vi1,[2,222]),o($Vi1,[2,223]),o($Vi1,[2,224]),o($Vi1,[2,225]),o($Vi1,[2,226]),{3:111,4:$VD,5:$VE,24:[1,280],25:279,33:276,35:275,51:109,66:$VF,68:61,77:62,89:95,91:99,92:83,93:$V5,97:278,108:82,114:$V7,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,192:277,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,270:$Vc,278:[1,281],343:131,344:$V71,348:$V81},o($Vi1,[2,230]),{66:[1,282]},o($Vi1,$VT1,{66:$VU1,139:[1,284]}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:285,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:286,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:287,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi1,[2,206]),o([4,5,8,9,11,24,47,61,63,65,66,67,85,90,93,96,99,101,103,105,107,114,124,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,178,180,182,193,194,195,197,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,274,278,288,289,290,293,304,305,308,309,321,322,325,326,330,332,334,335,339,341,342,344,348,350,352,358,360,361,363,364,365,366,368,371,372,384],[2,267]),o($VV1,[2,268]),o($VV1,[2,269]),o($VV1,$VW1),o($VV1,[2,271]),o($VV1,[2,272]),{3:288,4:$VD,5:$VE},{3:289,4:$VD,5:$VE},o($VX1,[2,277]),o($VX1,[2,278]),{3:290,4:$VD,5:$VE,66:$VY1,91:292,123:293,128:295,130:$VG,180:$VH,185:294,216:$VV,217:$VW,218:$VX,222:$V$,223:$V01,224:$V11,225:$V21,343:296,348:$V81},{66:[1,297]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:298,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,227:299,230:300,231:$VZ1,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{66:[1,302]},{66:[1,303]},o($V_1,[2,497]),{3:318,4:$VD,5:$VE,66:$V$1,89:313,91:311,123:310,127:316,128:315,130:$VG,180:$VH,185:312,186:314,190:308,216:$VV,217:$VW,218:$VX,219:$VY,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,345:304,346:307,347:309,348:$V81,351:305,352:[1,306]},{3:319,4:$VD,5:$VE,127:320},{66:[2,254]},{66:[2,255]},{66:[2,256]},{66:[2,257]},{66:[2,258]},{66:[2,259]},{66:[2,260]},{66:[2,261]},{66:[2,262]},o($V02,[2,1]),o($V02,[2,2]),{3:326,4:$VD,5:$VE,130:$V12,180:$V22,349:321,350:[1,322],353:323},{3:206,4:$VD,5:$VE,126:327},{331:[1,328]},o($Vc1,$V32,{281:329,293:$V42}),{331:[1,331]},{3:332,4:$VD,5:$VE},{120:[1,333]},{280:334,284:[1,336],285:[1,337],338:[1,335]},o($V52,[2,613],{386:338,3:339,4:$VD,5:$VE}),o($V91,[2,387]),o($V91,[2,388]),o($VC,[2,548],{63:[1,340]}),o($V62,[2,549]),{3:341,4:$VD,5:$VE},{3:206,4:$VD,5:$VE,126:342},{3:343,4:$VD,5:$VE},o($Vc1,$V72,{324:344,293:$V82}),{331:[1,346]},{3:347,4:$VD,5:$VE},o($Vc1,$V72,{324:348,293:$V82}),o($Vc1,$V72,{324:349,293:$V82}),o($V92,[2,611]),o($V92,[2,612]),{3:206,4:$VD,5:$VE,126:350},o($Vc1,[2,357]),{3:206,4:$VD,5:$VE,126:351},o($Va2,[2,91],{70:352,125:[1,353]}),o($Vd1,[2,592]),o($Vb2,[2,605],{86:354,117:[1,355]}),o($Vc2,[2,595],{79:356,98:357,99:[1,358]}),o($Ve1,[2,594]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:359,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{154:[1,361],374:360},{154:[2,557]},{3:186,4:$VD,5:$VE,66:$Vf1,126:181,127:183,128:182,129:184,130:$Vg1,137:362,138:185,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},{35:363,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vd2,[2,112],{3:364,4:$VD,5:$VE,65:[1,365]}),o($Vd2,[2,115],{3:366,4:$VD,5:$VE,65:[1,367]}),o($Vd2,[2,116],{3:368,4:$VD,5:$VE,65:[1,369]}),o($Vd2,[2,119],{3:370,4:$VD,5:$VE,65:[1,371]}),o($Vd2,[2,122],{3:372,4:$VD,5:$VE,65:[1,373]}),o([4,5,8,9,11,63,65,67,96,103,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233],$Ve2,{66:$VU1,139:$Vf2}),{3:290,4:$VD,5:$VE},o([4,5,8,9,11,63,65,67,103,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233],[2,125]),{35:375,63:[1,376],68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vg2,[2,58]),{65:[1,377]},{284:[1,378]},{96:[1,379]},o($VC,[2,468],{90:[1,380]}),{336:[1,381]},{96:[1,382]},o($VC,[2,472],{90:[1,383],96:[1,384]}),{3:206,4:$VD,5:$VE,126:385},o($VC,[2,535]),{9:$Vz,11:$VA,229:[1,386]},o($VC,[2,533]),o($VC,[2,534]),{3:387,4:$VD,5:$VE},o($VC,[2,461]),{266:[1,388]},o([8,9,11,65,66,93,96,114,156,229,233,266,272,274,322,326,327,328,329],$Ve2,{139:$Vf2}),o($VC,[2,485]),o($VC,[2,488]),o($VC,[2,489]),o($VC,[2,490]),o($VC,$VW1,{63:[1,389]}),{66:$VY1,91:292,123:293,128:295,130:$VG,180:$VH,185:294,216:$VV,217:$VW,218:$VX,222:$V$,223:$V01,224:$V11,225:$V21,343:296,348:$V81},o($Vh2,[2,238]),o($Vh2,[2,239]),o($Vh2,[2,240]),o($Vh2,[2,241]),o($Vh2,[2,242]),o($Vh2,[2,243]),o($Vh2,[2,244]),{66:$VU1},o($VC,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,252:266,10:390,24:$V2,47:$V3,61:$V4,90:$Vr1,93:$V5,101:$V6,114:$V7,182:$Vs1,193:$V8,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($VC,[2,543]),o($VC,[2,544]),o($VC,[2,487],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($VC,[2,545],{63:[1,391]}),o($V62,[2,547]),{153:[1,393],354:392,357:[1,394]},{3:395,4:$VD,5:$VE},o($Vl1,$Vm1,{110:396,122:$Vn1}),o($Vl1,$Vm1,{110:397,122:$Vn1}),o($Vl1,$Vm1,{110:398,122:$Vn1}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:401,111:399,123:97,127:93,128:101,129:102,130:$VG,179:400,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{66:[1,403],123:402,180:$VH},o($Vp1,[2,80]),o($Vp1,[2,81]),o($Vp1,[2,82]),o($Vp1,[2,83]),o($Vp1,[2,84]),o($Vp1,[2,85]),o($Vp1,[2,86]),o($Vo1,[2,68],{3:404,4:$VD,5:$VE}),o($VB,[2,4]),o($VB,[2,5]),o($VB,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,10:405,24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($VB,[2,537],{362:406,233:[1,407]}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:408,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:409,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:410,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:411,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:412,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:413,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:414,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:415,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:416,4:$VD,5:$VE,66:[1,418],123:417,127:419,180:$VH},{3:420,4:$VD,5:$VE,66:[1,422],123:421,127:423,180:$VH},o($Vi2,[2,335],{183:92,127:93,184:94,89:95,181:96,123:97,185:98,91:99,186:100,128:101,129:102,187:103,188:104,189:105,190:106,191:107,51:109,200:110,3:111,343:131,97:424,4:$VD,5:$VE,66:$VF,130:$VG,180:$VH,182:$VI,193:$V8,194:$VJ,195:$VK,197:$VL,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,344:$V71,348:$V81}),o($Vi2,[2,336],{183:92,127:93,184:94,89:95,181:96,123:97,185:98,91:99,186:100,128:101,129:102,187:103,188:104,189:105,190:106,191:107,51:109,200:110,3:111,343:131,97:425,4:$VD,5:$VE,66:$VF,130:$VG,180:$VH,182:$VI,193:$V8,194:$VJ,195:$VK,197:$VL,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,344:$V71,348:$V81}),o($Vi2,[2,337],{183:92,127:93,184:94,89:95,181:96,123:97,185:98,91:99,186:100,128:101,129:102,187:103,188:104,189:105,190:106,191:107,51:109,200:110,3:111,343:131,97:426,4:$VD,5:$VE,66:$VF,130:$VG,180:$VH,182:$VI,193:$V8,194:$VJ,195:$VK,197:$VL,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,344:$V71,348:$V81}),o($Vi2,[2,338],{183:92,127:93,184:94,89:95,181:96,123:97,185:98,91:99,186:100,128:101,129:102,187:103,188:104,189:105,190:106,191:107,51:109,200:110,3:111,343:131,97:427,4:$VD,5:$VE,66:$VF,130:$VG,180:$VH,182:$VI,193:$V8,194:$VJ,195:$VK,197:$VL,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,344:$V71,348:$V81}),o($Vi2,[2,339],{183:92,127:93,184:94,89:95,181:96,123:97,185:98,91:99,186:100,128:101,129:102,187:103,188:104,189:105,190:106,191:107,51:109,200:110,3:111,343:131,97:428,4:$VD,5:$VE,66:$VF,130:$VG,180:$VH,182:$VI,193:$V8,194:$VJ,195:$VK,197:$VL,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,344:$V71,348:$V81}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:429,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:430,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi2,[2,340],{183:92,127:93,184:94,89:95,181:96,123:97,185:98,91:99,186:100,128:101,129:102,187:103,188:104,189:105,190:106,191:107,51:109,200:110,3:111,343:131,97:431,4:$VD,5:$VE,66:$VF,130:$VG,180:$VH,182:$VI,193:$V8,194:$VJ,195:$VK,197:$VL,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,344:$V71,348:$V81}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:432,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:433,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{113:[1,435],253:434,263:[1,436],264:[1,437]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:438,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:439,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:318,4:$VD,5:$VE,66:[1,440],89:442,127:443,220:$Vj2,258:441},{257:[1,445]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:446,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:447,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:448,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{4:$Vk2,196:449,318:$Vl2},{67:[1,452]},{67:[1,453]},{67:[1,454]},{67:[1,455],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{67:[2,609]},{67:[2,610]},{385:$Va1},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:459,109:[1,457],113:[1,458],123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:456,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,67:[1,461],89:95,91:99,97:459,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:460,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:462,4:$VD,5:$VE,115:$Vm2,182:[1,464]},o([4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],[2,316],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,261:$VR1}),o($Vn2,[2,317],{252:266,182:$Vs1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($Vn2,[2,318],{252:266,182:$Vs1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($VX1,[2,275]),o($VX1,[2,276]),o([4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,153,154,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],[2,273]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:465,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($V_1,[2,493]),o($V_1,[2,494]),o($V_1,[2,495]),o($V_1,[2,496]),o($V_1,[2,498]),{35:466,68:61,77:62,92:83,93:$V5,108:82,114:$V7},{90:$Vr1,182:$Vs1,227:467,230:300,231:$VZ1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{228:468,229:$Vo2,230:469,231:$VZ1,233:$Vp2},o($Vq2,[2,282]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:471,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:472,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{4:$Vk2,196:473,318:$Vl2},o($V_1,[2,499]),{63:[1,475],352:[1,474]},o($V_1,[2,515]),o($Vr2,[2,522]),o($Vs2,[2,500]),o($Vs2,[2,501]),o($Vs2,[2,502]),o($Vs2,[2,503]),o($Vs2,[2,504]),o($Vs2,[2,505]),o($Vs2,[2,506]),o($Vs2,[2,507]),o($Vs2,[2,508]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:476,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($V_1,$VT1,{66:$VU1,139:$Vt2}),o($Vi1,[2,232],{66:$VU1}),o($Vi1,[2,233]),{63:[1,479],350:[1,478]},o($V_1,[2,512]),o($Vu2,[2,517]),{223:[1,480]},{223:[1,481]},{223:[1,482]},{322:[1,486],326:[1,483],328:[1,484],329:[1,485]},{3:487,4:$VD,5:$VE},{3:488,4:$VD,5:$VE},{256:[1,489]},o($Vv2,$V32,{281:490,293:$V42}),{153:[1,491]},{3:492,4:$VD,5:$VE},o($Vc1,$V32,{281:493,293:$V42}),o($Vc1,$V32,{281:494,293:$V42}),o($V92,[2,376]),o($V92,[2,377]),o($Vw2,[2,585],{68:61,77:62,108:82,92:83,387:495,35:498,93:$V5,114:$V7,266:[1,496],388:[1,497]}),o($V52,[2,614]),{220:$Vb1,370:499},{4:$Vk2,65:[1,501],196:500,318:$Vl2},o($VC,[2,350],{156:[1,502]}),o($VC,[2,453]),{3:503,4:$VD,5:$VE},{221:[1,504]},o($Vv2,$V72,{324:505,293:$V82}),o($VC,[2,467]),{3:206,4:$VD,5:$VE,126:506},{3:206,4:$VD,5:$VE,126:507},{35:511,66:[1,510],68:61,77:62,92:83,93:$V5,108:82,114:$V7,272:[1,508],274:[1,509]},{327:[1,512]},o($Vx2,[2,100],{71:513,96:[1,514]}),{3:186,4:$VD,5:$VE,126:515,127:516,128:517,129:518,130:[1,519],220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},{3:524,4:$VD,5:$VE,87:520,88:521,89:522,90:$Vy2},o($Vb2,[2,606]),o($Vz2,[2,597],{80:525,100:526,101:[1,527]}),o($Vc2,[2,596]),o($Vc2,[2,70]),o($Ve1,[2,69],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{153:[1,529],375:528},{3:186,4:$VD,5:$VE,66:$Vf1,126:181,127:183,128:182,129:184,130:$Vg1,137:530,138:185,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},{154:[2,558]},{67:[1,531]},o($Vd2,[2,110]),{3:532,4:$VD,5:$VE},o($Vd2,[2,113]),{3:533,4:$VD,5:$VE},o($Vd2,[2,117]),{3:534,4:$VD,5:$VE},o($Vd2,[2,120]),{3:535,4:$VD,5:$VE},o($Vd2,[2,123]),{3:536,4:$VD,5:$VE},{3:537,4:$VD,5:$VE},o($VC,[2,56]),{3:191,4:$VD,5:$VE,64:538},{66:[1,539]},{3:206,4:$VD,5:$VE,126:540},{3:206,4:$VD,5:$VE,126:541},{91:542,130:$VG,218:$VX},o($VC,[2,470],{90:[1,543]}),{3:206,4:$VD,5:$VE,126:544},{91:545,130:$VG,218:$VX},{3:546,4:$VD,5:$VE},o($VC,[2,555]),o($VC,[2,542]),o($VC,[2,460]),{3:524,4:$VD,5:$VE,89:549,267:547,268:548},{190:550,220:$Vk1,343:131,344:$V71,348:$V81},o($VC,[2,539]),{91:551,130:$VG,218:$VX},o($VC,[2,523]),o($VC,[2,531]),o($VC,[2,532]),{240:[1,554],246:[1,552],355:553},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:401,111:555,123:97,127:93,128:101,129:102,130:$VG,179:400,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:401,111:556,123:97,127:93,128:101,129:102,130:$VG,179:400,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:401,111:557,123:97,127:93,128:101,129:102,130:$VG,179:400,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VA2,[2,78],{63:$VB2}),o($VC2,[2,196]),o($VC2,[2,203],{252:266,3:560,91:562,4:$VD,5:$VE,65:[1,559],90:$Vr1,130:$VG,180:[1,561],182:$Vs1,218:$VX,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Vl1,[2,87],{124:[1,563]}),{123:564,180:$VH},o($Vq1,[2,608]),o($VB,[2,9]),o($VC,[2,536]),o($VC,$V0,{16:5,17:7,18:8,19:9,20:10,21:11,22:12,23:13,25:15,26:16,27:17,28:18,29:19,30:20,31:21,32:22,33:23,34:24,35:25,36:26,37:27,38:28,39:29,40:30,41:31,42:32,43:33,44:34,45:35,46:36,48:38,49:39,50:40,51:41,52:42,53:43,54:44,55:45,56:46,57:47,58:48,59:49,60:50,68:61,77:62,108:82,92:83,10:565,24:$V2,47:$V3,61:$V4,93:$V5,101:$V6,114:$V7,193:$V8,265:$V9,266:$Va,269:$Vb,270:$Vc,278:$Vd,293:$Ve,322:$Vf,325:$Vg,326:$Vh,330:$Vi,332:$Vj,334:$Vk,335:$Vl,339:$Vm,341:$Vn,342:$Vo,358:$Vp,360:$Vq,361:$Vr,363:$Vs,364:$Vt,365:$Vu,366:$Vv,368:$Vw,371:$Vx,372:$Vy}),o($VD2,[2,286],{252:266,182:$Vs1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($VD2,[2,287],{252:266,182:$Vs1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($Vn2,[2,288],{252:266,182:$Vs1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($Vn2,[2,289],{252:266,182:$Vs1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($VE2,[2,290],{252:266,239:$Vy1,240:$Vz1,241:$VA1}),o($VE2,[2,291],{252:266,239:$Vy1,240:$Vz1,241:$VA1}),o($VE2,[2,292],{252:266,239:$Vy1,240:$Vz1,241:$VA1}),o([4,5,8,9,11,24,47,61,63,65,67,85,90,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,182,193,218,229,231,232,233,234,235,236,237,238,239,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],[2,293],{252:266,240:$Vz1,241:$VA1}),o($Vi1,[2,294],{66:$VU1}),o($Vi1,[2,295]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:566,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi1,[2,297]),o($Vi1,[2,298],{66:$VU1}),o($Vi1,[2,299]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:567,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi1,[2,301]),o($VF2,[2,302],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,303],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,304],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,305],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,306],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,307],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,308],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,309],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,310],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),o($VF2,[2,311],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,256:$VN1,257:$VO1,261:$VR1}),{66:[1,568]},{66:[2,341]},{66:[2,342]},{66:[2,343]},o([4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,254,255,259,260,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],[2,314],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,256:$VN1,257:$VO1,261:$VR1}),o([4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,255,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],[2,315],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1}),{3:111,4:$VD,5:$VE,35:569,51:109,66:$VF,67:[1,571],68:61,77:62,89:95,91:99,92:83,93:$V5,97:459,108:82,114:$V7,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:570,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi1,[2,326]),o($Vi1,[2,332]),o($Vi1,[2,333]),{66:[1,572]},{3:318,4:$VD,5:$VE,66:[1,573],89:442,127:443,220:$Vj2,258:574},o($VG2,[2,328],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,256:$VN1,257:$VO1,261:$VR1}),o($VG2,[2,329],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,256:$VN1,257:$VO1,261:$VR1}),o([4,5,8,9,11,24,47,61,63,65,67,85,93,96,99,101,103,105,107,114,125,130,134,136,145,146,147,148,149,150,151,152,156,157,166,167,168,169,171,174,175,180,193,218,229,231,232,233,242,243,244,245,246,247,248,249,250,251,254,255,256,257,259,260,261,262,265,266,269,270,278,293,322,325,326,330,332,334,335,339,341,342,358,360,361,363,364,365,366,368,371,372,384],[2,330],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1}),o($Vi1,[2,331]),o($VH2,[2,424],{66:[1,575]}),{66:[1,576]},o($Vi1,[2,227]),o($Vi1,[2,228]),o($Vi1,[2,229]),o($Vi1,[2,319]),{63:$VI2,67:[1,577]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:579,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:580,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VJ2,[2,265],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{63:$VI2,67:[1,581]},o($VX1,[2,264]),o($Vi1,$VK2,{139:[1,582]}),o($V_1,[2,209]),o($Vi1,[2,205]),{67:[1,583],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{67:[1,584]},{228:585,229:$Vo2,230:469,231:$VZ1,233:$Vp2},{229:[1,586]},o($Vq2,[2,281]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:587,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{90:$Vr1,182:$Vs1,232:[1,588],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{65:[1,589],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{63:[1,590]},o($V_1,[2,513]),{3:318,4:$VD,5:$VE,66:$V$1,89:313,91:311,123:310,127:316,128:315,130:$VG,180:$VH,185:312,186:314,190:308,216:$VV,217:$VW,218:$VX,219:$VY,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,346:592,347:309,348:$V81,352:[1,591]},{67:[1,593],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{3:594,4:$VD,5:$VE,115:$Vm2},o($V_1,[2,510]),{3:326,4:$VD,5:$VE,130:$V12,180:$V22,350:[1,595],353:596},{3:318,4:$VD,5:$VE,66:$V$1,89:313,91:311,123:310,127:316,128:315,130:$VG,180:$VH,185:312,186:314,190:308,216:$VV,217:$VW,218:$VX,219:$VY,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,346:597,347:309,348:$V81},{3:318,4:$VD,5:$VE,66:$V$1,89:313,91:311,123:310,127:316,128:315,130:$VG,180:$VH,185:312,186:314,190:308,216:$VV,217:$VW,218:$VX,219:$VY,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,346:598,347:309,348:$V81},{3:318,4:$VD,5:$VE,66:$V$1,89:313,91:311,123:310,127:316,128:315,130:$VG,180:$VH,185:312,186:314,190:308,216:$VV,217:$VW,218:$VX,219:$VY,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,346:599,347:309,348:$V81},{117:[1,601],327:[1,600]},{117:[1,602]},{117:[1,603]},{117:[1,604]},o($VC,[2,449],{65:[1,606],66:[1,605]}),o($VC,[2,454]),{221:[1,607]},{3:608,4:$VD,5:$VE,91:609,130:$VG,218:$VX},{3:206,4:$VD,5:$VE,126:610},{153:[1,611]},{3:206,4:$VD,5:$VE,126:612},{3:206,4:$VD,5:$VE,126:613},o($Vw2,[2,584]),{3:524,4:$VD,5:$VE,89:549,267:614,268:548},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:459,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:615,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vw2,[2,588]),o($V62,[2,550]),o($V62,[2,551],{246:[1,616]}),{4:$Vk2,196:617,318:$Vl2},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:618,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VC,[2,462]),o($Vv2,[2,442]),{3:619,4:$VD,5:$VE,91:620,130:$VG,218:$VX},o($VC,[2,440]),o($VC,[2,484]),{66:$VL2,128:624,190:623,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,273:621,343:131,344:$V71,348:$V81},{272:[1,625]},{3:524,4:$VD,5:$VE,89:627,155:626},o($Vw2,[2,354]),{3:628,4:$VD,5:$VE},o($VM2,[2,162],{72:629,156:[1,630]}),{3:186,4:$VD,5:$VE,66:[1,632],126:181,127:183,128:182,129:184,130:$Vg1,131:631,137:633,138:185,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},o($Va2,[2,92]),o($Va2,[2,93]),o($Va2,[2,94]),o($Va2,[2,95]),o($Va2,[2,96]),o($Vd1,[2,62],{63:[1,634]}),o($VN2,[2,64]),o($VN2,[2,65]),{91:635,130:$VG,218:$VX},o([8,9,11,63,67,96,103,125,134,136,145,146,147,148,149,150,151,152,156,157,167,168,169,171,229,233,246],$VT1,{139:$Vt2}),o($VO2,[2,599],{81:636,102:637,103:[1,638]}),o($Vz2,[2,598]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:639,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{231:$VP2,376:640,378:641,379:642},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:644,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{153:[2,559]},o($Vd2,[2,109],{3:645,4:$VD,5:$VE,65:[1,646]}),o($Vd2,[2,111]),o($Vd2,[2,114]),o($Vd2,[2,118]),o($Vd2,[2,121]),o($Vd2,[2,124]),o([4,5,8,9,11,63,65,66,67,93,96,103,114,134,136,145,146,147,148,149,150,151,152,153,154,156,157,167,168,169,171,229,233,266,272,274,322,326,327,328,329],[2,126]),o($Vg2,[2,57]),{35:647,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($VC,[2,480],{96:[1,648]}),o($VC,[2,476],{96:[1,649]}),o($VC,[2,469]),{91:650,130:$VG,218:$VX},o($VC,[2,478],{96:[1,651]}),o($VC,[2,473]),o($VC,[2,474],{90:[1,652]}),o($VC,[2,345],{63:$VQ2,156:[1,653]}),o($VR2,[2,346]),{246:[1,655]},o($VC,[2,491]),o($V62,[2,546]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:656,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{240:[1,658],246:[1,657]},{3:660,4:$VD,5:$VE,66:$VS2,180:$VT2,356:659},o($VA2,[2,75],{63:$VB2}),o($VA2,[2,76],{63:$VB2}),o($VA2,[2,77],{63:$VB2}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:401,123:97,127:93,128:101,129:102,130:$VG,179:663,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:664,4:$VD,5:$VE,91:666,130:$VG,180:[1,665],218:$VX},o($VC2,[2,198]),o($VC2,[2,200]),o($VC2,[2,202]),o($Vl1,[2,89]),{67:[1,667]},o($VC,[2,538]),{67:[1,668],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{67:[1,669],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{3:111,4:$VD,5:$VE,35:670,51:109,66:$VF,68:61,77:62,89:95,91:99,92:83,93:$V5,97:459,108:82,114:$V7,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:671,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{67:[1,672]},{63:$VI2,67:[1,673]},o($Vi1,[2,324]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:674,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,35:675,51:109,66:$VF,67:[1,677],68:61,77:62,89:95,91:99,92:83,93:$V5,97:459,108:82,114:$V7,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:676,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi1,[2,327]),{180:[1,678]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:680,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,275:679,343:131,344:$V71,348:$V81},o($Vi1,$VU2,{202:681,203:$VV2}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:683,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{67:[1,684],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{67:[1,685],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($VX1,[2,263]),{3:686,4:$VD,5:$VE,182:[1,687]},o($V_1,[2,492]),o($Vi1,[2,274]),{229:[1,688]},o($Vi1,[2,280]),{90:$Vr1,182:$Vs1,229:[2,284],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:689,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{4:$Vk2,196:690,318:$Vl2},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:691,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($V_1,[2,514]),o($Vr2,[2,521]),o($Vs2,[2,509]),o($V_1,$VK2,{139:[1,692]}),o($V_1,[2,511]),o($Vu2,[2,516]),o($Vu2,[2,518]),o($Vu2,[2,519]),o($Vu2,[2,520]),{3:693,4:$VD,5:$VE},{3:694,4:$VD,5:$VE},{3:696,4:$VD,5:$VE,315:695},{3:696,4:$VD,5:$VE,315:697},{3:698,4:$VD,5:$VE},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:459,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:699,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:700,4:$VD,5:$VE},o($Vv2,[2,390]),o($VC,$VW2,{333:701,65:$VX2,66:[1,702]}),o($VC,$VW2,{333:704,65:$VX2}),{66:[1,705]},{3:206,4:$VD,5:$VE,126:706},o($VC,[2,375],{66:[1,707]}),{65:[1,709],66:[1,708]},o($Vw2,[2,586],{63:$VQ2}),o($Vw2,[2,587],{63:$VI2}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:710,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($V62,[2,552],{246:[1,711]}),o($VC,[2,349],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($VC,[2,463]),o($VC,[2,464]),o($Vw2,[2,351],{63:$VY2}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:680,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,275:713,343:131,344:$V71,348:$V81},o($VZ2,[2,359]),o($VZ2,[2,360]),o($Vw2,[2,352]),{63:$V_2,67:[1,714]},o($V$2,[2,372]),o($VC,[2,448]),o($V03,[2,164],{73:716,157:[1,717]}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:718,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vx2,[2,97],{132:719,140:721,133:722,141:723,144:726,63:$V13,134:$V23,136:$V33,145:$V43,146:$V53,147:$V63,148:$V73,149:$V83,150:$V93,151:$Va3,152:$Vb3}),{3:186,4:$VD,5:$VE,35:363,66:$Vf1,68:61,77:62,92:83,93:$V5,108:82,114:$V7,126:181,127:183,128:182,129:184,130:$Vg1,131:735,137:633,138:185,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},o($V$2,[2,105]),{3:524,4:$VD,5:$VE,88:736,89:522,90:$Vy2},o($VN2,[2,66]),o($Vc3,[2,601],{82:737,104:738,105:[1,739]}),o($VO2,[2,600]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:740,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vz2,[2,71],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($VC,[2,579],{377:741,378:742,379:743,231:$VP2,384:[1,744]}),o($Vd3,[2,563]),o($Vd3,[2,564]),{256:[1,746],380:[1,745]},{90:$Vr1,182:$Vs1,231:[2,560],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($Vd2,[2,107]),{3:747,4:$VD,5:$VE},{67:[1,748]},{3:749,4:$VD,5:$VE},{3:750,4:$VD,5:$VE},o($VC,[2,471]),{3:751,4:$VD,5:$VE},{91:752,130:$VG,218:$VX},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:753,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:524,4:$VD,5:$VE,89:549,268:754},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:755,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VC,[2,524],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:756,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:660,4:$VD,5:$VE,66:$VS2,180:$VT2,356:757},o($Ve3,[2,527]),o($Ve3,[2,528]),o($Ve3,[2,529]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:758,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VC2,[2,195]),o($VC2,[2,197]),o($VC2,[2,199]),o($VC2,[2,201]),o($Vl1,[2,88]),o($Vi1,[2,296]),o($Vi1,[2,300]),{67:[1,759]},{63:$VI2,67:[1,760]},o($Vi1,[2,320]),o($Vi1,[2,322]),{67:[1,761],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{67:[1,762]},{63:$VI2,67:[1,763]},o($Vi1,[2,325]),{63:[1,764],67:[1,765]},{63:$Vf3,67:[1,766]},o($Vg3,[2,364],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Vi1,[2,245]),{66:[1,768]},o($VJ2,[2,266],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Vi1,$VU2,{202:769,203:$VV2}),o($Vi1,$VU2,{202:770,203:$VV2}),o($V_1,[2,207]),o($Vi1,[2,204]),o($Vi1,[2,279]),o($Vq2,[2,283],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{63:[1,772],67:[1,771]},{63:[1,774],67:[1,773],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{3:686,4:$VD,5:$VE},o($VC,[2,443]),{327:[1,775]},o($VC,[2,444]),o($VJ2,[2,421],{196:776,4:$Vk2,317:[1,777],318:$Vl2}),o($VC,[2,445]),o($VC,[2,447]),{63:$VI2,67:[1,778]},o($VC,[2,451]),o($VC,[2,455]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:459,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,201:779,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:780,4:$VD,5:$VE},o($VC,[2,457]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:783,123:97,127:93,128:101,129:102,130:$VG,172:781,173:782,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{66:[1,784]},{3:696,4:$VD,5:$VE,65:[1,787],282:785,294:786,315:788},{3:524,4:$VD,5:$VE,89:627,155:789},{35:790,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($V62,[2,553],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:791,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{66:[1,792],128:794,190:793,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,343:131,344:$V71,348:$V81},{63:$Vf3,67:[1,795]},{35:797,68:61,77:62,92:83,93:$V5,108:82,114:$V7,272:[1,796]},{3:524,4:$VD,5:$VE,89:798},o($Vh3,[2,183],{74:799,171:[1,800]}),{158:[1,801]},o($VM2,[2,163],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Vx2,[2,98],{141:723,144:726,140:802,133:803,134:$V23,136:$V33,145:$V43,146:$V53,147:$V63,148:$V73,149:$V83,150:$V93,151:$Va3,152:$Vb3}),{3:186,4:$VD,5:$VE,66:$Vf1,126:181,127:183,128:182,129:184,130:$Vg1,137:804,138:185,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},o($Vi3,[2,130]),o($Vi3,[2,131]),{3:186,4:$VD,5:$VE,66:[1,808],126:806,127:809,128:807,129:810,142:805,220:$Vh1,222:$V$,223:$V01,224:$V11,225:$V21},{135:[1,811],146:$Vj3},{135:[1,813],146:$Vk3},o($Vl3,[2,146]),{134:[1,817],136:[1,816],144:815,146:$V53,147:$V63,148:$V73,149:$V83,150:$V93,151:$Va3,152:$Vb3},o($Vl3,[2,148]),{146:[1,818]},{136:[1,820],146:[1,819]},{136:[1,822],146:[1,821]},{136:[1,823]},{146:[1,824]},{146:[1,825]},{63:$V13,132:826,133:722,134:$V23,136:$V33,140:721,141:723,144:726,145:$V43,146:$V53,147:$V63,148:$V73,149:$V83,150:$V93,151:$Va3,152:$Vb3},o($VN2,[2,63]),o($Vw2,[2,603],{83:827,106:828,107:[1,829]}),o($Vc3,[2,602]),{3:830,4:$VD,5:$VE},o($VO2,[2,72],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($VC,[2,556]),o($Vd3,[2,561]),o($Vd3,[2,562]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:401,111:831,123:97,127:93,128:101,129:102,130:$VG,179:400,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{232:[1,832],254:[1,833]},{380:[1,834]},o($Vd2,[2,108]),o($Vg2,[2,59]),o($VC,[2,481]),o($VC,[2,477]),o($VC,[2,479]),o($VC,[2,475]),o($VC,[2,344],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($VR2,[2,347]),o($VR2,[2,348],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($VC,[2,525],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Ve3,[2,526]),{67:[1,835],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($Vi1,[2,312]),o($Vi1,[2,313]),o($Vi1,[2,334]),o($Vi1,[2,321]),o($Vi1,[2,323]),{180:[1,836]},o($VH2,[2,423]),o($VH2,[2,425]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:837,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{171:$Vm3,204:838,205:839,206:[1,840]},o($Vi1,[2,246]),o($Vi1,[2,247]),o($Vi1,[2,234]),{180:[1,842]},o($Vi1,[2,236]),{180:[1,843]},{3:844,4:$VD,5:$VE},o($VJ2,[2,426],{316:845,319:846,320:847,302:856,219:$Vn3,256:$Vo3,274:$Vp3,289:$Vq3,304:$Vr3,305:$Vs3,308:$Vt3,309:$Vu3,321:$Vv3}),o($VJ2,[2,420]),o($VC,[2,450],{65:[1,858]}),{63:$VI2,67:[1,859]},o($VC,[2,459]),{63:$Vw3,67:[1,860]},o($Vx3,[2,185]),o($Vx3,[2,187],{252:266,90:$Vr1,174:[1,862],175:[1,863],182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:783,123:97,127:93,128:101,129:102,130:$VG,172:864,173:782,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{67:[1,865]},{63:[1,866],67:[2,392]},{35:867,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vg3,[2,417]),{63:$V_2,67:[1,868]},o($VC,[2,483]),o($V62,[2,554],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:680,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,275:869,343:131,344:$V71,348:$V81},o($VZ2,[2,362]),o($VZ2,[2,363]),o($VZ2,[2,358]),{66:$VL2,128:624,190:623,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,273:870,343:131,344:$V71,348:$V81},o($Vw2,[2,355]),o($V$2,[2,373]),o($Vy3,[2,191],{75:871,103:[1,872]}),{158:[1,873]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:879,123:97,127:93,128:101,129:102,130:$VG,159:874,161:875,162:$Vz3,164:$VA3,165:$VB3,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi3,[2,128]),o($Vi3,[2,129]),o($V$2,[2,106]),o($Vi3,[2,161],{143:880,153:[1,881],154:[1,882]}),o($VC3,[2,133],{3:883,4:$VD,5:$VE,65:[1,884]}),{3:885,4:$VD,5:$VE,65:[1,886]},{35:887,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($VC3,[2,140],{3:888,4:$VD,5:$VE,65:[1,889]}),o($VC3,[2,143],{3:890,4:$VD,5:$VE,65:[1,891]}),{66:[1,892]},o($Vl3,[2,158]),{66:[1,893]},o($Vl3,[2,154]),o($Vl3,[2,147]),{146:$Vk3},{146:$Vj3},o($Vl3,[2,149]),o($Vl3,[2,150]),{146:[1,894]},o($Vl3,[2,152]),{146:[1,895]},{146:[1,896]},o($Vl3,[2,156]),o($Vl3,[2,157]),{67:[1,897],133:803,134:$V23,136:$V33,140:802,141:723,144:726,145:$V43,146:$V53,147:$V63,148:$V73,149:$V83,150:$V93,151:$Va3,152:$Vb3},o($Vw2,[2,61]),o($Vw2,[2,604]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:898,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vc3,[2,73]),o($VC,[2,580],{63:$VB2,125:[1,899]}),{265:$VD3,269:$VE3,381:900},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:903,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{158:[1,905],232:[1,904],254:[1,906]},o($Ve3,[2,530]),{67:[1,907]},o($Vg3,[2,365],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{67:[1,908],171:$Vm3,205:909},{67:[1,910]},{158:[1,911]},{158:[1,912]},{67:[1,913]},{67:[1,914]},o($VC,[2,446]),o($VJ2,[2,419]),o($VJ2,[2,427],{302:856,320:915,219:$Vn3,256:$Vo3,274:$Vp3,289:$Vq3,304:$Vr3,305:$Vs3,308:$Vt3,309:$Vu3,321:$Vv3}),o($Vh2,[2,429]),{306:[1,916]},{306:[1,917]},{3:918,4:$VD,5:$VE},o($Vh2,[2,433]),o($Vh2,[2,435],{66:[1,919]}),{3:220,4:$VD,5:$VE,91:214,123:213,127:218,128:217,130:$VG,180:$VH,185:215,186:216,198:920,199:$Vj1,216:$VV,217:$VW,218:$VX,219:$VY,222:$V$,223:$V01,224:$V11,225:$V21},o($Vh2,[2,437]),{219:[1,921]},o($Vh2,[2,439]),{66:[1,922]},{3:923,4:$VD,5:$VE},o($VC,$VW2,{333:924,65:$VX2}),o($VC,[2,465]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:783,123:97,127:93,128:101,129:102,130:$VG,173:925,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vx3,[2,188]),{176:[1,926]},{63:$Vw3,67:[1,927]},o($VC,[2,378],{283:928,286:929,287:930,274:$VF3,288:$VG3,289:$VH3,290:$VI3}),o($VJ3,$VK3,{3:696,295:935,315:936,296:937,297:938,4:$VD,5:$VE,303:$VL3}),{67:[2,393]},{65:[1,940]},{63:$Vf3,67:[1,941]},o($Vw2,[2,353],{63:$VY2}),o($Vw2,[2,174],{76:942,167:[1,943],168:[1,944],169:[1,945]}),{123:946,180:$VH},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:783,123:97,127:93,128:101,129:102,130:$VG,172:947,173:782,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($V03,[2,172],{160:948,63:$VM3,166:[1,950]}),o($VN3,[2,166]),{163:[1,951]},{66:[1,952]},{66:[1,953]},o($VN3,[2,171],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Vi3,[2,132]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:954,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:524,4:$VD,5:$VE,89:627,155:955},o($VC3,[2,134]),{3:956,4:$VD,5:$VE},o($VC3,[2,136]),{3:957,4:$VD,5:$VE},{67:[1,958]},o($VC3,[2,141]),{3:959,4:$VD,5:$VE},o($VC3,[2,144]),{3:960,4:$VD,5:$VE},{35:961,68:61,77:62,92:83,93:$V5,108:82,114:$V7},{35:962,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vl3,[2,151]),o($Vl3,[2,153]),o($Vl3,[2,155]),o($Vx2,[2,99]),o($Vw2,[2,74],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{3:206,4:$VD,5:$VE,126:964,220:[1,963]},o($Vd3,[2,565]),o($Vd3,[2,567]),{266:[1,965]},{90:$Vr1,182:$Vs1,232:[1,966],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},{270:$VO3,382:967},{341:[1,970],383:[1,969]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:971,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VH2,[2,422]),o($Vi1,[2,249]),{67:[1,972]},o($Vi1,[2,250]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:879,123:97,127:93,128:101,129:102,130:$VG,159:973,161:875,162:$Vz3,164:$VA3,165:$VB3,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:783,123:97,127:93,128:101,129:102,130:$VG,172:974,173:782,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi1,[2,235]),o($Vi1,[2,237]),o($Vh2,[2,428]),o($Vh2,[2,430]),{309:[1,975]},{66:[1,976]},{123:977,180:$VH},o($Vh2,[2,436]),o($Vh2,[2,438]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:978,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($VC,[2,452]),o($VC,[2,456]),o($Vx3,[2,186]),o($Vx3,[2,189],{174:[1,979]}),o($VC,[2,466]),o($VC,[2,374]),o($VC,[2,379],{287:980,274:$VF3,288:$VG3,289:$VH3,290:$VI3}),o($VP3,[2,381]),o($VP3,[2,382]),{246:[1,981]},{246:[1,982]},{246:[1,983]},{63:[1,984],67:[2,391]},o($Vg3,[2,418]),o($Vg3,[2,394]),{112:[1,992],120:[1,993],298:985,299:986,300:987,301:988,302:989,304:$Vr3,305:[1,990],306:[1,994],308:[1,991]},{3:995,4:$VD,5:$VE},{35:996,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($VZ2,[2,361]),o($Vw2,[2,60]),{35:997,68:61,77:62,92:83,93:$V5,108:82,113:[1,998],114:$V7,170:[1,999]},{35:1e3,68:61,77:62,92:83,93:$V5,108:82,114:$V7,170:[1,1001]},{35:1002,68:61,77:62,92:83,93:$V5,108:82,114:$V7,170:[1,1003]},o($Vy3,[2,193],{177:1004,178:[1,1005]}),o($Vh3,[2,184],{63:$Vw3}),o($V03,[2,165]),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:879,123:97,127:93,128:101,129:102,130:$VG,161:1006,162:$Vz3,164:$VA3,165:$VB3,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:1007,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{66:[1,1008]},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:879,123:97,127:93,128:101,129:102,130:$VG,159:1009,161:875,162:$Vz3,164:$VA3,165:$VB3,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:879,123:97,127:93,128:101,129:102,130:$VG,159:1010,161:875,162:$Vz3,164:$VA3,165:$VB3,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},o($Vi3,[2,159],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),o($Vi3,[2,160],{63:$V_2}),o($VC3,[2,135]),o($VC3,[2,137]),{3:1011,4:$VD,5:$VE,65:[1,1012]},o($VC3,[2,142]),o($VC3,[2,145]),{67:[1,1013]},{67:[1,1014]},{3:1015,4:$VD,5:$VE},o($VC,[2,582],{66:[1,1016]}),{3:524,4:$VD,5:$VE,89:549,267:1017,268:548},{265:$VD3,269:$VE3,381:1018},o($Vd3,[2,569]),{66:[1,1020],272:[1,1019],274:[1,1021]},{232:[1,1022],254:[1,1023]},{232:[1,1024],254:[1,1025]},{90:$Vr1,182:$Vs1,232:[1,1026],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($Vi1,[2,251]),o([67,171],[2,252],{63:$VM3}),{63:$Vw3,67:[2,253]},{3:1027,4:$VD,5:$VE},{3:1028,4:$VD,5:$VE},{63:[1,1029]},{67:[1,1030],90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($Vx3,[2,190]),o($VP3,[2,380]),{3:1031,4:$VD,5:$VE},{123:1032,180:$VH},{3:1033,4:$VD,5:$VE},o($VJ3,$VK3,{297:938,296:1034,303:$VL3}),o($Vg3,[2,396]),o($Vg3,[2,397]),o($Vg3,[2,398]),o($Vg3,[2,399]),o($Vg3,[2,400]),{306:[1,1035]},{306:[1,1036]},o($Vg3,[2,410]),{3:1037,4:$VD,5:$VE},{3:1038,4:$VD,5:$VE},o($VJ3,[2,402]),o($VC,[2,482]),o($Vw2,[2,175]),{35:1039,68:61,77:62,92:83,93:$V5,108:82,114:$V7,170:[1,1040]},{35:1041,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vw2,[2,177]),{35:1042,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vw2,[2,178]),{35:1043,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vy3,[2,192]),{123:1044,180:$VH},o($VN3,[2,167]),o($V03,[2,173],{252:266,90:$Vr1,182:$Vs1,234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1}),{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:879,123:97,127:93,128:101,129:102,130:$VG,159:1045,161:875,162:$Vz3,164:$VA3,165:$VB3,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{63:$VM3,67:[1,1046]},{63:$VM3,67:[1,1047]},o($VC3,[2,138]),{3:1048,4:$VD,5:$VE},{3:1049,4:$VD,5:$VE,65:[1,1050]},{3:1051,4:$VD,5:$VE,65:[1,1052]},o($VC,[2,581]),{3:524,4:$VD,5:$VE,89:627,155:1053},o($Vd3,[2,568],{63:$VQ2}),o($Vd3,[2,566]),{66:$VL2,128:624,190:623,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,273:1054,343:131,344:$V71,348:$V81},{3:524,4:$VD,5:$VE,89:627,155:1055},{272:[1,1056]},{270:$VO3,382:1057},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:1058,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{270:$VO3,382:1059},{3:111,4:$VD,5:$VE,51:109,66:$VF,89:95,91:99,97:1060,123:97,127:93,128:101,129:102,130:$VG,180:$VH,181:96,182:$VI,183:92,184:94,185:98,186:100,187:103,188:104,189:105,190:106,191:107,193:$V8,194:$VJ,195:$VK,197:$VL,200:110,207:$VM,208:$VN,209:$VO,210:$VP,211:$VQ,212:$VR,213:$VS,214:$VT,215:$VU,216:$VV,217:$VW,218:$VX,219:$VY,220:$VZ,221:$V_,222:$V$,223:$V01,224:$V11,225:$V21,226:$V31,235:$V41,236:$V51,256:$V61,343:131,344:$V71,348:$V81},{270:$VO3,382:1061},{66:[1,1062]},{67:[1,1063]},{123:1064,180:$VH},o($Vh2,[2,403]),o($VP3,[2,383]),o($VP3,[2,384]),o($VP3,[2,385]),o($Vg3,[2,395]),{66:[1,1065]},{66:[1,1066]},{66:[1,1067]},{66:[1,1068]},o($Vw2,[2,176]),{35:1069,68:61,77:62,92:83,93:$V5,108:82,114:$V7},o($Vw2,[2,179]),o($Vw2,[2,181]),o($Vw2,[2,182]),o($Vy3,[2,194]),{63:$VM3,67:[1,1070]},o($VN3,[2,169]),o($VN3,[2,170]),o($VC3,[2,139]),o($Vi3,[2,101]),{3:1071,4:$VD,5:$VE},o($Vi3,[2,103]),{3:1072,4:$VD,5:$VE},{63:$V_2,67:[1,1073]},o($Vd3,[2,575],{63:$VY2}),{63:$V_2,67:[1,1074]},o($Vd3,[2,577]),o($Vd3,[2,570]),{90:$Vr1,182:$Vs1,232:[1,1075],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($Vd3,[2,573]),{90:$Vr1,182:$Vs1,232:[1,1076],234:$Vt1,235:$Vu1,236:$Vv1,237:$Vw1,238:$Vx1,239:$Vy1,240:$Vz1,241:$VA1,242:$VB1,243:$VC1,244:$VD1,245:$VE1,246:$VF1,247:$VG1,248:$VH1,249:$VI1,250:$VJ1,251:$VK1,252:266,254:$VL1,255:$VM1,256:$VN1,257:$VO1,259:$VP1,260:$VQ1,261:$VR1,262:$VS1},o($Vd3,[2,571]),{3:1077,4:$VD,5:$VE},o($Vh2,[2,432]),{67:[1,1078]},{3:1080,4:$VD,5:$VE,130:$VQ3,307:1079},{3:1080,4:$VD,5:$VE,130:$VQ3,307:1082},{3:524,4:$VD,5:$VE,89:627,155:1083},{3:524,4:$VD,5:$VE,89:627,155:1084},o($Vw2,[2,180]),o($VN3,[2,168]),o($Vi3,[2,102]),o($Vi3,[2,104]),o($VC,[2,583]),{272:[1,1085],274:[1,1086]},{270:$VO3,382:1087},{265:$VD3,269:$VE3,381:1088},{67:[1,1089]},o($Vh2,[2,434]),{63:$VR3,67:[1,1090]},o($Vg3,[2,413]),o($Vg3,[2,414]),{63:$VR3,67:[1,1092]},{63:$V_2,67:[1,1093]},{63:$V_2,67:[1,1094]},{66:$VL2,128:624,190:623,220:$Vk1,222:$V$,223:$V01,224:$V11,225:$V21,273:1095,343:131,344:$V71,348:$V81},{272:[1,1096]},o($Vd3,[2,572]),o($Vd3,[2,574]),o($Vh2,[2,431]),o($Vg3,[2,404]),{3:1097,4:$VD,5:$VE,130:[1,1098]},{309:[1,1099]},o($Vg3,[2,411]),o($Vg3,[2,412]),o($Vd3,[2,576],{63:$VY2}),o($Vd3,[2,578]),o($Vg3,[2,415]),o($Vg3,[2,416]),{3:1100,4:$VD,5:$VE},{66:[1,1101]},{3:1080,4:$VD,5:$VE,130:$VQ3,307:1102},{63:$VR3,67:[1,1103]},o($Vg3,[2,406],{310:1104,311:1105,153:[1,1106]}),o($Vg3,[2,405]),{153:[1,1108],312:1107},{269:[1,1109]},o($Vg3,[2,407]),{265:[1,1110]},{313:[1,1111]},{313:[1,1112]},{314:[1,1113]},{314:[1,1114]},{153:[2,408]},o($Vg3,[2,409])],defaultActions:{86:[2,3],134:[2,254],135:[2,255],136:[2,256],137:[2,257],138:[2,258],139:[2,259],140:[2,260],141:[2,261],142:[2,262],178:[2,557],279:[2,609],280:[2,610],362:[2,558],435:[2,341],436:[2,342],437:[2,343],530:[2,559],867:[2,393],1113:[2,408]},parseError:function parseError(str,hash){if(hash.recoverable){this.trace(str)
|
|
3
|
-
}else{throw new Error(str)}},parse:function parse(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1;var args=lstack.slice.call(arguments,1);var lexer=Object.create(this.lexer);var sharedState={yy:{}};for(var k in this.yy){if(Object.prototype.hasOwnProperty.call(this.yy,k)){sharedState.yy[k]=this.yy[k]}}lexer.setInput(input,sharedState.yy);sharedState.yy.lexer=lexer;sharedState.yy.parser=this;if(typeof lexer.yylloc=="undefined"){lexer.yylloc={}}var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;if(typeof sharedState.yy.parseError==="function"){this.parseError=sharedState.yy.parseError}else{this.parseError=Object.getPrototypeOf(this).parseError}function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n;lstack.length=lstack.length-n}_token_stack:function lex(){var token;token=lexer.lex()||EOF;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol===null||typeof symbol=="undefined"){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state]){if(this.terminals_[p]&&p>TERROR){expected.push("'"+this.terminals_[p]+"'")}}if(lexer.showPosition){errStr="Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'"}else{errStr="Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'")}this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}switch(action[0]){case 1:stack.push(symbol);vstack.push(lexer.yytext);lstack.push(lexer.yylloc);stack.push(action[1]);symbol=null;if(!preErrorSymbol){yyleng=lexer.yyleng;yytext=lexer.yytext;yylineno=lexer.yylineno;yyloc=lexer.yylloc;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:len=this.productions_[action[1]][1];yyval.$=vstack[vstack.length-len];yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column};if(ranges){yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]}r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args));if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len);lstack=lstack.slice(0,-1*len)}stack.push(this.productions_[action[1]][0]);vstack.push(yyval.$);lstack.push(yyval._$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:return true}}return true}};var lexer=function(){var lexer={EOF:1,parseError:function parseError(str,hash){if(this.yy.parser){this.yy.parser.parseError(str,hash)}else{throw new Error(str)}},setInput:function(input,yy){this.yy=yy||this.yy||{};this._input=input;this._more=this._backtrack=this.done=false;this.yylineno=this.yyleng=0;this.yytext=this.matched=this.match="";this.conditionStack=["INITIAL"];this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0};if(this.options.ranges){this.yylloc.range=[0,0]}this.offset=0;return this},input:function(){var ch=this._input[0];this.yytext+=ch;this.yyleng++;this.offset++;this.match+=ch;this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno++;this.yylloc.last_line++}else{this.yylloc.last_column++}if(this.options.ranges){this.yylloc.range[1]++}this._input=this._input.slice(1);return ch},unput:function(ch){var len=ch.length;var lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input;this.yytext=this.yytext.substr(0,this.yytext.length-len);this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1);this.matched=this.matched.substr(0,this.matched.length-1);if(lines.length-1){this.yylineno-=lines.length-1}var r=this.yylloc.range;this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len};if(this.options.ranges){this.yylloc.range=[r[0],r[0]+this.yyleng-len]}this.yyleng=this.yytext.length;return this},more:function(){this._more=true;return this},reject:function(){if(this.options.backtrack_lexer){this._backtrack=true}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;if(next.length<20){next+=this._input.substr(0,20-next.length)}return(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput();var c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer){backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done};if(this.options.ranges){backup.yylloc.range=this.yylloc.range.slice(0)}}lines=match[0].match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno+=lines.length}this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length};this.yytext+=match[0];this.match+=match[0];this.matches=match;this.yyleng=this.yytext.length;if(this.options.ranges){this.yylloc.range=[this.offset,this.offset+=this.yyleng]}this._more=false;this._backtrack=false;this._input=this._input.slice(match[0].length);this.matched+=match[0];token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]);if(this.done&&this._input){this.done=false}if(token){return token}else if(this._backtrack){for(var k in backup){this[k]=backup[k]}return false}return false},next:function(){if(this.done){return this.EOF}if(!this._input){this.done=true}var token,match,tempMatch,index;if(!this._more){this.yytext="";this.match=""}var rules=this._currentRules();for(var i=0;i<rules.length;i++){tempMatch=this._input.match(this.rules[rules[i]]);if(tempMatch&&(!match||tempMatch[0].length>match[0].length)){match=tempMatch;index=i;if(this.options.backtrack_lexer){token=this.test_match(tempMatch,rules[i]);if(token!==false){return token}else if(this._backtrack){match=false;continue}else{return false}}else if(!this.options.flex){break}}}if(match){token=this.test_match(match,rules[index]);if(token!==false){return token}return false}if(this._input===""){return this.EOF}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}},lex:function lex(){var r=this.next();if(r){return r}else{return this.lex()}},begin:function begin(condition){this.conditionStack.push(condition)},popState:function popState(){var n=this.conditionStack.length-1;if(n>0){return this.conditionStack.pop()}else{return this.conditionStack[0]}},_currentRules:function _currentRules(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules}else{return this.conditions["INITIAL"].rules}},topState:function topState(n){n=this.conditionStack.length-1-Math.abs(n||0);if(n>=0){return this.conditionStack[n]}else{return"INITIAL"}},pushState:function pushState(condition){this.begin(condition)},stateStackSize:function stateStackSize(){return this.conditionStack.length},options:{"case-insensitive":true},performAction:function anonymous(yy,yy_,$avoiding_name_collisions,YY_START){var YYSTATE=YY_START;switch($avoiding_name_collisions){case 0:return 193;break;case 1:return 225;break;case 2:return 344;break;case 3:return 5;break;case 4:return 5;break;case 5:return 218;break;case 6:return 218;break;case 7:return 130;break;case 8:return 130;break;case 9:return;break;case 10:return;break;case 11:break;case 12:return 255;break;case 13:return 254;break;case 14:return"ABSOLUTE";break;case 15:return 314;break;case 16:return 328;break;case 17:return 214;break;case 18:return 113;break;case 19:return 325;break;case 20:return 254;break;case 21:return 152;break;case 22:return 264;break;case 23:return 135;break;case 24:return 215;break;case 25:return 65;break;case 26:return 342;break;case 27:return 174;break;case 28:return 330;break;case 29:return 289;break;case 30:return 289;break;case 31:return 211;break;case 32:return 361;break;case 33:return 259;break;case 34:return 364;break;case 35:return 260;break;case 36:return 234;break;case 37:return 158;break;case 38:return 226;break;case 39:return 195;break;case 40:return 290;break;case 41:return 304;break;case 42:return 285;break;case 43:return"CLOSE";break;case 44:return 175;break;case 45:return"COLUMN";break;case 46:return"COLUMN";break;case 47:return"COMMIT";break;case 48:return"CONSTRAINT";break;case 49:return"CONTENT";break;case 50:return"CONTINUE";break;case 51:return"CONVERT";break;case 52:return"CORRESPONDING";break;case 53:return"COUNT";break;case 54:return 278;break;case 55:return"CROSS";break;case 56:return 165;break;case 57:return"CURRENT_TIMESTAMP";break;case 58:return"CURSOR";break;case 59:return 331;break;case 60:return 336;break;case 61:return 368;break;case 62:return 274;break;case 63:return 269;break;case 64:return"DELETED";break;case 65:return 174;break;case 66:return 332;break;case 67:return 109;break;case 68:return 322;break;case 69:return 392;break;case 70:return 229;break;case 71:return 288;break;case 72:return 318;break;case 73:return 233;break;case 74:return 168;break;case 75:return 221;break;case 76:return 13;break;case 77:return 217;break;case 78:return"FETCH";break;case 79:return 212;break;case 80:return 308;break;case 81:return 96;break;case 82:return 11;break;case 83:return 157;break;case 84:return 162;break;case 85:return 166;break;case 86:return 339;break;case 87:return 293;break;case 88:return 321;break;case 89:return 261;break;case 90:return 257;break;case 91:return 120;break;case 92:return 147;break;case 93:return 270;break;case 94:return"INSERTED";break;case 95:return 169;break;case 96:return 125;break;case 97:return 146;break;case 98:return 306;break;case 99:return 213;break;case 100:return 99;break;case 101:return 148;break;case 102:return 90;break;case 103:return 103;break;case 104:return"MATCHED";break;case 105:return 118;break;case 106:return"MAX";break;case 107:return"MERGE";break;case 108:return"MIN";break;case 109:return"EXCEPT";break;case 110:return"MODIFY";break;case 111:return 145;break;case 112:return"NEXT";break;case 113:return 194;break;case 114:return 176;break;case 115:return 313;break;case 116:return 256;break;case 117:return 219;break;case 118:return 357;break;case 119:return 153;break;case 120:return 178;break;case 121:return"OPEN";break;case 122:return 255;break;case 123:return 171;break;case 124:return 136;break;case 125:return 203;break;case 126:return 206;break;case 127:return 124;break;case 128:return 15;break;case 129:return 305;break;case 130:return 365;break;case 131:return"PRIOR";break;case 132:return 14;break;case 133:return 121;break;case 134:return"REDUCE";break;case 135:return 309;break;case 136:return"RELATIVE";break;case 137:return 85;break;case 138:return 326;break;case 139:return 366;break;case 140:return"RESTORE";break;case 141:return 149;break;case 142:return 360;break;case 143:return 164;break;case 144:return 116;break;case 145:return 331;break;case 146:return 336;break;case 147:return 93;break;case 148:return 114;break;case 149:return 151;break;case 150:return 266;break;case 151:return 163;break;case 152:return 335;break;case 153:return 263;break;case 154:return 341;break;case 155:return 105;break;case 156:return"STORE";break;case 157:return"SUM";break;case 158:return 284;break;case 159:return 337;break;case 160:return 383;break;case 161:return 292;break;case 162:return 291;break;case 163:return 119;break;case 164:return 232;break;case 165:return 107;break;case 166:return 327;break;case 167:return 122;break;case 168:return"TRAN";break;case 169:return 359;break;case 170:return 216;break;case 171:return 371;break;case 172:return 167;break;case 173:return 112;break;case 174:return 265;break;case 175:return 334;break;case 176:return 154;break;case 177:return 115;break;case 178:return 272;break;case 179:return 385;break;case 180:return 338;break;case 181:return 231;break;case 182:return 156;break;case 183:return 101;break;case 184:return 61;break;case 185:return 359;break;case 186:return 180;break;case 187:return 180;break;case 188:return 240;break;case 189:return 241;break;case 190:return 235;break;case 191:return 236;break;case 192:return 182;break;case 193:return 237;break;case 194:return 238;break;case 195:return 251;break;case 196:return 248;break;case 197:return 250;break;case 198:return 247;break;case 199:return 243;break;case 200:return 242;break;case 201:return 245;break;case 202:return 249;break;case 203:return 244;break;case 204:return 246;break;case 205:return 249;break;case 206:return 66;break;case 207:return 67;break;case 208:return 220;break;case 209:return 348;break;case 210:return 350;break;case 211:return 352;break;case 212:return 139;break;case 213:return 63;break;case 214:return 262;break;case 215:return 223;break;case 216:return 9;break;case 217:return 222;break;case 218:return 224;break;case 219:return 239;break;case 220:return 4;break;case 221:return 8;break;case 222:return"INVALID";break}},rules:[/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:\/\*(.*?)\*\/)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AGGR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTOINCREMENT\b)/i,/^(?:AUTO_INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHARSET\b)/i,/^(?:CHECK\b)/i,/^(?:CLASS\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTENT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:CORRESPONDING\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE\b)/i,/^(?:DATABASES\b)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DROP\b)/i,/^(?:EDGE\b)/i,/^(?:END\b)/i,/^(?:ENGINE\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:GO\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:HELP\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INNER\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LET\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX\b)/i,/^(?:MERGE\b)/i,/^(?:MIN\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:RELATIVE\b)/i,/^(?:REMOVE\b)/i,/^(?:RENAME\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:SCHEMA\b)/i,/^(?:SCHEMAS\b)/i,/^(?:SEARCH\b)/i,/^(?:SELECT\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:SOURCE\b)/i,/^(?:STRATEGY\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TEMP\b)/i,/^(?:TEMPORARY\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:THEN\b)/i,/^(?:TIMEOUT\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE\b)/i,/^(?:VALUES\b)/i,/^(?:VERTEX\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:\^)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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],inclusive:true}}};return lexer}();parser.lexer=lexer;function Parser(){this.yy={}}Parser.prototype=parser;parser.Parser=Parser;return new Parser}();if(typeof require!=="undefined"&&typeof exports!=="undefined"){exports.parser=parser;exports.Parser=parser.Parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){console.log("Usage: "+args[0]+" FILE");process.exit(1)}var source=require("fs").readFileSync(require("path").normalize(args[1]),"utf8");return exports.parser.parse(source)};if(typeof module!=="undefined"&&require.main===module){exports.main(process.argv.slice(1))}}alasql.prettyflag=false;alasql.pretty=function(sql,flag){var pf=alasql.prettyflag;alasql.prettyflag=!flag;var s=alasql.parse(sql).toString();alasql.prettyflag=pf;return s};function K(s){if(alasql.prettyflag){return'<b style="color:blue">'+s.toUpperCase()+"</b>"}else{return s}}function P(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function L(s){if(alasql.prettyflag){return'<span style="color:red">'+s+"</span>"}else{return s}}function N(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function S(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function NL(){if(alasql.prettyflag){return"<br/>"}else{return" "}}function ID(){if(alasql.prettyflag){return" "}else{return""}}var utils=alasql.utils={};function returnTrue(){return true}function returnUndefined(){}var escapeq=utils.escapeq=function(s){return s.replace(/\'/g,"\\'")};var escapeqq=utils.undoubleq=function(s){return s.replace(/(\')/g,"''")};var doubleq=utils.doubleq=function(s){return s.replace(/(\'\')/g,"\\'")};var doubleqq=utils.doubleqq=function(s){return s.replace(/\'/g,"'")};var cutbom=function(s){if(s[0]==String.fromCharCode(65279))s=s.substr(1);return s};var loadFile=utils.loadFile=function(path,asy,success,error){if(typeof exports=="object"){var fs=require("fs");if(!path){var buff="";process.stdin.setEncoding("utf8");process.stdin.on("readable",function(){var chunk=process.stdin.read();if(chunk!==null){buff+=chunk.toString()}});process.stdin.on("end",function(){success(cutbom(buff))})}else{if(asy){fs.readFile(path,function(err,data){if(err){throw err}success(cutbom(data.toString()))})}else{var data=fs.readFileSync(path);success(cutbom(data.toString()))}}}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){fileEntry.file(function(file){var fileReader=new FileReader;fileReader.onloadend=function(e){success(cutbom(this.result))};fileReader.readAsText(file)})})})}else{if(typeof path=="string"){if(path.substr(0,1)=="#"&&typeof document!="undefined"){var data=document.querySelector(path).textContent;success(data)}else{var xhr=new XMLHttpRequest;xhr.onreadystatechange=function(){if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){if(success)success(cutbom(xhr.responseText))}else{if(error)error(xhr)}}};xhr.open("GET",path,asy);xhr.send()}}else if(path instanceof Event){var files=path.target.files;var reader=new FileReader;var name=files[0].name;reader.onload=function(e){var data=e.target.result;success(cutbom(data))};reader.readAsText(files[0])}}};var loadBinaryFile=utils.loadBinaryFile=function(path,asy,success,error){if(typeof exports=="object"){var fs=require("fs");if(asy){fs.readFile(path,function(err,data){if(err){throw err}var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))})}else{var data=fs.readFileSync(path);var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))}}else{if(typeof path=="string"){var xhr=new XMLHttpRequest;xhr.open("GET",path,asy);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))};xhr.send()}else if(path instanceof Event){var files=path.target.files;var reader=new FileReader;var name=files[0].name;reader.onload=function(e){var data=e.target.result;success(data)};reader.readAsBinaryString(files[0])}}};var removeFile=utils.removeFile=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.remove(path,cb)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){fileEntry.remove(cb);if(cb)cb()},function(){if(cb)cb()})})}else{throw new Error("You can remove files only in Node.js and Apache Cordova")}};var deleteFile=utils.deleteFile=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.unlink(path,cb)}};var fileExists=utils.fileExists=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.exists(path,cb)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){cb(true)},function(){cb(false)})})}else{throw new Error("You can use exists() only in Node.js or Apach Cordova")}};var saveFile=utils.saveFile=function(path,data,cb){var res=1;if(typeof path=="undefined"){res=data;if(cb)res=cb(res)}else{if(typeof exports=="object"){var fs=require("fs");var data=fs.writeFileSync(path,data);if(cb)res=cb(res)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:true},function(fileEntry){fileEntry.createWriter(function(fileWriter){fileWriter.onwriteend=function(){if(cb)res=cb(res)};fileWriter.write(data)})})})}else{var blob=new Blob([data],{type:"text/plain;charset=utf-8"});saveAs(blob,path);if(cb)res=cb(res)}}return res};var hash=utils.hash=function hash(str){var h=0;if(str.length==0)return h;for(var i=0;i<str.length;i++){h=(h<<5)-h+str.charCodeAt(i);h=h&h}return h};var arrayUnion=utils.arrayUnion=function(a,b){var r=b.slice(0);a.forEach(function(i){if(r.indexOf(i)<0)r.push(i)});return r};var arrayDiff=utils.arrayDiff=function(a,b){return a.filter(function(i){return b.indexOf(i)<0})};var arrayIntersect=utils.arrayIntersect=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||ai==bi});if(found){r.push(ai)}});return r};var arrayUnionDeep=utils.arrayUnionDeep=function(a,b){var r=b.slice(0);a.forEach(function(ai){var found=false;r.forEach(function(ri){found=found||deepEqual(ai,ri)});if(!found){r.push(ai)}});return r};var arrayExceptDeep=utils.arrayExceptDeep=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||deepEqual(ai,bi)});if(!found){r.push(ai)}});return r};var arrayIntersectDeep=utils.arrayIntersectDeep=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||deepEqual(ai,bi,true)});if(found){r.push(ai)}});return r};var cloneDeep=utils.cloneDeep=function cloneDeep(obj){if(obj==null||typeof obj!="object")return obj;var temp=obj.constructor();for(var key in obj){if(obj.hasOwnProperty(key)){temp[key]=cloneDeep(obj[key])}}return temp};var equalDeep=utils.equalDeep=function equalDeep(x,y,deep){if(deep){if(x==y)return true;var p;for(p in y){if(typeof x[p]=="undefined"){return false}}for(p in y){if(y[p]){switch(typeof y[p]){case"object":if(!equalDeep(y[p],x[p])){return false}break;case"function":if(typeof x[p]=="undefined"||p!="equals"&&y[p].toString()!=x[p].toString())return false;break;default:if(y[p]!=x[p]){return false}}}else{if(x[p])return false}}for(p in x){if(typeof y[p]=="undefined"){return false}}return true}return x==y};var deepEqual=utils.deepEqual=function(x,y){if(typeof x=="object"&&x!=null&&(typeof y=="object"&&y!=null)){if(Object.keys(x).length!=Object.keys(y).length)return false;for(var prop in x){if(y.hasOwnProperty(prop)){if(!deepEqual(x[prop],y[prop]))return false}else return false}return true}else if(x!==y)return false;else return true};var extend=utils.extend=function extend(a,b){if(typeof a=="undefined")a={};for(var key in b){if(b.hasOwnProperty(key)){a[key]=b[key]}}return a};var flatArray=utils.flatArray=function(a){if(!a||a.length==0)return[];var key=Object.keys(a[0])[0];if(typeof key=="undefined")return[];return a.map(function(ai){return ai[key]})};var arrayOfArrays=utils.arrayOfArrays=function(a){return a.map(function(aa){var ar=[];for(var key in aa)ar.push(aa[key]);return ar})};var xlsnc=utils.xlsnc=function(i){var addr=String.fromCharCode(65+i%26);if(i>=26){i=(i/26|0)-1;addr=String.fromCharCode(65+i%26)+addr;if(i>26){i=(i/26|0)-1;addr=String.fromCharCode(65+i%26)+addr}}return addr};var xlscn=utils.xlscn=function(s){var n=s.charCodeAt(0)-65;if(s.length>1){n=(n+1)*26+s.charCodeAt(1)-65;if(s.length>2){n=(n+1)*26+s.charCodeAt(2)-65}}return n};var domEmptyChildren=utils.domEmptyChildren=function(container){var len=container.childNodes.length;while(len--){container.removeChild(container.lastChild)}};alasql.utils.uncomment=function uncomment(str){str=("__"+str+"__").split("");var quote=false,quoteSign,blockComment=false,lineComment=false;for(var i=0,l=str.length;i<l;i++){var unescaped=str[i-1]!=="\\"||str[i-2]==="\\";if(quote){if(str[i]===quoteSign&&unescaped)quote=false}else if(blockComment){if(str[i]==="*"&&str[i+1]==="/"){str[i]=str[i+1]="";blockComment=false;i++}else{str[i]=""}}else if(lineComment){if(str[i+1]=="\n"||str[i+1]=="\r")lineComment=false;str[i]=""}else{if(str[i]=='"'||str[i]=="'"){quote=true;quoteSign=str[i]}else if(str[i]=="["&&str[i-1]!="@"){quote=true;quoteSign="]"}else if(str[i]==="/"&&str[i+1]==="*"){str[i]="";blockComment=true}}}str=str.join("").slice(2,-2);return str};alasql.parser=parser;alasql.parse=function(sql){return parser.parse(alasql.utils.uncomment(sql))};alasql.engines={};alasql.databases={};alasql.databasenum=0;alasql.options={};alasql.options.errorlog=false;alasql.options.valueof=false;alasql.options.dropifnotexists=false;alasql.options.datetimeformat="sql";alasql.options.casesensitive=true;alasql.options.logtarget="output";alasql.options.logprompt=true;alasql.options.modifier=undefined;alasql.options.columnlookup=10;alasql.vars={};alasql.declares={};alasql.options.autocommit=true;alasql.options.cache=true;alasql.prompthistory=[];alasql.from={};alasql.into={};alasql.fn={};alasql.aggr={};alasql.busy=0;alasql.MAXSQLCACHESIZE=1e4;alasql.DEFAULTDATABASEID="alasql";alasql.lastid=0;alasql.buffer={};alasql.use=function(databaseid){if(!databaseid)databaseid=alasql.DEFAULTDATABASEID;if(alasql.useid==databaseid)return;alasql.useid=databaseid;var db=alasql.databases[alasql.useid];alasql.tables=db.tables;db.resetSqlCache()};alasql.exec=function(sql,params,cb,scope){delete alasql.error;if(alasql.options.errorlog){try{return alasql.dexec(alasql.useid,sql,params,cb,scope)}catch(err){alasql.error=err;if(cb)cb(null,alasql.error)}}else{return alasql.dexec(alasql.useid,sql,params,cb,scope)}};alasql.dexec=function(databaseid,sql,params,cb,scope){var db=alasql.databases[databaseid];if(alasql.options.cache){var hh=hash(sql);var statement=db.sqlCache[hh];if(statement&&db.dbversion==statement.dbversion){return statement(params,cb)}}var ast=alasql.parse(sql);if(!ast.statements)return;if(ast.statements.length==0)return 0;else if(ast.statements.length==1){if(ast.statements[0].compile){var statement=ast.statements[0].compile(databaseid);if(!statement)return;statement.sql=sql;statement.dbversion=db.dbversion;if(alasql.options.cache){if(db.sqlCacheSize>alasql.MAXSQLCACHESIZE){db.resetSqlCache()}db.sqlCacheSize++;db.sqlCache[hh]=statement}var res=alasql.res=statement(params,cb,scope);return res}else{alasql.precompile(ast.statements[0],alasql.useid,params);var res=alasql.res=ast.statements[0].execute(databaseid,params,cb,scope);return res}}else{if(cb){alasql.adrun(databaseid,ast,params,cb,scope)}else{return alasql.drun(databaseid,ast,params,cb,scope)}}};alasql.drun=function(databaseid,ast,params,cb,scope){var useid=alasql.useid;if(useid!=databaseid)alasql.use(databaseid);var res=[];for(var i=0,ilen=ast.statements.length;i<ilen;i++){if(ast.statements[i]){if(ast.statements[i].compile){var statement=ast.statements[i].compile(alasql.useid);res.push(alasql.res=statement(params,null,scope))}else{alasql.precompile(ast.statements[i],alasql.useid,params);res.push(alasql.res=ast.statements[i].execute(alasql.useid,params))}}}if(useid!=databaseid)alasql.use(useid);if(cb)cb(res);alasql.res=res;return res};alasql.adrun=function(databaseid,ast,params,cb,scope){var useid=alasql.useid;if(useid!=databaseid)alasql.use(databaseid);var res=[];adrunone();function adrunone(data){if(typeof data!="undefined")res.push(data);
|
|
3
|
+
}else{throw new Error(str)}},parse:function parse(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1;var args=lstack.slice.call(arguments,1);var lexer=Object.create(this.lexer);var sharedState={yy:{}};for(var k in this.yy){if(Object.prototype.hasOwnProperty.call(this.yy,k)){sharedState.yy[k]=this.yy[k]}}lexer.setInput(input,sharedState.yy);sharedState.yy.lexer=lexer;sharedState.yy.parser=this;if(typeof lexer.yylloc=="undefined"){lexer.yylloc={}}var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;if(typeof sharedState.yy.parseError==="function"){this.parseError=sharedState.yy.parseError}else{this.parseError=Object.getPrototypeOf(this).parseError}function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n;lstack.length=lstack.length-n}_token_stack:function lex(){var token;token=lexer.lex()||EOF;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol===null||typeof symbol=="undefined"){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state]){if(this.terminals_[p]&&p>TERROR){expected.push("'"+this.terminals_[p]+"'")}}if(lexer.showPosition){errStr="Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'"}else{errStr="Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'")}this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}switch(action[0]){case 1:stack.push(symbol);vstack.push(lexer.yytext);lstack.push(lexer.yylloc);stack.push(action[1]);symbol=null;if(!preErrorSymbol){yyleng=lexer.yyleng;yytext=lexer.yytext;yylineno=lexer.yylineno;yyloc=lexer.yylloc;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:len=this.productions_[action[1]][1];yyval.$=vstack[vstack.length-len];yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column};if(ranges){yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]}r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args));if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len);lstack=lstack.slice(0,-1*len)}stack.push(this.productions_[action[1]][0]);vstack.push(yyval.$);lstack.push(yyval._$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:return true}}return true}};var lexer=function(){var lexer={EOF:1,parseError:function parseError(str,hash){if(this.yy.parser){this.yy.parser.parseError(str,hash)}else{throw new Error(str)}},setInput:function(input,yy){this.yy=yy||this.yy||{};this._input=input;this._more=this._backtrack=this.done=false;this.yylineno=this.yyleng=0;this.yytext=this.matched=this.match="";this.conditionStack=["INITIAL"];this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0};if(this.options.ranges){this.yylloc.range=[0,0]}this.offset=0;return this},input:function(){var ch=this._input[0];this.yytext+=ch;this.yyleng++;this.offset++;this.match+=ch;this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno++;this.yylloc.last_line++}else{this.yylloc.last_column++}if(this.options.ranges){this.yylloc.range[1]++}this._input=this._input.slice(1);return ch},unput:function(ch){var len=ch.length;var lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input;this.yytext=this.yytext.substr(0,this.yytext.length-len);this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1);this.matched=this.matched.substr(0,this.matched.length-1);if(lines.length-1){this.yylineno-=lines.length-1}var r=this.yylloc.range;this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len};if(this.options.ranges){this.yylloc.range=[r[0],r[0]+this.yyleng-len]}this.yyleng=this.yytext.length;return this},more:function(){this._more=true;return this},reject:function(){if(this.options.backtrack_lexer){this._backtrack=true}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;if(next.length<20){next+=this._input.substr(0,20-next.length)}return(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput();var c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer){backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done};if(this.options.ranges){backup.yylloc.range=this.yylloc.range.slice(0)}}lines=match[0].match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno+=lines.length}this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length};this.yytext+=match[0];this.match+=match[0];this.matches=match;this.yyleng=this.yytext.length;if(this.options.ranges){this.yylloc.range=[this.offset,this.offset+=this.yyleng]}this._more=false;this._backtrack=false;this._input=this._input.slice(match[0].length);this.matched+=match[0];token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]);if(this.done&&this._input){this.done=false}if(token){return token}else if(this._backtrack){for(var k in backup){this[k]=backup[k]}return false}return false},next:function(){if(this.done){return this.EOF}if(!this._input){this.done=true}var token,match,tempMatch,index;if(!this._more){this.yytext="";this.match=""}var rules=this._currentRules();for(var i=0;i<rules.length;i++){tempMatch=this._input.match(this.rules[rules[i]]);if(tempMatch&&(!match||tempMatch[0].length>match[0].length)){match=tempMatch;index=i;if(this.options.backtrack_lexer){token=this.test_match(tempMatch,rules[i]);if(token!==false){return token}else if(this._backtrack){match=false;continue}else{return false}}else if(!this.options.flex){break}}}if(match){token=this.test_match(match,rules[index]);if(token!==false){return token}return false}if(this._input===""){return this.EOF}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}},lex:function lex(){var r=this.next();if(r){return r}else{return this.lex()}},begin:function begin(condition){this.conditionStack.push(condition)},popState:function popState(){var n=this.conditionStack.length-1;if(n>0){return this.conditionStack.pop()}else{return this.conditionStack[0]}},_currentRules:function _currentRules(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules}else{return this.conditions["INITIAL"].rules}},topState:function topState(n){n=this.conditionStack.length-1-Math.abs(n||0);if(n>=0){return this.conditionStack[n]}else{return"INITIAL"}},pushState:function pushState(condition){this.begin(condition)},stateStackSize:function stateStackSize(){return this.conditionStack.length},options:{"case-insensitive":true},performAction:function anonymous(yy,yy_,$avoiding_name_collisions,YY_START){var YYSTATE=YY_START;switch($avoiding_name_collisions){case 0:return 193;break;case 1:return 225;break;case 2:return 344;break;case 3:return 5;break;case 4:return 5;break;case 5:return 218;break;case 6:return 218;break;case 7:return 130;break;case 8:return 130;break;case 9:return;break;case 10:return;break;case 11:break;case 12:return 255;break;case 13:return 254;break;case 14:return"ABSOLUTE";break;case 15:return 314;break;case 16:return 328;break;case 17:return 214;break;case 18:return 113;break;case 19:return 325;break;case 20:return 254;break;case 21:return 152;break;case 22:return 264;break;case 23:return 135;break;case 24:return 215;break;case 25:return 65;break;case 26:return 342;break;case 27:return 174;break;case 28:return 330;break;case 29:return 289;break;case 30:return 289;break;case 31:return 211;break;case 32:return 361;break;case 33:return 259;break;case 34:return 364;break;case 35:return 260;break;case 36:return 234;break;case 37:return 158;break;case 38:return 226;break;case 39:return 195;break;case 40:return 290;break;case 41:return 304;break;case 42:return 285;break;case 43:return"CLOSE";break;case 44:return 175;break;case 45:return"COLUMN";break;case 46:return"COLUMN";break;case 47:return"COMMIT";break;case 48:return"CONSTRAINT";break;case 49:return"CONTENT";break;case 50:return"CONTINUE";break;case 51:return"CONVERT";break;case 52:return"CORRESPONDING";break;case 53:return"COUNT";break;case 54:return 278;break;case 55:return"CROSS";break;case 56:return 165;break;case 57:return"CURRENT_TIMESTAMP";break;case 58:return"CURSOR";break;case 59:return 331;break;case 60:return 336;break;case 61:return 368;break;case 62:return 274;break;case 63:return 269;break;case 64:return"DELETED";break;case 65:return 174;break;case 66:return 332;break;case 67:return 109;break;case 68:return 322;break;case 69:return 392;break;case 70:return 229;break;case 71:return 288;break;case 72:return 318;break;case 73:return 233;break;case 74:return 168;break;case 75:return 221;break;case 76:return 13;break;case 77:return 217;break;case 78:return"FETCH";break;case 79:return 212;break;case 80:return 308;break;case 81:return 96;break;case 82:return 11;break;case 83:return 157;break;case 84:return 162;break;case 85:return 166;break;case 86:return 339;break;case 87:return 293;break;case 88:return 321;break;case 89:return 261;break;case 90:return 257;break;case 91:return 120;break;case 92:return 147;break;case 93:return 270;break;case 94:return"INSERTED";break;case 95:return 169;break;case 96:return 125;break;case 97:return 146;break;case 98:return 306;break;case 99:return 213;break;case 100:return 99;break;case 101:return 148;break;case 102:return 90;break;case 103:return 103;break;case 104:return"MATCHED";break;case 105:return 118;break;case 106:return"MAX";break;case 107:return"MERGE";break;case 108:return"MIN";break;case 109:return"EXCEPT";break;case 110:return"MODIFY";break;case 111:return 145;break;case 112:return"NEXT";break;case 113:return 194;break;case 114:return 176;break;case 115:return 313;break;case 116:return 256;break;case 117:return 219;break;case 118:return 357;break;case 119:return 153;break;case 120:return 178;break;case 121:return"OPEN";break;case 122:return 255;break;case 123:return 171;break;case 124:return 136;break;case 125:return 203;break;case 126:return 206;break;case 127:return 124;break;case 128:return 15;break;case 129:return 305;break;case 130:return 365;break;case 131:return"PRIOR";break;case 132:return 14;break;case 133:return 121;break;case 134:return"REDUCE";break;case 135:return 309;break;case 136:return"RELATIVE";break;case 137:return 85;break;case 138:return 326;break;case 139:return 366;break;case 140:return"RESTORE";break;case 141:return 149;break;case 142:return 360;break;case 143:return 164;break;case 144:return 116;break;case 145:return 331;break;case 146:return 336;break;case 147:return 93;break;case 148:return 114;break;case 149:return 151;break;case 150:return 266;break;case 151:return 163;break;case 152:return 335;break;case 153:return 263;break;case 154:return 341;break;case 155:return 105;break;case 156:return"STORE";break;case 157:return"SUM";break;case 158:return 284;break;case 159:return 337;break;case 160:return 383;break;case 161:return 292;break;case 162:return 291;break;case 163:return 119;break;case 164:return 232;break;case 165:return 107;break;case 166:return 327;break;case 167:return 122;break;case 168:return"TRAN";break;case 169:return 359;break;case 170:return 216;break;case 171:return 371;break;case 172:return 167;break;case 173:return 112;break;case 174:return 265;break;case 175:return 334;break;case 176:return 154;break;case 177:return 115;break;case 178:return 272;break;case 179:return 385;break;case 180:return 338;break;case 181:return 231;break;case 182:return 156;break;case 183:return 101;break;case 184:return 61;break;case 185:return 359;break;case 186:return 180;break;case 187:return 180;break;case 188:return 240;break;case 189:return 241;break;case 190:return 235;break;case 191:return 236;break;case 192:return 182;break;case 193:return 237;break;case 194:return 238;break;case 195:return 251;break;case 196:return 248;break;case 197:return 250;break;case 198:return 247;break;case 199:return 243;break;case 200:return 242;break;case 201:return 245;break;case 202:return 249;break;case 203:return 244;break;case 204:return 246;break;case 205:return 249;break;case 206:return 66;break;case 207:return 67;break;case 208:return 220;break;case 209:return 348;break;case 210:return 350;break;case 211:return 352;break;case 212:return 139;break;case 213:return 63;break;case 214:return 262;break;case 215:return 223;break;case 216:return 9;break;case 217:return 222;break;case 218:return 224;break;case 219:return 239;break;case 220:return 4;break;case 221:return 8;break;case 222:return"INVALID";break}},rules:[/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:\/\*(.*?)\*\/)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AGGR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTOINCREMENT\b)/i,/^(?:AUTO_INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHARSET\b)/i,/^(?:CHECK\b)/i,/^(?:CLASS\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTENT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:CORRESPONDING\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE\b)/i,/^(?:DATABASES\b)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DROP\b)/i,/^(?:EDGE\b)/i,/^(?:END\b)/i,/^(?:ENGINE\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:GO\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:HELP\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INNER\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LET\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX\b)/i,/^(?:MERGE\b)/i,/^(?:MIN\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:RELATIVE\b)/i,/^(?:REMOVE\b)/i,/^(?:RENAME\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:SCHEMA\b)/i,/^(?:SCHEMAS\b)/i,/^(?:SEARCH\b)/i,/^(?:SELECT\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:SOURCE\b)/i,/^(?:STRATEGY\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TEMP\b)/i,/^(?:TEMPORARY\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:THEN\b)/i,/^(?:TIMEOUT\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE\b)/i,/^(?:VALUES\b)/i,/^(?:VERTEX\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:\^)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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],inclusive:true}}};return lexer}();parser.lexer=lexer;function Parser(){this.yy={}}Parser.prototype=parser;parser.Parser=Parser;return new Parser}();if(typeof require!=="undefined"&&typeof exports!=="undefined"){exports.parser=parser;exports.Parser=parser.Parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){console.log("Usage: "+args[0]+" FILE");process.exit(1)}var source=require("fs").readFileSync(require("path").normalize(args[1]),"utf8");return exports.parser.parse(source)};if(typeof module!=="undefined"&&require.main===module){exports.main(process.argv.slice(1))}}alasql.prettyflag=false;alasql.pretty=function(sql,flag){var pf=alasql.prettyflag;alasql.prettyflag=!flag;var s=alasql.parse(sql).toString();alasql.prettyflag=pf;return s};function K(s){if(alasql.prettyflag){return'<b style="color:blue">'+s.toUpperCase()+"</b>"}else{return s}}function P(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function L(s){if(alasql.prettyflag){return'<span style="color:red">'+s+"</span>"}else{return s}}function N(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function S(s){if(alasql.prettyflag){return'<span style="color:green">'+s+"</span>"}else{return s}}function NL(){if(alasql.prettyflag){return"<br/>"}else{return" "}}function ID(){if(alasql.prettyflag){return" "}else{return""}}var utils=alasql.utils={};function returnTrue(){return true}function returnUndefined(){}var escapeq=utils.escapeq=function(s){return s.replace(/\'/g,"\\'")};var escapeqq=utils.undoubleq=function(s){return s.replace(/(\')/g,"''")};var doubleq=utils.doubleq=function(s){return s.replace(/(\'\')/g,"\\'")};var doubleqq=utils.doubleqq=function(s){return s.replace(/\'/g,"'")};var cutbom=function(s){if(s[0]==String.fromCharCode(65279))s=s.substr(1);return s};var loadFile=utils.loadFile=function(path,asy,success,error){if(typeof exports=="object"){var fs=require("fs");if(!path){var buff="";process.stdin.setEncoding("utf8");process.stdin.on("readable",function(){var chunk=process.stdin.read();if(chunk!==null){buff+=chunk.toString()}});process.stdin.on("end",function(){success(cutbom(buff))})}else{if(asy){fs.readFile(path,function(err,data){if(err){throw err}success(cutbom(data.toString()))})}else{var data=fs.readFileSync(path);success(cutbom(data.toString()))}}}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){fileEntry.file(function(file){var fileReader=new FileReader;fileReader.onloadend=function(e){success(cutbom(this.result))};fileReader.readAsText(file)})})})}else{if(typeof path=="string"){if(path.substr(0,1)=="#"&&typeof document!="undefined"){var data=document.querySelector(path).textContent;success(data)}else{var xhr=new XMLHttpRequest;xhr.onreadystatechange=function(){if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){if(success)success(cutbom(xhr.responseText))}else{if(error)error(xhr)}}};xhr.open("GET",path,asy);xhr.send()}}else if(path instanceof Event){var files=path.target.files;var reader=new FileReader;var name=files[0].name;reader.onload=function(e){var data=e.target.result;success(cutbom(data))};reader.readAsText(files[0])}}};var loadBinaryFile=utils.loadBinaryFile=function(path,asy,success,error){if(typeof exports=="object"){var fs=require("fs");if(asy){fs.readFile(path,function(err,data){if(err){throw err}var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))})}else{var data=fs.readFileSync(path);var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))}}else{if(typeof path=="string"){var xhr=new XMLHttpRequest;xhr.open("GET",path,asy);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);var arr=new Array;for(var i=0;i!=data.length;++i)arr[i]=String.fromCharCode(data[i]);success(arr.join(""))};xhr.send()}else if(path instanceof Event){var files=path.target.files;var reader=new FileReader;var name=files[0].name;reader.onload=function(e){var data=e.target.result;success(data)};reader.readAsBinaryString(files[0])}}};var removeFile=utils.removeFile=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.remove(path,cb)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){fileEntry.remove(cb);if(cb)cb()},function(){if(cb)cb()})})}else{throw new Error("You can remove files only in Node.js and Apache Cordova")}};var deleteFile=utils.deleteFile=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.unlink(path,cb)}};var fileExists=utils.fileExists=function(path,cb){if(typeof exports=="object"){var fs=require("fs");fs.exists(path,cb)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:false},function(fileEntry){cb(true)},function(){cb(false)})})}else{throw new Error("You can use exists() only in Node.js or Apach Cordova")}};var saveFile=utils.saveFile=function(path,data,cb){var res=1;if(typeof path=="undefined"){res=data;if(cb)res=cb(res)}else{if(typeof exports=="object"){var fs=require("fs");var data=fs.writeFileSync(path,data);if(cb)res=cb(res)}else if(typeof cordova=="object"){window.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem){fileSystem.root.getFile(path,{create:true},function(fileEntry){fileEntry.createWriter(function(fileWriter){fileWriter.onwriteend=function(){if(cb)res=cb(res)};fileWriter.write(data)})})})}else{var blob=new Blob([data],{type:"text/plain;charset=utf-8"});saveAs(blob,path);if(cb)res=cb(res)}}return res};var hash=utils.hash=function hash(str){var h=0;if(str.length==0)return h;for(var i=0;i<str.length;i++){h=(h<<5)-h+str.charCodeAt(i);h=h&h}return h};var arrayUnion=utils.arrayUnion=function(a,b){var r=b.slice(0);a.forEach(function(i){if(r.indexOf(i)<0)r.push(i)});return r};var arrayDiff=utils.arrayDiff=function(a,b){return a.filter(function(i){return b.indexOf(i)<0})};var arrayIntersect=utils.arrayIntersect=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||ai==bi});if(found){r.push(ai)}});return r};var arrayUnionDeep=utils.arrayUnionDeep=function(a,b){var r=b.slice(0);a.forEach(function(ai){var found=false;r.forEach(function(ri){found=found||deepEqual(ai,ri)});if(!found){r.push(ai)}});return r};var arrayExceptDeep=utils.arrayExceptDeep=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||deepEqual(ai,bi)});if(!found){r.push(ai)}});return r};var arrayIntersectDeep=utils.arrayIntersectDeep=function(a,b){var r=[];a.forEach(function(ai){var found=false;b.forEach(function(bi){found=found||deepEqual(ai,bi,true)});if(found){r.push(ai)}});return r};var cloneDeep=utils.cloneDeep=function cloneDeep(obj){if(obj==null||typeof obj!="object")return obj;var temp=(Object.prototype.hasOwnProperty.call(obj,"constructor")?Object:obj.constructor)();for(var key in obj){if(obj.hasOwnProperty(key)){if(key==="__proto__"){Object.defineProperty(temp,key,{value:cloneDeep(obj[key]),writable:true,enumerable:true,configurable:true})}else{temp[key]=cloneDeep(obj[key])}}}return temp};var equalDeep=utils.equalDeep=function equalDeep(x,y,deep){if(deep){if(x==y)return true;var p;for(p in y){if(typeof x[p]=="undefined"){return false}}for(p in y){if(y[p]){switch(typeof y[p]){case"object":if(!equalDeep(y[p],x[p])){return false}break;case"function":if(typeof x[p]=="undefined"||p!="equals"&&y[p].toString()!=x[p].toString())return false;break;default:if(y[p]!=x[p]){return false}}}else{if(x[p])return false}}for(p in x){if(typeof y[p]=="undefined"){return false}}return true}return x==y};var deepEqual=utils.deepEqual=function(x,y){if(typeof x=="object"&&x!=null&&(typeof y=="object"&&y!=null)){if(Object.keys(x).length!=Object.keys(y).length)return false;for(var prop in x){if(y.hasOwnProperty(prop)){if(!deepEqual(x[prop],y[prop]))return false}else return false}return true}else if(x!==y)return false;else return true};var extend=utils.extend=function extend(a,b){if(typeof a=="undefined")a={};for(var key in b){if(b.hasOwnProperty(key)){if(key==="__proto__"){Object.defineProperty(a,key,{value:b[key],writable:true,enumerable:true,configurable:true})}else{a[key]=b[key]}}}return a};var flatArray=utils.flatArray=function(a){if(!a||a.length==0)return[];var key=Object.keys(a[0])[0];if(typeof key=="undefined")return[];return a.map(function(ai){return ai[key]})};var arrayOfArrays=utils.arrayOfArrays=function(a){return a.map(function(aa){var ar=[];for(var key in aa)ar.push(aa[key]);return ar})};var xlsnc=utils.xlsnc=function(i){var addr=String.fromCharCode(65+i%26);if(i>=26){i=(i/26|0)-1;addr=String.fromCharCode(65+i%26)+addr;if(i>26){i=(i/26|0)-1;addr=String.fromCharCode(65+i%26)+addr}}return addr};var xlscn=utils.xlscn=function(s){var n=s.charCodeAt(0)-65;if(s.length>1){n=(n+1)*26+s.charCodeAt(1)-65;if(s.length>2){n=(n+1)*26+s.charCodeAt(2)-65}}return n};var domEmptyChildren=utils.domEmptyChildren=function(container){var len=container.childNodes.length;while(len--){container.removeChild(container.lastChild)}};alasql.utils.uncomment=function uncomment(str){str=("__"+str+"__").split("");var quote=false,quoteSign,blockComment=false,lineComment=false;for(var i=0,l=str.length;i<l;i++){var unescaped=str[i-1]!=="\\"||str[i-2]==="\\";if(quote){if(str[i]===quoteSign&&unescaped)quote=false}else if(blockComment){if(str[i]==="*"&&str[i+1]==="/"){str[i]=str[i+1]="";blockComment=false;i++}else{str[i]=""}}else if(lineComment){if(str[i+1]=="\n"||str[i+1]=="\r")lineComment=false;str[i]=""}else{if(str[i]=='"'||str[i]=="'"){quote=true;quoteSign=str[i]}else if(str[i]=="["&&str[i-1]!="@"){quote=true;quoteSign="]"}else if(str[i]==="/"&&str[i+1]==="*"){str[i]="";blockComment=true}}}str=str.join("").slice(2,-2);return str};alasql.parser=parser;alasql.parse=function(sql){return parser.parse(alasql.utils.uncomment(sql))};alasql.engines={};alasql.databases={};alasql.databasenum=0;alasql.options={};alasql.options.errorlog=false;alasql.options.valueof=false;alasql.options.dropifnotexists=false;alasql.options.datetimeformat="sql";alasql.options.casesensitive=true;alasql.options.logtarget="output";alasql.options.logprompt=true;alasql.options.modifier=undefined;alasql.options.columnlookup=10;alasql.vars={};alasql.declares={};alasql.options.autocommit=true;alasql.options.cache=true;alasql.prompthistory=[];alasql.from={};alasql.into={};alasql.fn={};alasql.aggr={};alasql.busy=0;alasql.MAXSQLCACHESIZE=1e4;alasql.DEFAULTDATABASEID="alasql";alasql.lastid=0;alasql.buffer={};alasql.use=function(databaseid){if(!databaseid)databaseid=alasql.DEFAULTDATABASEID;if(alasql.useid==databaseid)return;alasql.useid=databaseid;var db=alasql.databases[alasql.useid];alasql.tables=db.tables;db.resetSqlCache()};alasql.exec=function(sql,params,cb,scope){delete alasql.error;if(alasql.options.errorlog){try{return alasql.dexec(alasql.useid,sql,params,cb,scope)}catch(err){alasql.error=err;if(cb)cb(null,alasql.error)}}else{return alasql.dexec(alasql.useid,sql,params,cb,scope)}};alasql.dexec=function(databaseid,sql,params,cb,scope){var db=alasql.databases[databaseid];if(alasql.options.cache){var hh=hash(sql);var statement=db.sqlCache[hh];if(statement&&db.dbversion==statement.dbversion){return statement(params,cb)}}var ast=alasql.parse(sql);if(!ast.statements)return;if(ast.statements.length==0)return 0;else if(ast.statements.length==1){if(ast.statements[0].compile){var statement=ast.statements[0].compile(databaseid);if(!statement)return;statement.sql=sql;statement.dbversion=db.dbversion;if(alasql.options.cache){if(db.sqlCacheSize>alasql.MAXSQLCACHESIZE){db.resetSqlCache()}db.sqlCacheSize++;db.sqlCache[hh]=statement}var res=alasql.res=statement(params,cb,scope);return res}else{alasql.precompile(ast.statements[0],alasql.useid,params);var res=alasql.res=ast.statements[0].execute(databaseid,params,cb,scope);return res}}else{if(cb){alasql.adrun(databaseid,ast,params,cb,scope)}else{return alasql.drun(databaseid,ast,params,cb,scope)}}};alasql.drun=function(databaseid,ast,params,cb,scope){var useid=alasql.useid;if(useid!=databaseid)alasql.use(databaseid);var res=[];for(var i=0,ilen=ast.statements.length;i<ilen;i++){if(ast.statements[i]){if(ast.statements[i].compile){var statement=ast.statements[i].compile(alasql.useid);res.push(alasql.res=statement(params,null,scope))}else{alasql.precompile(ast.statements[i],alasql.useid,params);res.push(alasql.res=ast.statements[i].execute(alasql.useid,params))}}}if(useid!=databaseid)alasql.use(useid);if(cb)cb(res);alasql.res=res;return res};alasql.adrun=function(databaseid,ast,params,cb,scope){var useid=alasql.useid;if(useid!=databaseid)alasql.use(databaseid);var res=[];adrunone();function adrunone(data){if(typeof data!="undefined")res.push(data);
|
|
4
4
|
var astatement=ast.statements.shift();if(!astatement){if(useid!=databaseid)alasql.use(useid);cb(res)}else{if(astatement.compile){var statement=astatement.compile(alasql.useid);statement(params,adrunone,scope)}else{alasql.precompile(ast.statements[0],alasql.useid,params);astatement.execute(alasql.useid,params,adrunone)}}}};alasql.compile=function(sql,databaseid){if(!databaseid)databaseid=alasql.useid;var ast=alasql.parse(sql);if(ast.statements.length==1){return ast.statements[0].compile(databaseid)}else{throw new Error("Cannot compile, because number of statments in SQL is not equal to 1")}};var Database=alasql.Database=function(databaseid){var self=this;if(self===alasql){if(databaseid){self=alasql.databases[databaseid];alasql.databases[databaseid]=self;if(!self){throw new Error('Database "'+databaseid+'" not found')}}else{self=alasql.databases.alasql}}if(!databaseid){databaseid="db"+alasql.databasenum++}self.databaseid=databaseid;alasql.databases[databaseid]=self;self.tables={};self.views={};self.objects={};self.counter=0;self.indices={};self.resetSqlCache();self.dbversion=0;return self};Database.prototype.resetSqlCache=function(){this.sqlCache={};this.sqlCacheSize=0};Database.prototype.exec=function(sql,params,cb){return alasql.dexec(this.databaseid,sql,params,cb)};Database.prototype.transaction=function(cb){var tx=new alasql.Transaction(this.databaseid);var res=cb(tx);return res};var Transaction=alasql.Transaction=function(databaseid){this.transactionid=Date.now();this.databaseid=databaseid;this.commited=false;this.dbversion=alasql.databases[databaseid].dbversion;this.bank=JSON.stringify(alasql.databases[databaseid]);return this};Transaction.prototype.commit=function(){this.commited=true;alasql.databases[this.databaseid].dbversion=Date.now();delete this.bank};Transaction.prototype.rollback=function(){if(!this.commited){alasql.databases[this.databaseid]=JSON.parse(this.bank);delete this.bank}else{throw new Error("Transaction already commited")}};Transaction.prototype.exec=function(sql,params,cb){return alasql.dexec(this.databaseid,sql,params,cb)};Transaction.prototype.executeSQL=Transaction.prototype.exec;var Table=alasql.Table=function(params){this.columns=[];this.xcolumns={};this.data=[];this.inddefs={};this.indices={};this.uniqs={};this.uniqdefs={};extend(this,params)};Table.prototype.indexColumns=function(){var self=this;self.xcolumns={};self.columns.forEach(function(col){self.xcolumns[col.columnid]=col})};var View=alasql.View=function(params){this.columns=[];this.xcolumns={};this.query=[];extend(this,params)};var Query=alasql.Query=function(params){this.alasql=alasql;this.columns=[];this.xcolumns={};this.selectGroup=[];this.groupColumns={};extend(this,params)};var Recordset=alasql.Recordset=function(params){extend(this,params)};var yy=parser.yy={};yy.extend=extend;yy.casesensitive=alasql.options.casesensitive;var Base=yy.Base=function(params){return yy.extend(this,params)};Base.prototype.toString=function(){};Base.prototype.toType=function(){};Base.prototype.toJavaScript=function(){};Base.prototype.compile=returnUndefined;Base.prototype.exec=function(){};Base.prototype.compile=returnUndefined;Base.prototype.exec=function(){};yy.Statements=function(params){return yy.extend(this,params)};yy.Statements.prototype.toString=function(){return this.statements.map(function(st){return st.toString()}).join(";"+NL())};yy.Statements.prototype.compile=function(db){var statements=this.statements.map(function(st){return st.compile(db)});if(statements.length==1){return statements[0]}else{return function(params,cb){var res=statements.map(function(st){return st(params)});if(cb)cb(res);return res}}};function queryfn(query,oldscope,cb,A,B){var ms;query.sourceslen=query.sources.length;var slen=query.sourceslen;query.query=query;query.A=A;query.B=B;query.cb=cb;query.oldscope=oldscope;if(query.queriesfn){query.sourceslen+=query.queriesfn.length;slen+=query.queriesfn.length;query.queriesdata=[];query.queriesfn.forEach(function(q,idx){q.query.params=query.params;if(false){queryfn(q.query,query.oldscope,queryfn2,-idx-1,query)}else{queryfn2([],-idx-1,query)}})}var scope;if(!oldscope)scope={};else scope=cloneDeep(oldscope);query.scope=scope;var result;query.sources.forEach(function(source,idx){source.query=query;var rs=source.datafn(query,query.params,queryfn2,idx,alasql);if(typeof rs!=undefined){if((query.intofn||query.intoallfn)&&rs instanceof Array)rs=rs.length;result=rs}source.queriesdata=query.queriesdata});if(slen==0)result=queryfn3(query);return result}function queryfn2(data,idx,query){if(idx>=0){var source=query.sources[idx];source.data=data;if(typeof source.data=="function"){source.getfn=source.data;source.dontcache=source.getfn.dontcache;if(source.joinmode=="OUTER"||source.joinmode=="RIGHT"||source.joinmode=="ANTI"){source.dontcache=false}source.data={}}}else{query.queriesdata[-idx-1]=flatArray(data)}query.sourceslen--;if(query.sourceslen>0)return;return queryfn3(query)}function queryfn3(query){var scope=query.scope;preIndex(query);query.data=[];query.xgroups={};query.groups=[];var h=0;doJoin(query,scope,h);if(query.groupfn){query.data=[];if(query.groups.length==0){var g={};if(query.selectGroup.length>0){query.selectGroup.forEach(function(sg){if(sg.aggregatorid=="COUNT"||sg.aggregatorid=="SUM"){g[sg.nick]=0}else{g[sg.nick]=undefined}})}query.groups=[g]}for(var i=0,ilen=query.groups.length;i<ilen;i++){var g=query.groups[i];if(!query.havingfn||query.havingfn(g,query.params,alasql)){var d=query.selectgfn(g,query.params,alasql);query.data.push(d)}}}doDistinct(query);if(query.unionallfn){query.data=query.data.concat(query.unionallfn(query.params))}else if(query.unionfn){query.data=arrayUnionDeep(query.data,query.unionfn(query.params))}else if(query.exceptfn){query.data=arrayExceptDeep(query.data,query.exceptfn(query.params))}else if(query.intersectfn){query.data=arrayIntersectDeep(query.data,query.intersectfn(query.params))}if(query.orderfn){if(query.explain)var ms=Date.now();query.data=query.data.sort(query.orderfn);if(query.explain){query.explaination.push({explid:query.explid++,description:"QUERY BY",ms:Date.now()-ms})}}doLimit(query);if(typeof query.removeKeys!="undefined"&&query.removeKeys.length>0){var removeKeys=query.removeKeys;if(typeof angular!="undefined")removeKeys.push("$$hashKey");var jlen=removeKeys.length;if(jlen>0){for(var i=0,ilen=query.data.length;i<ilen;i++){for(var j=0;j<jlen;j++){delete query.data[i][removeKeys[j]]}}}if(query.columns.length>0){query.columns=query.columns.filter(function(column){var found=false;removeKeys.forEach(function(key){if(column.columnid==key)found=true});return!found})}}if(typeof query.removeLikeKeys!="undefined"&&query.removeLikeKeys.length>0){var removeLikeKeys=query.removeLikeKeys;for(var i=0,ilen=query.data.length;i<ilen;i++){var r=query.data[i];for(var k in r){for(var j=0;j<query.removeLikeKeys.length;j++){if(k.match(query.removeLikeKeys[j])){delete r[k]}}}}if(query.columns.length>0){query.columns=query.columns.filter(function(column){var found=false;removeLikeKeys.forEach(function(key){if(column.columnid.match(key))found=true});return!found})}}if(query.intoallfn){var res=query.intoallfn(query.columns,query.cb,query.params,query.alasql);return res}else if(query.intofn){for(var i=0,ilen=query.data.length;i<ilen;i++){query.intofn(query.data[i],i,query.params,query.alasql)}if(query.cb)query.cb(query.data.length,query.A,query.B);return query.data.length}else{var res=query.data;if(query.cb)res=query.cb(query.data,query.A,query.B);return res}}function doLimit(query){if(query.limit){var offset=0;if(query.offset)offset=(query.offset|0)-1||0;var limit;if(query.percent){limit=(query.data.length*query.limit/100|0)+offset}else{limit=(query.limit|0)+offset}query.data=query.data.slice(offset,limit)}}function doDistinct(query){if(query.distinct){var uniq={};for(var i=0,ilen=query.data.length;i<ilen;i++){var uix=Object.keys(query.data[i]).map(function(k){return query.data[i][k]}).join("`");uniq[uix]=query.data[i]}query.data=[];for(var key in uniq)query.data.push(uniq[key])}}preIndex=function(query){for(var k=0,klen=query.sources.length;k<klen;k++){var source=query.sources[k];if(k>0&&source.optimization=="ix"&&source.onleftfn&&source.onrightfn){if(source.databaseid&&alasql.databases[source.databaseid].tables[source.tableid]){if(!alasql.databases[source.databaseid].tables[source.tableid].indices)query.database.tables[source.tableid].indices={};var ixx=alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns+"`"+source.srcwherefns)];if(!alasql.databases[source.databaseid].tables[source.tableid].dirty&&ixx){source.ix=ixx}}if(!source.ix){source.ix={};var scope={};var i=0;var ilen=source.data.length;var dataw;while((dataw=source.data[i])||source.getfn&&(dataw=source.getfn(i))||i<ilen){if(source.getfn&&!source.dontcache)source.data[i]=dataw;scope[source.alias||source.tableid]=dataw;if(source.srcwherefn(scope,query.params,alasql)){var addr=source.onrightfn(scope,query.params,alasql);var group=source.ix[addr];if(!group){group=source.ix[addr]=[]}group.push(dataw)}i++}if(source.databaseid&&alasql.databases[source.databaseid].tables[source.tableid]){alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns+"`"+source.srcwherefns)]=source.ix}}}else if(source.wxleftfn){if(!alasql.databases[source.databaseid].engineid){var ixx=alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.wxleftfns+"`")]}if(!alasql.databases[source.databaseid].tables[source.tableid].dirty&&ixx){source.ix=ixx;source.data=source.ix[source.wxrightfn(null,query.params,alasql)]}else{source.ix={};var scope={};var i=0;var ilen=source.data.length;var dataw;while((dataw=source.data[i])||source.getfn&&(dataw=source.getfn(i))||i<ilen){if(source.getfn&&!source.dontcache)source.data[i]=dataw;scope[source.alias||source.tableid]=source.data[i];var addr=source.wxleftfn(scope,query.params,alasql);var group=source.ix[addr];if(!group){group=source.ix[addr]=[]}group.push(source.data[i]);i++}if(!alasql.databases[source.databaseid].engineid){alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.wxleftfns+"`")]=source.ix}}if(source.srcwherefns){if(source.data){var scope={};source.data=source.data.filter(function(r){scope[source.alias]=r;return source.srcwherefn(scope,query.params,alasql)})}else{source.data=[]}}}else if(source.srcwherefns&&!source.dontcache){if(source.data){var scope={};source.data=source.data.filter(function(r){scope[source.alias]=r;return source.srcwherefn(scope,query.params,alasql)});var scope={};var i=0;var ilen=source.data.length;var dataw;var res=[];while((dataw=source.data[i])||source.getfn&&(dataw=source.getfn(i))||i<ilen){if(source.getfn&&!source.dontcache)source.data[i]=dataw;scope[source.alias]=dataw;if(source.srcwherefn(scope,query.params,alasql))res.push(dataw);i++}source.data=res}else{source.data=[]}}if(source.databaseid&&alasql.databases[source.databaseid].tables[source.tableid]){}else{}}};function doJoin(query,scope,h){if(h>=query.sources.length){if(query.wherefn(scope,query.params,alasql)){if(query.groupfn){query.groupfn(scope,query.params,alasql)}else{query.data.push(query.selectfn(scope,query.params,alasql))}}}else if(query.sources[h].applyselect){var source=query.sources[h];source.applyselect(query.params,function(data){if(data.length>0){for(var i=0;i<data.length;i++){scope[source.alias]=data[i];doJoin(query,scope,h+1)}}else{if(source.applymode=="OUTER"){scope[source.alias]={};doJoin(query,scope,h+1)}}},scope)}else{var source=query.sources[h];var nextsource=query.sources[h+1];if(true){var tableid=source.alias||source.tableid;var pass=false;var data=source.data;var opt=false;if(!source.getfn||source.getfn&&!source.dontcache){if(source.joinmode!="RIGHT"&&source.joinmode!="OUTER"&&source.joinmode!="ANTI"&&source.optimization=="ix"){data=source.ix[source.onleftfn(scope,query.params,alasql)]||[];opt=true}}var i=0;if(typeof data=="undefined"){throw new Error("Data source number "+h+" in undefined")}var ilen=data.length;var dataw;while((dataw=data[i])||!opt&&(source.getfn&&(dataw=source.getfn(i)))||i<ilen){if(!opt&&source.getfn&&!source.dontcache)data[i]=dataw;scope[tableid]=dataw;if(!source.onleftfn||source.onleftfn(scope,query.params,alasql)==source.onrightfn(scope,query.params,alasql)){if(source.onmiddlefn(scope,query.params,alasql)){if(source.joinmode!="SEMI"&&source.joinmode!="ANTI"){doJoin(query,scope,h+1)}if(source.joinmode!="LEFT"&&source.joinmode!="INNER"){dataw._rightjoin=true}pass=true}}i++}if((source.joinmode=="LEFT"||source.joinmode=="OUTER"||source.joinmode=="SEMI")&&!pass){scope[tableid]={};doJoin(query,scope,h+1)}}if(h+1<query.sources.length){if(nextsource.joinmode=="OUTER"||nextsource.joinmode=="RIGHT"||nextsource.joinmode=="ANTI"){scope[source.alias]={};var j=0;var jlen=nextsource.data.length;var dataw;while((dataw=nextsource.data[j])||nextsource.getfn&&(dataw=nextsource.getfn(j))||j<jlen){if(nextsource.getfn&&!nextsource.dontcache)nextsource.data[j]=dataw;if(!dataw._rightjoin){scope[nextsource.alias]=dataw;doJoin(query,scope,h+2)}else{delete dataw._rightjoin}j++}}}scope[tableid]=undefined}}function swapSources(query,h){var source=query.sources[h];var nextsource=query.sources[h+1];var onleftfn=source.onleftfn;var onleftfns=source.onleftfns;var onrightfn=source.onrightfn;var onrightfns=source.onrightfns;var optimization=source.optimization;source.onleftfn=nextsource.onrightfn;source.onleftfns=nextsource.onrightfns;source.onrightfn=nextsource.onleftfn;source.onrightfns=nextsource.onleftfns;source.optimization=nextsource.optimization;nextsource.onleftfn=onleftfn;nextsource.onleftfns=onleftfns;nextsource.onrightfn=onrightfn;nextsource.onrightfns=onrightfns;nextsource.optimization=optimization;query.sources[h]=nextsource;query.sources[h+1]=source}yy.Select=function(params){return yy.extend(this,params)};yy.Select.prototype.toString=function(){var s="";if(this.explain)s+=K("EXPLAIN")+" ";s+=K("SELECT")+" ";if(this.modifier)s+=K(this.modifier)+" ";if(this.top){s+=K("TOP")+" "+N(this.top.value)+" ";if(this.percent)s+=K("PERCENT")+" "}s+=this.columns.map(function(col){var s=col.toString();if(typeof col.as!="undefined")s+=" "+K("AS")+" "+L(col.as);return s}).join(", ");if(this.from){s+=NL()+ID()+K("FROM")+" "+this.from.map(function(f){var ss=f.toString();if(f.as)ss+=" "+K("AS")+" "+f.as;return ss}).join(",")}if(this.joins){s+=this.joins.map(function(jn){var ss=NL()+ID();if(jn.joinmode)ss+=K(jn.joinmode)+" ";if(jn.table)ss+=K("JOIN")+" "+jn.table.toString();else if(jn instanceof yy.Apply)ss+=jn.toString();else{throw new Error("Wrong type in JOIN mode")}if(jn.using)ss+=" "+K("USING")+" "+jn.using.toString();if(jn.on)ss+=" "+K("ON")+" "+jn.on.toString();return ss})}if(this.where)s+=NL()+ID()+K("WHERE")+" "+this.where.toString();if(this.group&&this.group.length>0){s+=NL()+ID()+K("GROUP BY")+" "+this.group.map(function(grp){return grp.toString()}).join(", ")}if(this.having)s+=NL()+ID()+K("HAVING")+" "+this.having.toString();if(this.order&&this.order.length>0){s+=NL()+ID()+K("ORDER BY")+" "+this.order.map(function(ord){return ord.toString()}).join(", ")}if(this.limit)s+=NL()+ID()+K("LIMIT")+" "+this.limit.value;if(this.offset)s+=NL()+ID()+K("OFFSET")+" "+this.offset.value;if(this.union)s+=NL()+K("UNION")+NL()+this.union.toString();if(this.unionall)s+=NL()+K("UNION ALL")+NL()+this.unionall.toString();if(this.except)s+=NL()+K("EXCEPT")+NL()+this.except.toString();if(this.intersect)s+=NL()+K("INTERSECT")+NL()+this.intersect.toString();return s};yy.Select.prototype.toJavaScript=function(context,tableid,defcols){var s="alasql.utils.flatArray(this.queriesfn["+(this.queriesidx-1)+"](this.params,null,"+context+"))[0]";return s};yy.Select.prototype.compile=function(databaseid){var db=alasql.databases[databaseid];var query=new Query;query.removeKeys=[];query.explain=this.explain;query.explaination=[];query.explid=1;query.modifier=this.modifier;query.database=db;this.compileWhereExists(query);this.compileQueries(query);query.defcols=this.compileDefCols(query,databaseid);query.fromfn=this.compileFrom(query);if(this.joins)this.compileJoins(query);this.compileSelectGroup0(query);if(this.group||query.selectGroup.length>0){query.selectgfns=this.compileSelectGroup1(query)}else{query.selectfns=this.compileSelect1(query)}this.compileRemoveColumns(query);if(this.where)this.compileWhereJoins(query);query.wherefn=this.compileWhere(query);if(this.group||query.selectGroup.length>0)query.groupfn=this.compileGroup(query);if(this.having)query.havingfn=this.compileHaving(query);if(this.group||query.selectGroup.length>0){query.selectgfn=this.compileSelectGroup2(query)}else{query.selectfn=this.compileSelect2(query)}query.distinct=this.distinct;if(this.order)query.orderfn=this.compileOrder(query);if(this.top){query.limit=this.top.value}else if(this.limit){query.limit=this.limit.value;if(this.offset){query.offset=this.offset.value}}query.percent=this.percent;if(this.union){query.unionfn=this.union.compile(databaseid);if(this.union.order){query.orderfn=this.union.compileOrder(query)}else{query.orderfn=null}}else if(this.unionall){query.unionallfn=this.unionall.compile(databaseid);if(this.unionall.order){query.orderfn=this.unionall.compileOrder(query)}else{query.orderfn=null}}else if(this.except){query.exceptfn=this.except.compile(databaseid);if(this.except.order){query.orderfn=this.except.compileOrder(query)}else{query.orderfn=null}}else if(this.intersect){query.intersectfn=this.intersect.compile(databaseid);if(this.intersect.order){query.intersectfn=this.intersect.compileOrder(query)}else{query.orderfn=null}}if(this.into){if(this.into instanceof yy.Table){if(alasql.options.autocommit&&alasql.databases[this.into.databaseid||databaseid].engineid){query.intoallfns='return alasql.engines["'+alasql.databases[this.into.databaseid||databaseid].engineid+'"]'+'.intoTable("'+(this.into.databaseid||databaseid)+'","'+this.into.tableid+'",this.data, columns, cb);'}else{query.intofns="alasql.databases['"+(this.into.databaseid||databaseid)+"'].tables"+"['"+this.into.tableid+"'].data.push(r);"}}else if(this.into instanceof yy.VarValue){query.intoallfns='alasql.vars["'+this.into.variable+'"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;'}else if(this.into instanceof yy.FuncValue){var qs="return alasql.into['"+this.into.funcid.toUpperCase()+"'](";if(this.into.args&&this.into.args.length>0){qs+=this.into.args[0].toJavaScript()+",";if(this.into.args.length>1){qs+=this.into.args[1].toJavaScript()+","}else{qs+="undefined,"}}else{qs+="undefined, undefined,"}query.intoallfns=qs+"this.data,columns,cb)"}else if(this.into instanceof yy.ParamValue){query.intofns="params['"+this.into.param+"'].push(r)"}if(query.intofns){query.intofn=new Function("r,i,params,alasql",query.intofns)}else if(query.intoallfns){query.intoallfn=new Function("columns,cb,params,alasql",query.intoallfns)}}var statement=function(params,cb,oldscope){query.params=params;var res1=queryfn(query,oldscope,function(res){var res2=modify(query,res);if(cb)cb(res2);return res2});return res1};statement.query=query;return statement};function modify(query,res){var modifier=query.modifier||alasql.options.modifier;var columns=query.columns;if(typeof columns=="undefined"||columns.length==0){if(res.length>0){var allcol={};for(var i=0;i<Math.min(res.length,alasql.options.columnlookup||10);i++){for(var key in res[i]){allcol[key]=true}}columns=Object.keys(allcol).map(function(columnid){return{columnid:columnid}})}else{columns=[]}}if(modifier=="VALUE"){if(res.length>0){var key;if(columns&&columns.length>0)key=columns[0].columnid;else key=Object.keys(res[0])[0];res=res[0][key]}else{res=undefined}}if(modifier=="ROW"){if(res.length>0){var key;var a=[];for(var key in res[0]){a.push(res[0][key])}res=a}else{res=undefined}}if(modifier=="COLUMN"){var ar=[];if(res.length>0){var key;if(columns&&columns.length>0)key=columns[0].columnid;else key=Object.keys(res[0])[0];for(var i=0,ilen=res.length;i<ilen;i++){ar.push(res[i][key])}}res=ar}if(modifier=="MATRIX"){var ar=[];for(var i=0;i<res.length;i++){var a=[];var r=res[i];for(var j=0;j<columns.length;j++){a.push(r[columns[j].columnid])}ar.push(a)}res=ar}if(modifier=="INDEX"){var ar={};var key,val;if(columns&&columns.length>0){key=columns[0].columnid;val=columns[1].columnid}else{var okeys=Object.keys(res[0]);key=okeys[0];val=okeys[1]}for(var i=0,ilen=res.length;i<ilen;i++){ar[res[i][key]]=res[i][val]}res=ar}if(modifier=="RECORDSET"){res=new alasql.Recordset({data:res,columns:columns})}if(modifier=="TEXTSTRING"){var key;if(columns&&columns.length>0)key=columns[0].columnid;else key=Object.keys(res[0])[0];var s="";for(var i=0,ilen=res.length;i<ilen;i++){res[i]=res[i][key]}res=res.join("\n")}return res}yy.Select.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.ExistsValue=function(params){return yy.extend(this,params)};yy.ExistsValue.prototype.toString=function(){return"EXISTS("+this.value.toString()+")"};yy.ExistsValue.prototype.toType=function(){return"boolean"};yy.ExistsValue.prototype.toJavaScript=function(context,tableid,defcols){return"this.existsfn["+this.existsidx+"](params,null,"+context+").length"};yy.Select.prototype.compileWhereExists=function(query){if(!this.exists)return;query.existsfn=this.exists.map(function(ex){return ex.compile(query.database.databaseid)})};yy.Select.prototype.compileQueries=function(query){if(!this.queries)return;query.queriesfn=this.queries.map(function(q){return q.compile(query.database.databaseid)})};alasql.precompile=function(statement,databaseid,params){if(!statement)return;statement.params=params;if(statement.queries){statement.queriesfn=statement.queries.map(function(q){return q.compile(databaseid||statement.database.databaseid)})}if(statement.exists){statement.existsfn=statement.exists.map(function(ex){return ex.compile(databaseid||statement.database.databaseid)})}};yy.Select.prototype.compileFrom=function(query){var self=this;query.sources=[];query.aliases={};if(!self.from)return;self.from.forEach(function(tq){var alias=tq.as||tq.tableid;if(tq instanceof yy.Table){query.aliases[alias]={tableid:tq.tableid,databaseid:tq.databaseid||query.database.databaseid,type:"table"}}else if(tq instanceof yy.Select){query.aliases[alias]={type:"subquery"}}else if(tq instanceof yy.ParamValue){query.aliases[alias]={type:"paramvalue"}}else if(tq instanceof yy.FuncValue){query.aliases[alias]={type:"funcvalue"}}else if(tq instanceof yy.VarValue){query.aliases[alias]={type:"varvalue"}}else if(tq instanceof yy.FromData){query.aliases[alias]={type:"fromdata"}}else{throw new Error("Wrong table at FROM")}var source={alias:alias,databaseid:tq.databaseid||query.database.databaseid,tableid:tq.tableid,joinmode:"INNER",onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};if(tq instanceof yy.Table){source.columns=alasql.databases[source.databaseid].tables[source.tableid].columns;if(alasql.options.autocommit&&alasql.databases[source.databaseid].engineid){source.datafn=function(query,params,cb,idx,alasql){return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid,source.tableid,cb,idx,query)}}else if(alasql.databases[source.databaseid].tables[source.tableid].view){source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].select(params);if(cb)res=cb(res,idx,query);return res}}else{source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].data;if(cb)res=cb(res,idx,query);return res}}}else if(tq instanceof yy.Select){if(typeof tq.modifier=="undefined"){tq.modifier="RECORDSET"}source.subquery=tq.compile(query.database.databaseid);source.columns=source.subquery.query.columns;source.datafn=function(query,params,cb,idx,alasql){var res;source.subquery(query.params,function(data){res=data.data;if(cb)res=cb(res,idx,query);return res});return res}}else if(tq instanceof yy.ParamValue){var ps="var res = alasql.prepareFromData(params['"+tq.param+"']";if(tq.array)ps+=",true";ps+=");if(cb)res=cb(res,idx,query);return res";source.datafn=new Function("query,params,cb,idx,alasql",ps)}else if(tq instanceof yy.VarValue){var ps="var res = alasql.prepareFromData(alasql.vars['"+tq.variable+"']";if(tq.array)ps+=",true";ps+=");if(cb)res=cb(res,idx,query);return res";source.datafn=new Function("query,params,cb,idx,alasql",ps)}else if(tq instanceof yy.FuncValue){var s="var res=alasql.from['"+tq.funcid.toUpperCase()+"'](";if(tq.args&&tq.args.length>0){if(tq.args[0]){s+=tq.args[0].toJavaScript("query.oldscope")+","}else{s+="null,"}if(tq.args[1]){s+=tq.args[1].toJavaScript("query.oldscope")+","}else{s+="null,"}}else{s+="null,null,"}s+="cb,idx,query";s+=");/*if(cb)res=cb(res,idx,query);*/return res";source.datafn=new Function("query, params, cb, idx, alasql",s)}else if(tq instanceof yy.FromData){source.datafn=function(query,params,cb,idx,alasql){var res=tq.data;if(cb)res=cb(res,idx,query);return res}}else{throw new Error("Wrong table at FROM")}query.sources.push(source)});query.defaultTableid=query.sources[0].alias};alasql.prepareFromData=function(data,array){var res=data;if(typeof data=="string"){res=data.split(/\r?\n/);if(array){for(var i=0,ilen=res.length;i<ilen;i++){res[i]=[res[i]]}}}else if(array){res=[];for(var i=0,ilen=data.length;i<ilen;i++){res.push([data[i]])}}else if(typeof data=="object"&&!(data instanceof Array)){res=[];for(var key in data){if(data.hasOwnProperty(key))res.push([key,data[key]])}}return res};yy.Select.prototype.compileJoins=function(query){var self=this;this.joins.forEach(function(jn){if(jn.joinmode=="CROSS"){if(jn.using||jn.on){throw new Error("CROSS JOIN cannot have USING or ON clauses")}else{jn.joinmode=="INNER"}}var source;var tq;if(jn instanceof yy.Apply){source={alias:jn.as,applymode:jn.applymode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue,columns:[]};source.applyselect=jn.select.compile(query.database.databaseid);source.columns=source.applyselect.query.columns;source.datafn=function(query,params,cb,idx,alasql){var res;if(cb)res=cb(res,idx,query);return res};query.sources.push(source)}else{if(jn.table){tq=jn.table;source={alias:jn.as||tq.tableid,databaseid:tq.databaseid||query.database.databaseid,tableid:tq.tableid,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue,columns:[]};if(!alasql.databases[source.databaseid].tables[source.tableid]){throw new Error("Table '"+source.tableid+"' is not exists in database '"+source.databaseid)+"'"}source.columns=alasql.databases[source.databaseid].tables[source.tableid].columns;if(alasql.options.autocommit&&alasql.databases[source.databaseid].engineid){source.datafn=function(query,params,cb,idx,alasql){return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid,source.tableid,cb,idx,query)}}else if(alasql.databases[source.databaseid].tables[source.tableid].view){source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].select(params);if(cb)res=cb(res,idx,query);return res}}else{source.datafn=function(query,params,cb,idx,alasql){var res=alasql.databases[source.databaseid].tables[source.tableid].data;if(cb)res=cb(res,idx,query);return res}}query.aliases[source.alias]={tableid:tq.tableid,databaseid:tq.databaseid||query.database.databaseid}}else if(jn.select){var tq=jn.select;source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue,columns:[]};source.subquery=tq.compile(query.database.databaseid);source.columns=source.subquery.query.columns;source.datafn=function(query,params,cb,idx,alasql){return source.subquery(query.params,null,cb,idx).data};query.aliases[source.alias]={type:"subquery"}}else if(jn.param){source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};var jnparam=jn.param.param;var ps="var res=alasql.prepareFromData(params['"+jnparam+"']";if(jn.array)ps+=",true";ps+=");if(cb)res=cb(res, idx, query);return res";source.datafn=new Function("query,params,cb,idx, alasql",ps);query.aliases[source.alias]={type:"paramvalue"}}else if(jn.variable){source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};var ps="var res=alasql.prepareFromData(alasql.vars['"+jn.variable+"']";if(jn.array)ps+=",true";ps+=");if(cb)res=cb(res, idx, query);return res";source.datafn=new Function("query,params,cb,idx, alasql",ps);query.aliases[source.alias]={type:"varvalue"}}else if(jn.funcid){source={alias:jn.as,joinmode:jn.joinmode,onmiddlefn:returnTrue,srcwherefns:"",srcwherefn:returnTrue};var s="var res=alasql.from['"+js.funcid.toUpperCase()+"'](";if(jn.args&&jn.args.length>0){if(jn.args[0]){s+=jn.args[0].toJavaScript("query.oldscope")+","}else{s+="null,"}if(jn.args[1]){s+=jn.args[1].toJavaScript("query.oldscope")+","}else{s+="null,"}}else{s+="null,null,"}s+="cb,idx,query";s+=");/*if(cb)res=cb(res,idx,query);*/return res";source.datafn=new Function("query, params, cb, idx, alasql",s);query.aliases[source.alias]={type:"funcvalue"}}var alias=source.alias;if(jn.natural){if(jn.using||jn.on){throw new Error("NATURAL JOIN cannot have USING or ON clauses")}else{if(query.sources.length>0){var prevSource=query.sources[query.sources.length-1];var prevTable=alasql.databases[prevSource.databaseid].tables[prevSource.tableid];var table=alasql.databases[source.databaseid].tables[source.tableid];if(prevTable&&table){var c1=prevTable.columns.map(function(col){return col.columnid});var c2=table.columns.map(function(col){return col.columnid});jn.using=arrayIntersect(c1,c2).map(function(colid){return{columnid:colid}})}else{throw new Error("In this version of Alasql NATURAL JOIN "+"works for tables with predefined columns only")}}}}if(jn.using){var prevSource=query.sources[query.sources.length-1];source.onleftfns=jn.using.map(function(col){return"p['"+(prevSource.alias||prevSource.tableid)+"']['"+col.columnid+"']"}).join('+"`"+');source.onleftfn=new Function("p,params,alasql","return "+source.onleftfns);source.onrightfns=jn.using.map(function(col){return"p['"+(source.alias||source.tableid)+"']['"+col.columnid+"']"}).join('+"`"+');source.onrightfn=new Function("p,params,alasql","return "+source.onrightfns);source.optimization="ix"}else if(jn.on){if(jn.on instanceof yy.Op&&jn.on.op=="="&&!jn.on.allsome){source.optimization="ix";var lefts="";var rights="";var middles="";var middlef=false;var ls=jn.on.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=jn.on.right.toJavaScript("p",query.defaultTableid,query.defcols);if(ls.indexOf("p['"+alias+"']")>-1&&!(rs.indexOf("p['"+alias+"']")>-1)){if((ls.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){rights=ls}else{middlef=true}}else if(!(ls.indexOf("p['"+alias+"']")>-1)&&rs.indexOf("p['"+alias+"']")>-1){if((rs.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){lefts=ls}else{middlef=true}}else{middlef=true}if(rs.indexOf("p['"+alias+"']")>-1&&!(ls.indexOf("p['"+alias+"']")>-1)){if((rs.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){rights=rs}else{middlef=true}}else if(!(rs.indexOf("p['"+alias+"']")>-1)&&ls.indexOf("p['"+alias+"']")>-1){if((ls.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+alias+"']"})){lefts=rs}else{middlef=true}}else{middlef=true}if(middlef){rights="";lefts="";middles=jn.on.toJavaScript("p",query.defaultTableid,query.defcols);source.optimization="no"}source.onleftfns=lefts;source.onrightfns=rights;source.onmiddlefns=middles||"true";source.onleftfn=new Function("p,params,alasql","return "+source.onleftfns);source.onrightfn=new Function("p,params,alasql","return "+source.onrightfns);source.onmiddlefn=new Function("p,params,alasql","return "+source.onmiddlefns)}else{source.optimization="no";source.onmiddlefns=jn.on.toJavaScript("p",query.defaultTableid,query.defcols);source.onmiddlefn=new Function("p,params,alasql","return "+jn.on.toJavaScript("p",query.defaultTableid,query.defcols))
|
|
5
|
-
}}query.sources.push(source)}})};yy.Select.prototype.compileWhere=function(query){if(this.where){if(typeof this.where=="function"){return this.where}else{s=this.where.toJavaScript("p",query.defaultTableid,query.defcols);query.wherefns=s;return new Function("p,params,alasql","return "+s)}}else return function(){return true}};yy.Select.prototype.compileWhereJoins=function(query){return;optimizeWhereJoin(query,this.where.expression);query.sources.forEach(function(source){if(source.srcwherefns){source.srcwherefn=new Function("p,params,alasql","return "+source.srcwherefns)}if(source.wxleftfns){source.wxleftfn=new Function("p,params,alasql","return "+source.wxleftfns)}if(source.wxrightfns){source.wxrightfn=new Function("p,params,alasql","return "+source.wxrightfns)}})};function optimizeWhereJoin(query,ast){if(!ast)return false;if(!(ast instanceof yy.Op))return;if(ast.op!="="&&ast.op!="AND")return;if(ast.allsome)return;var s=ast.toJavaScript("p",query.defaultTableid,query.defcols);var fsrc=[];query.sources.forEach(function(source,idx){if(source.tableid){if(s.indexOf("p['"+source.alias+"']")>-1)fsrc.push(source)}});if(fsrc.length==0){return}else if(fsrc.length==1){if(!(s.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+fsrc[0].alias+"']"})){return}var src=fsrc[0];src.srcwherefns=src.srcwherefns?src.srcwherefns+"&&"+s:s;if(ast instanceof yy.Op&&(ast.op=="="&&!ast.allsome)){if(ast.left instanceof yy.Column){var ls=ast.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=ast.right.toJavaScript("p",query.defaultTableid,query.defcols);if(rs.indexOf("p['"+fsrc[0].alias+"']")==-1){fsrc[0].wxleftfns=ls;fsrc[0].wxrightfns=rs}}if(ast.right instanceof yy.Column){var ls=ast.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=ast.right.toJavaScript("p",query.defaultTableid,query.defcols);if(ls.indexOf("p['"+fsrc[0].alias+"']")==-1){fsrc[0].wxleftfns=rs;fsrc[0].wxrightfns=ls}}}ast.reduced=true;return}else{if(ast.op="AND"){optimizeWhereJoin(query,ast.left);optimizeWhereJoin(query,ast.right)}}}yy.Select.prototype.compileGroup=function(query){var self=this;if(query.sources.length>0){var tableid=query.sources[0].alias}else{var tableid=""}var defcols=query.defcols;var allgroup=[[]];if(this.group){allgroup=decartes(this.group,query)}var allgroups=[];allgroup.forEach(function(a){allgroups=arrayUnion(allgroups,a)});query.allgroups=allgroups;if(false){allgroups.forEach(function(col2){if(query.selectColumns[colid]){}else{var tmpid="default";if(query.sources.length>0)tmpid=query.sources[0].alias;if(Object.keys(query.selectColumns).length!=0)query.removeKeys.push(colid);query.selectfns+="r['"+escapeq(colid)+"']="+new yy.Column({columnid:colid}).toJavaScript("p",tmpid)+";"}})}var s="";allgroup.forEach(function(agroup){s+="var acc,g=this.xgroups[";var rg=agroup.map(function(col2){var columnid=col2.split(" ")[0];var coljs=col2.split(" ")[1];if(columnid=="")return"1";else return coljs});if(rg.length==0)rg=["''"];s+=rg.join('+"`"+');s+="];if(!g) {this.groups.push((g=this.xgroups[";s+=rg.join('+"`"+');s+="] = {";s+=agroup.map(function(col2){var columnid=col2.split(" ")[0];var coljs=col2.split(" ")[1];if(columnid=="")return"";else return"'"+columnid+"':"+coljs+","}).join("");var neggroup=arrayDiff(allgroups,agroup);s+=neggroup.map(function(col2){var columnid=col2.split(" ")[0];var coljs=col2.split(" ")[1];return"'"+columnid+"':null,"}).join("");var aft="";s+=query.selectGroup.map(function(col,idx){var colexp=col.expression.toJavaScript("p",tableid,defcols);var colas=col.nick;if(col instanceof yy.AggrValue){if(col.distinct){aft+=",g['$$_VALUES_"+colas+"']={},g['$$_VALUES_"+colas+"']["+colexp+"]=true"}if(col.aggregatorid=="SUM"||col.aggregatorid=="MIN"||col.aggregatorid=="MAX"||col.aggregatorid=="FIRST"||col.aggregatorid=="LAST"){return"'"+colas+"':"+colexp+","}else if(col.aggregatorid=="ARRAY"){return"'"+colas+"':["+colexp+"],"}else if(col.aggregatorid=="COUNT"){if(col.expression.columnid=="*"){return"'"+colas+"':1,"}else{return"'"+colas+"':(typeof "+colexp+' != "undefined")?1:0,'}}else if(col.aggregatorid=="AVG"){query.removeKeys.push("_SUM_"+colas);query.removeKeys.push("_COUNT_"+colas);return"'"+colas+"':"+colexp+",'_SUM_"+colas+"':"+colexp+",'_COUNT_"+colas+"':1,"}else if(col.aggregatorid=="AGGR"){aft+=",g['"+colas+"']="+col.expression.toJavaScript("g",-1);return""}else if(col.aggregatorid=="REDUCE"){query.removeKeys.push("_REDUCE_"+colas);return"'"+colas+"':alasql.aggr['"+col.funcid+"']("+colexp+",undefined,(acc={})),"+"'__REDUCE__"+colas+"':acc,"}return""}else return""}).join("");s+="}"+aft+",g));} else {";s+=query.selectGroup.map(function(col,idx){var colas=col.nick;var colexp=col.expression.toJavaScript("p",tableid,defcols);if(col instanceof yy.AggrValue){if(col.distinct){var pre="if(typeof "+colexp+'!="undefined" && (!g[\'$$_VALUES_'+colas+"']["+colexp+"])) {";var post="g['$$_VALUES_"+colas+"']["+colexp+"]=true;}"}else{var pre="",post=""}if(col.aggregatorid=="SUM"){return pre+"g['"+colas+"']+="+colexp+";"+post}else if(col.aggregatorid=="COUNT"){if(col.expression.columnid=="*")return pre+"g['"+colas+"']++;"+post;else{return pre+"if(typeof "+colexp+'!="undefined") g[\''+colas+"']++;"+post}}else if(col.aggregatorid=="ARRAY"){return pre+"g['"+colas+"'].push("+colexp+");"+post}else if(col.aggregatorid=="MIN"){return pre+"g['"+colas+"']=Math.min(g['"+colas+"'],"+colexp+");"+post}else if(col.aggregatorid=="MAX"){return pre+"g['"+colas+"']=Math.max(g['"+colas+"'],"+colexp+");"+post}else if(col.aggregatorid=="FIRST"){return""}else if(col.aggregatorid=="LAST"){return pre+"g['"+colas+"']="+colexp+";"+post}else if(col.aggregatorid=="AVG"){return pre+"g['_SUM_"+colas+"']+="+colexp+";"+"g['_COUNT_"+colas+"']++;"+"g['"+colas+"']=g['_SUM_"+colas+"']/g['_COUNT_"+colas+"'];"+post}else if(col.aggregatorid=="AGGR"){return pre+"g['"+colas+"']="+col.expression.toJavaScript("g",-1)+";"+post}else if(col.aggregatorid=="REDUCE"){return pre+"g['"+colas+"']=alasql.aggr."+col.funcid+"("+colexp+",g['"+colas+"'],g['__REDUCE__"+colas+"']);"+post}return""}else return""}).join("");s+="}"});return new Function("p,params,alasql",s)};function compileSelectStar(query,alias){var s="",sp="",ss=[];query.ixsources={};query.sources.forEach(function(source){query.ixsources[source.alias]=source});var columns=query.ixsources[alias].columns;if(columns&&columns.length>0){columns.forEach(function(tcol){ss.push("'"+tcol.columnid+"':p['"+alias+"']['"+tcol.columnid+"']");query.selectColumns[escapeq(tcol.columnid)]=true;var coldef={columnid:tcol.columnid,dbtypeid:tcol.dbtypeid,dbsize:tcol.dbsize,dbprecision:tcol.dbprecision,dbenum:tcol.dbenum};query.columns.push(coldef);query.xcolumns[coldef.columnid]=coldef})}else{sp+='var w=p["'+alias+'"];for(var k in w){r[k]=w[k]};';query.dirtyColumns=true}return{s:ss.join(","),sp:sp}}yy.Select.prototype.compileSelect1=function(query){var self=this;query.columns=[];query.xcolumns={};query.selectColumns={};query.dirtyColumns=false;var s="var r={";var sp="";var ss=[];this.columns.forEach(function(col){if(col instanceof yy.Column){if(col.columnid=="*"){if(col.func){sp+="r=params['"+col.param+"'](p['"+query.sources[0].alias+"'],p,params,alasql);"}else if(col.tableid){var ret=compileSelectStar(query,col.tableid);if(ret.s)ss=ss.concat(ret.s);sp+=ret.sp}else{for(var alias in query.aliases){var ret=compileSelectStar(query,alias);if(ret.s)ss=ss.concat(ret.s);sp+=ret.sp}}}else{var tbid=col.tableid;var dbid=col.databaseid||query.sources[0].databaseid||query.database.databaseid;if(!tbid)tbid=query.defcols[col.columnid];if(!tbid)tbid=query.defaultTableid;if(col.columnid!="_"){ss.push("'"+escapeq(col.as||col.columnid)+"':p['"+tbid+"']['"+col.columnid+"']")}else{ss.push("'"+escapeq(col.as||col.columnid)+"':p['"+tbid+"']")}query.selectColumns[escapeq(col.as||col.columnid)]=true;if(query.aliases[tbid]&&query.aliases[tbid].type=="table"){if(!alasql.databases[dbid].tables[query.aliases[tbid].tableid]){throw new Error("Table '"+tbid+"' does not exists in database")}var columns=alasql.databases[dbid].tables[query.aliases[tbid].tableid].columns;var xcolumns=alasql.databases[dbid].tables[query.aliases[tbid].tableid].xcolumns;if(xcolumns&&columns.length>0){var tcol=xcolumns[col.columnid];var coldef={columnid:col.as||col.columnid,dbtypeid:tcol.dbtypeid,dbsize:tcol.dbsize,dbpecision:tcol.dbprecision,dbenum:tcol.dbenum};query.columns.push(coldef);query.xcolumns[coldef.columnid]=coldef}else{query.dirtyColumns=true}}else{}}}else if(col instanceof yy.AggrValue){if(!self.group){self.group=[""]}if(!col.as)col.as=escapeq(col.toString());if(col.aggregatorid=="SUM"||col.aggregatorid=="MAX"||col.aggregatorid=="MIN"||col.aggregatorid=="FIRST"||col.aggregatorid=="LAST"||col.aggregatorid=="AVG"||col.aggregatorid=="ARRAY"||col.aggregatorid=="REDUCE"){ss.push("'"+escapeq(col.as)+"':"+col.expression.toJavaScript("p",query.defaultTableid,query.defcols))}else if(col.aggregatorid=="COUNT"){ss.push("'"+escapeq(col.as)+"':1")}query.selectColumns[col.aggregatorid+"("+escapeq(col.expression.toString())+")"]=thtd}else{ss.push("'"+escapeq(col.as||col.columnid||col.toString())+"':"+col.toJavaScript("p",query.defaultTableid,query.defcols));query.selectColumns[escapeq(col.as||col.columnid||col.toString())]=true}});s+=ss.join(",")+"};"+sp;return s};yy.Select.prototype.compileSelect2=function(query){var s=query.selectfns;return new Function("p,params,alasql",s+"return r")};yy.Select.prototype.compileSelectGroup0=function(query){var self=this;self.columns.forEach(function(col,idx){if(col instanceof yy.Column&&col.columnid=="*"){}else{var colas;if(col instanceof yy.Column){colas=escapeq(col.columnid)}else{colas=escapeq(col.toString())}for(var i=0;i<idx;i++){if(colas==self.columns[i].nick){colas=self.columns[i].nick+":"+idx;break}}col.nick=colas}});this.columns.forEach(function(col){if(col.findAggregator)col.findAggregator(query)});if(this.having){if(this.having.findAggregator)this.having.findAggregator(query)}};yy.Select.prototype.compileSelectGroup1=function(query){var self=this;var s="var r = {};";self.columns.forEach(function(col,idx){if(col instanceof yy.Column&&col.columnid=="*"){s+="for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};"}else{var colas=col.as;if(typeof colas=="undefined"){if(col instanceof yy.Column)colas=escapeq(col.columnid);else colas=col.nick}query.groupColumns[colas]=col.nick;s+="r['"+colas+"']=";s+=col.toJavaScript("g","")+";";for(var i=0;i<query.removeKeys.length;i++){if(query.removeKeys[i]==colas){query.removeKeys.splice(i,1);break}}}});return s};yy.Select.prototype.compileSelectGroup2=function(query){var s=query.selectgfns;return new Function("g,params,alasql",s+"return r")};yy.Select.prototype.compileRemoveColumns=function(query){if(typeof this.removecolumns!="undefined"){query.removeKeys=query.removeKeys.concat(this.removecolumns.filter(function(column){return typeof column.like=="undefined"}).map(function(column){return column.columnid}));query.removeLikeKeys=this.removecolumns.filter(function(column){return typeof column.like!="undefined"}).map(function(column){return new RegExp(column.like.value.replace(/\%/g,".*"),"g")})}};yy.Select.prototype.compileHaving=function(query){if(this.having){s=this.having.toJavaScript("g",-1);query.havingfns=s;return new Function("g,params,alasql","return "+s)}else return function(){return true}};yy.Select.prototype.compileOrder=function(query){var self=this;if(this.order){if(this.order&&this.order.length==1&&this.order[0].expression&&typeof this.order[0].expression=="function"){var func=this.order[0].expression;return function(a,b){var ra=func(a),rb=func(b);if(ra>rb)return 1;if(ra==rb)return 0;return-1}}var s="";var sk="";this.order.forEach(function(ord,idx){var dg="";if(ord.expression instanceof yy.NumValue){ord.expression=self.columns[ord.expression.value-1]}if(ord.expression instanceof yy.Column){var columnid=ord.expression.columnid;if(query.xcolumns[columnid]){var dbtypeid=query.xcolumns[columnid].dbtypeid;if(dbtypeid=="DATE"||dbtypeid=="DATETIME")dg=".valueOf()"}else{if(alasql.options.valueof)dg=".valueOf()"}if(ord.nocase)dg+=".toUpperCase()";s+="if((a['"+columnid+"']||'')"+dg+(ord.direction=="ASC"?">":"<")+"(b['"+columnid+"']||'')"+dg+")return 1;";s+="if((a['"+columnid+"']||'')"+dg+"==(b['"+columnid+"']||'')"+dg+"){"}else{dg=".valueOf()";if(ord.nocase)dg+=".toUpperCase()";s+="if(("+ord.toJavaScript("a","")+"||'')"+dg+(ord.direction=="ASC"?">(":"<(")+ord.toJavaScript("b","")+"||'')"+dg+")return 1;";s+="if(("+ord.toJavaScript("a","")+"||'')"+dg+"==("+ord.toJavaScript("b","")+"||'')"+dg+"){"}sk+="}"});s+="return 0;";s+=sk+"return -1";query.orderfns=s;return new Function("a,b",s)}};var rollup=function(a,query){var rr=[];var mask=0;var glen=a.length;for(var g=0;g<glen+1;g++){var ss=[];for(var i=0;i<glen;i++){if(a[i]instanceof yy.Column){a[i].nick=escapeq(a[i].columnid);query.groupColumns[escapeq(a[i].columnid)]=a[i].nick;var aaa=a[i].nick+" "+a[i].toJavaScript("p",query.sources[0].alias,query.defcols)}else{query.groupColumns[escapeq(a[i].toString())]=escapeq(a[i].toString());var aaa=escapeq(a[i].toString())+" "+a[i].toJavaScript("p",query.sources[0].alias,query.defcols)}if(mask&1<<i)ss.push(aaa)}rr.push(ss);mask=(mask<<1)+1}return rr};var cube=function(a,query){var rr=[];var glen=a.length;for(var g=0;g<1<<glen;g++){var ss=[];for(var i=0;i<glen;i++){if(g&1<<i)ss=ss.concat(decartes(a[i],query))}rr.push(ss)}return rr};var groupingsets=function(a,query){return a.reduce(function(acc,d){acc=acc.concat(decartes(d,query));return acc},[])};var cartes=function(a1,a2){var rrr=[];for(var i1=0;i1<a1.length;i1++){for(var i2=0;i2<a2.length;i2++){rrr.push(a1[i1].concat(a2[i2]))}}return rrr};function decartes(gv,query){if(gv instanceof Array){var res=[[]];for(var t=0;t<gv.length;t++){if(gv[t]instanceof yy.Column){gv[t].nick=escapeq(gv[t].columnid);query.groupColumns[gv[t].nick]=gv[t].nick;res=res.map(function(r){return r.concat(gv[t].nick+" "+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}else if(gv[t]instanceof yy.FuncValue){query.groupColumns[escapeq(gv[t].toString())]=escapeq(gv[t].toString());res=res.map(function(r){return r.concat(escapeq(gv[t].toString())+" "+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}else if(gv[t]instanceof yy.GroupExpression){if(gv[t].type=="ROLLUP")res=cartes(res,rollup(gv[t].group,query));else if(gv[t].type=="CUBE")res=cartes(res,cube(gv[t].group,query));else if(gv[t].type=="GROUPING SETS")res=cartes(res,groupingsets(gv[t].group,query));else throw new Error("Unknown grouping function")}else if(gv[t]===""){res=[["1 1"]]}else{res=res.map(function(r){query.groupColumns[escapeq(gv[t].toString())]=escapeq(gv[t].toString());return r.concat(escapeq(gv[t].toString())+" "+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}}return res}else if(gv instanceof yy.FuncValue){query.groupColumns[escapeq(gv.toString())]=escapeq(gv.toString());return[gv.toString()+" "+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}else if(gv instanceof yy.Column){gv.nick=escapeq(gv.columnid);query.groupColumns[gv.nick]=gv.nick;return[gv.nick+" "+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}else{query.groupColumns[escapeq(gv.toString())]=escapeq(gv.toString());return[escapeq(gv.toString())+" "+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}}yy.Select.prototype.compileDefCols=function(query,databaseid){var defcols={};if(this.from){this.from.forEach(function(fr){if(fr instanceof yy.Table){var alias=fr.as||fr.tableid;var table=alasql.databases[fr.databaseid||databaseid].tables[fr.tableid];if(table.columns){table.columns.forEach(function(col){if(defcols[col.columnid]){defcols[col.columnid]="-"}else{defcols[col.columnid]=alias}})}}else if(fr instanceof yy.Select){}else if(fr instanceof yy.ParamValue){}else if(fr instanceof yy.VarValue){}else if(fr instanceof yy.FuncValue){}else if(fr instanceof yy.FromData){}else{throw new Error("Unknown type of FROM clause")}})}if(this.joins){this.joins.forEach(function(jn){if(jn.table){var alias=jn.table.tableid;if(jn.as)alias=jn.as;var alias=jn.as||jn.table.tableid;var table=alasql.databases[jn.table.databaseid||databaseid].tables[jn.table.tableid];if(table.columns){table.columns.forEach(function(col){if(defcols[col.columnid]){defcols[col.columnid]="-"}else{defcols[col.columnid]=alias}})}}else if(jn.select){}else if(jn.param){}else if(jn.func){}else{throw new Error("Unknown type of FROM clause")}})}return defcols};yy.Union=function(params){return yy.extend(this,params)};yy.Union.prototype.toString=function(){return K("UNION")};yy.Union.prototype.compile=function(tableid){return null};yy.Apply=function(params){return yy.extend(this,params)};yy.Apply.prototype.toString=function(){var s=K(this.applymode)+" "+K("APPLY")+" (";s+=this.select.toString()+")";if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.Over=function(params){return yy.extend(this,params)};yy.Over.prototype.toString=function(){var s=K("OVER")+" (";if(this.partition){s+=K("PARTITION")+" "+K("BY")+" "+this.partition.toString();if(this.order)s+=" "}if(this.order){s+=K("ORDER")+" "+K("BY")+" "+this.order.toString()}s+=")";return s};yy.ExpressionStatement=function(params){return yy.extend(this,params)};yy.ExpressionStatement.prototype.toString=function(){return this.expression.toString()};yy.ExpressionStatement.prototype.execute=function(databaseid,params,cb){if(this.expression){var expr=new Function("params,alasql,p","return "+this.expression.toJavaScript("({})","",null));var res=expr(params,alasql);if(cb)res=cb(res);return res}};yy.Expression=function(params){return yy.extend(this,params)};yy.Expression.prototype.toString=function(){var s=this.expression.toString();if(this.order)s+=" "+this.order.toString();if(this.nocase)s+=" "+K("COLLATE")+" "+K("NOCASE");return s};yy.Expression.prototype.findAggregator=function(query){if(this.expression.findAggregator)this.expression.findAggregator(query)};yy.Expression.prototype.toJavaScript=function(context,tableid,defcols){if(this.expression.reduced)return"true";return this.expression.toJavaScript(context,tableid,defcols)};yy.Expression.prototype.compile=function(context,tableid,defcols){if(this.reduced)return returnTrue();return new Function("p","return "+this.toJavaScript(context,tableid,defcols))};yy.JavaScript=function(params){return yy.extend(this,params)};yy.JavaScript.prototype.toString=function(){var s="``"+this.value+"``";return s};yy.JavaScript.prototype.toJavaScript=function(context,tableid,defcols){return"("+this.value+")"};yy.JavaScript.prototype.execute=function(databaseid,params,cb){var res=1;var expr=new Function("params,alasql,p",this.value);expr(params,alasql);if(cb)res=cb(res);return res};yy.Literal=function(params){return yy.extend(this,params)};yy.Literal.prototype.toString=function(){var s=this.value;if(this.value1)s=this.value1+"."+s;return L(s)};yy.Join=function(params){return yy.extend(this,params)};yy.Join.prototype.toString=function(){var s=NL()+ID();if(this.joinmode)s+=K(this.joinmode)+" ";s+=K("JOIN")+this.table.toString();return s};yy.Table=function(params){return yy.extend(this,params)};yy.Table.prototype.toString=function(){var s=this.tableid;if(this.databaseid)s=this.databaseid+"."+s;return L(s)};yy.View=function(params){return yy.extend(this,params)};yy.View.prototype.toString=function(){var s=this.viewid;if(this.databaseid)s=this.databaseid+"."+s;return L(s)};yy.Op=function(params){return yy.extend(this,params)};yy.Op.prototype.toString=function(){if(this.op=="IN"||this.op=="NOT IN"){return this.left.toString()+" "+P(this.op)+" ("+this.right.toString()+")"}if(this.allsome){return this.left.toString()+" "+P(this.op)+" "+this.allsome+" ("+this.right.toString()+")"}if(this.op=="->"||this.op=="#"){var s=this.left.toString()+this.op;if(typeof this.right!="string"&&typeof this.right!="number")s+="(";s+=this.right.toString();if(typeof this.right!="string"&&typeof this.right!="number")s+=")";return s}return this.left.toString()+" "+P(this.op)+" "+(this.allsome?this.allsome+" ":"")+this.right.toString()};yy.Op.prototype.findAggregator=function(query){if(this.left&&this.left.findAggregator)this.left.findAggregator(query);if(this.right&&this.right.findAggregator&&!this.allsome){this.right.findAggregator(query)}};yy.Op.prototype.toType=function(tableid){if(["-","*","/","%","^"].indexOf(this.op)>-1)return"number";if(this.op=="+"){if(this.left.toType(tableid)=="string"||this.right.toType(tableid)=="string")return"string";if(this.left.toType(tableid)=="number"||this.right.toType(tableid)=="number")return"number"}if(["AND","OR","NOT","=","==","===","!=","!==","!===",">",">=","<","<=","IN","NOT IN","LIKE","NOT LIKE"].indexOf(this.op)>-1)return"boolean";if(this.op=="BETWEEN"||this.op=="NOT BETWEEN"||this.op=="IS NULL"||this.op=="IS NOT NULL")return"boolean";if(this.allsome)return"boolean";if(!this.op)return this.left.toType();return"unknown"};yy.Op.prototype.toJavaScript=function(context,tableid,defcols){var op=this.op;if(this.op=="=")op="===";else if(this.op=="<>")op="!=";else if(this.op=="OR")op="||";if(this.op=="->"){if(typeof this.right=="string"){return this.left.toJavaScript(context,tableid,defcols)+'["'+this.right+'"]'}else if(typeof this.right=="number"){return this.left.toJavaScript(context,tableid,defcols)+"["+this.right+"]"}else if(this.right instanceof yy.FuncValue){ss=[];if(!this.right.args||this.right.args.length==0){}else{var ss=this.right.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)})}return this.left.toJavaScript(context,tableid,defcols)+"['"+this.right.funcid+"']("+ss.join(",")+")"}else{return this.left.toJavaScript(context,tableid,defcols)+"["+this.right.toJavaScript(context,tableid,defcols)+"]"}}if(this.op=="#"){if(typeof this.right=="string"){return"alasql.databases[alasql.useid].objects["+this.left.toJavaScript(context,tableid,defcols)+']["'+this.right+'"]'}}if(this.op=="IS"){return"((typeof "+this.left.toJavaScript(context,tableid,defcols)+"=='undefined') == "+"(typeof "+this.right.toJavaScript(context,tableid,defcols)+"=='undefined'))"}if(this.op=="=="){return"alasql.utils.deepEqual("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+")"}if(this.op=="==="){return"(("+this.left.toJavaScript(context,tableid,defcols)+").valueOf()===("+this.right.toJavaScript(context,tableid,defcols)+".valueOf()))"}if(this.op=="!==="){return"!(("+this.left.toJavaScript(context,tableid,defcols)+").valueOf()===("+this.right.toJavaScript(context,tableid,defcols)+".valueOf()))"}if(this.op=="!=="){return"(!alasql.utils.deepEqual("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+"))"}if(this.op=="LIKE"){var s="("+this.left.toJavaScript(context,tableid,defcols)+"+'')"+".toUpperCase().match(new RegExp('^'+("+this.right.toJavaScript(context,tableid,defcols)+").replace(/\\%/g,'.*').toUpperCase()+'$','g'))";return s}if(this.op=="NOT LIKE"){var s="!(("+this.left.toJavaScript(context,tableid,defcols)+"+'')"+".toUpperCase().match(new RegExp('^'+("+this.right.toJavaScript(context,tableid,defcols)+").replace(/\\%/g,'.*').toUpperCase()+'$','g')))";return s}if(this.op=="BETWEEN"){if(this.right instanceof yy.Op&&this.right.op=="AND"){return"(("+this.right.left.toJavaScript(context,tableid,defcols)+"<="+this.left.toJavaScript(context,tableid,defcols)+")&&"+"("+this.left.toJavaScript(context,tableid,defcols)+"<="+this.right.right.toJavaScript(context,tableid,defcols)+"))"}else{throw new Error("Wrong BETWEEN operator without AND part")}}if(this.op=="NOT BETWEEN"){if(this.right instanceof yy.Op&&this.right.op=="AND"){return"!(("+this.right.left.toJavaScript(context,tableid,defcols)+"<="+this.left.toJavaScript(context,tableid,defcols)+")&&"+"("+this.left.toJavaScript(context,tableid,defcols)+"<="+this.right.right.toJavaScript(context,tableid,defcols)+"))"}else{throw new Error("Wrong NOT BETWEEN operator without AND part")}}if(this.op=="IN"){if(this.right instanceof yy.Select){var s="(";s+="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}else if(this.right instanceof Array){var s="(["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}else{var s="("+this.right.toJavaScript(context,tableid,defcols)+".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}}if(this.op=="NOT IN"){if(this.right instanceof yy.Select){var s="(";s+="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")<0)";return s}else if(this.right instanceof Array){var s="(["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")<0)";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.allsome=="ALL"){if(this.right instanceof yy.Select){var s="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".every(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else if(this.right instanceof Array){var s="["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].every(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.allsome=="SOME"||this.allsome=="ANY"){if(this.right instanceof yy.Select){var s="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".some(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else if(this.right instanceof Array){var s="["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].some(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.op=="AND"){if(this.left.reduced){if(this.right.reduced){return"true"}else{return this.right.toJavaScript(context,tableid,defcols)}}else if(this.right.reduced){return this.left.toJavaScript(context,tableid,defcols)}op="&&"}if(this.op=="^"){return"Math.pow("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+")"}return"("+this.left.toJavaScript(context,tableid,defcols)+op+this.right.toJavaScript(context,tableid,defcols)+")"};yy.VarValue=function(params){return yy.extend(this,params)};yy.VarValue.prototype.toString=function(){return"@"+L(this.variable)};yy.VarValue.prototype.toType=function(){return"unknown"};yy.VarValue.prototype.toJavaScript=function(){return"alasql.vars['"+this.variable+"']"};yy.NumValue=function(params){return yy.extend(this,params)};yy.NumValue.prototype.toString=function(){return N(this.value.toString())};yy.NumValue.prototype.toType=function(){return"number"};yy.NumValue.prototype.toJavaScript=function(){return""+this.value};yy.StringValue=function(params){return yy.extend(this,params)};yy.StringValue.prototype.toString=function(){return"'"+S(this.value.toString())+"'"};yy.StringValue.prototype.toType=function(){return"string"};yy.StringValue.prototype.toJavaScript=function(){return"'"+escapeq(this.value)+"'"};yy.LogicValue=function(params){return yy.extend(this,params)};yy.LogicValue.prototype.toString=function(){return this.value?"TRUE":"FALSE"};yy.LogicValue.prototype.toType=function(){return"boolean"};yy.LogicValue.prototype.toJavaScript=function(){return this.value?"true":"false"};yy.NullValue=function(params){return yy.extend(this,params)};yy.NullValue.prototype.toString=function(){return"NULL"};yy.NullValue.prototype.toJavaScript=function(){return"undefined"};yy.ParamValue=function(params){return yy.extend(this,params)};yy.ParamValue.prototype.toString=function(){return"$"+this.param};yy.ParamValue.prototype.toJavaScript=function(){if(typeof this.param=="string")return"params['"+this.param+"']";else return"params["+this.param+"]"};yy.UniOp=function(params){return yy.extend(this,params)};yy.UniOp.prototype.toString=function(){if(this.op=="-")return this.op+this.right.toString();if(this.op=="+")return this.op+this.right.toString();if(this.op=="NOT")return this.op+"("+this.right.toString()+")";else if(this.op==null)return"("+this.right.toString()+")"};yy.UniOp.prototype.findAggregator=function(query){if(this.right.findAggregator)this.right.findAggregator(query)};yy.UniOp.prototype.toType=function(tableid){if(this.op=="-")return"number";if(this.op=="+")return"number";if(this.op=="NOT")return"boolean"};yy.UniOp.prototype.toJavaScript=function(context,tableid,defcols){if(this.op=="-")return"(-("+this.right.toJavaScript(context,tableid,defcols)+"))";if(this.op=="+")return"("+this.right.toJavaScript(context,tableid,defcols)+")";if(this.op=="NOT")return"!("+this.right.toJavaScript(context,tableid,defcols)+")";else if(this.op==null)return"("+this.right.toJavaScript(context,tableid,defcols)+")"};yy.Column=function(params){return yy.extend(this,params)};yy.Column.prototype.toString=function(){var s;if(this.columnid==+this.columnid){s="["+this.columnid+"]"}else{s=this.columnid}if(this.tableid){if(+this.columnid==this.columnid){s=this.tableid+s}else{s=this.tableid+"."+s}if(this.databaseid){s=this.databaseid+"."+s}}return s};yy.Column.prototype.toJavaScript=function(context,tableid,defcols){var s="";if(!this.tableid&&tableid==""&&!defcols){if(this.columnid!="_"){s=context+"['"+this.columnid+"']"}else{if(context=="g"){s="g['_']"}else{s=context}}}else{if(context=="g"){s="g['"+this.nick+"']"}else if(this.tableid){if(this.columnid!="_"){s=context+"['"+this.tableid+"']['"+this.columnid+"']"}else{if(context=="g"){s="g['_']"}else{s=context+"['"+this.tableid+"']"}}}else if(defcols){var tbid=defcols[this.columnid];if(tbid=="-"){throw new Error('Cannot resolve column "'+this.columnid+'" because it exists in two source tables')}else if(tbid){if(this.columnid!="_"){s=context+"['"+tbid+"']['"+this.columnid+"']"}else{s=context+"['"+tbid+"']"}}else{if(this.columnid!="_"){s=context+"['"+(this.tableid||tableid)+"']['"+this.columnid+"']"}else{s=context+"['"+(this.tableid||tableid)+"']"}}}else if(tableid==-1){s=context+"['"+this.columnid+"']"}else{if(this.columnid!="_"){s=context+"['"+(this.tableid||tableid)+"']['"+this.columnid+"']"}else{s=context+"['"+(this.tableid||tableid)+"']"}}}return s};yy.AggrValue=function(params){return yy.extend(this,params)};yy.AggrValue.prototype.toString=function(){var s="";if(this.aggregatorid=="REDUCE")s+=L(this.funcid)+"(";else s+=this.aggregatorid+"(";if(this.distinct)s+=K("DISTINCT")+" ";if(this.expression)s+=this.expression.toString();s+=")";if(this.over)s+=" "+this.over.toString();return s};yy.AggrValue.prototype.findAggregator=function(query){var colas=escapeq(this.toString())+":"+query.selectGroup.length;var found=false;if(!found){if(!this.nick){this.nick=colas;var found=false;for(var i=0;i<query.removeKeys.length;i++){if(query.removeKeys[i]==colas){found=true;break}}if(!found)query.removeKeys.push(colas)}query.selectGroup.push(this)}return};yy.AggrValue.prototype.toType=function(){if(["SUM","COUNT","AVG","MIN","MAX","AGGR","VAR","STDDEV"].indexOf(this.aggregatorid)>-1)return"number";if(["ARRAY"].indexOf(this.aggregatorid)>-1)return"array";if(["FIRST","LAST"].indexOf(this.aggregatorid)>-1)return this.expression.toType()};yy.AggrValue.prototype.toJavaScript=function(context,tableid,defcols){var colas=this.nick;if(typeof colas=="undefined")colas=this.toString();return"g['"+colas+"']"};yy.OrderExpression=function(params){return yy.extend(this,params)};yy.OrderExpression.prototype.toString=function(){var s=this.expression.toString();if(this.order)s+=" "+this.order.toString();if(this.nocase)s+=" "+K("COLLATE")+" "+K("NOCASE");
|
|
5
|
+
}}query.sources.push(source)}})};yy.Select.prototype.compileWhere=function(query){if(this.where){if(typeof this.where=="function"){return this.where}else{s=this.where.toJavaScript("p",query.defaultTableid,query.defcols);query.wherefns=s;return new Function("p,params,alasql","return "+s)}}else return function(){return true}};yy.Select.prototype.compileWhereJoins=function(query){return;optimizeWhereJoin(query,this.where.expression);query.sources.forEach(function(source){if(source.srcwherefns){source.srcwherefn=new Function("p,params,alasql","return "+source.srcwherefns)}if(source.wxleftfns){source.wxleftfn=new Function("p,params,alasql","return "+source.wxleftfns)}if(source.wxrightfns){source.wxrightfn=new Function("p,params,alasql","return "+source.wxrightfns)}})};function optimizeWhereJoin(query,ast){if(!ast)return false;if(!(ast instanceof yy.Op))return;if(ast.op!="="&&ast.op!="AND")return;if(ast.allsome)return;var s=ast.toJavaScript("p",query.defaultTableid,query.defcols);var fsrc=[];query.sources.forEach(function(source,idx){if(source.tableid){if(s.indexOf("p['"+source.alias+"']")>-1)fsrc.push(source)}});if(fsrc.length==0){return}else if(fsrc.length==1){if(!(s.match(/p\[\'.*?\'\]/g)||[]).every(function(s){return s=="p['"+fsrc[0].alias+"']"})){return}var src=fsrc[0];src.srcwherefns=src.srcwherefns?src.srcwherefns+"&&"+s:s;if(ast instanceof yy.Op&&(ast.op=="="&&!ast.allsome)){if(ast.left instanceof yy.Column){var ls=ast.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=ast.right.toJavaScript("p",query.defaultTableid,query.defcols);if(rs.indexOf("p['"+fsrc[0].alias+"']")==-1){fsrc[0].wxleftfns=ls;fsrc[0].wxrightfns=rs}}if(ast.right instanceof yy.Column){var ls=ast.left.toJavaScript("p",query.defaultTableid,query.defcols);var rs=ast.right.toJavaScript("p",query.defaultTableid,query.defcols);if(ls.indexOf("p['"+fsrc[0].alias+"']")==-1){fsrc[0].wxleftfns=rs;fsrc[0].wxrightfns=ls}}}ast.reduced=true;return}else{if(ast.op="AND"){optimizeWhereJoin(query,ast.left);optimizeWhereJoin(query,ast.right)}}}yy.Select.prototype.compileGroup=function(query){var self=this;if(query.sources.length>0){var tableid=query.sources[0].alias}else{var tableid=""}var defcols=query.defcols;var allgroup=[[]];if(this.group){allgroup=decartes(this.group,query)}var allgroups=[];allgroup.forEach(function(a){allgroups=arrayUnion(allgroups,a)});query.allgroups=allgroups;if(false){allgroups.forEach(function(col2){if(query.selectColumns[colid]){}else{var tmpid="default";if(query.sources.length>0)tmpid=query.sources[0].alias;if(Object.keys(query.selectColumns).length!=0)query.removeKeys.push(colid);query.selectfns+="r['"+escapeq(colid)+"']="+new yy.Column({columnid:colid}).toJavaScript("p",tmpid)+";"}})}var s="";allgroup.forEach(function(agroup){s+="var acc,g=this.xgroups[";var rg=agroup.map(function(col2){var columnid=col2.split(" ")[0];var coljs=col2.split(" ")[1];if(columnid=="")return"1";else return coljs});if(rg.length==0)rg=["''"];s+=rg.join('+"`"+');s+="];if(!g) {this.groups.push((g=this.xgroups[";s+=rg.join('+"`"+');s+="] = {";s+=agroup.map(function(col2){var columnid=col2.split(" ")[0];var coljs=col2.split(" ")[1];if(columnid=="")return"";else return"'"+columnid+"':"+coljs+","}).join("");var neggroup=arrayDiff(allgroups,agroup);s+=neggroup.map(function(col2){var columnid=col2.split(" ")[0];var coljs=col2.split(" ")[1];return"'"+columnid+"':null,"}).join("");var aft="";s+=query.selectGroup.map(function(col,idx){var colexp=col.expression.toJavaScript("p",tableid,defcols);var colas=col.nick;if(col instanceof yy.AggrValue){if(col.distinct){aft+=",g['$$_VALUES_"+colas+"']={},g['$$_VALUES_"+colas+"']["+colexp+"]=true"}if(col.aggregatorid=="SUM"||col.aggregatorid=="MIN"||col.aggregatorid=="MAX"||col.aggregatorid=="FIRST"||col.aggregatorid=="LAST"){return"'"+colas+"':"+colexp+","}else if(col.aggregatorid=="ARRAY"){return"'"+colas+"':["+colexp+"],"}else if(col.aggregatorid=="COUNT"){if(col.expression.columnid=="*"){return"'"+colas+"':1,"}else{return"'"+colas+"':(typeof "+colexp+' != "undefined")?1:0,'}}else if(col.aggregatorid=="AVG"){query.removeKeys.push("_SUM_"+colas);query.removeKeys.push("_COUNT_"+colas);return"'"+colas+"':"+colexp+",'_SUM_"+colas+"':"+colexp+",'_COUNT_"+colas+"':1,"}else if(col.aggregatorid=="AGGR"){aft+=",g['"+colas+"']="+col.expression.toJavaScript("g",-1);return""}else if(col.aggregatorid=="REDUCE"){query.removeKeys.push("_REDUCE_"+colas);return"'"+colas+"':alasql.aggr['"+col.funcid+"']("+colexp+",undefined,(acc={})),"+"'__REDUCE__"+colas+"':acc,"}return""}else return""}).join("");s+="}"+aft+",g));} else {";s+=query.selectGroup.map(function(col,idx){var colas=col.nick;var colexp=col.expression.toJavaScript("p",tableid,defcols);if(col instanceof yy.AggrValue){if(col.distinct){var pre="if(typeof "+colexp+'!="undefined" && (!g[\'$$_VALUES_'+colas+"']["+colexp+"])) {";var post="g['$$_VALUES_"+colas+"']["+colexp+"]=true;}"}else{var pre="",post=""}if(col.aggregatorid=="SUM"){return pre+"g['"+colas+"']+="+colexp+";"+post}else if(col.aggregatorid=="COUNT"){if(col.expression.columnid=="*")return pre+"g['"+colas+"']++;"+post;else{return pre+"if(typeof "+colexp+'!="undefined") g[\''+colas+"']++;"+post}}else if(col.aggregatorid=="ARRAY"){return pre+"g['"+colas+"'].push("+colexp+");"+post}else if(col.aggregatorid=="MIN"){return pre+"g['"+colas+"']=Math.min(g['"+colas+"'],"+colexp+");"+post}else if(col.aggregatorid=="MAX"){return pre+"g['"+colas+"']=Math.max(g['"+colas+"'],"+colexp+");"+post}else if(col.aggregatorid=="FIRST"){return""}else if(col.aggregatorid=="LAST"){return pre+"g['"+colas+"']="+colexp+";"+post}else if(col.aggregatorid=="AVG"){return pre+"g['_SUM_"+colas+"']+="+colexp+";"+"g['_COUNT_"+colas+"']++;"+"g['"+colas+"']=g['_SUM_"+colas+"']/g['_COUNT_"+colas+"'];"+post}else if(col.aggregatorid=="AGGR"){return pre+"g['"+colas+"']="+col.expression.toJavaScript("g",-1)+";"+post}else if(col.aggregatorid=="REDUCE"){return pre+"g['"+colas+"']=alasql.aggr."+col.funcid+"("+colexp+",g['"+colas+"'],g['__REDUCE__"+colas+"']);"+post}return""}else return""}).join("");s+="}"});return new Function("p,params,alasql",s)};function compileSelectStar(query,alias){var s="",sp="",ss=[];query.ixsources={};query.sources.forEach(function(source){query.ixsources[source.alias]=source});var columns=query.ixsources[alias].columns;if(columns&&columns.length>0){columns.forEach(function(tcol){ss.push("'"+tcol.columnid+"':p['"+alias+"']['"+tcol.columnid+"']");query.selectColumns[escapeq(tcol.columnid)]=true;var coldef={columnid:tcol.columnid,dbtypeid:tcol.dbtypeid,dbsize:tcol.dbsize,dbprecision:tcol.dbprecision,dbenum:tcol.dbenum};query.columns.push(coldef);query.xcolumns[coldef.columnid]=coldef})}else{sp+='var w=p["'+alias+'"];for(var k in w){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=w[k]};';query.dirtyColumns=true}return{s:ss.join(","),sp:sp}}yy.Select.prototype.compileSelect1=function(query){var self=this;query.columns=[];query.xcolumns={};query.selectColumns={};query.dirtyColumns=false;var s="var r={";var sp="";var ss=[];this.columns.forEach(function(col){if(col instanceof yy.Column){if(col.columnid=="*"){if(col.func){sp+="r=params['"+col.param+"'](p['"+query.sources[0].alias+"'],p,params,alasql);"}else if(col.tableid){var ret=compileSelectStar(query,col.tableid);if(ret.s)ss=ss.concat(ret.s);sp+=ret.sp}else{for(var alias in query.aliases){var ret=compileSelectStar(query,alias);if(ret.s)ss=ss.concat(ret.s);sp+=ret.sp}}}else{var tbid=col.tableid;var dbid=col.databaseid||query.sources[0].databaseid||query.database.databaseid;if(!tbid)tbid=query.defcols[col.columnid];if(!tbid)tbid=query.defaultTableid;if(col.columnid!="_"){ss.push("'"+escapeq(col.as||col.columnid)+"':p['"+tbid+"']['"+col.columnid+"']")}else{ss.push("'"+escapeq(col.as||col.columnid)+"':p['"+tbid+"']")}query.selectColumns[escapeq(col.as||col.columnid)]=true;if(query.aliases[tbid]&&query.aliases[tbid].type=="table"){if(!alasql.databases[dbid].tables[query.aliases[tbid].tableid]){throw new Error("Table '"+tbid+"' does not exists in database")}var columns=alasql.databases[dbid].tables[query.aliases[tbid].tableid].columns;var xcolumns=alasql.databases[dbid].tables[query.aliases[tbid].tableid].xcolumns;if(xcolumns&&columns.length>0){var tcol=xcolumns[col.columnid];var coldef={columnid:col.as||col.columnid,dbtypeid:tcol.dbtypeid,dbsize:tcol.dbsize,dbpecision:tcol.dbprecision,dbenum:tcol.dbenum};query.columns.push(coldef);query.xcolumns[coldef.columnid]=coldef}else{query.dirtyColumns=true}}else{}}}else if(col instanceof yy.AggrValue){if(!self.group){self.group=[""]}if(!col.as)col.as=escapeq(col.toString());if(col.aggregatorid=="SUM"||col.aggregatorid=="MAX"||col.aggregatorid=="MIN"||col.aggregatorid=="FIRST"||col.aggregatorid=="LAST"||col.aggregatorid=="AVG"||col.aggregatorid=="ARRAY"||col.aggregatorid=="REDUCE"){ss.push("'"+escapeq(col.as)+"':"+col.expression.toJavaScript("p",query.defaultTableid,query.defcols))}else if(col.aggregatorid=="COUNT"){ss.push("'"+escapeq(col.as)+"':1")}query.selectColumns[col.aggregatorid+"("+escapeq(col.expression.toString())+")"]=thtd}else{ss.push("'"+escapeq(col.as||col.columnid||col.toString())+"':"+col.toJavaScript("p",query.defaultTableid,query.defcols));query.selectColumns[escapeq(col.as||col.columnid||col.toString())]=true}});s+=ss.join(",")+"};"+sp;return s};yy.Select.prototype.compileSelect2=function(query){var s=query.selectfns;return new Function("p,params,alasql",s+"return r")};yy.Select.prototype.compileSelectGroup0=function(query){var self=this;self.columns.forEach(function(col,idx){if(col instanceof yy.Column&&col.columnid=="*"){}else{var colas;if(col instanceof yy.Column){colas=escapeq(col.columnid)}else{colas=escapeq(col.toString())}for(var i=0;i<idx;i++){if(colas==self.columns[i].nick){colas=self.columns[i].nick+":"+idx;break}}col.nick=colas}});this.columns.forEach(function(col){if(col.findAggregator)col.findAggregator(query)});if(this.having){if(this.having.findAggregator)this.having.findAggregator(query)}};yy.Select.prototype.compileSelectGroup1=function(query){var self=this;var s="var r = {};";self.columns.forEach(function(col,idx){if(col instanceof yy.Column&&col.columnid=="*"){s+="for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};"}else{var colas=col.as;if(typeof colas=="undefined"){if(col instanceof yy.Column)colas=escapeq(col.columnid);else colas=col.nick}query.groupColumns[colas]=col.nick;s+="r['"+colas+"']=";s+=col.toJavaScript("g","")+";";for(var i=0;i<query.removeKeys.length;i++){if(query.removeKeys[i]==colas){query.removeKeys.splice(i,1);break}}}});return s};yy.Select.prototype.compileSelectGroup2=function(query){var s=query.selectgfns;return new Function("g,params,alasql",s+"return r")};yy.Select.prototype.compileRemoveColumns=function(query){if(typeof this.removecolumns!="undefined"){query.removeKeys=query.removeKeys.concat(this.removecolumns.filter(function(column){return typeof column.like=="undefined"}).map(function(column){return column.columnid}));query.removeLikeKeys=this.removecolumns.filter(function(column){return typeof column.like!="undefined"}).map(function(column){return new RegExp(column.like.value.replace(/\%/g,".*"),"g")})}};yy.Select.prototype.compileHaving=function(query){if(this.having){s=this.having.toJavaScript("g",-1);query.havingfns=s;return new Function("g,params,alasql","return "+s)}else return function(){return true}};yy.Select.prototype.compileOrder=function(query){var self=this;if(this.order){if(this.order&&this.order.length==1&&this.order[0].expression&&typeof this.order[0].expression=="function"){var func=this.order[0].expression;return function(a,b){var ra=func(a),rb=func(b);if(ra>rb)return 1;if(ra==rb)return 0;return-1}}var s="";var sk="";this.order.forEach(function(ord,idx){var dg="";if(ord.expression instanceof yy.NumValue){ord.expression=self.columns[ord.expression.value-1]}if(ord.expression instanceof yy.Column){var columnid=ord.expression.columnid;if(query.xcolumns[columnid]){var dbtypeid=query.xcolumns[columnid].dbtypeid;if(dbtypeid=="DATE"||dbtypeid=="DATETIME")dg=".valueOf()"}else{if(alasql.options.valueof)dg=".valueOf()"}if(ord.nocase)dg+=".toUpperCase()";s+="if((a['"+columnid+"']||'')"+dg+(ord.direction=="ASC"?">":"<")+"(b['"+columnid+"']||'')"+dg+")return 1;";s+="if((a['"+columnid+"']||'')"+dg+"==(b['"+columnid+"']||'')"+dg+"){"}else{dg=".valueOf()";if(ord.nocase)dg+=".toUpperCase()";s+="if(("+ord.toJavaScript("a","")+"||'')"+dg+(ord.direction=="ASC"?">(":"<(")+ord.toJavaScript("b","")+"||'')"+dg+")return 1;";s+="if(("+ord.toJavaScript("a","")+"||'')"+dg+"==("+ord.toJavaScript("b","")+"||'')"+dg+"){"}sk+="}"});s+="return 0;";s+=sk+"return -1";query.orderfns=s;return new Function("a,b",s)}};var rollup=function(a,query){var rr=[];var mask=0;var glen=a.length;for(var g=0;g<glen+1;g++){var ss=[];for(var i=0;i<glen;i++){if(a[i]instanceof yy.Column){a[i].nick=escapeq(a[i].columnid);query.groupColumns[escapeq(a[i].columnid)]=a[i].nick;var aaa=a[i].nick+" "+a[i].toJavaScript("p",query.sources[0].alias,query.defcols)}else{query.groupColumns[escapeq(a[i].toString())]=escapeq(a[i].toString());var aaa=escapeq(a[i].toString())+" "+a[i].toJavaScript("p",query.sources[0].alias,query.defcols)}if(mask&1<<i)ss.push(aaa)}rr.push(ss);mask=(mask<<1)+1}return rr};var cube=function(a,query){var rr=[];var glen=a.length;for(var g=0;g<1<<glen;g++){var ss=[];for(var i=0;i<glen;i++){if(g&1<<i)ss=ss.concat(decartes(a[i],query))}rr.push(ss)}return rr};var groupingsets=function(a,query){return a.reduce(function(acc,d){acc=acc.concat(decartes(d,query));return acc},[])};var cartes=function(a1,a2){var rrr=[];for(var i1=0;i1<a1.length;i1++){for(var i2=0;i2<a2.length;i2++){rrr.push(a1[i1].concat(a2[i2]))}}return rrr};function decartes(gv,query){if(gv instanceof Array){var res=[[]];for(var t=0;t<gv.length;t++){if(gv[t]instanceof yy.Column){gv[t].nick=escapeq(gv[t].columnid);query.groupColumns[gv[t].nick]=gv[t].nick;res=res.map(function(r){return r.concat(gv[t].nick+" "+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}else if(gv[t]instanceof yy.FuncValue){query.groupColumns[escapeq(gv[t].toString())]=escapeq(gv[t].toString());res=res.map(function(r){return r.concat(escapeq(gv[t].toString())+" "+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}else if(gv[t]instanceof yy.GroupExpression){if(gv[t].type=="ROLLUP")res=cartes(res,rollup(gv[t].group,query));else if(gv[t].type=="CUBE")res=cartes(res,cube(gv[t].group,query));else if(gv[t].type=="GROUPING SETS")res=cartes(res,groupingsets(gv[t].group,query));else throw new Error("Unknown grouping function")}else if(gv[t]===""){res=[["1 1"]]}else{res=res.map(function(r){query.groupColumns[escapeq(gv[t].toString())]=escapeq(gv[t].toString());return r.concat(escapeq(gv[t].toString())+" "+gv[t].toJavaScript("p",query.sources[0].alias,query.defcols))})}}return res}else if(gv instanceof yy.FuncValue){query.groupColumns[escapeq(gv.toString())]=escapeq(gv.toString());return[gv.toString()+" "+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}else if(gv instanceof yy.Column){gv.nick=escapeq(gv.columnid);query.groupColumns[gv.nick]=gv.nick;return[gv.nick+" "+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}else{query.groupColumns[escapeq(gv.toString())]=escapeq(gv.toString());return[escapeq(gv.toString())+" "+gv.toJavaScript("p",query.sources[0].alias,query.defcols)]}}yy.Select.prototype.compileDefCols=function(query,databaseid){var defcols={};if(this.from){this.from.forEach(function(fr){if(fr instanceof yy.Table){var alias=fr.as||fr.tableid;var table=alasql.databases[fr.databaseid||databaseid].tables[fr.tableid];if(table.columns){table.columns.forEach(function(col){if(defcols[col.columnid]){defcols[col.columnid]="-"}else{defcols[col.columnid]=alias}})}}else if(fr instanceof yy.Select){}else if(fr instanceof yy.ParamValue){}else if(fr instanceof yy.VarValue){}else if(fr instanceof yy.FuncValue){}else if(fr instanceof yy.FromData){}else{throw new Error("Unknown type of FROM clause")}})}if(this.joins){this.joins.forEach(function(jn){if(jn.table){var alias=jn.table.tableid;if(jn.as)alias=jn.as;var alias=jn.as||jn.table.tableid;var table=alasql.databases[jn.table.databaseid||databaseid].tables[jn.table.tableid];if(table.columns){table.columns.forEach(function(col){if(defcols[col.columnid]){defcols[col.columnid]="-"}else{defcols[col.columnid]=alias}})}}else if(jn.select){}else if(jn.param){}else if(jn.func){}else{throw new Error("Unknown type of FROM clause")}})}return defcols};yy.Union=function(params){return yy.extend(this,params)};yy.Union.prototype.toString=function(){return K("UNION")};yy.Union.prototype.compile=function(tableid){return null};yy.Apply=function(params){return yy.extend(this,params)};yy.Apply.prototype.toString=function(){var s=K(this.applymode)+" "+K("APPLY")+" (";s+=this.select.toString()+")";if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.Over=function(params){return yy.extend(this,params)};yy.Over.prototype.toString=function(){var s=K("OVER")+" (";if(this.partition){s+=K("PARTITION")+" "+K("BY")+" "+this.partition.toString();if(this.order)s+=" "}if(this.order){s+=K("ORDER")+" "+K("BY")+" "+this.order.toString()}s+=")";return s};yy.ExpressionStatement=function(params){return yy.extend(this,params)};yy.ExpressionStatement.prototype.toString=function(){return this.expression.toString()};yy.ExpressionStatement.prototype.execute=function(databaseid,params,cb){if(this.expression){var expr=new Function("params,alasql,p","return "+this.expression.toJavaScript("({})","",null));var res=expr(params,alasql);if(cb)res=cb(res);return res}};yy.Expression=function(params){return yy.extend(this,params)};yy.Expression.prototype.toString=function(){var s=this.expression.toString();if(this.order)s+=" "+this.order.toString();if(this.nocase)s+=" "+K("COLLATE")+" "+K("NOCASE");return s};yy.Expression.prototype.findAggregator=function(query){if(this.expression.findAggregator)this.expression.findAggregator(query)};yy.Expression.prototype.toJavaScript=function(context,tableid,defcols){if(this.expression.reduced)return"true";return this.expression.toJavaScript(context,tableid,defcols)};yy.Expression.prototype.compile=function(context,tableid,defcols){if(this.reduced)return returnTrue();return new Function("p","return "+this.toJavaScript(context,tableid,defcols))};yy.JavaScript=function(params){return yy.extend(this,params)};yy.JavaScript.prototype.toString=function(){var s="``"+this.value+"``";return s};yy.JavaScript.prototype.toJavaScript=function(context,tableid,defcols){return"("+this.value+")"};yy.JavaScript.prototype.execute=function(databaseid,params,cb){var res=1;var expr=new Function("params,alasql,p",this.value);expr(params,alasql);if(cb)res=cb(res);return res};yy.Literal=function(params){return yy.extend(this,params)};yy.Literal.prototype.toString=function(){var s=this.value;if(this.value1)s=this.value1+"."+s;return L(s)};yy.Join=function(params){return yy.extend(this,params)};yy.Join.prototype.toString=function(){var s=NL()+ID();if(this.joinmode)s+=K(this.joinmode)+" ";s+=K("JOIN")+this.table.toString();return s};yy.Table=function(params){return yy.extend(this,params)};yy.Table.prototype.toString=function(){var s=this.tableid;if(this.databaseid)s=this.databaseid+"."+s;return L(s)};yy.View=function(params){return yy.extend(this,params)};yy.View.prototype.toString=function(){var s=this.viewid;if(this.databaseid)s=this.databaseid+"."+s;return L(s)};yy.Op=function(params){return yy.extend(this,params)};yy.Op.prototype.toString=function(){if(this.op=="IN"||this.op=="NOT IN"){return this.left.toString()+" "+P(this.op)+" ("+this.right.toString()+")"}if(this.allsome){return this.left.toString()+" "+P(this.op)+" "+this.allsome+" ("+this.right.toString()+")"}if(this.op=="->"||this.op=="#"){var s=this.left.toString()+this.op;if(typeof this.right!="string"&&typeof this.right!="number")s+="(";s+=this.right.toString();if(typeof this.right!="string"&&typeof this.right!="number")s+=")";return s}return this.left.toString()+" "+P(this.op)+" "+(this.allsome?this.allsome+" ":"")+this.right.toString()};yy.Op.prototype.findAggregator=function(query){if(this.left&&this.left.findAggregator)this.left.findAggregator(query);if(this.right&&this.right.findAggregator&&!this.allsome){this.right.findAggregator(query)}};yy.Op.prototype.toType=function(tableid){if(["-","*","/","%","^"].indexOf(this.op)>-1)return"number";if(this.op=="+"){if(this.left.toType(tableid)=="string"||this.right.toType(tableid)=="string")return"string";if(this.left.toType(tableid)=="number"||this.right.toType(tableid)=="number")return"number"}if(["AND","OR","NOT","=","==","===","!=","!==","!===",">",">=","<","<=","IN","NOT IN","LIKE","NOT LIKE"].indexOf(this.op)>-1)return"boolean";if(this.op=="BETWEEN"||this.op=="NOT BETWEEN"||this.op=="IS NULL"||this.op=="IS NOT NULL")return"boolean";if(this.allsome)return"boolean";if(!this.op)return this.left.toType();return"unknown"};yy.Op.prototype.toJavaScript=function(context,tableid,defcols){var op=this.op;if(this.op=="=")op="===";else if(this.op=="<>")op="!=";else if(this.op=="OR")op="||";if(this.op=="->"){if(typeof this.right=="string"){return this.left.toJavaScript(context,tableid,defcols)+'["'+this.right+'"]'}else if(typeof this.right=="number"){return this.left.toJavaScript(context,tableid,defcols)+"["+this.right+"]"}else if(this.right instanceof yy.FuncValue){ss=[];if(!this.right.args||this.right.args.length==0){}else{var ss=this.right.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)})}return this.left.toJavaScript(context,tableid,defcols)+"['"+this.right.funcid+"']("+ss.join(",")+")"}else{return this.left.toJavaScript(context,tableid,defcols)+"["+this.right.toJavaScript(context,tableid,defcols)+"]"}}if(this.op=="#"){if(typeof this.right=="string"){return"alasql.databases[alasql.useid].objects["+this.left.toJavaScript(context,tableid,defcols)+']["'+this.right+'"]'}}if(this.op=="IS"){return"((typeof "+this.left.toJavaScript(context,tableid,defcols)+"=='undefined') == "+"(typeof "+this.right.toJavaScript(context,tableid,defcols)+"=='undefined'))"}if(this.op=="=="){return"alasql.utils.deepEqual("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+")"}if(this.op=="==="){return"(("+this.left.toJavaScript(context,tableid,defcols)+").valueOf()===("+this.right.toJavaScript(context,tableid,defcols)+".valueOf()))"}if(this.op=="!==="){return"!(("+this.left.toJavaScript(context,tableid,defcols)+").valueOf()===("+this.right.toJavaScript(context,tableid,defcols)+".valueOf()))"}if(this.op=="!=="){return"(!alasql.utils.deepEqual("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+"))"}if(this.op=="LIKE"){var s="("+this.left.toJavaScript(context,tableid,defcols)+"+'')"+".toUpperCase().match(new RegExp('^'+("+this.right.toJavaScript(context,tableid,defcols)+").replace(/\\%/g,'.*').toUpperCase()+'$','g'))";return s}if(this.op=="NOT LIKE"){var s="!(("+this.left.toJavaScript(context,tableid,defcols)+"+'')"+".toUpperCase().match(new RegExp('^'+("+this.right.toJavaScript(context,tableid,defcols)+").replace(/\\%/g,'.*').toUpperCase()+'$','g')))";return s}if(this.op=="BETWEEN"){if(this.right instanceof yy.Op&&this.right.op=="AND"){return"(("+this.right.left.toJavaScript(context,tableid,defcols)+"<="+this.left.toJavaScript(context,tableid,defcols)+")&&"+"("+this.left.toJavaScript(context,tableid,defcols)+"<="+this.right.right.toJavaScript(context,tableid,defcols)+"))"}else{throw new Error("Wrong BETWEEN operator without AND part")}}if(this.op=="NOT BETWEEN"){if(this.right instanceof yy.Op&&this.right.op=="AND"){return"!(("+this.right.left.toJavaScript(context,tableid,defcols)+"<="+this.left.toJavaScript(context,tableid,defcols)+")&&"+"("+this.left.toJavaScript(context,tableid,defcols)+"<="+this.right.right.toJavaScript(context,tableid,defcols)+"))"}else{throw new Error("Wrong NOT BETWEEN operator without AND part")}}if(this.op=="IN"){if(this.right instanceof yy.Select){var s="(";s+="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}else if(this.right instanceof Array){var s="(["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}else{var s="("+this.right.toJavaScript(context,tableid,defcols)+".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")>-1)";return s}}if(this.op=="NOT IN"){if(this.right instanceof yy.Select){var s="(";s+="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")<0)";return s}else if(this.right instanceof Array){var s="(["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].indexOf(";s+=this.left.toJavaScript(context,tableid,defcols)+")<0)";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.allsome=="ALL"){if(this.right instanceof yy.Select){var s="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".every(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else if(this.right instanceof Array){var s="["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].every(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.allsome=="SOME"||this.allsome=="ANY"){if(this.right instanceof yy.Select){var s="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))";s+=".some(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else if(this.right instanceof Array){var s="["+this.right.map(function(a){return a.toJavaScript(context,tableid,defcols)}).join(",")+"].some(function(b){return (";s+=this.left.toJavaScript(context,tableid,defcols)+")"+op+"b})";return s}else{throw new Error("Wrong NOT IN operator without SELECT part")}}if(this.op=="AND"){if(this.left.reduced){if(this.right.reduced){return"true"}else{return this.right.toJavaScript(context,tableid,defcols)}}else if(this.right.reduced){return this.left.toJavaScript(context,tableid,defcols)}op="&&"}if(this.op=="^"){return"Math.pow("+this.left.toJavaScript(context,tableid,defcols)+","+this.right.toJavaScript(context,tableid,defcols)+")"}return"("+this.left.toJavaScript(context,tableid,defcols)+op+this.right.toJavaScript(context,tableid,defcols)+")"};yy.VarValue=function(params){return yy.extend(this,params)};yy.VarValue.prototype.toString=function(){return"@"+L(this.variable)};yy.VarValue.prototype.toType=function(){return"unknown"};yy.VarValue.prototype.toJavaScript=function(){return"alasql.vars['"+this.variable+"']"};yy.NumValue=function(params){return yy.extend(this,params)};yy.NumValue.prototype.toString=function(){return N(this.value.toString())};yy.NumValue.prototype.toType=function(){return"number"};yy.NumValue.prototype.toJavaScript=function(){return""+this.value};yy.StringValue=function(params){return yy.extend(this,params)};yy.StringValue.prototype.toString=function(){return"'"+S(this.value.toString())+"'"};yy.StringValue.prototype.toType=function(){return"string"};yy.StringValue.prototype.toJavaScript=function(){return"'"+escapeq(this.value)+"'"};yy.LogicValue=function(params){return yy.extend(this,params)};yy.LogicValue.prototype.toString=function(){return this.value?"TRUE":"FALSE"};yy.LogicValue.prototype.toType=function(){return"boolean"};yy.LogicValue.prototype.toJavaScript=function(){return this.value?"true":"false"};yy.NullValue=function(params){return yy.extend(this,params)};yy.NullValue.prototype.toString=function(){return"NULL"};yy.NullValue.prototype.toJavaScript=function(){return"undefined"};yy.ParamValue=function(params){return yy.extend(this,params)};yy.ParamValue.prototype.toString=function(){return"$"+this.param};yy.ParamValue.prototype.toJavaScript=function(){if(typeof this.param=="string")return"params['"+this.param+"']";else return"params["+this.param+"]"};yy.UniOp=function(params){return yy.extend(this,params)};yy.UniOp.prototype.toString=function(){if(this.op=="-")return this.op+this.right.toString();if(this.op=="+")return this.op+this.right.toString();if(this.op=="NOT")return this.op+"("+this.right.toString()+")";else if(this.op==null)return"("+this.right.toString()+")"};yy.UniOp.prototype.findAggregator=function(query){if(this.right.findAggregator)this.right.findAggregator(query)};yy.UniOp.prototype.toType=function(tableid){if(this.op=="-")return"number";if(this.op=="+")return"number";if(this.op=="NOT")return"boolean"};yy.UniOp.prototype.toJavaScript=function(context,tableid,defcols){if(this.op=="-")return"(-("+this.right.toJavaScript(context,tableid,defcols)+"))";if(this.op=="+")return"("+this.right.toJavaScript(context,tableid,defcols)+")";if(this.op=="NOT")return"!("+this.right.toJavaScript(context,tableid,defcols)+")";else if(this.op==null)return"("+this.right.toJavaScript(context,tableid,defcols)+")"};yy.Column=function(params){return yy.extend(this,params)};yy.Column.prototype.toString=function(){var s;if(this.columnid==+this.columnid){s="["+this.columnid+"]"}else{s=this.columnid}if(this.tableid){if(+this.columnid==this.columnid){s=this.tableid+s}else{s=this.tableid+"."+s}if(this.databaseid){s=this.databaseid+"."+s}}return s};yy.Column.prototype.toJavaScript=function(context,tableid,defcols){var s="";if(!this.tableid&&tableid==""&&!defcols){if(this.columnid!="_"){s=context+"['"+this.columnid+"']"}else{if(context=="g"){s="g['_']"}else{s=context}}}else{if(context=="g"){s="g['"+this.nick+"']"}else if(this.tableid){if(this.columnid!="_"){s=context+"['"+this.tableid+"']['"+this.columnid+"']"}else{if(context=="g"){s="g['_']"}else{s=context+"['"+this.tableid+"']"}}}else if(defcols){var tbid=defcols[this.columnid];if(tbid=="-"){throw new Error('Cannot resolve column "'+this.columnid+'" because it exists in two source tables')}else if(tbid){if(this.columnid!="_"){s=context+"['"+tbid+"']['"+this.columnid+"']"}else{s=context+"['"+tbid+"']"}}else{if(this.columnid!="_"){s=context+"['"+(this.tableid||tableid)+"']['"+this.columnid+"']"}else{s=context+"['"+(this.tableid||tableid)+"']"}}}else if(tableid==-1){s=context+"['"+this.columnid+"']"}else{if(this.columnid!="_"){s=context+"['"+(this.tableid||tableid)+"']['"+this.columnid+"']"}else{s=context+"['"+(this.tableid||tableid)+"']"}}}return s};yy.AggrValue=function(params){return yy.extend(this,params)};yy.AggrValue.prototype.toString=function(){var s="";if(this.aggregatorid=="REDUCE")s+=L(this.funcid)+"(";else s+=this.aggregatorid+"(";if(this.distinct)s+=K("DISTINCT")+" ";if(this.expression)s+=this.expression.toString();s+=")";if(this.over)s+=" "+this.over.toString();return s};yy.AggrValue.prototype.findAggregator=function(query){var colas=escapeq(this.toString())+":"+query.selectGroup.length;var found=false;if(!found){if(!this.nick){this.nick=colas;var found=false;for(var i=0;i<query.removeKeys.length;i++){if(query.removeKeys[i]==colas){found=true;break}}if(!found)query.removeKeys.push(colas)}query.selectGroup.push(this)}return};yy.AggrValue.prototype.toType=function(){if(["SUM","COUNT","AVG","MIN","MAX","AGGR","VAR","STDDEV"].indexOf(this.aggregatorid)>-1)return"number";if(["ARRAY"].indexOf(this.aggregatorid)>-1)return"array";if(["FIRST","LAST"].indexOf(this.aggregatorid)>-1)return this.expression.toType()};yy.AggrValue.prototype.toJavaScript=function(context,tableid,defcols){var colas=this.nick;if(typeof colas=="undefined")colas=this.toString();return"g['"+colas+"']"};yy.OrderExpression=function(params){return yy.extend(this,params)};yy.OrderExpression.prototype.toString=function(){var s=this.expression.toString();if(this.order)s+=" "+this.order.toString();if(this.nocase)s+=" "+K("COLLATE")+" "+K("NOCASE");
|
|
6
6
|
return s};yy.GroupExpression=function(params){return yy.extend(this,params)};yy.GroupExpression.prototype.toString=function(){return this.type+"("+this.group.toString()+")"};yy.ColumnDef=function(params){return yy.extend(this,params)};yy.ColumnDef.prototype.toString=function(){var s=this.columnid;if(this.dbtypeid)s+=" "+this.dbtypeid;if(this.dbsize){s+="("+this.dbsize;if(this.dbprecision)s+=","+this.dbprecision;s+=")"}if(this.primarykey)s+=" PRIMARY KEY";if(this.notnull)s+=" NOT NULL";return s};yy.FromData=function(params){return yy.extend(this,params)};yy.FromData.prototype.toString=function(){if(this.data)return K("DATA")+"("+(Math.random()*1e16|0)+")";else return"?"};yy.FromData.prototype.toJavaScript=function(){};yy.Select.prototype.exec=function(params,cb){if(this.preparams)params=this.preparams.concat(params);var databaseid=alasql.useid;db=alasql.databases[databaseid];var sql=this.toString();var hh=hash(sql);var statement=this.compile(databaseid);if(!statement)return;statement.sql=sql;statement.dbversion=db.dbversion;if(db.sqlCacheSize>alasql.MAXSQLCACHESIZE){db.resetSqlCache()}db.sqlCacheSize++;db.sqlCache[hh]=statement;var res=alasql.res=statement(params,cb);return res};yy.Select.prototype.Select=function(){var self=this;var agrs=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments)}else if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0]}else{args=[arguments[0]]}}else{throw new Error("Wrong number of arguments of Select() function")}self.columns=[];args.forEach(function(arg){if(typeof arg=="string"){self.columns.push(new yy.Column({columnid:arg}))}else if(typeof arg=="function"){var pari=0;if(self.preparams){pari=self.preparams.length}else{self.preparams=[]}self.preparams.push(arg);self.columns.push(new yy.Column({columnid:"*",func:arg,param:pari}))}else{}});return self};yy.Select.prototype.From=function(tableid){var self=this;if(!self.from)self.from=[];if(tableid instanceof Array){var pari=0;if(self.preparams){pari=self.preparams.length}else{self.preparams=[]}self.preparams.push(tableid);self.from.push(new yy.ParamValue({param:pari}))}else if(typeof tableid=="string"){self.from.push(new yy.Table({tableid:tableid}))}else{throw new Error("Unknown arguments in From() function")}return self};yy.Select.prototype.OrderBy=function(){var self=this;var agrs=[];self.order=[];if(arguments.length==0){args=["_"]}else if(arguments.length>1){args=Array.prototype.slice.call(arguments)}else if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0]}else{args=[arguments[0]]}}else{throw new Error("Wrong number of arguments of Select() function")}if(args.length>0){args.forEach(function(arg){var expr=new yy.Column({columnid:arg});if(typeof arg=="function"){expr=arg}self.order.push(new yy.OrderExpression({expression:expr,direction:"ASC"}))})}return self};yy.Select.prototype.Top=function(topnum){var self=this;self.top=new yy.NumValue({value:topnum});return self};yy.Select.prototype.GroupBy=function(){var self=this;var agrs=[];if(arguments.length>1){args=Array.prototype.slice.call(arguments)}else if(arguments.length==1){if(arguments[0]instanceof Array){args=arguments[0]}else{args=[arguments[0]]}}else{throw new Error("Wrong number of arguments of Select() function")}self.group=[];args.forEach(function(arg){var expr=new yy.Column({columnid:arg});self.group.push(expr)});return self};yy.Select.prototype.Where=function(expr){var self=this;if(typeof expr=="function"){self.where=expr}return self};yy.FuncValue=function(params){return yy.extend(this,params)};yy.FuncValue.prototype.toString=function(){var s="";if(alasql.fn[this.funcid])s+=this.funcid;else if(alasql.aggr[this.funcid])s+=this.funcid;else if(alasql.stdlib[this.funcid.toUpperCase()]||alasql.stdfn[this.funcid.toUpperCase()])s+=this.funcid.toUpperCase();s+="(";if(this.args&&this.args.length>0){s+=this.args.map(function(arg){return arg.toString()}).join(",")}s+=")";if(this.as)s+=" AS "+this.as.toString();return s};yy.FuncValue.prototype.findAggregator=function(query){if(this.args&&this.args.length>0){this.args.forEach(function(arg){if(arg.findAggregator)arg.findAggregator(query)})}};yy.FuncValue.prototype.toJavaScript=function(context,tableid,defcols){var s="";var funcid=this.funcid;if(alasql.fn[funcid]){if(this.newid)s+="new ";s+="alasql.fn."+this.funcid+"(";if(this.args&&this.args.length>0){s+=this.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)}).join(",")}s+=")"}else if(alasql.stdlib[funcid.toUpperCase()]){if(this.args&&this.args.length>0){s+=alasql.stdlib[funcid.toUpperCase()].apply(this,this.args.map(function(arg){return arg.toJavaScript(context,tableid)}))}else{s+=alasql.stdlib[funcid.toUpperCase()]()}}else if(alasql.stdfn[funcid.toUpperCase()]){if(this.newid)s+="new ";s+="alasql.stdfn."+this.funcid.toUpperCase()+"(";if(this.args&&this.args.length>0){s+=this.args.map(function(arg){return arg.toJavaScript(context,tableid,defcols)}).join(",")}s+=")"}else{}return s};var stdlib=alasql.stdlib={};var stdfn=alasql.stdfn={};stdlib.ABS=function(a){return"Math.abs("+a+")"};stdlib.CLONEDEEP=function(a){return"alasql.utils.cloneDeep("+a+")"};stdlib.IIF=function(a,b,c){if(arguments.length==3){return"(("+a+")?("+b+"):("+c+"))"}else{throw new Error("Number of arguments of IFF is not equals to 3")}};stdlib.IFNULL=function(a,b){return"("+a+"||"+b+")"};stdlib.INSTR=function(s,p){return"(("+s+").indexOf("+p+")+1)"};stdlib.LEN=stdlib.LENGTH=function(s){return"("+s+'+"").length'};stdlib.LOWER=stdlib.LCASE=function(s){return"("+s+").toLowerCase()"};stdlib.MAX=stdlib.GREATEST=function(){return"Math.max("+Array.prototype.join.call(arguments,",")+")"};stdlib.MIN=stdlib.LEAST=function(){return"Math.min("+Array.prototype.join.call(arguments,",")+")"};stdlib.MID=function(a,b,c){if(arguments.length==2)return"("+a+").substr("+b+"-1)";else if(arguments.length==3)return"("+a+").substr("+b+"-1,"+c+")"};stdlib.NULLIF=function(a,b){return"("+a+"=="+b+"?undefined:"+a+")"};stdlib.POWER=function(a,b){return"Math.pow("+a+","+b+")"};stdlib.RANDOM=function(r){if(arguments.length==0){return"Math.random()"}else{return"(Math.random()*("+r+")|0)"}};stdlib.ROUND=function(s,d){if(arguments.length==2){return"Math.round("+s+"*Math.pow(10,"+d+"))/Math.pow(10,"+d+")"}else{return"Math.round("+s+")"}};stdlib.SQRT=function(s){return"Math.sqrt("+s+")"};stdlib.TRIM=function(s){return s+".trim()"};stdlib.UPPER=stdlib.UCASE=function(s){return"("+s+").toUpperCase()"};alasql.aggr.GROUP_CONCAT=function(v,s){if(typeof s=="undefined")return v;else return s+","+v};alasql.aggr.MEDIAN=function(v,s,acc){if(typeof acc.arr=="undefined"){acc.arr=[v];return v}else{acc.arr.push(v);var p=acc.arr.sort();return p[p.length/2|0]}};yy.CaseValue=function(params){return yy.extend(this,params)};yy.CaseValue.prototype.toString=function(){var s="CASE ";if(this.expression)s+=this.expression.toString();if(this.whens){s+=this.whens.map(function(w){return" WHEN "+w.when.toString()+" THEN "+w.then.toString()}).join()}s+=" END";return s};yy.CaseValue.prototype.findAggregator=function(query){if(this.expression&&this.expression.findAggregator)this.expression.findAggregator(query);if(this.whens&&this.whens.length>0){this.whens.forEach(function(w){if(w.when.findAggregator)w.when.findAggregator(query);if(w.then.findAggregator)w.then.findAggregator(query)})}if(this.elses&&this.elses.findAggregator)this.elses.findAggregator(query)};yy.CaseValue.prototype.toJavaScript=function(context,tableid,defcols){var s="((function("+context+",params,alasql){var r;";if(this.expression){s+="v="+this.expression.toJavaScript(context,tableid,defcols)+";";s+=(this.whens||[]).map(function(w){return" if(v=="+w.when.toJavaScript(context,tableid,defcols)+") {r="+w.then.toJavaScript(context,tableid,defcols)+"}"}).join(" else ");if(this.elses)s+=" else {r="+this.elses.toJavaScript(context,tableid,defcols)+"}"}else{s+=(this.whens||[]).map(function(w){return" if("+w.when.toJavaScript(context,tableid,defcols)+") {r="+w.then.toJavaScript(context,tableid,defcols)+"}"}).join(" else ");if(this.elses)s+=" else {r="+this.elses.toJavaScript(context,tableid,defcols)+"}"}s+=";return r;}).bind(this))("+context+",params,alasql)";return s};yy.Json=function(params){return yy.extend(this,params)};yy.Json.prototype.toString=function(){var s="";s+=JSONtoString(this.value);s+="";return s};var JSONtoString=alasql.utils.JSONtoString=function(obj){var s="";if(typeof obj=="string")s='"'+obj+'"';else if(typeof obj=="number")s=obj;else if(typeof obj=="boolean")s=obj;else if(typeof obj=="object"){if(obj instanceof Array){s+="["+obj.map(function(b){return JSONtoString(b)}).join(",")+"]"}else if(!obj.toJavaScript||obj instanceof yy.Json){s="{";var ss=[];for(var k in obj){var s1="";if(typeof k=="string")s1+='"'+k+'"';else if(typeof k=="number")s1+=k;else if(typeof k=="boolean")s1+=k;else{throw new Error("THis is not ES6... no expressions on left side yet")}s1+=":"+JSONtoString(obj[k]);ss.push(s1)}s+=ss.join(",")+"}"}else if(obj.toString){s=obj.toString()}else{throw new Error("1Can not show JSON object "+JSON.stringify(obj))}}else{throw new Error("2Can not show JSON object "+JSON.stringify(obj))}return s};function JSONtoJavaScript(obj,context,tableid,defcols){var s="";if(typeof obj=="string")s='"'+obj+'"';else if(typeof obj=="number")s="("+obj+")";else if(typeof obj=="boolean")s=obj;else if(typeof obj=="object"){if(obj instanceof Array){s+="["+obj.map(function(b){return JSONtoJavaScript(b,context,tableid,defcols)}).join(",")+"]"}else if(!obj.toJavaScript||obj instanceof yy.Json){s="{";var ss=[];for(var k in obj){var s1="";if(typeof k=="string")s1+='"'+k+'"';else if(typeof k=="number")s1+=k;else if(typeof k=="boolean")s1+=k;else{throw new Error("THis is not ES6... no expressions on left side yet")}s1+=":"+JSONtoJavaScript(obj[k],context,tableid,defcols);ss.push(s1)}s+=ss.join(",")+"}"}else if(obj.toJavaScript){s=obj.toJavaScript(context,tableid,defcols)}else{throw new Error("1Can not parse JSON object "+JSON.stringify(obj))}}else{throw new Error("2Can not parse JSON object "+JSON.stringify(obj))}return s}yy.Json.prototype.toJavaScript=function(context,tableid,defcols){return JSONtoJavaScript(this.value,context,tableid,defcols)};yy.Convert=function(params){return yy.extend(this,params)};yy.Convert.prototype.toString=function(){var s="CONVERT(";s+=this.dbtypeid;if(typeof this.dbsize!="undefined"){s+="("+this.dbsize;if(this.dbprecision)s+=","+dbprecision;s+=")"}s+=","+this.expression.toString();if(this.style)s+=","+this.style;s+=")";return s};yy.Convert.prototype.toJavaScript=function(context,tableid,defcols){return"alasql.stdfn.CONVERT("+this.expression.toJavaScript(context,tableid,defcols)+',{dbtypeid:"'+this.dbtypeid+'",dbsize:'+this.dbsize+",style:"+this.style+"})";throw new Error("There is not such type conversion for "+this.toString())};alasql.stdfn.CONVERT=function(value,args){var val=value;if(args.style){var t;if(/\d{8}/.test(val))t=new Date(+val.substr(0,4),+val.substr(4,2)-1,+val.substr(6,2));else t=new Date(val);if(args.style==1){val=("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)+"/"+("0"+t.getYear()).substr(-2)}else if(args.style==2){val=("0"+t.getYear()).substr(-2)+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+("0"+t.getDate()).substr(-2)}else if(args.style==3){val=("0"+t.getDate()).substr(-2)+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getYear()).substr(-2)}else if(args.style==4){val=("0"+t.getDate()).substr(-2)+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+("0"+t.getYear()).substr(-2)}else if(args.style==5){val=("0"+t.getDate()).substr(-2)+"-"+("0"+(t.getMonth()+1)).substr(-2)+"-"+("0"+t.getYear()).substr(-2)}else if(args.style==6){val=("0"+t.getDate()).substr(-2)+" "+t.toString().substr(4,3).toLowerCase()+" "+("0"+t.getYear()).substr(-2)}else if(args.style==7){val=t.toString().substr(4,3)+" "+("0"+t.getDate()).substr(-2)+","+("0"+t.getYear()).substr(-2)}else if(args.style==8){val=("0"+t.getHours()).substr(-2)+":"+("0"+(t.getMinutes()+1)).substr(-2)+":"+("0"+t.getSeconds()).substr(-2)}else if(args.style==10){val=("0"+(t.getMonth()+1)).substr(-2)+"-"+("0"+t.getDate()).substr(-2)+"-"+("0"+t.getYear()).substr(-2)}else if(args.style==11){val=("0"+t.getYear()).substr(-2)+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)}else if(args.style==12){val=("0"+t.getYear()).substr(-2)+("0"+(t.getMonth()+1)).substr(-2)+("0"+t.getDate()).substr(-2)}else if(args.style==101){val=("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)+"/"+t.getFullYear()}else if(args.style==102){val=t.getFullYear()+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+("0"+t.getDate()).substr(-2)}else if(args.style==103){val=("0"+t.getDate()).substr(-2)+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+t.getFullYear()}else if(args.style==104){val=("0"+t.getDate()).substr(-2)+"."+("0"+(t.getMonth()+1)).substr(-2)+"."+t.getFullYear()}else if(args.style==105){val=("0"+t.getDate()).substr(-2)+"-"+("0"+(t.getMonth()+1)).substr(-2)+"-"+t.getFullYear()}else if(args.style==106){val=("0"+t.getDate()).substr(-2)+" "+t.toString().substr(4,3).toLowerCase()+" "+t.getFullYear()}else if(args.style==107){val=t.toString().substr(4,3)+" "+("0"+t.getDate()).substr(-2)+","+t.getFullYear()}else if(args.style==108){val=("0"+t.getHours()).substr(-2)+":"+("0"+(t.getMinutes()+1)).substr(-2)+":"+("0"+t.getSeconds()).substr(-2)}else if(args.style==110){val=("0"+(t.getMonth()+1)).substr(-2)+"-"+("0"+t.getDate()).substr(-2)+"-"+t.getFullYear()}else if(args.style==111){val=t.getFullYear()+"/"+("0"+(t.getMonth()+1)).substr(-2)+"/"+("0"+t.getDate()).substr(-2)}else if(args.style==112){val=t.getFullYear()+("0"+(t.getMonth()+1)).substr(-2)+("0"+t.getDate()).substr(-2)}else{throw new Error("The CONVERT style "+args.style+" is not realized yet.")}}if(args.dbtypeid=="Date"){return new Date(val)}else if(args.dbtypeid.toUpperCase()=="DATE"){var d=new Date(val);var s=d.getFullYear()+"."+("0"+(d.getMonth()+1)).substr(-2)+"."+("0"+d.getDate()).substr(-2);return s}else if(args.dbtypeid=="DATETIME"){var d=new Date(val);var s=d.getFullYear()+"."+("0"+(d.getMonth()+1)).substr(-2)+"."+("0"+d.getDate()).substr(-2);s+=" "+("0"+d.getHours()).substr(-2)+":"+("0"+d.getMinutes()).substr(-2)+":"+("0"+d.getSeconds()).substr(-2);s+="."+("00"+d.getMilliseconds()).substr(-3);return s}else if(args.dbtypeid.toUpperCase()=="STRING"){return""+val}else if(args.dbtypeid.toUpperCase()=="NUMBER"||args.dbtypeid=="FLOAT"){return+val}else if(args.dbtypeid.toUpperCase()=="MONEY"){var m=+val;return(m|0)+m*100%100/100}else if(args.dbtypeid.toUpperCase()=="BOOLEAN"){return!!val}else if(args.dbtypeid.toUpperCase()=="INT"){return val|0}else if(args.dbtypeid.toUpperCase()=="VARCHAR"||args.dbtypeid=="NVARCHAR"){if(args.dbsize)return(""+val).substr(0,args.dbsize);else return""+val}else if(args.dbtypeid.toUpperCase()=="CHAR"||args.dbtypeid=="NCHAR"){return(val+new Array(args.dbsize+1).join(" ")).substr(0,args.dbsize)}};yy.ColumnDef=function(params){return yy.extend(this,params)};yy.ColumnDef.prototype.toString=function(){var s=this.columnid;if(this.dbtypeid)s+=" "+this.dbtypeid;if(this.dbsize){s+="("+this.dbsize;if(this.dbprecision)s+=","+this.dbprecision;s+=")"}if(this.primarykey)s+=" PRIMARY KEY";if(this.notnull)s+=" NOT NULL";return s};yy.CreateTable=function(params){return yy.extend(this,params)};yy.CreateTable.prototype.toString=function(){var s=K("CREATE");if(this.temporary)s+=" "+K("TEMPORARY");if(this.view)s+=" "+K("VIEW");else s+=" "+(this.class?K("CLASS"):K("TABLE"));if(this.ifnotexists)s+=" "+K("IF")+" "+K("NOT")+" "+K("EXISTS");s+=" "+this.table.toString();if(this.viewcolumns){s+="("+this.viewcolumns.map(function(vcol){return vcol.toString()}).join(",")+")"}if(this.as)s+=" "+K("AS")+" "+L(this.as);else{var ss=this.columns.map(function(col){return col.toString()});s+=" ("+NL()+ID()+ss.join(","+NL()+ID())+")"}if(this.view&&this.select){s+=" AS "+this.select.toString()}return s};yy.CreateTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.table.databaseid||databaseid];var tableid=this.table.tableid;if(!tableid){throw new Error("Table name is not defined")}var columns=this.columns;var constraints=this.constraints||[];if(this.ifnotexists&&db.tables[tableid])return 0;if(db.tables[tableid]){throw new Error("Can not create table '"+tableid+"', because it already exists in the database '"+db.databaseid+"'")}var table=db.tables[tableid]=new alasql.Table;if(this.class){table.isclass=true}var ss=[];if(this.columns){this.columns.forEach(function(col){var dbtypeid=col.dbtypeid;if(!alasql.fn[dbtypeid])dbtypeid=dbtypeid.toUpperCase();var newcol={columnid:col.columnid,dbtypeid:dbtypeid};if(col.default){ss.push("'"+col.columnid+"':"+col.default.toJavaScript())}table.columns.push(newcol);table.xcolumns[newcol.columnid]=newcol;if(col.primarykey){var pk=table.pk={};pk.columns=[col.columnid];pk.onrightfns="r['"+col.columnid+"']";pk.onrightfn=new Function("r","return "+pk.onrightfns);pk.hh=hash(pk.onrightfns);table.indices[pk.hh]={}}})}table.defaultfns=ss.join(",");constraints.forEach(function(con){if(con.type=="PRIMARY KEY"){if(table.pk){throw new Error("Primary key already exists")}var pk=table.pk={};pk.columns=con.columns;pk.onrightfns=pk.columns.map(function(columnid){return"r['"+columnid+"']"}).join("+'`'+");pk.onrightfn=new Function("r","return "+pk.onrightfns);pk.hh=hash(pk.onrightfns);table.indices[pk.hh]={}}});if(this.view&&this.viewcolumns){var self=this;this.viewcolumns.forEach(function(vcol,idx){self.select.columns[idx].as=vcol.columnid})}if(db.engineid){return alasql.engines[db.engineid].createTable(this.table.databaseid||databaseid,tableid,this.ifnotexists,cb)}table.insert=function(r){if(this.pk){var pk=this.pk;var addr=pk.onrightfn(r);if(typeof this.indices[pk.hh][addr]!="undefined"){throw new Error("Cannot insert record, because it already exists in primary key")}else{table.data.push(r);this.indices[pk.hh][addr]=r}}else{table.data.push(r)}};table.delete=function(i){if(this.pk){var r=this.data[i];var pk=this.pk;var addr=pk.onrightfn(r);if(typeof this.indices[pk.hh][addr]=="undefined"){throw new Error("Something wrong with index on table")}else{this.indices[pk.hh][addr]=undefined}}};table.deleteall=function(){this.data.length=0;if(this.pk){this.indices[this.pk.hh]={}}};table.update=function(assignfn,i,params){if(this.pk){var r=this.data[i];var pk=this.pk;var addr=pk.onrightfn(r,params);if(typeof this.indices[pk.hh][addr]=="undefined"){throw new Error("Something wrong with index on table")}else{this.indices[pk.hh][addr]=undefined;assignfn(r,params,alasql);var newaddr=pk.onrightfn(r);if(typeof this.indices[pk.hh][newaddr]!="undefined"){throw new Error("Record already exists")}else{this.indices[pk.hh][newaddr]=r}}}else{assignfn(this.data[i],params,alasql)}};if(this.view&&this.select){table.view=true;table.select=this.select.compile(this.table.databaseid||databaseid)}if(cb)cb(1);return 1};alasql.fn.Date=Object;alasql.fn.Date=Date;alasql.fn.Number=Number;alasql.fn.String=String;alasql.fn.Boolean=Boolean;stdfn.EXTEND=alasql.utils.extend;stdfn.CHAR=String.fromCharCode.bind(String);stdfn.ASCII=function(a){return a.charCodeAt(0)};stdfn.COALESCE=function(){for(var i=0;i<arguments.length;i++){if(typeof arguments[i]=="undefined")continue;if(typeof arguments[i]=="number"&&isNaN(arguments[i]))continue;return arguments[i]}return undefined};stdfn.OBJECT_ID=function(objid){return!!alasql.tables[objid]};stdfn.DATE=function(d){if(/\d{8}/.test(d))return new Date(+d.substr(0,4),+d.substr(4,2)-1,+d.substr(6,2));return new Date(d)};stdfn.NOW=function(){var d=new Date;var s=d.getFullYear()+"."+("0"+(d.getMonth()+1)).substr(-2)+"."+("0"+d.getDate()).substr(-2);s+=" "+("0"+d.getHours()).substr(-2)+":"+("0"+d.getMinutes()).substr(-2)+":"+("0"+d.getSeconds()).substr(-2);s+="."+("00"+d.getMilliseconds()).substr(-3);return s};stdfn.GETDATE=stdfn.NOW;stdfn.SECOND=function(d){d=new Date(d);return d.getSeconds()};stdfn.MINUTE=function(d){d=new Date(d);return d.getMinutes()};stdfn.HOUR=function(d){d=new Date(d);return d.getHours()};stdfn.DAYOFWEEK=stdfn.WEEKDAY=function(d){d=new Date(d);return d.getDay()};stdfn.DAY=stdfn.DAYOFMONTH=function(d){d=new Date(d);return d.getDate()};stdfn.MONTH=function(d){d=new Date(d);return d.getMonth()+1};stdfn.YEAR=function(d){d=new Date(d);return d.getFullYear()};yy.DropTable=function(params){return yy.extend(this,params)};yy.DropTable.prototype.toString=function(){var s=K("DROP")+" ";if(this.view)s+=K("VIEW");else s+=K("TABLE");if(this.ifexists)s+=" "+K("IF")+" "+K("EXISTS");s+=" "+this.table.toString();return s};yy.DropTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.table.databaseid||databaseid];var tableid=this.table.tableid;if(db.engineid){return alasql.engines[db.engineid].dropTable(this.table.databaseid||databaseid,tableid,this.ifexists,cb)}if(!this.ifexists||this.ifexists&&db.tables[tableid]){if(!db.tables[tableid]){if(!alasql.options.dropifnotexists){throw new Error("Can not drop table '"+this.table.tableid+"', because it does not exist in the database.")}}else{delete db.tables[tableid];return 1}}return 0};yy.TruncateTable=function(params){return yy.extend(this,params)};yy.TruncateTable.prototype.toString=function(){var s=K("TRUNCATE")+" "+K("TABLE");s+=" "+this.table.toString();return s};yy.TruncateTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.table.databaseid||databaseid];var tableid=this.table.tableid;if(db.engineid){return alasql.engines[db.engineid].truncateTable(this.table.databaseid||databaseid,tableid,this.ifexists,cb)}if(db.tables[tableid]){db.tables[tableid].data=[]}else{throw new Error("Cannot truncate table becaues it does not exist")}return 0};yy.CreateVertex=function(params){return yy.extend(this,params)};yy.CreateVertex.prototype.toString=function(){var s=K("CREATE")+" "+K("VERTEX")+" ";if(this.class)s+=L(this.class)+" ";if(this.sets){s+=this.sets.toString()}else if(this.content){s+=this.content.toString()}else if(this.select){s+=this.select.toString()}return s};yy.CreateVertex.prototype.toJavaScript=function(context,tableid,defcols){console.log("yy.CreateVertex.toJavaScript");var s="this.queriesfn["+(this.queriesidx-1)+"](this.params,null,"+context+")";return s};yy.CreateVertex.prototype.execute=function(databaseid,params,cb){console.log("yy.CreateVertex.execute");if(this.sets){var obj={};if(this.sets.length>0){this.sets.forEach(function(st){console.log(st)})}}else if(this.content){}else if(this.select){}var res=1;if(cb)res=cb(res);return res};yy.CreateVertex.prototype.compile=function(databaseid){console.log("yy.CreateVertex.compile");if(this.sets){var s="var a={};";if(this.sets.length>0){this.sets.forEach(function(st){console.log(st)})}}else if(this.content){}else if(this.select){}return statement};yy.CreateEdge=function(params){return yy.extend(this,params)};yy.CreateEdge.prototype.toString=function(){var s=K("CREATE")+" "+K("EDGE")+" ";if(this.class)s+=L(this.class)+" ";return s};yy.CreateEdge.prototype.toJavaScript=function(context,tableid,defcols){var s="this.queriesfn["+(this.queriesidx-1)+"](this.params,null,"+context+")";return s};yy.CreateEdge.prototype.execute=function(databaseid,params,cb){var res=1;if(cb)res=cb(res);return res};yy.CreateEdge.prototype.compile=function(databaseid){};yy.AlterTable=function(params){return yy.extend(this,params)};yy.AlterTable.prototype.toString=function(){var s="ALTER TABLE "+this.table.toString();if(this.renameto)s+=" RENAME TO "+this.renameto;return s};yy.AlterTable.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[databaseid];db.dbversion=Date.now();if(this.renameto){var oldtableid=this.table.tableid;var newtableid=this.renameto;var res=1;if(db.tables[newtableid]){throw new Error("Can not rename a table '"+oldtableid+"' to '"+newtableid+"', because the table with this name already exists")}else if(newtableid==oldtableid){throw new Error("Can not rename a table '"+oldtableid+"' to itself")}else{db.tables[newtableid]=db.tables[oldtableid];delete db.tables[oldtableid];res=1}if(cb)cb(res);return res}else if(this.addcolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.addcolumn.columnid;if(table.xcolumns[columnid]){throw new Error('Cannot add column "'+columnid+'", because it already exists in the table "'+tableid+'"')}var col={columnid:columnid,dbtypeid:this.dbtypeid,dbsize:this.dbsize,dbprecision:this.dbprecision,dbenum:this.dbenum,defaultfns:null};var defaultfn=function(){};table.columns.push(col);table.xcolumns[columnid]=col;for(var i=0,ilen=table.data.length;i<ilen;i++){table.data[i][columnid]=defaultfn()}return 1}else if(this.modifycolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.modifycolumn.columnid;if(!table.xcolumns[columnid]){throw new Error('Cannot modify column "'+columnid+'", because it was not found in the table "'+tableid+'"')}var col=table.xcolumns[columnid];col.dbtypeid=this.dbtypeid;col.dbsize=this.dbsize;col.dbprecision=this.dbprecision;col.dbenum=this.dbenum;return 1}else if(this.renamecolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.renamecolumn;var tocolumnid=this.to;var col;if(!table.xcolumns[columnid]){throw new Error('Column "'+columnid+'" is not found in the table "'+tableid+'"')}if(table.xcolumns[tocolumnid]){throw new Error('Column "'+tocolumnid+'" already exists in the table "'+tableid+'"')}if(columnid!=tocolumnid){for(var j=0;j<table.columns.length;j++){if(table.columns[j].columnid==columnid){table.columns[j].columnid=tocolumnid}}table.xcolumns[tocolumnid]=table.xcolumns[columnid];delete table.xcolumns[columnid];for(var i=0,ilen=table.data.length;i<ilen;i++){table.data[i][tocolumnid]=table.data[i][columnid];delete table.data[i][columnid]}return table.data.length}else return 0}else if(this.dropcolumn){var db=alasql.databases[this.table.databaseid||databaseid];db.dbversion++;var tableid=this.table.tableid;var table=db.tables[tableid];var columnid=this.dropcolumn;var found=false;for(var j=0;j<table.columns.length;j++){if(table.columns[j].columnid==columnid){found=true;table.columns.splice(j,1);break}}if(!found){throw new Error('Cannot drop column "'+columnid+'", because it was not found in the table "'+tableid+'"')}delete table.xcolumns[columnid];for(var i=0,ilen=table.data.length;i<ilen;i++){delete table.data[i][columnid]}return table.data.length}else{throw Error("Unknown ALTER TABLE method")}};yy.CreateIndex=function(params){return yy.extend(this,params)};yy.CreateIndex.prototype.toString=function(){var s="CREATE";if(this.unique)s+=" UNIQUE";s+=" INDEX "+this.indexid+" ON "+this.table.toString();s+="("+this.columns.toString()+")";return s};yy.CreateIndex.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[databaseid];var tableid=this.table.tableid;var table=db.tables[tableid];var indexid=this.indexid;if(this.unique){var rightfns=this.columns.map(function(colid){return"r['"+colid+"']"}).join("+'`'+");table.uniqdefs[indexid]={rightfns:rightfns};var ux=table.uniqs[indexid]={};if(table.data.length>0){for(var i=0,ilen=table.data.length;i<ilen;i++){var addr=rightfns(table.data[i]);if(!ux[addr]){ux[addr]={num:0}}ux[addr].num++}}}else{var rightfns=this.columns.map(function(colid){return"r['"+colid+"']"}).join("+'`'+");var hh=hash(rightfns);table.inddefs[indexid]={rightfns:rightfns,hh:hh};table.indices[hh]={};var ix=table.indices[hh]={};if(table.data.length>0){for(var i=0,ilen=table.data.length;i<ilen;i++){var addr=rightfns(table.data[i]);if(!ix[addr]){ix[addr]=[]}ix[addr].push(table.data[i])}}}var res=1;if(cb)res=cb(res);return res};yy.DropIndex=function(params){return yy.extend(this,params)};yy.DropIndex.prototype.toString=function(){return"INDEX TABLE"+this.indexid};yy.DropIndex.prototype.compile=function(db){var indexid=this.indexid;return function(){return 1}};yy.WithSelect=function(params){return yy.extend(this,params)};yy.WithSelect.prototype.toString=function(){var s=K("WITH")+" ";s+=this.withs.map(function(w){return L(w.name)+" "+K("AS")+" ("+w.select.toString()+")"}).join(",")+" ";s+=this.select.toString();return s};yy.WithSelect.prototype.execute=function(databaseid,params,cb){var self=this;var savedTables=[];self.withs.forEach(function(w){savedTables.push(alasql.databases[databaseid].tables[w.name]);var tb=alasql.databases[databaseid].tables[w.name]=new Table({tableid:w.name});tb.data=w.select.execute(databaseid,params)});var res=1;res=this.select.execute(databaseid,params,function(data){self.withs.forEach(function(w,idx){if(savedTables[idx])alasql.databases[databaseid].tables[w.name]=savedTables[idx];else delete alasql.databases[databaseid].tables[w.name]});if(cb)data=cb(data);return data});return res};yy.If=function(params){return yy.extend(this,params)};yy.If.prototype.toString=function(){var s=K("IF")+" ";s+=this.expression.toString();s+=" "+this.thenstat.toString();if(this.elsestat)s+=" "+K("ELSE")+NL()+ID()+this.thenstat.toString();return s};yy.If.prototype.execute=function(databaseid,params,cb){var res;var fn=new Function("params,alasql,p","return "+this.expression.toJavaScript("({})","",null)).bind(this);if(fn(params,alasql))res=this.thenstat.execute(databaseid,params,cb);else{if(this.elsestat)res=this.elsestat.execute(databaseid,params,cb);else{if(cb)res=cb(res)}}return res};yy.While=function(params){return yy.extend(this,params)};yy.While.prototype.toString=function(){var s="WHILE ";s+=this.expression.toString();s+=" "+this.loopstat.toString();return s};yy.While.prototype.execute=function(databaseid,params,cb){var self=this;var res=[];var fn=new Function("params,alasql,p","return "+this.expression.toJavaScript());if(cb){var first=false;loop();function loop(data){if(first){res.push(data)}else{first=true}setTimeout(function(){if(fn(params,alasql)){self.loopstat.execute(databaseid,params,loop)}else{res=cb(res)}},0)}}else{while(fn(params,alasql)){var res1=self.loopstat.execute(databaseid,params);res.push(res1)}}return res};yy.Break=function(params){return yy.extend(this,params)};yy.Break.prototype.toString=function(){var s=K("BREAK");return s};yy.Break.prototype.execute=function(databaseid,params,cb,scope){var res=1;if(cb)res=cb(res);return res};yy.Continue=function(params){return yy.extend(this,params)};yy.Continue.prototype.toString=function(){var s=K("CONTINUE");return s};yy.Continue.prototype.execute=function(databaseid,params,cb,scope){var res=1;if(cb)res=cb(res);return res};yy.BeginEnd=function(params){return yy.extend(this,params)};yy.BeginEnd.prototype.toString=function(){var s=K("BEGIN")+" "+this.statements.toString()+" "+K("END");return s};yy.BeginEnd.prototype.execute=function(databaseid,params,cb,scope){var self=this;var res=[];var idx=0;runone();function runone(){self.statements[idx].execute(databaseid,params,function(data){res.push(data);idx++;if(idx<self.statements.length)return runone();if(cb)res=cb(res)})}return res};yy.Insert=function(params){return yy.extend(this,params)};yy.Insert.prototype.toString=function(){var s="INSERT INTO "+this.into.toString();if(this.columns)s+="("+this.columns.toString()+")";if(this.values)s+=" VALUES "+this.values.toString();if(this.select)s+=" "+this.select.toString();return s};yy.Insert.prototype.toJavaScript=function(context,tableid,defcols){var s="this.queriesfn["+(this.queriesidx-1)+"](this.params,null,"+context+")";return s};yy.Insert.prototype.compile=function(databaseid){var self=this;databaseid=self.into.databaseid||databaseid;var db=alasql.databases[databaseid];var tableid=self.into.tableid;var table=db.tables[tableid];var s="";var sw="";var s3="var a,aa=[];";var s33;if(this.values){self.values.forEach(function(values){var ss=[];if(self.columns){self.columns.forEach(function(col,idx){var q="'"+col.columnid+"':";if(table.xcolumns&&table.xcolumns[col.columnid]){if(["INT","FLOAT","NUMBER","MONEY"].indexOf(table.xcolumns[col.columnid].dbtypeid)>=0){q+="+"+values[idx].toJavaScript()
|
|
7
7
|
}else if(alasql.fn[table.xcolumns[col.columnid].dbtypeid]){q+="(new "+table.xcolumns[col.columnid].dbtypeid+"(";q+=values[idx].toJavaScript();q+="))"}else{q+=values[idx].toJavaScript()}}else{q+=values[idx].toJavaScript()}ss.push(q)})}else{if(values instanceof Array&&table.columns&&table.columns.length>0){table.columns.forEach(function(col,idx){var q="'"+col.columnid+"':";if(["INT","FLOAT","NUMBER","MONEY"].indexOf(col.dbtypeid)>=0){q+="+"+values[idx].toJavaScript()}else if(alasql.fn[col.dbtypeid]){q+="(new "+col.dbtypeid+"(";q+=values[idx].toJavaScript();q+="))"}else{q+=values[idx].toJavaScript()}ss.push(q)})}else{sw=JSONtoJavaScript(values)}}if(db.tables[tableid].defaultfns)ss.unshift(db.tables[tableid].defaultfns);if(sw){s+="a="+sw+";"}else{s+="a={"+ss.join(",")+"};"}if(db.tables[tableid].isclass){s+="var db=alasql.databases['"+databaseid+"'];";s+='a.$class="'+tableid+'";';s+="a.$id=db.counter++;";s+="db.objects[a.$id]=a;"}if(db.tables[tableid].insert){s+="var db=alasql.databases['"+databaseid+"'];";s+="db.tables['"+tableid+"'].insert(a);"}else{s+="aa.push(a);"}});s33=s3+s;if(db.tables[tableid].insert){}else{s+="alasql.databases['"+databaseid+"'].tables['"+tableid+"'].data="+"alasql.databases['"+databaseid+"'].tables['"+tableid+"'].data.concat(aa);"}if(db.tables[tableid].insert){if(db.tables[tableid].isclass){s+="return a.$id;"}else{s+="return "+self.values.length}}else{s+="return "+self.values.length}var insertfn=new Function("db, params, alasql",s3+s)}else if(this.select){selectfn=this.select.compile(databaseid);if(db.engineid&&alasql.engines[db.engineid].intoTable){var statement=function(params,cb){var aa=selectfn(params);var res=alasql.engines[db.engineid].intoTable(db.databaseid,tableid,aa,null,cb);return res};return statement}else{var insertfn=function(db,params,alasql){var res=selectfn(params);if(db.tables[tableid].insert){for(var i=0,ilen=res.length;i<ilen;i++){db.tables[tableid].insert(res[i])}}else{db.tables[tableid].data=db.tables[tableid].data.concat(res)}return res.length}}}else if(this.default){var insertfns="db.tables['"+tableid+"'].data.push({"+table.defaultfns+"});return 1;";var insertfn=new Function("db,params,alasql",insertfns)}else{throw new Error("Wrong INSERT parameters")}if(db.engineid&&alasql.engines[db.engineid].intoTable&&alasql.options.autocommit){var statement=function(params,cb){var aa=new Function("db,params",s33+"return aa;")(db,params);var res=alasql.engines[db.engineid].intoTable(db.databaseid,tableid,aa,null,cb);return res}}else{var statement=function(params,cb){var db=alasql.databases[databaseid];if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var res=insertfn(db,params,alasql);if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(res);return res}}return statement};yy.Insert.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.Delete=function(params){return yy.extend(this,params)};yy.Delete.prototype.toString=function(){var s="DELETE FROM "+this.table.toString();if(this.where)s+=" WHERE "+this.where.toString();return s};yy.Delete.prototype.compile=function(databaseid){databaseid=this.table.databaseid||databaseid;var tableid=this.table.tableid;var statement;var db=alasql.databases[databaseid];if(this.where){wherefn=new Function("r,params","return ("+this.where.toJavaScript("r","")+")");statement=function(params,cb){if(db.engineid&&alasql.engines[db.engineid].deleteFromTable){return alasql.engines[db.engineid].deleteFromTable(databaseid,tableid,wherefn,params,cb)}if(alasql.options.autocommit&&db.engineid&&db.engineid=="LOCALSTORAGE"){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var table=db.tables[tableid];var orignum=table.data.length;var newtable=[];for(var i=0,ilen=table.data.length;i<ilen;i++){if(wherefn(table.data[i],params)){if(table.delete){table.delete(i)}else{}}else newtable.push(table.data[i])}table.data=newtable;var res=orignum-table.data.length;if(alasql.options.autocommit&&db.engineid&&db.engineid=="LOCALSTORAGE"){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(res);return res}}else{statement=function(params,cb){if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var table=db.tables[tableid];table.dirty=true;var orignum=db.tables[tableid].data.length;db.tables[tableid].data.length=0;if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(orignum);return orignum}}return statement};yy.Delete.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.Update=function(params){return yy.extend(this,params)};yy.Update.prototype.toString=function(){var s="UPDATE "+this.table.toString();if(this.columns)s+=" SET "+this.columns.toString();if(this.where)s+=" WHERE "+this.where.toString();return s};yy.SetColumn=function(params){return yy.extend(this,params)};yy.SetColumn.prototype.toString=function(){return this.column.toString()+"="+this.expression.toString()};yy.Update.prototype.compile=function(databaseid){databaseid=this.table.databaseid||databaseid;var tableid=this.table.tableid;if(this.where){var wherefn=new Function("r,params,alasql","return "+this.where.toJavaScript("r",""))}var s="";this.columns.forEach(function(col){s+="r['"+col.column.columnid+"']="+col.expression.toJavaScript("r","")+";"});var assignfn=new Function("r,params,alasql",s);var statement=function(params,cb){var db=alasql.databases[databaseid];if(db.engineid&&alasql.engines[db.engineid].updateTable){return alasql.engines[db.engineid].updateTable(databaseid,tableid,assignfn,wherefn,params,cb)}if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].loadTableData(databaseid,tableid)}var table=db.tables[tableid];if(!table){throw new Error("Table '"+tableid+"' not exists")}var numrows=0;for(var i=0,ilen=table.data.length;i<ilen;i++){if(!wherefn||wherefn(table.data[i],params,alasql)){if(table.update){table.update(assignfn,i,params)}else{assignfn(table.data[i],params,alasql)}numrows++}}if(alasql.options.autocommit&&db.engineid){alasql.engines[db.engineid].saveTableData(databaseid,tableid)}if(cb)cb(numrows);return numrows};return statement};yy.Update.prototype.execute=function(databaseid,params,cb){return this.compile(databaseid)(params,cb)};yy.Merge=function(params){return yy.extend(this,params)};yy.Merge.prototype.toString=function(){var s=K("MERGE")+" ";s+=L(this.into.tableid)+" ";if(this.into.as)s+=K("AS")+" "+L(this.into.as)+" ";s+=K("USING")+" "+L(this.using.tableid)+" ";if(this.using.as)s+=K("AS")+" "+L(this.using.as)+" ";s+=K("ON")+" "+this.on.toString()+" ";this.matches.forEach(function(m){s+=K("WHEN")+" ";if(!m.matched)s+=K("NOT")+" ";s+=K("MATCHED")+" ";if(m.bytarget)s+=K("BY")+" "+K("TARGET")+" ";if(m.bysource)s+=K("BY")+" "+K("SOURCE")+" ";if(m.expr)s+=K("AND")+" "+m.expr.toString()+" ";s+=K("THEN")+" ";if(m.action.delete)s+=K("DELETE")+" ";if(m.action.insert){s+=K("INSERT")+" ";if(m.action.columns)s+="("+m.action.columns.toString()+") ";if(m.action.values)s+=K("VALUES")+" ("+m.action.values.toString()+") ";if(m.action.defaultvalues)s+=K("DEFAULT")+" "+K("VALUES")+" "}if(m.action.update){s+=K("UPDATE")+" ";s+=m.action.update.map(function(u){return u.toString()}).join(",")+" "}});return s};yy.Merge.prototype.execute=function(databaseid,params,cb){var res=1;if(cb)res=cb(res);return res};yy.CreateDatabase=function(params){return yy.extend(this,params)};yy.CreateDatabase.prototype.toString=function(){var s=K("CREATE");if(this.engineid)s+=" "+L(this.engineid);s+=" "+K("DATABASE");if(this.ifnotexists)s+=" "+K("IF")+" "+K("NOT")+" "+K("EXISTS");s+=" "+L(this.databaseid);if(this.args&&this.args.length>0){s+="("+this.args.map(function(arg){return arg.toString()}).join(", ")+")"}if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.CreateDatabase.prototype.execute=function(databaseid,params,cb){var args;if(this.args&&this.args.length>0){args=this.args.map(function(arg){return new Function("params","return "+arg.toJavaScript())(params)})}if(this.engineid){var res=alasql.engines[this.engineid].createDatabase(this.databaseid,this.args,this.ifnotexists,this.as,cb);return res}else{var dbid=this.databaseid;if(alasql.databases[dbid]){throw new Error("Database '"+dbid+"' already exists")}var a=new alasql.Database(dbid);var res=1;if(cb)return cb(res);return res}};yy.AttachDatabase=function(params){return yy.extend(this,params)};yy.AttachDatabase.prototype.toString=function(){var s=K("ATTACH");if(this.engineid)s+=" "+L(this.engineid);s+=" "+K("DATABASE")+" "+L(this.databaseid);if(args){s+="(";if(args.length>0){s+=args.map(function(arg){return arg.toString()}).join(", ")}s+=")"}if(this.as)s+=" "+K("AS")+" "+L(this.as);return s};yy.AttachDatabase.prototype.execute=function(databaseid,params,cb){if(!alasql.engines[this.engineid]){throw new Error('Engine "'+this.engineid+'" is not defined.')}var res=alasql.engines[this.engineid].attachDatabase(this.databaseid,this.as,this.args,params,cb);return res};yy.DetachDatabase=function(params){return yy.extend(this,params)};yy.DetachDatabase.prototype.toString=function(){var s=K("DETACH");s+=" "+K("DATABASE")+" "+L(this.databaseid);return s};yy.DetachDatabase.prototype.execute=function(databaseid,params,cb){if(!alasql.databases[this.databaseid].engineid){throw new Error('Cannot detach database "'+this.engineid+'", because it was not attached.')}var res;var dbid=this.databaseid;if(dbid==alasql.DEFAULTDATABASEID){throw new Error("Drop of default database is prohibited")}if(!alasql.databases[dbid]){if(!this.ifexists){throw new Error("Database '"+dbid+"' does not exist")}else{res=0}}else{delete alasql.databases[dbid];if(dbid==alasql.useid){alasql.use()}res=1}if(cb)cb(res);return res};yy.UseDatabase=function(params){return yy.extend(this,params)};yy.UseDatabase.prototype.toString=function(){return K("USE")+" "+K("DATABASE")+" "+L(this.databaseid)};yy.UseDatabase.prototype.execute=function(databaseid,params,cb){var dbid=this.databaseid;if(!alasql.databases[dbid]){throw new Error("Database '"+dbid+"' does not exist")}alasql.use(dbid);var res=1;if(cb)cb(res);return res};yy.DropDatabase=function(params){return yy.extend(this,params)};yy.DropDatabase.prototype.toString=function(){var s=K("DROP");if(this.ifexists)s+=" "+K("IF")+" "+K("EXISTS");s+=" "+K("DATABASE")+" "+L(this.databaseid);return s};yy.DropDatabase.prototype.execute=function(databaseid,params,cb){if(this.engineid){return alasql.engines[this.engineid].dropDatabase(this.databaseid,this.ifexists,cb)}var res;var dbid=this.databaseid;if(dbid==alasql.DEFAULTDATABASEID){throw new Error("Drop of default database is prohibited")}if(!alasql.databases[dbid]){if(!this.ifexists){throw new Error("Database '"+dbid+"' does not exist")}else{res=0}}else{if(alasql.databases[dbid].engineid){throw new Error("Cannot drop database '"+dbid+"', because it is attached. Detach it.")}delete alasql.databases[dbid];if(dbid==alasql.useid){alasql.use()}res=1}if(cb)cb(res);return res};yy.Declare=function(params){return yy.extend(this,params)};yy.Declare.prototype.toString=function(){var s=K("DECLARE")+" ";if(this.declares&&this.declares.length>0){s=this.declares.map(function(declare){var s="";s+="@"+L(declare.variable)+" ";s+=declare.dbtypeid;if(this.dbsize)s+="("+N(this.dbsize);if(this.dbprecision)s+=","+N(this.dbprecision);s+=")";if(declare.expression)s+=" = "+declare.expression.toString();return s}).join(",")}return s};yy.Declare.prototype.execute=function(databaseid,params,cb){var res=1;if(this.declares&&this.declares.length>0){this.declares.map(function(declare){var dbtypeid=declare.dbtypeid;if(!alasql.fn[dbtypeid])dbtypeid=dbtypeid.toUpperCase();alasql.declares[declare.variable]={dbtypeid:dbtypeid,dbsize:declare.dbsize,dbprecision:declare.dbprecision};if(declare.expression){alasql.vars[declare.variable]=new Function("params,alasql","return "+declare.expression.toJavaScript("({})","",null))(params,alasql);if(alasql.declares[declare.variable]){alasql.vars[declare.variable]=alasql.stdfn.CONVERT(alasql.vars[declare.variable],alasql.declares[declare.variable])}}})}if(cb)res=cb(res);return res};yy.ShowDatabases=function(params){return yy.extend(this,params)};yy.ShowDatabases.prototype.toString=function(){var s=K("SHOW")+" "+K("DATABASES");if(this.like)s+="LIKE "+this.like.toString();return s};yy.ShowDatabases.prototype.execute=function(databaseid,params,cb){if(this.engineid){return alasql.engines[this.engineid].showDatabases(this.like,cb)}else{var self=this;var res=[];for(dbid in alasql.databases){res.push({databaseid:dbid})}if(self.like&&res&&res.length>0){res=res.filter(function(d){return d.databaseid.match(new RegExp(self.like.value.replace(/\%/g,".*"),"g"))})}if(cb)cb(res);return res}};yy.ShowTables=function(params){return yy.extend(this,params)};yy.ShowTables.prototype.toString=function(){var s=K("SHOW")+" "+K("TABLES");if(this.databaseid)s+=" FROM "+this.databaseid;if(this.like)s+=" "+K("LIKE")+" "+this.like.toString();return s};yy.ShowTables.prototype.execute=function(databaseid,params,cb){var db=alasql.databases[this.databaseid||databaseid];var self=this;var res=[];for(tableid in db.tables){res.push({tableid:tableid})}if(self.like&&res&&res.length>0){res=res.filter(function(d){return d.tableid.match(new RegExp(self.like.value.replace(/\%/g,".*"),"g"))})}if(cb)cb(res);return res};yy.ShowColumns=function(params){return yy.extend(this,params)};yy.ShowColumns.prototype.toString=function(){var s=K("SHOW")+" "+K("COLUMNS");if(this.table.tableid)s+=" "+K("FROM")+" "+this.table.tableid;if(this.databaseid)s+=" "+K("FROM")+" "+this.databaseid;return s};yy.ShowColumns.prototype.execute=function(databaseid){var db=alasql.databases[this.databaseid||databaseid];var table=db.tables[this.table.tableid];var self=this;if(table&&table.columns){var res=table.columns.map(function(col){return{columnid:col.columnid,dbtypeid:col.dbtypeid,dbsize:col.dbsize}});return res}else{return[]}};yy.ShowIndex=function(params){return yy.extend(this,params)};yy.ShowIndex.prototype.toString=function(){var s=K("SHOW")+" "+K("INDEX");if(this.table.tableid)s+=" "+K("FROM")+" "+this.table.tableid;if(this.databaseid)s+=" "+K("FROM")+" "+this.databaseid;return s};yy.ShowIndex.prototype.execute=function(databaseid){var db=alasql.databases[this.databaseid||databaseid];var table=db.tables[this.table.tableid];var self=this;var res=[];if(table&&table.indices){for(var ind in table.indices){res.push({hh:ind,len:Object.keys(table.indices[ind]).length})}}return res};yy.ShowCreateTable=function(params){return yy.extend(this,params)};yy.ShowCreateTable.prototype.toString=function(){var s=K("SHOW")+" "+K("CREATE")+" "+K("TABLE")+" "+L(this.table.tableid);if(this.databaseid)s+=" "+K("FROM")+" "+L(this.databaseid);return s};yy.ShowCreateTable.prototype.execute=function(databaseid){var db=alasql.databases[this.databaseid||databaseid];var table=db.tables[this.table.tableid];var self=this;if(table){var s=K("CREATE")+" "+K("TABLE")+" "+L(this.table.tableid)+" (";var ss=[];if(table.columns){table.columns.forEach(function(col){var a=L(col.columnid)+" "+K(col.dbtypeid);if(col.dbsize)a+="("+N(col.dbsize)+")";if(col.primarykey)a+=" "+K("PRIMARY")+" "+K("KEY");ss.push(a)});s+=ss.join(", ")}s+=")";return s}else{throw new Error('There is no such table "'+this.table.tableid+'"')}};yy.SetVariable=function(params){return yy.extend(this,params)};yy.SetVariable.prototype.toString=function(){var s=K("SET")+" ";if(typeof this.value!="undefined")s+=K(this.variable.toUpperCase())+" "+(this.value?"ON":"OFF");if(this.expression)s+="@"+L(this.variable)+" = "+this.expression.toString();return s};yy.SetVariable.prototype.execute=function(databaseid,params,cb){if(typeof this.value!="undefined"){var val=this.value;if(val=="ON")val=true;else if(val=="OFF")val=false;alasql.options[this.variable]=val}else if(this.expression){if(this.exists){this.existsfn=this.exists.map(function(ex){return ex.compile(databaseid)})}if(this.queries){this.queriesfn=this.queries.map(function(q){return q.compile(databaseid)})}var res=new Function("params,alasql","return "+this.expression.toJavaScript("({})","",null)).bind(this)(params,alasql);if(alasql.declares[this.variable]){res=alasql.stdfn.CONVERT(res,alasql.declares[this.variable])}if(this.props&&this.props.length>0){var fs="alasql.vars['"+this.variable+"']";fs+=this.props.map(function(prop){if(typeof prop=="string"){return"['"+prop+"']"}else if(typeof prop=="number"){return"["+prop+"]"}else{return"["+prop.toJavaScript()+"]"}}).join();new Function("value,alasql",fs+"=value")(res,alasql)}else{alasql.vars[this.variable]=res}}var res=1;if(cb)res=cb(res);return res};alasql.test=function(name,times,fn){if(arguments.length==0){alasql.log(alasql.con.results);return}else if(arguments.length==1){var tm=Date.now();fn();alasql.con.log(Date.now()-tm);return}if(arguments.length==2){fn=times;times=1}var tm=Date.now();for(var i=0;i<times;i++)fn();alasql.con.results[name]=Date.now()-tm};alasql.log=function(sql,params){var olduseid=alasql.useid;var target=alasql.options.logtarget;if(typeof exports=="object"){target="console"}var res;if(typeof sql=="string"){res=alasql(sql,params)}else{res=sql}if(target=="console"||typeof exports=="object"){if(typeof sql=="string"&&alasql.options.logprompt)console.log(olduseid+">",sql);if(res instanceof Array){if(console.table){console.table(res)}else{console.log(JSONtoString(res))}}else{console.log(JSONtoString(res))}}else{var el;if(target=="output"){el=document.getElementsByTagName("output")[0]}else{if(typeof target=="string"){el=document.getElementById(target)}else{el=target}}var s="";if(typeof sql=="string"&&alasql.options.logprompt){s+="<pre><code>"+alasql.pretty(sql)+"</code></pre>"}if(res instanceof Array){if(res.length==0){s+="<p>[ ]</p>"}else if(typeof res[0]!="object"||res[0]instanceof Array){for(var i=0,ilen=res.length;i<ilen;i++){s+="<p>"+loghtml(res[i])+"</p>"}}else{s+=loghtml(res)}}else{s+=loghtml(res)}el.innerHTML+=s}};alasql.clear=function(){var target=alasql.options.logtarget;if(typeof exports=="object"){target="console"}if(target=="console"||typeof exports=="object"){if(console.clear){console.clear()}else{}}else{var el;if(target=="output"){el=document.getElementsByTagName("output")[0]}else{if(typeof target=="string"){el=document.getElementById(target)}else{el=target}}el.innerHTML=""}};alasql.write=function(s){var target=alasql.options.logtarget;if(typeof exports=="object"){target="console"}if(target=="console"||typeof exports=="object"){if(console.log){console.log(s)}else{}}else{var el;if(target=="output"){el=document.getElementsByTagName("output")[0]}else{if(typeof target=="string"){el=document.getElementById(target)}else{el=target}}el.innerHTML+=s}};function loghtml(res){var s="";if(typeof res=="undefined"){s+="undefined"}else if(res instanceof Array){s+="<style>";s+="table {border:1px black solid; border-collapse: collapse; border-spacing: 0px;}";s+="td,th {border:1px black solid; padding-left:5px; padding-right:5px}";s+="th {background-color: #EEE}";s+="</style>";s+="<table>";var cols=[];for(colid in res[0]){cols.push(colid)}s+="<tr><th>#";cols.forEach(function(colid){s+="<th>"+colid});for(var i=0,ilen=res.length;i<ilen;i++){s+="<tr><th>"+(i+1);cols.forEach(function(colid){s+="<td> ";if(+res[i][colid]==+res[i][colid]){s+='<div style="text-align:right">';if(typeof res[i][colid]=="undefined")s+="NULL";else s+=res[i][colid];s+="</div>"}else{if(typeof res[i][colid]=="undefined"){s+="NULL"}else if(typeof res[i][colid]=="string"){s+=res[i][colid]}else s+=JSONtoString(res[i][colid])}})}s+="</table>"}else{s+="<p>"+JSONtoString(res)+"</p>"}return s}function scrollTo(element,to,duration){if(duration<=0)return;var difference=to-element.scrollTop;var perTick=difference/duration*10;setTimeout(function(){if(element.scrollTop==to)return;element.scrollTop=element.scrollTop+perTick;scrollTo(element,to,duration-10)},10)}alasql.prompt=function(el,useidel,firstsql){if(typeof exports=="object"){throw new Error("The functionality of prompt is not realized for Node.js")}var prompti=0;if(typeof el=="string")el=document.getElementById(el);if(typeof useidel=="string")useidel=document.getElementById(useidel);useidel.textContent=alasql.useid;if(firstsql){alasql.prompthistory.push(firstsql);prompti=alasql.prompthistory.length;try{var tm=Date.now();alasql.log(firstsql);alasql.write('<p style="color:blue">'+(Date.now()-tm)+" ms</p>")}catch(err){alasql.write("<p>"+olduseid+"> <b>"+sql+"</b></p>");alasql.write('<p style="color:red">'+err+"<p>")}}var y=el.getBoundingClientRect().top+document.getElementsByTagName("body")[0].scrollTop;scrollTo(document.getElementsByTagName("body")[0],y,500);el.onkeydown=function(event){if(event.which==13){var sql=el.value;var olduseid=alasql.useid;el.value="";alasql.prompthistory.push(sql);prompti=alasql.prompthistory.length;try{var tm=Date.now();alasql.log(sql);alasql.write('<p style="color:blue">'+(Date.now()-tm)+" ms</p>")}catch(err){alasql.write("<p>"+olduseid+"> "+alasql.pretty(sql,false)+"</p>");alasql.write('<p style="color:red">'+err+"<p>")}el.focus();useidel.textContent=alasql.useid;var y=el.getBoundingClientRect().top+document.getElementsByTagName("body")[0].scrollTop;scrollTo(document.getElementsByTagName("body")[0],y,500)}else if(event.which==38){prompti--;if(prompti<0)prompti=0;if(alasql.prompthistory[prompti]){el.value=alasql.prompthistory[prompti];event.preventDefault()}}else if(event.which==40){prompti++;if(prompti>=alasql.prompthistory.length){prompti=alasql.prompthistory.length;el.value=""}else if(alasql.prompthistory[prompti]){el.value=alasql.prompthistory[prompti];event.preventDefault()}}}};yy.BeginTransaction=function(params){return yy.extend(this,params)};yy.BeginTransaction.prototype.toString=function(){return K("BEGIN")+" "+K("TRANSACTION")};yy.BeginTransaction.prototype.execute=function(databaseid,params,cb){var res=1;if(alasql.databases[databaseid].engineid){return alasql.engines[alasql.databases[alasql.useid].engineid].begin(databaseid,cb)}else{}if(cb)cb(res);return res};yy.CommitTransaction=function(params){return yy.extend(this,params)};yy.CommitTransaction.prototype.toString=function(){return K("COMMIT")+" "+K("TRANSACTION")};yy.CommitTransaction.prototype.execute=function(databaseid,params,cb){var res=1;if(alasql.databases[databaseid].engineid){return alasql.engines[alasql.databases[alasql.useid].engineid].commit(databaseid,cb)}else{}if(cb)cb(res);return res};yy.RollbackTransaction=function(params){return yy.extend(this,params)};yy.RollbackTransaction.prototype.toString=function(){return K("ROLLBACK")+" "+K("TRANSACTION")};yy.RollbackTransaction.prototype.execute=function(databaseid,params,cb){var res=1;if(alasql.databases[databaseid].engineid){return alasql.engines[alasql.databases[databaseid].engineid].rollback(databaseid,cb)}else{}if(cb)cb(res);return res};alasql.into.SQL=function(filename,opts,data,columns,cb){var res;if(typeof filename=="object"){opts=filename;filename=undefined}var opt={};alasql.utils.extend(opt,opts);if(typeof opt.tableid=="undefined"){throw new Error("Table for INSERT TO is not defined.")}var s="";if(columns.length==0){if(typeof data[0]=="object"){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}else{}}for(var i=0,ilen=data.length;i<ilen;i++){s+="INSERT INTO "+opts.tableid+"(";s+=columns.map(function(col){return col.columnid}).join(",");s+=") VALUES (";s+=columns.map(function(col){var val=data[i][col.columnid];if(col.typeid){if(col.typeid=="STRING"||col.typeid=="VARCHAR"||col.typeid=="NVARCHAR"||col.typeid=="CHAR"||col.typeid=="NCHAR"){val="'"+escapeqq(val)+"'"}}else{if(typeof val=="string"){val="'"+escapeqq(val)+"'"}}return val});s+=");\n"}res=alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res};alasql.into.HTML=function(selector,opts,data,columns,cb){var res=1;if(typeof exports!="object"){var opt={};alasql.utils.extend(opt,opts);var sel=document.querySelector(selector);if(!sel){throw new Error("Selected HTML element is not found")}if(columns.length==0){if(typeof data[0]=="object"){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}else{}}var tbe=document.createElement("table");var thead=document.createElement("thead");tbe.appendChild(thead);if(opt.headers){var tre=document.createElement("tr");for(var i=0;i<columns.length;i++){var the=document.createElement("th");the.textContent=columns[i].columnid;tre.appendChild(the)}thead.appendChild(tre)}var tbody=document.createElement("tbody");tbe.appendChild(tbody);for(var j=0;j<data.length;j++){var tre=document.createElement("tr");for(var i=0;i<columns.length;i++){var the=document.createElement("td");the.textContent=data[j][columns[i].columnid];tre.appendChild(the)}tbody.appendChild(tre)}alasql.utils.domEmptyChildren(sel);sel.appendChild(tbe)}if(cb)res=cb(res);return res};alasql.into.JSON=function(filename,opts,data,columns,cb){var res=1;if(typeof filename=="object"){opts=filename;filename=undefined}var opt={};var s=JSON.stringify(data);res=alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res};alasql.into.TXT=function(filename,opts,data,columns,cb){if(columns.length==0&&data.length>0){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}if(typeof filename=="object"){opts=filename;filename=undefined}var res=data.length;var s="";if(data.length>0){var key=columns[0].columnid;s+=data.map(function(d){return d[key]}).join("\n")}res=alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res};alasql.into.TAB=alasql.into.TSV=function(filename,opts,data,columns,cb){var opt={};alasql.utils.extend(opt,opts);opt.separator=" ";return alasql.into.CSV(filename,opt,data,columns,cb)};alasql.into.CSV=function(filename,opts,data,columns,cb){if(columns.length==0&&data.length>0){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}if(typeof filename=="object"){opts=filename;filename=undefined}var opt={};opt.separator=",";opt.quote='"';alasql.utils.extend(opt,opts);var res=data.length;var s="";if(opt.headers){s+=columns.map(function(col){return col.columnid}).join(opt.separator)+"\n"}data.forEach(function(d,idx){s+=columns.map(function(col){var s=d[col.columnid];s=(s+"").replace(new RegExp("\\"+opt.quote,"g"),'""');if((s+"").indexOf(opt.separator)>-1||(s+"").indexOf(opt.quote)>-1)s=opt.quote+s+opt.quote;return s}).join(opt.separator)+"\n"});res=alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res};alasql.into.XLSX=function(filename,opts,data,columns,cb){if(columns.length==0&&data.length>0){columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}if(typeof exports=="object"){var XLSX=require("xlsx")}else{var XLSX=window.XLSX}if(typeof filename=="object"){opts=filename;filename=undefined}var opt={sheetid:"Sheet1",headers:true};alasql.utils.extend(opt,opts);var res=1;var wb={SheetNames:[],Sheets:{}};if(opt.sourcefilename){alasql.utils.loadBinaryFile(opt.sourcefilename,!!cb,function(data){wb=XLSX.read(data,{type:"binary"});res=doExport()})}else{res=doExport()}function doExport(){var cells={};if(wb.SheetNames.indexOf(opt.sheetid)>-1){cells=wb.Sheets[opt.sheetid]}else{wb.SheetNames.push(opt.sheetid);wb.Sheets[opt.sheetid]={};cells=wb.Sheets[opt.sheetid]}var range="A1";if(opt.range)range=opt.range;var col0=alasql.utils.xlscn(range.match(/[A-Z]+/)[0]);var row0=+range.match(/[0-9]+/)[0]-1;if(wb.Sheets[opt.sheetid]["!ref"]){var rangem=wb.Sheets[opt.sheetid]["!ref"];var colm=alasql.utils.xlscn(rangem.match(/[A-Z]+/)[0]);var rowm=+rangem.match(/[0-9]+/)[0]-1}else{var colm=1,rowm=1}var colmax=Math.max(col0+columns.length,colm);var rowmax=Math.max(row0+data.length+2,rowm);var i=row0+1;wb.Sheets[opt.sheetid]["!ref"]="A1:"+alasql.utils.xlsnc(colmax)+rowmax;if(opt.headers){columns.forEach(function(col,idx){cells[alasql.utils.xlsnc(col0+idx)+""+i]={v:col.columnid}});i++}for(var j=0;j<data.length;j++){columns.forEach(function(col,idx){var cell={v:data[j][col.columnid]};if(typeof data[j][col.columnid]=="number"){cell.t="n"}else if(typeof data[j][col.columnid]=="string"){cell.t="s"}else if(typeof data[j][col.columnid]=="boolean"){cell.t="b"}else if(typeof data[j][col.columnid]=="object"){if(data[j][col.columnid]instanceof Date){cell.t="d"}}cells[alasql.utils.xlsnc(col0+idx)+""+i]=cell});i++}if(typeof filename=="undefined"){res=wb}else{if(typeof exports=="object"){XLSX.writeFile(wb,filename)}else{var wopts={bookType:"xlsx",bookSST:false,type:"binary"};var wbout=XLSX.write(wb,wopts);function s2ab(s){var buf=new ArrayBuffer(s.length);var view=new Uint8Array(buf);for(var i=0;i!=s.length;++i)view[i]=s.charCodeAt(i)&255;return buf}saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}),filename)}}if(cb)res=cb(res);return res}};alasql.into.XLS=function(filename,opts,data,columns,cb){if(typeof filename=="object"){opts=filename;filename=undefined}var sheets={};if(opts&&opts.sheets){sheets=opts.sheets}var sheet={};if(typeof sheets[0]!="undefined"){sheet=sheets[0]}else{if(typeof opts!="undefined"){sheet=opts}}if(typeof sheet.sheetid=="undefined"){sheet.sheetid="Sheet1"}var s='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head> <meta charset="utf-8" /> <!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets> ';s+=" <x:ExcelWorksheet><x:Name>"+sheet.sheetid+"</x:Name><x:WorksheetOptions><x:DisplayGridlines/> </x:WorksheetOptions> </x:ExcelWorksheet>";s+="</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>";s+="<body";if(typeof sheet.style!="undefined"){s+=' style="';if(typeof sheet.style=="function"){s+=sheet.style(sheet)}else{s+=sheet.style}s+='"'}s+=">";s+="<table>";if(typeof sheet.caption!="undefined"){var caption=sheet.caption;if(typeof caption=="string"){caption={title:caption}}s+="<caption";if(typeof caption.style!="undefined"){s+=' style="';if(typeof caption.style=="function"){s+=caption.style(sheet,caption)}else{s+=caption.style}s+='" '}s+=">";s+=caption.title;s+="</caption>"}if(typeof sheet.columns!="undefined"){columns=sheet.columns}else{if(columns.length==0&&data.length>0){if(typeof data[0]=="object"){if(data[0]instanceof Array){columns=data[0].map(function(d,columnidx){return{columnid:columnidx}})}else{columns=Object.keys(data[0]).map(function(columnid){return{columnid:columnid}})}}}}columns.forEach(function(column,columnidx){if(typeof sheet.column!="undefined"){extend(column,sheet.column)}if(typeof column.width=="undefined"){if(sheet.column&&sheet.column.width!="undefined"){column.width=sheet.column.width}else{column.width="120px"}}if(typeof column.width=="number")column.width=column.width+"px";if(typeof column.columnid=="undefined")column.columnid=columnidx;if(typeof column.title=="undefined")column.title=""+column.columnid;if(sheet.headers&&sheet.headers instanceof Array)column.title=sheet.headers[idx]});s+="<colgroups>";columns.forEach(function(column){s+='<col style="width: '+column.width+'"></col>'});s+="</colgroups>";if(sheet.headers){s+="<thead>";s+="<tr>";columns.forEach(function(column,columnidx){s+="<th ";if(typeof column.style!="undefined"){s+=' style="';if(typeof column.style=="function"){s+=column.style(sheet,column,columnidx)}else{s+=column.style}s+='" '}s+=">";if(typeof column.title!="undefined"){if(typeof column.title=="function"){s+=column.title(sheet,column,columnidx)}else{s+=column.title}}s+="</th>"});s+="</tr>";s+="</thead>"}s+="<tbody>";if(data&&data.length>0){data.forEach(function(row,rowidx){if(rowidx>sheet.limit)return;s+="<tr";var srow={};extend(srow,sheet.row);if(sheet.rows&&sheet.rows[rowidx]){extend(srow,sheet.rows[rowidx])}if(typeof srow!="undefined"){if(typeof srow.style!="undefined"){s+=' style="';if(typeof srow.style=="function"){s+=srow.style(sheet,row,rowidx)}else{s+=srow.style}s+='" '}}s+=">";columns.forEach(function(column,columnidx){var cell={};extend(cell,sheet.cell);extend(cell,srow.cell);
|
|
8
8
|
if(typeof sheet.column!="undefined"){extend(cell,sheet.column.cell)}extend(cell,column.cell);if(sheet.cells&&sheet.cells[rowidx]&&sheet.cells[rowidx][columnidx]){extend(cell,sheet.cells[rowidx][columnidx])}var value=row[column.columnid];if(typeof cell.value=="function"){value=cell.value(value,sheet,row,column,cell,rowidx,columnidx)}var typeid=cell.typeid;if(typeof typeid=="function"){typeid=typeid(value,sheet,row,column,cell,rowidx,columnidx)}if(typeof typeid=="undefined"){if(typeof value=="number")typeid="number";else if(typeof value=="string")typeid="string";else if(typeof value=="boolean")typeid="boolean";else if(typeof value=="object"){if(value instanceof Date)typeid="date"}}var typestyle="";if(typeid=="money"){typestyle='mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;'}else if(typeid=="number"){typestyle=" "}else if(typeid=="date"){typestyle='mso-number-format:"Short Date";'}else{if(opts.types&&opts.types[typeid]&&opts.types[typeid].typestyle){typestyle=opts.types[typeid].typestyle}}typestyle=typestyle||'mso-number-format:"\\@";';s+="<td style='"+typestyle+"' ";if(typeof cell.style!="undefined"){s+=' style="';if(typeof cell.style=="function"){s+=cell.style(value,sheet,row,column,rowidx,columnidx)}else{s+=cell.style}s+='" '}s+=">";var format=cell.format;if(typeof value=="undefined"){s+=""}else if(typeof format!="undefined"){if(typeof format=="function"){s+=format(value)}else if(typeof format=="string"){s+=value}else{throw new Error("Unknown format type. Should be function or string")}}else{if(typeid=="number"||typeid=="date"){s+=value.toString()}else if(typeid=="money"){s+=(+value).toFixed(2)}else{s+=value}}s+="</td>"});s+="</tr>"})}s+="</tbody>";s+="</table>";s+="</body>";s+="</html>";var res=alasql.utils.saveFile(filename,s);if(cb)res=cb(res);return res;function style(a){var s=' style="';if(a&&typeof a.style!="undefined"){s+=a.style+";"}s+='" ';return s}};alasql.from.TABLETOP=function(key,opts,cb,idx,query){var res=[];var opt={headers:true,simpleSheet:true,key:key};alasql.utils.extend(opt,opts);opt.callback=function(data){res=data;if(cb)res=cb(res,idx,query)};Tabletop.init(opt);return res};alasql.from.HTML=function(selector,opts,cb,idx,query){var opt={};alasql.utils.extend(opt,opts);var sel=document.querySelector(selector);if(!sel&&sel.tagName!="TABLE"){throw new Error("Selected HTML element is not a TABLE")}var res=[];var headers=opt.headers;if(headers&&!(headers instanceof Array)){headers=[];var ths=sel.querySelector("thead tr").children;for(var i=0;i<ths.length;i++){if(!(ths.item(i).style&&ths.item(i).style.display=="none"&&opt.skipdisplaynone)){headers.push(ths.item(i).textContent)}else{headers.push(undefined)}}}var trs=sel.querySelectorAll("tbody tr");for(var j=0;j<trs.length;j++){var tds=trs.item(j).children;var r={};for(var i=0;i<tds.length;i++){if(!(tds.item(i).style&&tds.item(i).style.display=="none"&&opt.skipdisplaynone)){if(headers){r[headers[i]]=tds.item(i).textContent}else{r[i]=tds.item(i).textContent}}}res.push(r)}if(cb)res=cb(res,idx,query);return res};alasql.from.RANGE=function(start,finish,cb,idx,query){var res=[];for(i=start;i<=finish;i++)res.push(i);if(cb)res=cb(res,idx,query);return res};alasql.from.FILE=function(filename,opts,cb,idx,query){if(typeof filename=="string"){fname=filename}else if(filename instanceof Event){fname=filename.target.files[0].name}else{throw new Error("Wrong usage of FILE() function")}var parts=fname.split(".");var ext=parts[parts.length-1].toUpperCase();if(alasql.from[ext]){return alasql.from[ext](filename,opts,cb,idx,query)}else{throw new Error("Cannot recognize file type for loading")}};alasql.from.JSON=function(filename,opts,cb,idx,query){var res;alasql.utils.loadFile(filename,!!cb,function(data){res=JSON.parse(data);if(cb)res=cb(res,idx,query)});return res};alasql.from.TXT=function(filename,opts,cb,idx,query){var res;alasql.utils.loadFile(filename,!!cb,function(data){res=data.split(/\r?\n/);for(var i=0,ilen=res.length;i<ilen;i++){if(res[i]==+res[i])res[i]=+res[i];res[i]=[res[i]]}if(cb)res=cb(res,idx,query)});return res};alasql.from.TAB=alasql.from.TSV=function(filename,opts,cb,idx,query){if(!opts)opts={};opts.separator=" ";return alasql.from.CSV(filename,opts,cb,idx,query)};alasql.from.CSV=function(filename,opts,cb,idx,query){var opt={separator:",",quote:'"'};alasql.utils.extend(opt,opts);var res;alasql.utils.loadFile(filename,!!cb,function(text){var delimiterCode=opt.separator.charCodeAt(0);var quoteCode=opt.quote.charCodeAt(0);var EOL={},EOF={},rows=[],N=text.length,I=0,n=0,t,eol;function token(){if(I>=N)return EOF;if(eol)return eol=false,EOL;var j=I;if(text.charCodeAt(j)===quoteCode){var i=j;while(i++<N){if(text.charCodeAt(i)===quoteCode){if(text.charCodeAt(i+1)!==quoteCode)break;++i}}I=i+2;var c=text.charCodeAt(i+1);if(c===13){eol=true;if(text.charCodeAt(i+2)===10)++I}else if(c===10){eol=true}return text.substring(j+1,i).replace(/""/g,'"')}while(I<N){var c=text.charCodeAt(I++),k=1;if(c===10)eol=true;else if(c===13){eol=true;if(text.charCodeAt(I)===10)++I,++k}else if(c!==delimiterCode)continue;return text.substring(j,I-k)}return text.substring(j)}while((t=token())!==EOF){var a=[];while(t!==EOL&&t!==EOF){a.push(t);t=token()}if(opt.headers){if(n==0){if(typeof opt.headers=="boolean"){hs=a}else if(opt.headers instanceof Array){hs=opt.headers;var r={};hs.forEach(function(h,idx){r[h]=a[idx];if(typeof r[h]!="undefined"&&r[h].trim()==+r[h])r[h]=+r[h]});rows.push(r)}}else{var r={};hs.forEach(function(h,idx){r[h]=a[idx];if(typeof r[h]!="undefined"&&r[h].trim()==+r[h])r[h]=+r[h]});rows.push(r)}n++}else{rows.push(a)}}res=rows;if(opt.headers){if(query&&query.sources&&query.sources[idx]){var columns=query.sources[idx].columns=[];hs.forEach(function(h){columns.push({columnid:h})})}}if(cb)res=cb(res,idx,query)});return res};alasql.from.XLS=function(filename,opts,cb,idx,query){if(typeof exports==="object"){var X=require("xlsjs")}else{var X=window.XLS;if(!X){throw new Error("XLS library is not attached")}}return XLSXLSX(X,filename,opts,cb,idx,query)};alasql.from.XLSX=function(filename,opts,cb,idx,query){if(typeof exports==="object"){var X=require("xlsx")}else{var X=window.XLSX;if(!X){throw new Error("XLSX library is not attached")}}return XLSXLSX(X,filename,opts,cb,idx,query)};function XLSXLSX(X,filename,opts,cb,idx,query){var opt={};if(!opts)opts={};alasql.utils.extend(opt,opts);var res;alasql.utils.loadBinaryFile(filename,!!cb,function(data){var workbook=X.read(data,{type:"binary"});var sheetid;if(typeof opt.sheetid=="undefined"){sheetid=workbook.SheetNames[0]}else{sheetid=opt.sheetid}var range;if(typeof opt.range=="undefined"){range=workbook.Sheets[sheetid]["!ref"]}else{range=opt.range;if(workbook.Sheets[sheetid][range])range=workbook.Sheets[sheetid][range]}var rg=range.split(":");var col0=rg[0].match(/[A-Z]+/)[0];var row0=+rg[0].match(/[0-9]+/)[0];var col1=rg[1].match(/[A-Z]+/)[0];var row1=+rg[1].match(/[0-9]+/)[0];var hh={};for(var j=alasql.utils.xlscn(col0);j<=alasql.utils.xlscn(col1);j++){var col=alasql.utils.xlsnc(j);if(opt.headers){if(workbook.Sheets[sheetid][col+""+row0]){hh[col]=workbook.Sheets[sheetid][col+""+row0].v}else{hh[col]=col}}else{hh[col]=col}}var res=[];if(opt.headers)row0++;for(var i=row0;i<=row1;i++){var row={};for(var j=alasql.utils.xlscn(col0);j<=alasql.utils.xlscn(col1);j++){var col=alasql.utils.xlsnc(j);if(workbook.Sheets[sheetid][col+""+i]){row[hh[col]]=workbook.Sheets[sheetid][col+""+i].v}}res.push(row)}if(cb)res=cb(res,idx,query)},function(err){throw err});return res}yy.Help=function(params){return yy.extend(this,params)};yy.Help.prototype.toString=function(){var s=K("HELP");if(this.subject)s+=" "+L(this.subject);return s};helpdocs=[{command:"ALTER TABLE table RENAME TO table"},{command:"ALTER TABLE table ADD COLUMN column coldef"},{command:"ALTER TABLE table MODIFY COLUMN column coldef"},{command:"ALTER TABLE table RENAME COLUMN column TO column"},{command:"ALTER TABLE table DROP column"},{command:"ATTACH engine DATABASE database"},{command:"ASSERT value"},{command:"BEGIN [TRANSACTION]"},{command:"COMMIT [TRANSACTION]"},{command:"CREATE [engine] DATABASE [IF NOT EXISTS] database"},{command:"CREATE TABLE [IF NOT EXISTS] table (column definitions)"},{command:"DELETE FROM table [WHERE expression]"},{command:"DETACH DATABASE database"},{command:"DROP [engine] DATABASE [IF EXISTS] database"},{command:"DROP TABLE [IF EXISTS] table"},{command:"INSERT INTO table VALUES value,..."},{command:"INSERT INTO table DEFAULT VALUES"},{command:"INSERT INTO table SELECT select"},{command:"HELP [subject]"},{command:"ROLLBACK [TRANSACTION]"},{command:"SELECT [modificator] columns [INTO table] [FROM table,...] [[mode] JOIN [ON] [USING]] [WHERE ] [GROUP BY] [HAVING] [ORDER BY] "},{command:"SET option value"},{command:"SHOW [engine] DATABASES"},{command:"SHOW TABLES"},{command:"SHOW CREATE TABLE table"},{command:"UPDATE table SET column1 = expression1, ... [WHERE expression]"},{command:"USE [DATABASE] database"},{command:"expression"},{command:'See also <a href="http://github/agershun/alasq">http://github/agershun/alasq</a> for more information'}];yy.Help.prototype.execute=function(databaseid,params,cb){var ss=[];if(!this.subject){ss=helpdocs}else{ss.push('See also <a href="http://github/agershun/alasq">http://github/agershun/alasq</a> for more information')}if(cb)ss=cb(ss);return ss};yy.Print=function(params){return yy.extend(this,params)};yy.Print.prototype.toString=function(){var s=K("PRINT");if(this.statement)s+=" "+this.statement.toString();return s};yy.Print.prototype.execute=function(databaseid,params,cb){var res,s;if(this.statement){s=this.statement.execute(databaseid,params)}else{s=""}s=JSONtoString(s);console.log(s);if(cb)res=cb(res);return res};yy.Source=function(params){return yy.extend(this,params)};yy.Source.prototype.toString=function(){var s=K("SOURCE");if(this.url)s+=" "+S("'"+this.url+"'");return s};yy.Source.prototype.execute=function(databaseid,params,cb){var res;loadFile(this.url,!!cb,function(data){res=alasql(data);if(cb)res=cb(res);return res},function(err){throw err});return res};yy.Require=function(params){return yy.extend(this,params)};yy.Require.prototype.toString=function(){var s=K("REQUIRE");if(this.paths&&this.paths.length>0){s+=this.paths.map(function(path){return path.toString()}).join(",")}return s};yy.Require.prototype.execute=function(databaseid,params,cb){var self=this;var res=0;var ss="";if(this.paths.length>0){this.paths.forEach(function(path){loadFile(path.value,!!cb,function(data){res++;ss+=data;if(res<self.paths.length)return;new Function("params,alasql",ss)(params,alasql);if(cb)res=cb(res)})})}if(this.paths.length==0&&cb)res=cb(res);return res};yy.Assert=function(params){return yy.extend(this,params)};yy.Source.prototype.toString=function(){var s=K("ASSERT");if(this.value)s+=" "+JSON.stringify(this.value);return s};yy.Assert.prototype.execute=function(databaseid){if(!deepEqual(alasql.res,this.value)){throw new Error((this.message||"Assert wrong")+": "+JSON.stringify(alasql.res)+" == "+JSON.stringify(this.value))}return 1};var WEBSQL=alasql.engines.WEBSQL=function(){};WEBSQL.createDatabase=function(wdbid,args,dbid,cb){var res=1;var wdb=openDatabase(wdbid,args[0],args[1],args[2]);if(this.dbid){var db=alasql.createDatabase(this.dbid);db.engineid="WEBSQL";db.wdbid=wdbid;sb.wdb=db}if(!wdb){throw new Error('Cannot create WebSQL database "'+databaseid+'"')}if(cb)cb(res);return res};WEBSQL.dropDatabase=function(databaseid){throw new Error("This is impossible to drop WebSQL database.")};WEBSQL.attachDatabase=function(databaseid,dbid,args,params,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}alasqlopenDatabase(databaseid,args[0],args[1],args[2]);return res};if(typeof window!="undefined"&&typeof window.indexedDB!="undefined"){var IDB=alasql.engines.INDEXEDDB=function(){};if(typeof window.indexedDB.webkitGetDatabaseNames=="function"){IDB.getDatabaseNames=window.indexedDB.webkitGetDatabaseNames.bind(window.indexedDB)}else{IDB.getDatabaseNames=function(){var request={};var result={contains:function(name){return true},notsupported:true};setTimeout(function(){var event={target:{result:result}};request.onsuccess(event)},0);return request};IDB.getDatabaseNamesNotSupported=true}IDB.showDatabases=function(like,cb){var request=IDB.getDatabaseNames();request.onsuccess=function(event){var dblist=event.target.result;if(IDB.getDatabaseNamesNotSupported){throw new Error("SHOW DATABASE is not supported in this browser")}var res=[];if(like){var relike=new RegExp(like.value.replace(/\%/g,".*"),"g")}for(var i=0;i<dblist.length;i++){if(!like||dblist[i].match(relike)){res.push({databaseid:dblist[i]})}}cb(res)}};IDB.createDatabase=function(ixdbid,args,ifnotexists,dbid,cb){console.log(arguments);if(ifnotexists){var request2=window.indexedDB.open(ixdbid,1);request2.onsuccess=function(event){event.target.result.close();cb(1)}}else{var request1=window.indexedDB.open(ixdbid,1);request1.onupgradeneeded=function(e){console.log("abort");e.target.transaction.abort()};request1.onsuccess=function(e){console.log("success");if(ifnotexists){cb(0)}else{throw new Error('IndexedDB: Cannot create new database "'+ixdbid+'" because it already exists')}}}};IDB.createDatabase=function(ixdbid,args,ifnotexists,dbid,cb){if(IDB.getDatabaseNamesNotSupported){if(ifnotexists){var dbExists=true;var request2=window.indexedDB.open(ixdbid);request2.onupgradeneeded=function(e){dbExists=false};request2.onsuccess=function(event){event.target.result.close();if(dbExists){cb(0)}else{cb(1)}}}else{var request1=window.indexedDB.open(ixdbid);request1.onupgradeneeded=function(e){e.target.transaction.abort()};request1.onabort=function(event){cb(1)};request1.onsuccess=function(event){event.target.result.close();throw new Error('IndexedDB: Cannot create new database "'+ixdbid+'" because it already exists')}}}else{var request1=IDB.getDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(dblist.contains(ixdbid)){if(ifnotexists){cb(0);return}else{throw new Error('IndexedDB: Cannot create new database "'+ixdbid+'" because it already exists')}}var request2=window.indexedDB.open(ixdbid,1);request2.onsuccess=function(event){event.target.result.close();cb(1)}}}};IDB.dropDatabase=function(ixdbid,ifexists,cb){var request1=IDB.getDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){if(ifexists){cb(0);return}else{throw new Error('IndexedDB: Cannot drop new database "'+ixdbid+'" because it does not exist')}}var request2=window.indexedDB.deleteDatabase(ixdbid);request2.onsuccess=function(event){if(cb)cb(1)}}};IDB.attachDatabase=function(ixdbid,dbid,args,params,cb){var request1=IDB.getDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){throw new Error('IndexedDB: Cannot attach database "'+ixdbid+'" because it does not exist')}var request2=window.indexedDB.open(ixdbid);request2.onsuccess=function(event){var ixdb=event.target.result;var db=new alasql.Database(dbid||ixdbid);db.engineid="INDEXEDDB";db.ixdbid=ixdbid;db.tables=[];var tblist=ixdb.objectStoreNames;for(var i=0;i<tblist.length;i++){db.tables[tblist[i]]={}}event.target.result.close();cb(1)}}};IDB.createTable=function(databaseid,tableid,ifnotexists,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request1=IDB.getDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){throw new Error('IndexedDB: Cannot create table in database "'+ixdbid+'" because it does not exist')}var request2=window.indexedDB.open(ixdbid);request2.onversionchange=function(event){event.target.result.close()};request2.onsuccess=function(event){var version=event.target.result.version;event.target.result.close();var request3=window.indexedDB.open(ixdbid,version+1);request3.onupgradeneeded=function(event){var ixdb=event.target.result;var store=ixdb.createObjectStore(tableid,{autoIncrement:true})};request3.onsuccess=function(event){event.target.result.close();cb(1)};request3.onerror=function(event){throw event};request3.onblocked=function(event){throw new Error('Cannot create table "'+tableid+'" because database "'+databaseid+'" is blocked')}}}};IDB.dropTable=function(databaseid,tableid,ifexists,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request1=IDB.getDatabaseNames();request1.onsuccess=function(event){var dblist=event.target.result;if(!dblist.contains(ixdbid)){throw new Error('IndexedDB: Cannot drop table in database "'+ixdbid+'" because it does not exist')}var request2=window.indexedDB.open(ixdbid);request2.onversionchange=function(event){event.target.result.close()};request2.onsuccess=function(event){var version=event.target.result.version;event.target.result.close();var request3=window.indexedDB.open(ixdbid,version+1);request3.onupgradeneeded=function(event){var ixdb=event.target.result;if(ixdb.objectStoreNames.contains(tableid)){ixdb.deleteObjectStore(tableid);delete alasql.databases[databaseid].tables[tableid]}else{if(!ifexists){throw new Error('IndexedDB: Cannot drop table "'+tableid+'" because it is not exist')}}};request3.onsuccess=function(event){event.target.result.close();cb(1)};request3.onerror=function(event){throw event};request3.onblocked=function(event){throw new Error('Cannot drop table "'+tableid+'" because database "'+databaseid+'" is blocked')}}}};IDB.intoTable=function(databaseid,tableid,value,columns,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request1=window.indexedDB.open(ixdbid);request1.onsuccess=function(event){var ixdb=event.target.result;var tx=ixdb.transaction([tableid],"readwrite");var tb=tx.objectStore(tableid);for(var i=0,ilen=value.length;i<ilen;i++){tb.add(value[i])}tx.oncomplete=function(){ixdb.close();cb(ilen)}}};IDB.fromTable=function(databaseid,tableid,cb,idx,query){var ixdbid=alasql.databases[databaseid].ixdbid;var request=window.indexedDB.open(ixdbid);request.onsuccess=function(event){var res=[];var ixdb=event.target.result;var tx=ixdb.transaction([tableid]);var store=tx.objectStore(tableid);var cur=store.openCursor();cur.onblocked=function(event){};cur.onerror=function(event){};cur.onsuccess=function(event){var cursor=event.target.result;if(cursor){res.push(cursor.value);cursor.continue()}else{ixdb.close();cb(res,idx,query)}}}};IDB.deleteFromTable=function(databaseid,tableid,wherefn,params,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request=window.indexedDB.open(ixdbid);request.onsuccess=function(event){var res=[];var ixdb=event.target.result;var tx=ixdb.transaction([tableid],"readwrite");var store=tx.objectStore(tableid);var cur=store.openCursor();var num=0;cur.onblocked=function(event){};cur.onerror=function(event){};cur.onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!wherefn||wherefn(cursor.value,params)){cursor.delete();num++}cursor.continue()}else{ixdb.close();cb(num)}}}};IDB.updateTable=function(databaseid,tableid,assignfn,wherefn,params,cb){var ixdbid=alasql.databases[databaseid].ixdbid;var request=window.indexedDB.open(ixdbid);request.onsuccess=function(event){var res=[];var ixdb=event.target.result;var tx=ixdb.transaction([tableid],"readwrite");var store=tx.objectStore(tableid);var cur=store.openCursor();var num=0;cur.onblocked=function(event){};cur.onerror=function(event){};cur.onsuccess=function(event){var cursor=event.target.result;if(cursor){if(!wherefn||wherefn(cursor.value,params)){var r=cursor.value;assignfn(r,params);cursor.update(r);num++}cursor.continue()}else{ixdb.close();cb(num)}}}}}var LS=alasql.engines.LOCALSTORAGE=function(){};LS.get=function(key){var s=localStorage.getItem(key);if(typeof s=="undefined")return;var v=undefined;try{v=JSON.parse(s)}catch(err){throw new Error("Cannot parse JSON "+s)}return v};LS.set=function(key,value){if(typeof value=="undefined")localStorage.removeItem(key);else localStorage.setItem(key,JSON.stringify(value))};LS.createDatabase=function(lsdbid,args,ifnotexists,dbid,cb){var res=1;var ls=LS.get("alasql");if(!(ifnotexists&&ls&&ls.databases&&ls.databases[lsdbid])){if(!ls)ls={databases:{}};if(ls.databases&&ls.databases[lsdbid]){throw new Error('localStorage: Cannot create new database "'+lsdbid+'" because it already exists')}ls.databases[lsdbid]=true;LS.set("alasql",ls);LS.set(lsdbid,{databaseid:lsdbid,tables:{}})}else{res=0}if(cb)cb(res);return res};LS.dropDatabase=function(lsdbid,ifexists,cb){var res=1;var ls=LS.get("alasql");if(!(ifexists&&ls&&ls.databases&&!ls.databases[lsdbid])){if(!ls){if(!ifexists){throw new Error("There are no alasql databases in localStorage")}else{return 0}}if(ls.databases&&!ls.databases[lsdbid]){throw new Error('localStorage: Cannot drop database "'+lsdbid+'" because there is no such database')}delete ls.databases[lsdbid];LS.set("alasql",ls);var db=LS.get(lsdbid);for(var tableid in db.tables){localStorage.removeItem(lsdbid+"."+tableid)}localStorage.removeItem(lsdbid)}else{res=0}if(cb)cb(res);return res};LS.attachDatabase=function(lsdbid,dbid,args,params,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}var db=new alasql.Database(dbid||lsdbid);db.engineid="LOCALSTORAGE";db.lsdbid=lsdbid;db.tables=LS.get(lsdbid).tables;if(!alasql.options.autocommit){if(db.tables){for(var tbid in db.tables){db.tables[tbid].data=LS.get(db.lsdbid+"."+tbid)}}}if(cb)res=cb(res);return res};LS.showDatabases=function(like,cb){var res=[];var ls=LS.get("alasql");if(like){var relike=new RegExp(like.value.replace(/\%/g,".*"),"g")}if(ls&&ls.databases){for(dbid in ls.databases){res.push({databaseid:dbid})}if(like&&res&&res.length>0){res=res.filter(function(d){return d.databaseid.match(relike)})}}if(cb)cb(res);return res};LS.createTable=function(databaseid,tableid,ifnotexists,cb){var lsdbid=alasql.databases[databaseid].lsdbid;var tb=LS.get(lsdbid+"."+tableid);var res=1;if(tb&&!ifnotexists){throw new Error('Table "'+tableid+'" alsready exists in localStorage database "'+lsdbid+'"')}var lsdb=LS.get(lsdbid);var table=alasql.databases[databaseid].tables[tableid];lsdb.tables[tableid]={columns:table.columns};LS.set(lsdbid,lsdb);LS.set(lsdbid+"."+tableid,[]);if(cb)cb(res);return res};LS.dropTable=function(databaseid,tableid,ifexists,cb){var res=1;var lsdbid=alasql.databases[databaseid].lsdbid;var lsdb=LS.get(lsdbid);if(!ifexists&&!lsdb.tables[tableid]){throw new Error('Cannot drop table "'+tableid+'" in localStorage, because it does not exist')}delete lsdb.tables[tableid];LS.set(lsdbid,lsdb);localStorage.removeItem(lsdbid+"."+tableid);if(cb)cb(res);return res};LS.fromTable=function(databaseid,tableid,cb,idx,query){var lsdbid=alasql.databases[databaseid].lsdbid;var res=LS.get(lsdbid+"."+tableid);if(cb)res=cb(res,idx,query);return res};LS.intoTable=function(databaseid,tableid,value,columns,cb){var lsdbid=alasql.databases[databaseid].lsdbid;var res=value.length;var tb=LS.get(lsdbid+"."+tableid);if(!tb)tb=[];tb=tb.concat(value);LS.set(lsdbid+"."+tableid,tb);if(cb)cb(res);return res};LS.loadTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];var lsdbid=alasql.databases[databaseid].lsdbid;db.tables[tableid].data=LS.get(lsdbid+"."+tableid)};LS.saveTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];var lsdbid=alasql.databases[databaseid].lsdbid;LS.set(lsdbid+"."+tableid,db.tables[tableid].data);db.tables[tableid].data=null};LS.commit=function(databaseid,cb){var db=alasql.databases[databaseid];var lsdbid=alasql.databases[databaseid].lsdbid;var lsdb={databaseid:lsdbid,tables:{}};if(db.tables){for(var tbid in db.tables){lsdb.tables[tbid]={columns:db.tables[tbid].columns};LS.set(lsdbid+"."+tbid,db.tables[tbid].data)}}LS.set(lsdbid,lsdb);return 1};LS.begin=LS.commit;LS.rollback=function(databaseid,cb){var db=alasql.databases[databaseid];db.dbversion++;var lsdbid=alasql.databases[databaseid].lsdbid;var lsdb=LS.get(lsdbid);if(lsdb.tables){for(var tbid in lsdb.tables){var tb=new alasql.Table({columns:db.tables[tbid].columns});extend(tb,lsdb.tables[tbid]);lsdb.tables[tbid]=tb;if(!alasql.options.autocommit){lsdb.tables[tbid].data=LS.get(db.lsdbid+"."+tbid)}lsdb.tables[tbid].indexColumns()}}delete alasql.databases[databaseid];alasql.databases[databaseid]=new alasql.Database(databaseid);extend(alasql.databases[databaseid],lsdb);alasql.databases[databaseid].databaseid=databaseid;alasql.databases[databaseid].engineid="LOCALSTORAGE"};var SQLITE=alasql.engines.SQLITE=function(){};SQLITE.createDatabase=function(wdbid,args,ifnotexists,dbid,cb){throw new Error("Connot create SQLITE database in memory. Attach it.")};SQLITE.dropDatabase=function(databaseid){throw new Error("This is impossible to drop SQLite database. Detach it.")};SQLITE.attachDatabase=function(sqldbid,dbid,args,params,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}if(args[0]&&args[0]instanceof yy.StringValue||args[0]instanceof yy.ParamValue){if(args[0]instanceof yy.StringValue){var value=args[0].value}else if(args[0]instanceof yy.ParamValue){var value=params[args[0].param]}alasql.utils.loadBinaryFile(value,true,function(data){var db=new alasql.Database(dbid||sqldbid);db.engineid="SQLITE";db.sqldbid=sqldbid;var sqldb=db.sqldb=new SQL.Database(data);db.tables=[];var tables=sqldb.exec("SELECT * FROM sqlite_master WHERE type='table'")[0].values;tables.forEach(function(tbl){db.tables[tbl[1]]={};var columns=db.tables[tbl[1]].columns=[];var ast=alasql.parse(tbl[4]);var coldefs=ast.statements[0].columns;if(coldefs&&coldefs.length>0){coldefs.forEach(function(cd){columns.push(cd)})}});cb(1)},function(err){throw new Error('Cannot open SQLite database file "'+args[0].value+'"')});return res}else{throw new Error("Cannot attach SQLite database without a file")}return res};SQLITE.fromTable=function(databaseid,tableid,cb,idx,query){var data=alasql.databases[databaseid].sqldb.exec("SELECT * FROM "+tableid);var columns=query.sources[idx].columns=[];if(data[0].columns.length>0){data[0].columns.forEach(function(columnid){columns.push({columnid:columnid})})}var res=[];if(data[0].values.length>0){data[0].values.forEach(function(d){var r={};columns.forEach(function(col,idx){r[col.columnid]=d[idx]});res.push(r)})}if(cb)cb(res,idx,query)};SQLITE.intoTable=function(databaseid,tableid,value,columns,cb){var sqldb=alasql.databases[databaseid].sqldb;for(var i=0,ilen=value.length;i<ilen;i++){var s="INSERT INTO "+tableid+" (";var d=value[i];var keys=Object.keys(d);s+=keys.join(",");s+=") VALUES (";s+=keys.map(function(k){v=d[k];if(typeof v=="string")v="'"+v+"'";return v}).join(",");s+=")";sqldb.exec(s)}var res=ilen;if(cb)cb(res);return res};var FS=alasql.engines.FILESTORAGE=alasql.engines.FILE=function(){};FS.createDatabase=function(fsdbid,args,ifnotexists,dbid,cb){var res=1;var filename=args[0].value;alasql.utils.fileExists(filename,function(fex){if(fex){if(ifnotexists){res=0;if(cb)res=cb(res);return res}else{throw new Error("Cannot create new database file, because it alreagy exists")}}else{var data={tables:{}};alasql.utils.saveFile(filename,JSON.stringify(data),function(data){if(cb)res=cb(res)})}});return res};FS.dropDatabase=function(fsdbid,ifexists,cb){var res;var filename=fsdbid.value;alasql.utils.fileExists(filename,function(fex){if(fex){res=1;alasql.utils.deleteFile(filename,function(){res=1;if(cb)res=cb(res)})}else{if(!ifexists){throw new Error("Cannot drop database file, because it does not exist")}res=0;if(cb)res=cb(res)}});return res};FS.attachDatabase=function(fsdbid,dbid,args,params,cb){var res=1;if(alasql.databases[dbid]){throw new Error('Unable to attach database as "'+dbid+'" because it already exists')}var db=new alasql.Database(dbid||fsdbid);db.engineid="FILESTORAGE";db.filename=args[0].value;loadFile(db.filename,!!cb,function(s){try{db.data=JSON.parse(s)}catch(err){throw new Error("Data in FileStorage database are corrupted")}db.tables=db.data.tables;if(!alasql.options.autocommit){if(db.tables){for(var tbid in db.tables){db.tables[tbid].data=db.data[tbid]}}}if(cb)res=cb(res)});return res};FS.createTable=function(databaseid,tableid,ifnotexists,cb){var db=alasql.databases[databaseid];var tb=db.data[tableid];var res=1;if(tb&&!ifnotexists){throw new Error('Table "'+tableid+'" alsready exists in the database "'+fsdbid+'"')}var table=alasql.databases[databaseid].tables[tableid];db.data.tables[tableid]={columns:table.columns};db.data[tableid]=[];FS.updateFile(databaseid);if(cb)cb(res);return res};FS.updateFile=function(databaseid){var db=alasql.databases[databaseid];if(db.issaving){db.postsave=true;return}db.issaving=true;db.postsave=false;alasql.utils.saveFile(db.filename,JSON.stringify(db.data),function(){db.issaving=false;if(db.postsave){setTimeout(function(){FS.updateFile(databaseid)},50)}})};FS.dropTable=function(databaseid,tableid,ifexists,cb){var res=1;var db=alasql.databases[databaseid];if(!ifexists&&!db.tables[tableid]){throw new Error('Cannot drop table "'+tableid+'" in fileStorage, because it does not exist')}delete db.tables[tableid];delete db.data.tables[tableid];delete db.data[tableid];FS.updateFile(databaseid);if(cb)cb(res);return res};FS.fromTable=function(databaseid,tableid,cb,idx,query){var db=alasql.databases[databaseid];var res=db.data[tableid];if(cb)res=cb(res,idx,query);return res};FS.intoTable=function(databaseid,tableid,value,columns,cb){var db=alasql.databases[databaseid];var res=value.length;var tb=db.data[tableid];if(!tb)tb=[];db.data[tableid]=tb.concat(value);FS.updateFile(databaseid);if(cb)cb(res);return res};FS.loadTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];db.tables[tableid].data=db.data[tableid]};FS.saveTableData=function(databaseid,tableid){var db=alasql.databases[databaseid];db.data[tableid]=db.tables[tableid].data;db.tables[tableid].data=null;FS.updateFile(databaseid)};FS.commit=function(databaseid,cb){var db=alasql.databases[databaseid];var fsdb={tables:{}};if(db.tables){for(var tbid in db.tables){db.data.tables[tbid]={columns:db.tables[tbid].columns};db.data[tbid]=db.tables[tbid].data}}FS.updateFile(databaseid);return 1};FS.begin=FS.commit;FS.rollback=function(databaseid,cb){var res=1;var db=alasql.databases[databaseid];db.dbversion++;wait();function wait(){setTimeout(function(){if(db.issaving){return wait()}else{alasql.loadFile(db.filename,!!cb,function(data){db.data=data;db.tables={};for(var tbid in db.data.tables){var tb=new alasql.Table({columns:db.data.tables[tbid].columns});extend(tb,db.data.tables[tbid]);db.tables[tbid]=tb;if(!alasql.options.autocommit){db.tables[tbid].data=db.data[tbid]}db.tables[tbid].indexColumns()}delete alasql.databases[databaseid];alasql.databases[databaseid]=new alasql.Database(databaseid);extend(alasql.databases[databaseid],db);alasql.databases[databaseid].engineid="FILESTORAGE";alasql.databases[databaseid].filename=db.filename;if(cb)res=cb(res)})}},100)}};if(typeof exports!="object"&&typeof importScripts!="function"&&typeof document=="object"){var saveAs=saveAs||typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link="download"in save_link,click=function(node){var event=doc.createEvent("MouseEvents");event.initMouseEvent("click",true,false,view,0,0,0,0,0,false,false,false,false,0,null);node.dispatchEvent(event)},webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},force_saveable_type="application/octet-stream",fs_min_size=0,arbitrary_revoke_timeout=500,revoke=function(file){var revoker=function(){if(typeof file==="string"){get_URL().revokeObjectURL(file)
|