From 5e17d5d4c9f93a9d6ea463ea9cd999150bc704e2 Mon Sep 17 00:00:00 2001 From: "DESKTOP-EA3UTGO\\ujjwal" Date: Sat, 13 Oct 2018 16:29:52 +0530 Subject: [PATCH] release v 1.0.1 --- dist/grammar.pegjs | 755 +++ dist/parser.js | 7990 ++++++++++++++++++++++++++ dist/sqlweb.commonjs2.js | 8313 ++++++++++++++++++++++++++++ dist/sqlweb.commonjs2.js.map | 1 + dist/sqlweb.js | 8313 ++++++++++++++++++++++++++++ dist/sqlweb.js.map | 1 + dist/sqlweb.min.js | 6 + dist/src/ts/code/config.d.ts | 3 + dist/src/ts/code/enums.d.ts | 3 + dist/src/ts/code/helper.d.ts | 0 dist/src/ts/code/index.d.ts | 2 + dist/src/ts/code/instance.d.ts | 14 + dist/src/ts/code/interfaces.d.ts | 5 + dist/src/ts/code/log_helper.d.ts | 13 + dist/src/ts/code/query.d.ts | 8 + dist/src/ts/code/util.d.ts | 4 + dist/src/ts/test/example.test.d.ts | 0 package-lock.json | 69 +- package.json | 7 +- src/deploy_helper.js | 6 + src/helper.js | 17 + src/license.js | 2 +- src/test/karma.config.prod.js | 2 +- 23 files changed, 25529 insertions(+), 5 deletions(-) create mode 100644 dist/grammar.pegjs create mode 100644 dist/parser.js create mode 100644 dist/sqlweb.commonjs2.js create mode 100644 dist/sqlweb.commonjs2.js.map create mode 100644 dist/sqlweb.js create mode 100644 dist/sqlweb.js.map create mode 100644 dist/sqlweb.min.js create mode 100644 dist/src/ts/code/config.d.ts create mode 100644 dist/src/ts/code/enums.d.ts create mode 100644 dist/src/ts/code/helper.d.ts create mode 100644 dist/src/ts/code/index.d.ts create mode 100644 dist/src/ts/code/instance.d.ts create mode 100644 dist/src/ts/code/interfaces.d.ts create mode 100644 dist/src/ts/code/log_helper.d.ts create mode 100644 dist/src/ts/code/query.d.ts create mode 100644 dist/src/ts/code/util.d.ts create mode 100644 dist/src/ts/test/example.test.d.ts create mode 100644 src/deploy_helper.js create mode 100644 src/helper.js diff --git a/dist/grammar.pegjs b/dist/grammar.pegjs new file mode 100644 index 0000000..dcb0322 --- /dev/null +++ b/dist/grammar.pegjs @@ -0,0 +1,755 @@ +query = selectQuery/countQuery/insertQuery/updateQuery/removeQuery/createQuery/openQuery/isDbExistQuery ; + +createQuery = db:createDbQuery tables:createTableQuery* { + db.tables=tables + return { + api:'createDb', + data:db + } +} + +createDbQuery = DEFINE _* (DATABASE/DB) _* name:dbName ";"? { + return { + name:name + } +} + +createTableQuery = DEFINE _* (TABLE) _* table:tableName _* "(" _* first:firstColumnDef all:betweenColumnDef* _* ")" _* ver:version? ";"? _* { + all.push(first); + var versionData = ver==null?null:ver['version']; + return { + name: table, + columns : all, + version: versionData + } +} + +firstColumnDef = columnDef; + +betweenColumnDef = _* "," _* def: columnDef { + return def; +} + +columnDef = name:column _* options:columnOption* { + var defaultValue = { + name:name, + unique:false, + autoIncrement:false, + default:null, + notNull:false, + dataType:null, + primaryKey:false, + multiEntry:false, + enableSearch:true + } + options.forEach(option=>{ + var key = Object.keys(option)[0]; + defaultValue[key] = option[key]; + }); + return defaultValue; +} + +columnOption = option:columnOpts _*{ + return option; +} + +columnOpts = dataType/autoIncrement/notNull/default/unique/primaryKey/multiEntry/enableSearch/disableSearch; + +autoIncrement = AUTOINCREMENT { + return { + autoIncrement:true + } +} + +notNull = NOTNULL { + return { + notNull:true + } +} + +default = DEFAULT _* val: value { + return { + default:val + } +} + +dataType = type: (STRING/NUMBER/OBJECT/ARRAY/BOOLEAN/DATETIME) { + return { + dataType:type.join('').toLowerCase() + } +} + +unique = UNIQUE { + return { + unique:true + } +} + +primaryKey = PRIMARYKEY { + return { + primaryKey:true + } +} + +multiEntry = MULTIENTRY { + return { + multiEntry:true + } +} + +enableSearch = ENABLESEARCH { + return { + enableSearch:true + } +} + +disableSearch = DISABLESEARCH { + return { + enableSearch:false + } +} + +version = VERSION _* val:Number { + return { + version:val + } +} +insertQuery = INSERT _ INTO _ table: tableName _* VALUES _* insertValue: valueTypes _* options: insertOptions* { + var skipDataCheck = false; + var returnValue = false; + options.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skipDataCheck': + skipDataCheck = val[key]; break; + case 'return': + returnValue = val[key]; break; + } + }); + return { + api: 'insert', + data: { + into: table, + values: insertValue, + skipDataCheck: skipDataCheck, + return : returnValue + } + } +} + +valueTypes = insertWithEqual/insertWithParanthesis ; + +insertWithParanthesis = "({" _* first:keyValueSepByColumn _* rest:insertWithParanthesisBetweenVal* _* "})" { + var obj = { + [first.key]: first.value + } + if(rest!=null){ + rest.forEach(item=>{ + obj[item.key] = item.value + }) + } + return [obj]; +} + +insertWithParanthesisBetweenVal = ","_* val:keyValueSepByColumn { + return val; +} + +keyValueSepByColumn = key:column _*":"_* val: value { + return { + key:key, + value:val + } +} + +insertWithEqual = "=" insertValue: value { + return insertValue; +} + +insertOptions = option:(skipDataCheck/return)_* { + return { + [option]:true + } +} + +skipDataCheck = SKIPDATACHECK { + return 'skipDataCheck'; +} + +return = RETURN{ + return 'return'; +} + + + + +removeQuery = (REMOVE/DELETE) _* FROM _ table:tableName _* where:whereQry? _* +option:(ignoreCase)* { + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'remove', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase + } + } +} + + + +countQuery = COUNT _ ("*"_)? FROM _ table:tableName _* where:whereQry? _* +option:(distinct/ignoreCase/groupBy)* { + var ignoreCase =false; + var distinct = false; + var groupBy = null; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'count', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase, + distinct : distinct, + groupBy:groupBy + } + } +} + + +selectQuery = SELECT _ aggr:aggregateQry ? FROM _ table:tableName _* where:whereQry? _* +option:(skip/limit/distinct/ignoreCase/orderBy/groupBy)* { + var skip=null; + var limit=null; + var ignoreCase =false; + var distinct = false; + var order = null; + var groupBy = null; + var aggregate = aggr; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skip': + skip= val[key]; break; + case 'limit': + limit= val[key]; break; + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'order': + order = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'select', + data:{ + from:table, + where:where, + skip:skip, + limit:limit, + ignoreCase: ignoreCase, + distinct : distinct, + order:order, + groupBy:groupBy, + aggregate : aggr + } + } +} + +aggregateQry = ("*"_)/ aggr: aggregate _ { + return aggr[0]; +} + +aggregate = AGGREGATE _* "[" _* first: aggregateType _* rest: inBetweenAggregateColumn* _* "]" { + rest.splice(0,0,first); + return rest; +} + +aggregateType = minAggregate/ maxAggregate/avgAggregate/countAggregate/sumAggregate + +maxAggregate = MAX _* "(" _* first: column _* rest:inBetweenParanthesisColumn* _* ")" { + rest.splice(0,0,first); + return { + max : rest + } +} + +minAggregate = MIN _* "(" _* first: column _* rest:inBetweenParanthesisColumn* _* ")" { + rest.splice(0,0,first); + return { + min : rest + } +} + +avgAggregate = AVG _* "(" _* first: column _* rest:inBetweenParanthesisColumn* _* ")" { + rest.splice(0,0,first); + return { + avg : rest + } +} + +countAggregate = COUNT _* "(" _* first: column _* rest:inBetweenParanthesisColumn* _* ")" { + rest.splice(0,0,first); + return { + count : rest + } +} + +sumAggregate = SUM _* "(" _* first: column _* rest:inBetweenParanthesisColumn* _* ")" { + rest.splice(0,0,first); + return { + sum : rest + } +} + +groupBy = GROUP _ BY _ first:column rest:groupByRestValue* _* { + return { + groupBy:[first,...rest] + } ; +} + +groupByRestValue = _* "," _* val:column _*{ + return val; +} + +orderBy= by:orderByValue type:orderByType?{ + return { + order: { + by:by, + type: type + } + }; +} + +orderByValue = ORDER _ BY _ by:column { + return by; +} + +orderByType = _ type: OrderByTypes _* { + return type; +} + +distinct= DISTINCT _? { + return { + distinct: true + }; +} + +ignoreCase= IGNORECASE _? { + return { + ignoreCase: true + }; +} + +skip = SKIP _ val:Number _? { + return { + skip: val + }; +} + + +limit= LIMIT _ val:Number _? { + return { + limit: val + }; +} + +whereQry= WHERE _ where : whereitems { + return where; +} + +whereitems = item1:(whereQryWithoutParanthesis/whereQryWithParanthesis) item2:joinWhereItems*{ + if(!Array.isArray(item1)){ + item1=[item1]; + } + if(item2!=null){ + var pushInItem1=(item)=>{ + item1.push(item); + } + if(Array.isArray(item1)){ + item2.forEach(item=>{ + if(Array.isArray(item)){ + item.forEach(subItem=>{ + pushInItem1(subItem); + }); + } + else{ + pushInItem1(item) + } + }); + } + } + return item1; +} + +joinWhereItems = _ op:JoinOp _* where:(whereQryWithoutParanthesis/whereQryWithParanthesis) { + + if(op==='|'){ + var obj={}; + if(Array.isArray(where)){ + where.forEach(val=>{ + obj={...obj,...val} + }); + } + else{ + obj = where; + } + return { + or:obj + } + } + + return where; +} + +whereQryWithoutParanthesis = fw: firstWhere jw:joinWhereItem* { + if(jw==null){ + return fw + } + else{ + jw.splice(0,0,fw); + return jw; + } +} + +whereQryWithParanthesis = "(" _* fw: firstWhere jw:joinWhereItem* _* ")" { + if(jw==null){ + return fw; + } + else{ + var query= fw; + jw.forEach(qry=>{ + var key = Object.keys(qry)[0]; + if(key==='or'){ + if(query.or==null){ + query.or={}; + } + var orKey = Object.keys(qry[key])[0]; + query.or[orKey]= qry[key][orKey]; + } + else{ + query[key]=qry[key]; + } + }) + return query; + } +} + +firstWhere = whereItem + +joinWhereItem = _ op:JoinOp _ item:whereItem { + if(op==='|'){ + return { + or: item + } + } + return item; +} + +whereItem = equalToItem/likeItem/inItem/operatorItem/betweenItem + +equalToItem = col:column _* "=" _* val:value { + return { + [col]:val + } +} + +operatorItem = col:column _* op:(("!=")/(">=")/("<=")/(">")/("<")) _* val:value { + return { + [col]:{ + [op]:val + } + } +} + +betweenItem = col:column _* BETWEEN _* "(" _* low:value _* "," _* high: value _* ")" { + return { + [col]:{ + '-':{ + low : low, + high : high + } + } + } +} + +inItem = col:column _* IN _* "(" _* +first:value _* +betweens:inBetweenParanthesisItem* ")" { + return { + [col]:{ + in:[first,...betweens] + } + } +} + +inBetweenParanthesisColumn = "," _* val:column _*{ + return val; +} + +inBetweenAggregateColumn = "," _* val:aggregateType _*{ + return val; +} + +inBetweenParanthesisItem = "," _* val:value _*{ + return val; +} + +likeItem = col:column _* LIKE _* val:likeType { + return { + [col]:{ + like:val.join('') + } + } +} + +likeType = (('%'_* value _* '%')/('%'_* value)/(value _* '%')) + +value "column value"= val:ColumnValue+ { + var value=val.join(""); + if(value[0]=== "'" && value[value.length-1] === "'"){ + return value.substr(1,value.length-2); + } + var number = Number(value); + if(isNaN(number)) + return value; + else + return number; +} + + +updateQuery = UPDATE _ table:tableName _* SET _* set: updateValue _* where:whereQry? _* option:(ignoreCase)* { + + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'update', + data:{ + in:table, + set:set, + where:where, + ignoreCase: ignoreCase + } + } +} + +updateValue = first:equalToItem _* rest:updateValueBetweenItem* _* { + rest.forEach(val=>{ + first = {...first,...val}; + }); + return first; +} + + +updateValueBetweenItem = "," _* val:equalToItem _*{ + return val; +} + +openQuery = OPENDB _* name:dbName { + return { + api:'openDb', + data:name + } +} + +isDbExistQuery = ISDBEXIST _* name:dbName _* tblInfo: tableInfo? { + var result = { + api:'isDbExist' + } + if(tblInfo==null){ + result.data=name; + } + else{ + result.data={ + dbName:name, + table:tblInfo + } + } + return result; +} + +tableInfo = TABLE _* table:tableName _* ver:version { + return { + name:table, + version:ver + } +} + +tableName "table name" = Word + +dbName "database name" = Word + +column "column" = Word; + +JoinOp= And/Or; + +OrderByTypes "order type" = "asc"/"desc" ; + +And = "&"; + +Or = "|"; + +ColumnValue=[a-zA-Z0-9@_'] + +Word = l:Letter+ {return l.join("");} + +WordAndNumber = [a-zA-Z0-9] + +Letter = [a-zA-Z] + +Number= d:Digit+ {return Number(d.join(""))} + +Digit=[0-9] + +Ws "Whitespace" = [ \t]; + +_ "One or more whitespaces" = space:Ws+ {return null;} + +A = [aA]; +B= [bB]; +C = [cC]; +D= [dD]; +E = [eE]; +F = [fF]; +G = [gG]; +H =[hH]; +I =[iI]; +J =[jJ]; +K =[kK]; +L =[lL]; +M =[mM]; +N =[nN]; +O = [oO]; +P =[pP]; +Q= [qQ]; +R =[rR]; +S =[sS]; +T = [tT]; +U =[uU]; +V = [vV]; +W =[wW]; +X =[xX]; +Y = [yY]; +Z =[zZ];MIN "min" = M I N + +MAX "max" = M A X + +AVG "avg" = A V G + +COUNT "count" = C O U N T + +SUM "sum" = S U M + +AGGREGATE "aggregate" = A G G R E G A T E + +BETWEEN "between" = B E T W E E N + +IN "in" = I N + +LIKE "like" = L I K E + +SELECT "select" = S E L E C T + +IGNORECASE "ignoreCase" = I G N O R E C A S E + +DISTINCT "distinct" = D I S T I N C T + +ORDER "order" = O R D E R + +BY "by" = B Y + +FROM "from" = F R O M + +GROUP "group" = G R O U P + +LIMIT "limit" = L I M I T + +SKIP "skip" = S K I P + +WHERE "where"= W H E R E + +INSERT "insert" = I N S E R T + +INTO "into" = I N T O + +RETURN "return" = R E T U R N ; + +VALUES "values"= V A L U E S ; + +SKIPDATACHECK "skipdatacheck" = S K I P D A T A C H E C K ; + +UPDATE "update" = U P D A T E; + +SET "set" = S E T; + +REMOVE "remove" = R E M O V E; + +DELETE "delete" = D E L E T E; + +VERSION "version" = V E R S I O N; + +ENABLESEARCH "enablesearch" = E N A B L E S E A R C H; + +MULTIENTRY "multiEntry" = M U L T I E N T R Y; + +PRIMARYKEY "primarykey" = P R I M A R Y K E Y; + +UNIQUE "unique" = U N I Q U E; + +STRING "string" = S T R I N G; + +NUMBER "number" = N U M B E R; + +OBJECT "object" = O B J E C T; + +ARRAY "array" = A R R A Y; + +BOOLEAN "boolean" = B O O L E A N; + +DATETIME "date_time" = D A T E "_" T I M E; + +AUTOINCREMENT "autoincrement" = A U T O I N C R E M E N T; + +NOTNULL "notnull" = N O T N U L L; + +DEFAULT "default" = D E F A U L T; + +DEFINE "define" = D E F I N E; + +DATABASE "database" = D A T A B A S E; + +TABLE "table" = T A B L E; + +DB "db" = D B; + +ISDBEXIST "isDbExist" = I S D B E X I S T; + +OPENDB "openDb" = O P E N D B; + +DISABLESEARCH "disablesearch" = D I S A B L E S E A R C H; \ No newline at end of file diff --git a/dist/parser.js b/dist/parser.js new file mode 100644 index 0000000..6f71a07 --- /dev/null +++ b/dist/parser.js @@ -0,0 +1,7990 @@ +/* + * Generated by PEG.js 0.10.0. + * + * http://pegjs.org/ + */ + +"use strict"; + +function peg$subclass(child, parent) { + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor(); +} + +function peg$SyntaxError(message, expected, found, location) { + this.message = message; + this.expected = expected; + this.found = found; + this.location = location; + this.name = "SyntaxError"; + + if (typeof Error.captureStackTrace === "function") { + Error.captureStackTrace(this, peg$SyntaxError); + } +} + +peg$subclass(peg$SyntaxError, Error); + +peg$SyntaxError.buildMessage = function(expected, found) { + var DESCRIBE_EXPECTATION_FNS = { + literal: function(expectation) { + return "\"" + literalEscape(expectation.text) + "\""; + }, + + "class": function(expectation) { + var escapedParts = "", + i; + + for (i = 0; i < expectation.parts.length; i++) { + escapedParts += expectation.parts[i] instanceof Array + ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) + : classEscape(expectation.parts[i]); + } + + return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; + }, + + any: function(expectation) { + return "any character"; + }, + + end: function(expectation) { + return "end of input"; + }, + + other: function(expectation) { + return expectation.description; + } + }; + + function hex(ch) { + return ch.charCodeAt(0).toString(16).toUpperCase(); + } + + function literalEscape(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\0/g, '\\0') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); + } + + function classEscape(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/\]/g, '\\]') + .replace(/\^/g, '\\^') + .replace(/-/g, '\\-') + .replace(/\0/g, '\\0') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); + } + + function describeExpectation(expectation) { + return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); + } + + function describeExpected(expected) { + var descriptions = new Array(expected.length), + i, j; + + for (i = 0; i < expected.length; i++) { + descriptions[i] = describeExpectation(expected[i]); + } + + descriptions.sort(); + + if (descriptions.length > 0) { + for (i = 1, j = 1; i < descriptions.length; i++) { + if (descriptions[i - 1] !== descriptions[i]) { + descriptions[j] = descriptions[i]; + j++; + } + } + descriptions.length = j; + } + + switch (descriptions.length) { + case 1: + return descriptions[0]; + + case 2: + return descriptions[0] + " or " + descriptions[1]; + + default: + return descriptions.slice(0, -1).join(", ") + + ", or " + + descriptions[descriptions.length - 1]; + } + } + + function describeFound(found) { + return found ? "\"" + literalEscape(found) + "\"" : "end of input"; + } + + return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; +}; + +function peg$parse(input, options) { + options = options !== void 0 ? options : {}; + + var peg$FAILED = {}, + + peg$startRuleFunctions = { query: peg$parsequery }, + peg$startRuleFunction = peg$parsequery, + + peg$c0 = function(db, tables) { + db.tables=tables + return { + api:'createDb', + data:db + } + }, + peg$c1 = ";", + peg$c2 = peg$literalExpectation(";", false), + peg$c3 = function(name) { + return { + name:name + } + }, + peg$c4 = "(", + peg$c5 = peg$literalExpectation("(", false), + peg$c6 = ")", + peg$c7 = peg$literalExpectation(")", false), + peg$c8 = function(table, first, all, ver) { + all.push(first); + var versionData = ver==null?null:ver['version']; + return { + name: table, + columns : all, + version: versionData + } + }, + peg$c9 = ",", + peg$c10 = peg$literalExpectation(",", false), + peg$c11 = function(def) { + return def; + }, + peg$c12 = function(name, options) { + var defaultValue = { + name:name, + unique:false, + autoIncrement:false, + default:null, + notNull:false, + dataType:null, + primaryKey:false, + multiEntry:false, + enableSearch:true + } + options.forEach(option=>{ + var key = Object.keys(option)[0]; + defaultValue[key] = option[key]; + }); + return defaultValue; + }, + peg$c13 = function(option) { + return option; + }, + peg$c14 = function() { + return { + autoIncrement:true + } + }, + peg$c15 = function() { + return { + notNull:true + } + }, + peg$c16 = function(val) { + return { + default:val + } + }, + peg$c17 = function(type) { + return { + dataType:type.join('').toLowerCase() + } + }, + peg$c18 = function() { + return { + unique:true + } + }, + peg$c19 = function() { + return { + primaryKey:true + } + }, + peg$c20 = function() { + return { + multiEntry:true + } + }, + peg$c21 = function() { + return { + enableSearch:true + } + }, + peg$c22 = function() { + return { + enableSearch:false + } + }, + peg$c23 = function(val) { + return { + version:val + } + }, + peg$c24 = function(table, insertValue, options) { + var skipDataCheck = false; + var returnValue = false; + options.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skipDataCheck': + skipDataCheck = val[key]; break; + case 'return': + returnValue = val[key]; break; + } + }); + return { + api: 'insert', + data: { + into: table, + values: insertValue, + skipDataCheck: skipDataCheck, + return : returnValue + } + } + }, + peg$c25 = "({", + peg$c26 = peg$literalExpectation("({", false), + peg$c27 = "})", + peg$c28 = peg$literalExpectation("})", false), + peg$c29 = function(first, rest) { + var obj = { + [first.key]: first.value + } + if(rest!=null){ + rest.forEach(item=>{ + obj[item.key] = item.value + }) + } + return [obj]; + }, + peg$c30 = function(val) { + return val; + }, + peg$c31 = ":", + peg$c32 = peg$literalExpectation(":", false), + peg$c33 = function(key, val) { + return { + key:key, + value:val + } + }, + peg$c34 = "=", + peg$c35 = peg$literalExpectation("=", false), + peg$c36 = function(insertValue) { + return insertValue; + }, + peg$c37 = function(option) { + return { + [option]:true + } + }, + peg$c38 = function() { + return 'skipDataCheck'; + }, + peg$c39 = function() { + return 'return'; + }, + peg$c40 = function(table, where, option) { + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'remove', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase + } + } + }, + peg$c41 = "*", + peg$c42 = peg$literalExpectation("*", false), + peg$c43 = function(table, where, option) { + var ignoreCase =false; + var distinct = false; + var groupBy = null; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'count', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase, + distinct : distinct, + groupBy:groupBy + } + } + }, + peg$c44 = function(aggr, table, where, option) { + var skip=null; + var limit=null; + var ignoreCase =false; + var distinct = false; + var order = null; + var groupBy = null; + var aggregate = aggr; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skip': + skip= val[key]; break; + case 'limit': + limit= val[key]; break; + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'order': + order = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'select', + data:{ + from:table, + where:where, + skip:skip, + limit:limit, + ignoreCase: ignoreCase, + distinct : distinct, + order:order, + groupBy:groupBy, + aggregate : aggr + } + } + }, + peg$c45 = function(aggr) { + return aggr[0]; + }, + peg$c46 = "[", + peg$c47 = peg$literalExpectation("[", false), + peg$c48 = "]", + peg$c49 = peg$literalExpectation("]", false), + peg$c50 = function(first, rest) { + rest.splice(0,0,first); + return rest; + }, + peg$c51 = function(first, rest) { + rest.splice(0,0,first); + return { + max : rest + } + }, + peg$c52 = function(first, rest) { + rest.splice(0,0,first); + return { + min : rest + } + }, + peg$c53 = function(first, rest) { + rest.splice(0,0,first); + return { + avg : rest + } + }, + peg$c54 = function(first, rest) { + rest.splice(0,0,first); + return { + count : rest + } + }, + peg$c55 = function(first, rest) { + rest.splice(0,0,first); + return { + sum : rest + } + }, + peg$c56 = function(first, rest) { + return { + groupBy:[first,...rest] + } ; + }, + peg$c57 = function(val) { + return val; + }, + peg$c58 = function(by, type) { + return { + order: { + by:by, + type: type + } + }; + }, + peg$c59 = function(by) { + return by; + }, + peg$c60 = function(type) { + return type; + }, + peg$c61 = function() { + return { + distinct: true + }; + }, + peg$c62 = function() { + return { + ignoreCase: true + }; + }, + peg$c63 = function(val) { + return { + skip: val + }; + }, + peg$c64 = function(val) { + return { + limit: val + }; + }, + peg$c65 = function(where) { + return where; + }, + peg$c66 = function(item1, item2) { + if(!Array.isArray(item1)){ + item1=[item1]; + } + if(item2!=null){ + var pushInItem1=(item)=>{ + item1.push(item); + } + if(Array.isArray(item1)){ + item2.forEach(item=>{ + if(Array.isArray(item)){ + item.forEach(subItem=>{ + pushInItem1(subItem); + }); + } + else{ + pushInItem1(item) + } + }); + } + } + return item1; + }, + peg$c67 = function(op, where) { + + if(op==='|'){ + var obj={}; + if(Array.isArray(where)){ + where.forEach(val=>{ + obj={...obj,...val} + }); + } + else{ + obj = where; + } + return { + or:obj + } + } + + return where; + }, + peg$c68 = function(fw, jw) { + if(jw==null){ + return fw + } + else{ + jw.splice(0,0,fw); + return jw; + } + }, + peg$c69 = function(fw, jw) { + if(jw==null){ + return fw; + } + else{ + var query= fw; + jw.forEach(qry=>{ + var key = Object.keys(qry)[0]; + if(key==='or'){ + if(query.or==null){ + query.or={}; + } + var orKey = Object.keys(qry[key])[0]; + query.or[orKey]= qry[key][orKey]; + } + else{ + query[key]=qry[key]; + } + }) + return query; + } + }, + peg$c70 = function(op, item) { + if(op==='|'){ + return { + or: item + } + } + return item; + }, + peg$c71 = function(col, val) { + return { + [col]:val + } + }, + peg$c72 = "!=", + peg$c73 = peg$literalExpectation("!=", false), + peg$c74 = ">=", + peg$c75 = peg$literalExpectation(">=", false), + peg$c76 = "<=", + peg$c77 = peg$literalExpectation("<=", false), + peg$c78 = ">", + peg$c79 = peg$literalExpectation(">", false), + peg$c80 = "<", + peg$c81 = peg$literalExpectation("<", false), + peg$c82 = function(col, op, val) { + return { + [col]:{ + [op]:val + } + } + }, + peg$c83 = function(col, low, high) { + return { + [col]:{ + '-':{ + low : low, + high : high + } + } + } + }, + peg$c84 = function(col, first, betweens) { + return { + [col]:{ + in:[first,...betweens] + } + } + }, + peg$c85 = function(col, val) { + return { + [col]:{ + like:val.join('') + } + } + }, + peg$c86 = "%", + peg$c87 = peg$literalExpectation("%", false), + peg$c88 = peg$otherExpectation("column value"), + peg$c89 = function(val) { + var value=val.join(""); + if(value[0]=== "'" && value[value.length-1] === "'"){ + return value.substr(1,value.length-2); + } + var number = Number(value); + if(isNaN(number)) + return value; + else + return number; + }, + peg$c90 = function(table, set, where, option) { + + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'update', + data:{ + in:table, + set:set, + where:where, + ignoreCase: ignoreCase + } + } + }, + peg$c91 = function(first, rest) { + rest.forEach(val=>{ + first = {...first,...val}; + }); + return first; + }, + peg$c92 = function(val) { + return val; + }, + peg$c93 = function(name) { + return { + api:'openDb', + data:name + } + }, + peg$c94 = function(name, tblInfo) { + var result = { + api:'isDbExist' + } + if(tblInfo==null){ + result.data=name; + } + else{ + result.data={ + dbName:name, + table:tblInfo + } + } + return result; + }, + peg$c95 = function(table, ver) { + return { + name:table, + version:ver + } + }, + peg$c96 = peg$otherExpectation("table name"), + peg$c97 = peg$otherExpectation("database name"), + peg$c98 = peg$otherExpectation("column"), + peg$c99 = peg$otherExpectation("order type"), + peg$c100 = "asc", + peg$c101 = peg$literalExpectation("asc", false), + peg$c102 = "desc", + peg$c103 = peg$literalExpectation("desc", false), + peg$c104 = "&", + peg$c105 = peg$literalExpectation("&", false), + peg$c106 = "|", + peg$c107 = peg$literalExpectation("|", false), + peg$c108 = /^[a-zA-Z0-9@_']/, + peg$c109 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "@", "_", "'"], false, false), + peg$c110 = function(l) {return l.join("");}, + peg$c111 = /^[a-zA-Z0-9]/, + peg$c112 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"]], false, false), + peg$c113 = /^[a-zA-Z]/, + peg$c114 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false), + peg$c115 = function(d) {return Number(d.join(""))}, + peg$c116 = /^[0-9]/, + peg$c117 = peg$classExpectation([["0", "9"]], false, false), + peg$c118 = peg$otherExpectation("Whitespace"), + peg$c119 = /^[ \t]/, + peg$c120 = peg$classExpectation([" ", "\t"], false, false), + peg$c121 = peg$otherExpectation("One or more whitespaces"), + peg$c122 = function(space) {return null;}, + peg$c123 = /^[aA]/, + peg$c124 = peg$classExpectation(["a", "A"], false, false), + peg$c125 = /^[bB]/, + peg$c126 = peg$classExpectation(["b", "B"], false, false), + peg$c127 = /^[cC]/, + peg$c128 = peg$classExpectation(["c", "C"], false, false), + peg$c129 = /^[dD]/, + peg$c130 = peg$classExpectation(["d", "D"], false, false), + peg$c131 = /^[eE]/, + peg$c132 = peg$classExpectation(["e", "E"], false, false), + peg$c133 = /^[fF]/, + peg$c134 = peg$classExpectation(["f", "F"], false, false), + peg$c135 = /^[gG]/, + peg$c136 = peg$classExpectation(["g", "G"], false, false), + peg$c137 = /^[hH]/, + peg$c138 = peg$classExpectation(["h", "H"], false, false), + peg$c139 = /^[iI]/, + peg$c140 = peg$classExpectation(["i", "I"], false, false), + peg$c141 = /^[jJ]/, + peg$c142 = peg$classExpectation(["j", "J"], false, false), + peg$c143 = /^[kK]/, + peg$c144 = peg$classExpectation(["k", "K"], false, false), + peg$c145 = /^[lL]/, + peg$c146 = peg$classExpectation(["l", "L"], false, false), + peg$c147 = /^[mM]/, + peg$c148 = peg$classExpectation(["m", "M"], false, false), + peg$c149 = /^[nN]/, + peg$c150 = peg$classExpectation(["n", "N"], false, false), + peg$c151 = /^[oO]/, + peg$c152 = peg$classExpectation(["o", "O"], false, false), + peg$c153 = /^[pP]/, + peg$c154 = peg$classExpectation(["p", "P"], false, false), + peg$c155 = /^[qQ]/, + peg$c156 = peg$classExpectation(["q", "Q"], false, false), + peg$c157 = /^[rR]/, + peg$c158 = peg$classExpectation(["r", "R"], false, false), + peg$c159 = /^[sS]/, + peg$c160 = peg$classExpectation(["s", "S"], false, false), + peg$c161 = /^[tT]/, + peg$c162 = peg$classExpectation(["t", "T"], false, false), + peg$c163 = /^[uU]/, + peg$c164 = peg$classExpectation(["u", "U"], false, false), + peg$c165 = /^[vV]/, + peg$c166 = peg$classExpectation(["v", "V"], false, false), + peg$c167 = /^[wW]/, + peg$c168 = peg$classExpectation(["w", "W"], false, false), + peg$c169 = /^[xX]/, + peg$c170 = peg$classExpectation(["x", "X"], false, false), + peg$c171 = /^[yY]/, + peg$c172 = peg$classExpectation(["y", "Y"], false, false), + peg$c173 = /^[zZ]/, + peg$c174 = peg$classExpectation(["z", "Z"], false, false), + peg$c175 = peg$otherExpectation("min"), + peg$c176 = peg$otherExpectation("max"), + peg$c177 = peg$otherExpectation("avg"), + peg$c178 = peg$otherExpectation("count"), + peg$c179 = peg$otherExpectation("sum"), + peg$c180 = peg$otherExpectation("aggregate"), + peg$c181 = peg$otherExpectation("between"), + peg$c182 = peg$otherExpectation("in"), + peg$c183 = peg$otherExpectation("like"), + peg$c184 = peg$otherExpectation("select"), + peg$c185 = peg$otherExpectation("ignoreCase"), + peg$c186 = peg$otherExpectation("distinct"), + peg$c187 = peg$otherExpectation("order"), + peg$c188 = peg$otherExpectation("by"), + peg$c189 = peg$otherExpectation("from"), + peg$c190 = peg$otherExpectation("group"), + peg$c191 = peg$otherExpectation("limit"), + peg$c192 = peg$otherExpectation("skip"), + peg$c193 = peg$otherExpectation("where"), + peg$c194 = peg$otherExpectation("insert"), + peg$c195 = peg$otherExpectation("into"), + peg$c196 = peg$otherExpectation("return"), + peg$c197 = peg$otherExpectation("values"), + peg$c198 = peg$otherExpectation("skipdatacheck"), + peg$c199 = peg$otherExpectation("update"), + peg$c200 = peg$otherExpectation("set"), + peg$c201 = peg$otherExpectation("remove"), + peg$c202 = peg$otherExpectation("delete"), + peg$c203 = peg$otherExpectation("version"), + peg$c204 = peg$otherExpectation("enablesearch"), + peg$c205 = peg$otherExpectation("multiEntry"), + peg$c206 = peg$otherExpectation("primarykey"), + peg$c207 = peg$otherExpectation("unique"), + peg$c208 = peg$otherExpectation("string"), + peg$c209 = peg$otherExpectation("number"), + peg$c210 = peg$otherExpectation("object"), + peg$c211 = peg$otherExpectation("array"), + peg$c212 = peg$otherExpectation("boolean"), + peg$c213 = peg$otherExpectation("date_time"), + peg$c214 = "_", + peg$c215 = peg$literalExpectation("_", false), + peg$c216 = peg$otherExpectation("autoincrement"), + peg$c217 = peg$otherExpectation("notnull"), + peg$c218 = peg$otherExpectation("default"), + peg$c219 = peg$otherExpectation("define"), + peg$c220 = peg$otherExpectation("database"), + peg$c221 = peg$otherExpectation("table"), + peg$c222 = peg$otherExpectation("db"), + peg$c223 = peg$otherExpectation("isDbExist"), + peg$c224 = peg$otherExpectation("openDb"), + peg$c225 = peg$otherExpectation("disablesearch"), + + peg$currPos = 0, + peg$savedPos = 0, + peg$posDetailsCache = [{ line: 1, column: 1 }], + peg$maxFailPos = 0, + peg$maxFailExpected = [], + peg$silentFails = 0, + + peg$result; + + if ("startRule" in options) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$savedPos, peg$currPos); + } + + function location() { + return peg$computeLocation(peg$savedPos, peg$currPos); + } + + function expected(description, location) { + location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) + + throw peg$buildStructuredError( + [peg$otherExpectation(description)], + input.substring(peg$savedPos, peg$currPos), + location + ); + } + + function error(message, location) { + location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) + + throw peg$buildSimpleError(message, location); + } + + function peg$literalExpectation(text, ignoreCase) { + return { type: "literal", text: text, ignoreCase: ignoreCase }; + } + + function peg$classExpectation(parts, inverted, ignoreCase) { + return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; + } + + function peg$anyExpectation() { + return { type: "any" }; + } + + function peg$endExpectation() { + return { type: "end" }; + } + + function peg$otherExpectation(description) { + return { type: "other", description: description }; + } + + function peg$computePosDetails(pos) { + var details = peg$posDetailsCache[pos], p; + + if (details) { + return details; + } else { + p = pos - 1; + while (!peg$posDetailsCache[p]) { + p--; + } + + details = peg$posDetailsCache[p]; + details = { + line: details.line, + column: details.column + }; + + while (p < pos) { + if (input.charCodeAt(p) === 10) { + details.line++; + details.column = 1; + } else { + details.column++; + } + + p++; + } + + peg$posDetailsCache[pos] = details; + return details; + } + } + + function peg$computeLocation(startPos, endPos) { + var startPosDetails = peg$computePosDetails(startPos), + endPosDetails = peg$computePosDetails(endPos); + + return { + start: { + offset: startPos, + line: startPosDetails.line, + column: startPosDetails.column + }, + end: { + offset: endPos, + line: endPosDetails.line, + column: endPosDetails.column + } + }; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildSimpleError(message, location) { + return new peg$SyntaxError(message, null, null, location); + } + + function peg$buildStructuredError(expected, found, location) { + return new peg$SyntaxError( + peg$SyntaxError.buildMessage(expected, found), + expected, + found, + location + ); + } + + function peg$parsequery() { + var s0; + + s0 = peg$parseselectQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parsecountQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseinsertQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseupdateQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseremoveQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parsecreateQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseopenQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseisDbExistQuery(); + } + } + } + } + } + } + } + + return s0; + } + + function peg$parsecreateQuery() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsecreateDbQuery(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsecreateTableQuery(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsecreateTableQuery(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c0(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecreateDbQuery() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = peg$parseDEFINE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseDATABASE(); + if (s3 === peg$FAILED) { + s3 = peg$parseDB(); + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsedbName(); + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s6 = peg$c1; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c2); } + } + if (s6 === peg$FAILED) { + s6 = null; + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c3(s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecreateTableQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17; + + s0 = peg$currPos; + s1 = peg$parseDEFINE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseTABLE(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s7 = peg$c4; + peg$currPos++; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsecolumnDef(); + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsebetweenColumnDef(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsebetweenColumnDef(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parse_(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parse_(); + } + if (s11 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s12 = peg$c6; + peg$currPos++; + } else { + s12 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s12 !== peg$FAILED) { + s13 = []; + s14 = peg$parse_(); + while (s14 !== peg$FAILED) { + s13.push(s14); + s14 = peg$parse_(); + } + if (s13 !== peg$FAILED) { + s14 = peg$parseversion(); + if (s14 === peg$FAILED) { + s14 = null; + } + if (s14 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s15 = peg$c1; + peg$currPos++; + } else { + s15 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c2); } + } + if (s15 === peg$FAILED) { + s15 = null; + } + if (s15 !== peg$FAILED) { + s16 = []; + s17 = peg$parse_(); + while (s17 !== peg$FAILED) { + s16.push(s17); + s17 = peg$parse_(); + } + if (s16 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c8(s5, s9, s10, s14); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebetweenColumnDef() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parse_(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parse_(); + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s2 = peg$c9; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsecolumnDef(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c11(s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnDef() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parsecolumnOption(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parsecolumnOption(); + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c12(s1, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnOption() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsecolumnOpts(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c13(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnOpts() { + var s0; + + s0 = peg$parsedataType(); + if (s0 === peg$FAILED) { + s0 = peg$parseautoIncrement(); + if (s0 === peg$FAILED) { + s0 = peg$parsenotNull(); + if (s0 === peg$FAILED) { + s0 = peg$parsedefault(); + if (s0 === peg$FAILED) { + s0 = peg$parseunique(); + if (s0 === peg$FAILED) { + s0 = peg$parseprimaryKey(); + if (s0 === peg$FAILED) { + s0 = peg$parsemultiEntry(); + if (s0 === peg$FAILED) { + s0 = peg$parseenableSearch(); + if (s0 === peg$FAILED) { + s0 = peg$parsedisableSearch(); + } + } + } + } + } + } + } + } + + return s0; + } + + function peg$parseautoIncrement() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseAUTOINCREMENT(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c14(); + } + s0 = s1; + + return s0; + } + + function peg$parsenotNull() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseNOTNULL(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c15(); + } + s0 = s1; + + return s0; + } + + function peg$parsedefault() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseDEFAULT(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c16(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedataType() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseSTRING(); + if (s1 === peg$FAILED) { + s1 = peg$parseNUMBER(); + if (s1 === peg$FAILED) { + s1 = peg$parseOBJECT(); + if (s1 === peg$FAILED) { + s1 = peg$parseARRAY(); + if (s1 === peg$FAILED) { + s1 = peg$parseBOOLEAN(); + if (s1 === peg$FAILED) { + s1 = peg$parseDATETIME(); + } + } + } + } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c17(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseunique() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseUNIQUE(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c18(); + } + s0 = s1; + + return s0; + } + + function peg$parseprimaryKey() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parsePRIMARYKEY(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c19(); + } + s0 = s1; + + return s0; + } + + function peg$parsemultiEntry() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseMULTIENTRY(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c20(); + } + s0 = s1; + + return s0; + } + + function peg$parseenableSearch() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseENABLESEARCH(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c21(); + } + s0 = s1; + + return s0; + } + + function peg$parsedisableSearch() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseDISABLESEARCH(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c22(); + } + s0 = s1; + + return s0; + } + + function peg$parseversion() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseVERSION(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c23(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + s0 = peg$currPos; + s1 = peg$parseINSERT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseINTO(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parseVALUES(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsevalueTypes(); + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parseinsertOptions(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parseinsertOptions(); + } + if (s11 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c24(s5, s9, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsevalueTypes() { + var s0; + + s0 = peg$parseinsertWithEqual(); + if (s0 === peg$FAILED) { + s0 = peg$parseinsertWithParanthesis(); + } + + return s0; + } + + function peg$parseinsertWithParanthesis() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c25) { + s1 = peg$c25; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c26); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsekeyValueSepByColumn(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parseinsertWithParanthesisBetweenVal(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parseinsertWithParanthesisBetweenVal(); + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c27) { + s7 = peg$c27; + peg$currPos += 2; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c28); } + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c29(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertWithParanthesisBetweenVal() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsekeyValueSepByColumn(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c30(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsekeyValueSepByColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 58) { + s3 = peg$c31; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c32); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c33(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertWithEqual() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 61) { + s1 = peg$c34; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c35); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsevalue(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c36(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertOptions() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseskipDataCheck(); + if (s1 === peg$FAILED) { + s1 = peg$parsereturn(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c37(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseskipDataCheck() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseSKIPDATACHECK(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c38(); + } + s0 = s1; + + return s0; + } + + function peg$parsereturn() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseRETURN(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c39(); + } + s0 = s1; + + return s0; + } + + function peg$parseremoveQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parseREMOVE(); + if (s1 === peg$FAILED) { + s1 = peg$parseDELETE(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseFROM(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsewhereQry(); + if (s7 === peg$FAILED) { + s7 = null; + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parseignoreCase(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parseignoreCase(); + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c40(s5, s7, s9); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecountQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parseCOUNT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s4 = peg$c41; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 === peg$FAILED) { + s3 = null; + } + if (s3 !== peg$FAILED) { + s4 = peg$parseFROM(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s6 = peg$parsetableName(); + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + s8 = peg$parsewhereQry(); + if (s8 === peg$FAILED) { + s8 = null; + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parse_(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parse_(); + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c43(s6, s8, s10); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseselectQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parseSELECT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseaggregateQry(); + if (s3 === peg$FAILED) { + s3 = null; + } + if (s3 !== peg$FAILED) { + s4 = peg$parseFROM(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s6 = peg$parsetableName(); + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + s8 = peg$parsewhereQry(); + if (s8 === peg$FAILED) { + s8 = null; + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parse_(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parse_(); + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parseskip(); + if (s11 === peg$FAILED) { + s11 = peg$parselimit(); + if (s11 === peg$FAILED) { + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parseorderBy(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + } + } + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parseskip(); + if (s11 === peg$FAILED) { + s11 = peg$parselimit(); + if (s11 === peg$FAILED) { + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parseorderBy(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + } + } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c44(s3, s6, s8, s10); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaggregateQry() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s1 = peg$c41; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseaggregate(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c45(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseaggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseAGGREGATE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 91) { + s3 = peg$c46; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseaggregateType(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenAggregateColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenAggregateColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s9 = peg$c48; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c49); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c50(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaggregateType() { + var s0; + + s0 = peg$parseminAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsemaxAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parseavgAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsecountAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsesumAggregate(); + } + } + } + } + + return s0; + } + + function peg$parsemaxAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseMAX(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c51(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseminAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseMIN(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c52(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseavgAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseAVG(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c53(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecountAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseCOUNT(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c54(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsesumAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseSUM(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c55(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsegroupBy() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + s0 = peg$currPos; + s1 = peg$parseGROUP(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseBY(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parsegroupByRestValue(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parsegroupByRestValue(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c56(s5, s6); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsegroupByRestValue() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parse_(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parse_(); + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s2 = peg$c9; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsecolumn(); + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parse_(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parse_(); + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderBy() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseorderByValue(); + if (s1 !== peg$FAILED) { + s2 = peg$parseorderByType(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c58(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderByValue() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseORDER(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseBY(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c59(s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderByType() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseOrderByTypes(); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c60(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedistinct() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseDISTINCT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c61(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseignoreCase() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseIGNORECASE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c62(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseskip() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseSKIP(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 === peg$FAILED) { + s4 = null; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c63(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselimit() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseLIMIT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 === peg$FAILED) { + s4 = null; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c64(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQry() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseWHERE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parsewhereitems(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c65(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereitems() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsewhereQryWithoutParanthesis(); + if (s1 === peg$FAILED) { + s1 = peg$parsewhereQryWithParanthesis(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsejoinWhereItems(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsejoinWhereItems(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c66(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsejoinWhereItems() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseJoinOp(); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsewhereQryWithoutParanthesis(); + if (s4 === peg$FAILED) { + s4 = peg$parsewhereQryWithParanthesis(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c67(s2, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQryWithoutParanthesis() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsewhereItem(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsejoinWhereItem(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsejoinWhereItem(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c68(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQryWithParanthesis() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 40) { + s1 = peg$c4; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsewhereItem(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsejoinWhereItem(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsejoinWhereItem(); + } + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parse_(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parse_(); + } + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s6 = peg$c6; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c69(s3, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsejoinWhereItem() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseJoinOp(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + if (s3 !== peg$FAILED) { + s4 = peg$parsewhereItem(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c70(s2, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereItem() { + var s0; + + s0 = peg$parseequalToItem(); + if (s0 === peg$FAILED) { + s0 = peg$parselikeItem(); + if (s0 === peg$FAILED) { + s0 = peg$parseinItem(); + if (s0 === peg$FAILED) { + s0 = peg$parseoperatorItem(); + if (s0 === peg$FAILED) { + s0 = peg$parsebetweenItem(); + } + } + } + } + + return s0; + } + + function peg$parseequalToItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 61) { + s3 = peg$c34; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c35); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c71(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseoperatorItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c72) { + s3 = peg$c72; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c73); } + } + if (s3 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c74) { + s3 = peg$c74; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c75); } + } + if (s3 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c76) { + s3 = peg$c76; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c77); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 62) { + s3 = peg$c78; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c79); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 60) { + s3 = peg$c80; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c81); } + } + } + } + } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c82(s1, s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebetweenItem() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseBETWEEN(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsevalue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s9 = peg$c9; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = peg$parsevalue(); + if (s11 !== peg$FAILED) { + s12 = []; + s13 = peg$parse_(); + while (s13 !== peg$FAILED) { + s12.push(s13); + s13 = peg$parse_(); + } + if (s12 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s13 = peg$c6; + peg$currPos++; + } else { + s13 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s13 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c83(s1, s7, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinItem() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseIN(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsevalue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parseinBetweenParanthesisItem(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parseinBetweenParanthesisItem(); + } + if (s9 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s10 = peg$c6; + peg$currPos++; + } else { + s10 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c84(s1, s7, s9); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenParanthesisColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsecolumn(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenAggregateColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseaggregateType(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenParanthesisItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselikeItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseLIKE(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parselikeType(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c85(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselikeType() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 37) { + s1 = peg$c86; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 37) { + s5 = peg$c86; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 37) { + s1 = peg$c86; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parsevalue(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 37) { + s3 = peg$c86; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + + return s0; + } + + function peg$parsevalue() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + s2 = peg$parseColumnValue(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseColumnValue(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c89(s1); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c88); } + } + + return s0; + } + + function peg$parseupdateQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + s0 = peg$currPos; + s1 = peg$parseUPDATE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parsetableName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSET(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parseupdateValue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsewhereQry(); + if (s9 === peg$FAILED) { + s9 = null; + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parseignoreCase(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parseignoreCase(); + } + if (s11 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c90(s3, s7, s9, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseupdateValue() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseequalToItem(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parseupdateValueBetweenItem(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parseupdateValueBetweenItem(); + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c91(s1, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseupdateValueBetweenItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseequalToItem(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c92(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseopenQuery() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseOPENDB(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsedbName(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c93(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseisDbExistQuery() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseISDBEXIST(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsedbName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsetableInfo(); + if (s5 === peg$FAILED) { + s5 = null; + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c94(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsetableInfo() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseTABLE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsetableName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseversion(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c95(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsetableName() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c96); } + } + + return s0; + } + + function peg$parsedbName() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c97); } + } + + return s0; + } + + function peg$parsecolumn() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c98); } + } + + return s0; + } + + function peg$parseJoinOp() { + var s0; + + s0 = peg$parseAnd(); + if (s0 === peg$FAILED) { + s0 = peg$parseOr(); + } + + return s0; + } + + function peg$parseOrderByTypes() { + var s0, s1; + + peg$silentFails++; + if (input.substr(peg$currPos, 3) === peg$c100) { + s0 = peg$c100; + peg$currPos += 3; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c101); } + } + if (s0 === peg$FAILED) { + if (input.substr(peg$currPos, 4) === peg$c102) { + s0 = peg$c102; + peg$currPos += 4; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c103); } + } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c99); } + } + + return s0; + } + + function peg$parseAnd() { + var s0; + + if (input.charCodeAt(peg$currPos) === 38) { + s0 = peg$c104; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c105); } + } + + return s0; + } + + function peg$parseOr() { + var s0; + + if (input.charCodeAt(peg$currPos) === 124) { + s0 = peg$c106; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c107); } + } + + return s0; + } + + function peg$parseColumnValue() { + var s0; + + if (peg$c108.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c109); } + } + + return s0; + } + + function peg$parseWord() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseLetter(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseLetter(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c110(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseWordAndNumber() { + var s0; + + if (peg$c111.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c112); } + } + + return s0; + } + + function peg$parseLetter() { + var s0; + + if (peg$c113.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c114); } + } + + return s0; + } + + function peg$parseNumber() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseDigit(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseDigit(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c115(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseDigit() { + var s0; + + if (peg$c116.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c117); } + } + + return s0; + } + + function peg$parseWs() { + var s0, s1; + + peg$silentFails++; + if (peg$c119.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c120); } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c118); } + } + + return s0; + } + + function peg$parse_() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + s2 = peg$parseWs(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseWs(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c122(s1); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c121); } + } + + return s0; + } + + function peg$parseA() { + var s0; + + if (peg$c123.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c124); } + } + + return s0; + } + + function peg$parseB() { + var s0; + + if (peg$c125.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c126); } + } + + return s0; + } + + function peg$parseC() { + var s0; + + if (peg$c127.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c128); } + } + + return s0; + } + + function peg$parseD() { + var s0; + + if (peg$c129.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c130); } + } + + return s0; + } + + function peg$parseE() { + var s0; + + if (peg$c131.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c132); } + } + + return s0; + } + + function peg$parseF() { + var s0; + + if (peg$c133.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c134); } + } + + return s0; + } + + function peg$parseG() { + var s0; + + if (peg$c135.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c136); } + } + + return s0; + } + + function peg$parseH() { + var s0; + + if (peg$c137.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c138); } + } + + return s0; + } + + function peg$parseI() { + var s0; + + if (peg$c139.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c140); } + } + + return s0; + } + + function peg$parseJ() { + var s0; + + if (peg$c141.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c142); } + } + + return s0; + } + + function peg$parseK() { + var s0; + + if (peg$c143.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c144); } + } + + return s0; + } + + function peg$parseL() { + var s0; + + if (peg$c145.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c146); } + } + + return s0; + } + + function peg$parseM() { + var s0; + + if (peg$c147.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c148); } + } + + return s0; + } + + function peg$parseN() { + var s0; + + if (peg$c149.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c150); } + } + + return s0; + } + + function peg$parseO() { + var s0; + + if (peg$c151.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c152); } + } + + return s0; + } + + function peg$parseP() { + var s0; + + if (peg$c153.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c154); } + } + + return s0; + } + + function peg$parseQ() { + var s0; + + if (peg$c155.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c156); } + } + + return s0; + } + + function peg$parseR() { + var s0; + + if (peg$c157.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c158); } + } + + return s0; + } + + function peg$parseS() { + var s0; + + if (peg$c159.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c160); } + } + + return s0; + } + + function peg$parseT() { + var s0; + + if (peg$c161.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c162); } + } + + return s0; + } + + function peg$parseU() { + var s0; + + if (peg$c163.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c164); } + } + + return s0; + } + + function peg$parseV() { + var s0; + + if (peg$c165.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c166); } + } + + return s0; + } + + function peg$parseW() { + var s0; + + if (peg$c167.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c168); } + } + + return s0; + } + + function peg$parseX() { + var s0; + + if (peg$c169.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c170); } + } + + return s0; + } + + function peg$parseY() { + var s0; + + if (peg$c171.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c172); } + } + + return s0; + } + + function peg$parseZ() { + var s0; + + if (peg$c173.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c174); } + } + + return s0; + } + + function peg$parseMIN() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseN(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c175); } + } + + return s0; + } + + function peg$parseMAX() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseX(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c176); } + } + + return s0; + } + + function peg$parseAVG() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseV(); + if (s2 !== peg$FAILED) { + s3 = peg$parseG(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c177); } + } + + return s0; + } + + function peg$parseCOUNT() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseC(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseU(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c178); } + } + + return s0; + } + + function peg$parseSUM() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c179); } + } + + return s0; + } + + function peg$parseAGGREGATE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseG(); + if (s2 !== peg$FAILED) { + s3 = peg$parseG(); + if (s3 !== peg$FAILED) { + s4 = peg$parseR(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseG(); + if (s6 !== peg$FAILED) { + s7 = peg$parseA(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c180); } + } + + return s0; + } + + function peg$parseBETWEEN() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseW(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c181); } + } + + return s0; + } + + function peg$parseIN() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c182); } + } + + return s0; + } + + function peg$parseLIKE() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseL(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseK(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c183); } + } + + return s0; + } + + function peg$parseSELECT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseC(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c184); } + } + + return s0; + } + + function peg$parseIGNORECASE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseG(); + if (s2 !== peg$FAILED) { + s3 = peg$parseN(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseA(); + if (s8 !== peg$FAILED) { + s9 = peg$parseS(); + if (s9 !== peg$FAILED) { + s10 = peg$parseE(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c185); } + } + + return s0; + } + + function peg$parseDISTINCT() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseT(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c186); } + } + + return s0; + } + + function peg$parseORDER() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c187); } + } + + return s0; + } + + function peg$parseBY() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseY(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c188); } + } + + return s0; + } + + function peg$parseFROM() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseF(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseM(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c189); } + } + + return s0; + } + + function peg$parseGROUP() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseG(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseP(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c190); } + } + + return s0; + } + + function peg$parseLIMIT() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseL(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c191); } + } + + return s0; + } + + function peg$parseSKIP() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseK(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseP(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c192); } + } + + return s0; + } + + function peg$parseWHERE() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseW(); + if (s1 !== peg$FAILED) { + s2 = peg$parseH(); + if (s2 !== peg$FAILED) { + s3 = peg$parseE(); + if (s3 !== peg$FAILED) { + s4 = peg$parseR(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c193); } + } + + return s0; + } + + function peg$parseINSERT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c194); } + } + + return s0; + } + + function peg$parseINTO() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c195); } + } + + return s0; + } + + function peg$parseRETURN() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseR(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c196); } + } + + return s0; + } + + function peg$parseVALUES() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseV(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseS(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c197); } + } + + return s0; + } + + function peg$parseSKIPDATACHECK() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseK(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseP(); + if (s4 !== peg$FAILED) { + s5 = peg$parseD(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseT(); + if (s7 !== peg$FAILED) { + s8 = peg$parseA(); + if (s8 !== peg$FAILED) { + s9 = peg$parseC(); + if (s9 !== peg$FAILED) { + s10 = peg$parseH(); + if (s10 !== peg$FAILED) { + s11 = peg$parseE(); + if (s11 !== peg$FAILED) { + s12 = peg$parseC(); + if (s12 !== peg$FAILED) { + s13 = peg$parseK(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c198); } + } + + return s0; + } + + function peg$parseUPDATE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseU(); + if (s1 !== peg$FAILED) { + s2 = peg$parseP(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c199); } + } + + return s0; + } + + function peg$parseSET() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c200); } + } + + return s0; + } + + function peg$parseREMOVE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseR(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseV(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c201); } + } + + return s0; + } + + function peg$parseDELETE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c202); } + } + + return s0; + } + + function peg$parseVERSION() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseV(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseS(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseO(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c203); } + } + + return s0; + } + + function peg$parseENABLESEARCH() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseE(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseA(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseL(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseS(); + if (s7 !== peg$FAILED) { + s8 = peg$parseE(); + if (s8 !== peg$FAILED) { + s9 = peg$parseA(); + if (s9 !== peg$FAILED) { + s10 = peg$parseR(); + if (s10 !== peg$FAILED) { + s11 = peg$parseC(); + if (s11 !== peg$FAILED) { + s12 = peg$parseH(); + if (s12 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c204); } + } + + return s0; + } + + function peg$parseMULTIENTRY() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseT(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s9 = peg$parseR(); + if (s9 !== peg$FAILED) { + s10 = peg$parseY(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c205); } + } + + return s0; + } + + function peg$parsePRIMARYKEY() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseP(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseM(); + if (s4 !== peg$FAILED) { + s5 = peg$parseA(); + if (s5 !== peg$FAILED) { + s6 = peg$parseR(); + if (s6 !== peg$FAILED) { + s7 = peg$parseY(); + if (s7 !== peg$FAILED) { + s8 = peg$parseK(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseY(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c206); } + } + + return s0; + } + + function peg$parseUNIQUE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseU(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseQ(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c207); } + } + + return s0; + } + + function peg$parseSTRING() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseT(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseN(); + if (s5 !== peg$FAILED) { + s6 = peg$parseG(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c208); } + } + + return s0; + } + + function peg$parseNUMBER() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseN(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseR(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c209); } + } + + return s0; + } + + function peg$parseOBJECT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseB(); + if (s2 !== peg$FAILED) { + s3 = peg$parseJ(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseC(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c210); } + } + + return s0; + } + + function peg$parseARRAY() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseY(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c211); } + } + + return s0; + } + + function peg$parseBOOLEAN() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseL(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c212); } + } + + return s0; + } + + function peg$parseDATETIME() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 95) { + s5 = peg$c214; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c215); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s7 = peg$parseI(); + if (s7 !== peg$FAILED) { + s8 = peg$parseM(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c213); } + } + + return s0; + } + + function peg$parseAUTOINCREMENT() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseR(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseM(); + if (s10 !== peg$FAILED) { + s11 = peg$parseE(); + if (s11 !== peg$FAILED) { + s12 = peg$parseN(); + if (s12 !== peg$FAILED) { + s13 = peg$parseT(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c216); } + } + + return s0; + } + + function peg$parseNOTNULL() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseN(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseL(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c217); } + } + + return s0; + } + + function peg$parseDEFAULT() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseF(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseT(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c218); } + } + + return s0; + } + + function peg$parseDEFINE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseF(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseN(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c219); } + } + + return s0; + } + + function peg$parseDATABASE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseB(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseS(); + if (s7 !== peg$FAILED) { + s8 = peg$parseE(); + if (s8 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c220); } + } + + return s0; + } + + function peg$parseTABLE() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseT(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseB(); + if (s3 !== peg$FAILED) { + s4 = peg$parseL(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c221); } + } + + return s0; + } + + function peg$parseDB() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseB(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c222); } + } + + return s0; + } + + function peg$parseISDBEXIST() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseS(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseX(); + if (s6 !== peg$FAILED) { + s7 = peg$parseI(); + if (s7 !== peg$FAILED) { + s8 = peg$parseS(); + if (s8 !== peg$FAILED) { + s9 = peg$parseT(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c223); } + } + + return s0; + } + + function peg$parseOPENDB() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseP(); + if (s2 !== peg$FAILED) { + s3 = peg$parseE(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseD(); + if (s5 !== peg$FAILED) { + s6 = peg$parseB(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c224); } + } + + return s0; + } + + function peg$parseDISABLESEARCH() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseB(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseE(); + if (s7 !== peg$FAILED) { + s8 = peg$parseS(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseA(); + if (s10 !== peg$FAILED) { + s11 = peg$parseR(); + if (s11 !== peg$FAILED) { + s12 = peg$parseC(); + if (s12 !== peg$FAILED) { + s13 = peg$parseH(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c225); } + } + + return s0; + } + + peg$result = peg$startRuleFunction(); + + if (peg$result !== peg$FAILED && peg$currPos === input.length) { + return peg$result; + } else { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail(peg$endExpectation()); + } + + throw peg$buildStructuredError( + peg$maxFailExpected, + peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, + peg$maxFailPos < input.length + ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) + : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) + ); + } +} + +module.exports = { + SyntaxError: peg$SyntaxError, + parse: peg$parse +}; diff --git a/dist/sqlweb.commonjs2.js b/dist/sqlweb.commonjs2.js new file mode 100644 index 0000000..669bd4f --- /dev/null +++ b/dist/sqlweb.commonjs2.js @@ -0,0 +1,8313 @@ +/*! + * @license :sqlweb - V1.0.1 - 13/10/2018 + * https://github.com/ujjwalguptaofficial/sqlweb + * Copyright (c) 2018 @Ujjwal Gupta; Licensed MIT + */ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _instance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Instance", function() { return _instance__WEBPACK_IMPORTED_MODULE_0__["Instance"]; }); + +/* harmony import */ var _query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Query", function() { return _query__WEBPACK_IMPORTED_MODULE_1__["Query"]; }); + + + + + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Instance", function() { return Instance; }); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_output_parser__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); +/* harmony import */ var _log_helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); +/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6); + + + + + +var Instance = /** @class */ (function () { + function Instance(workerPath) { + this.jsStoreCon_ = workerPath == null ? new JsStore.Instance() : + new JsStore.Instance(new Worker(workerPath)); + } + Instance.prototype.isString_ = function (value) { + return _util__WEBPACK_IMPORTED_MODULE_1__["Util"].isString(value); + }; + Instance.prototype.runQuery = function (query) { + try { + var result = void 0; + if (this.isString_(query) === true) { + query = query.replace(new RegExp('\n', 'g'), '').trim(); + result = _output_parser__WEBPACK_IMPORTED_MODULE_0__["parse"](query); + } + else { + result = query.query_; + } + return this.jsStoreCon_[result.api](result.data); + } + catch (ex) { + var err_1; + if (ex.name === "SyntaxError") { + err_1 = new _log_helper__WEBPACK_IMPORTED_MODULE_3__["LogHelper"](_enums__WEBPACK_IMPORTED_MODULE_4__["ERROR_TYPE"].SynTaxError, ex.message).get(); + } + else { + err_1 = ex; + } + return new Promise(function (resolve, reject) { + reject(err_1); + }); + } + }; + /** + * set log status, accepts boolean value + * + * @param {boolean} status + * @memberof Instance + */ + Instance.prototype.setLogStatus = function (status) { + _config__WEBPACK_IMPORTED_MODULE_2__["Config"].isLogEnabled = status; + }; + return Instance; +}()); + + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* + * Generated by PEG.js 0.10.0. + * + * http://pegjs.org/ + */ + + + +function peg$subclass(child, parent) { + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor(); +} + +function peg$SyntaxError(message, expected, found, location) { + this.message = message; + this.expected = expected; + this.found = found; + this.location = location; + this.name = "SyntaxError"; + + if (typeof Error.captureStackTrace === "function") { + Error.captureStackTrace(this, peg$SyntaxError); + } +} + +peg$subclass(peg$SyntaxError, Error); + +peg$SyntaxError.buildMessage = function(expected, found) { + var DESCRIBE_EXPECTATION_FNS = { + literal: function(expectation) { + return "\"" + literalEscape(expectation.text) + "\""; + }, + + "class": function(expectation) { + var escapedParts = "", + i; + + for (i = 0; i < expectation.parts.length; i++) { + escapedParts += expectation.parts[i] instanceof Array + ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) + : classEscape(expectation.parts[i]); + } + + return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; + }, + + any: function(expectation) { + return "any character"; + }, + + end: function(expectation) { + return "end of input"; + }, + + other: function(expectation) { + return expectation.description; + } + }; + + function hex(ch) { + return ch.charCodeAt(0).toString(16).toUpperCase(); + } + + function literalEscape(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\0/g, '\\0') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); + } + + function classEscape(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/\]/g, '\\]') + .replace(/\^/g, '\\^') + .replace(/-/g, '\\-') + .replace(/\0/g, '\\0') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); + } + + function describeExpectation(expectation) { + return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); + } + + function describeExpected(expected) { + var descriptions = new Array(expected.length), + i, j; + + for (i = 0; i < expected.length; i++) { + descriptions[i] = describeExpectation(expected[i]); + } + + descriptions.sort(); + + if (descriptions.length > 0) { + for (i = 1, j = 1; i < descriptions.length; i++) { + if (descriptions[i - 1] !== descriptions[i]) { + descriptions[j] = descriptions[i]; + j++; + } + } + descriptions.length = j; + } + + switch (descriptions.length) { + case 1: + return descriptions[0]; + + case 2: + return descriptions[0] + " or " + descriptions[1]; + + default: + return descriptions.slice(0, -1).join(", ") + + ", or " + + descriptions[descriptions.length - 1]; + } + } + + function describeFound(found) { + return found ? "\"" + literalEscape(found) + "\"" : "end of input"; + } + + return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; +}; + +function peg$parse(input, options) { + options = options !== void 0 ? options : {}; + + var peg$FAILED = {}, + + peg$startRuleFunctions = { query: peg$parsequery }, + peg$startRuleFunction = peg$parsequery, + + peg$c0 = function(db, tables) { + db.tables=tables + return { + api:'createDb', + data:db + } + }, + peg$c1 = ";", + peg$c2 = peg$literalExpectation(";", false), + peg$c3 = function(name) { + return { + name:name + } + }, + peg$c4 = "(", + peg$c5 = peg$literalExpectation("(", false), + peg$c6 = ")", + peg$c7 = peg$literalExpectation(")", false), + peg$c8 = function(table, first, all, ver) { + all.push(first); + var versionData = ver==null?null:ver['version']; + return { + name: table, + columns : all, + version: versionData + } + }, + peg$c9 = ",", + peg$c10 = peg$literalExpectation(",", false), + peg$c11 = function(def) { + return def; + }, + peg$c12 = function(name, options) { + var defaultValue = { + name:name, + unique:false, + autoIncrement:false, + default:null, + notNull:false, + dataType:null, + primaryKey:false, + multiEntry:false, + enableSearch:true + } + options.forEach(option=>{ + var key = Object.keys(option)[0]; + defaultValue[key] = option[key]; + }); + return defaultValue; + }, + peg$c13 = function(option) { + return option; + }, + peg$c14 = function() { + return { + autoIncrement:true + } + }, + peg$c15 = function() { + return { + notNull:true + } + }, + peg$c16 = function(val) { + return { + default:val + } + }, + peg$c17 = function(type) { + return { + dataType:type.join('').toLowerCase() + } + }, + peg$c18 = function() { + return { + unique:true + } + }, + peg$c19 = function() { + return { + primaryKey:true + } + }, + peg$c20 = function() { + return { + multiEntry:true + } + }, + peg$c21 = function() { + return { + enableSearch:true + } + }, + peg$c22 = function() { + return { + enableSearch:false + } + }, + peg$c23 = function(val) { + return { + version:val + } + }, + peg$c24 = function(table, insertValue, options) { + var skipDataCheck = false; + var returnValue = false; + options.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skipDataCheck': + skipDataCheck = val[key]; break; + case 'return': + returnValue = val[key]; break; + } + }); + return { + api: 'insert', + data: { + into: table, + values: insertValue, + skipDataCheck: skipDataCheck, + return : returnValue + } + } + }, + peg$c25 = "({", + peg$c26 = peg$literalExpectation("({", false), + peg$c27 = "})", + peg$c28 = peg$literalExpectation("})", false), + peg$c29 = function(first, rest) { + var obj = { + [first.key]: first.value + } + if(rest!=null){ + rest.forEach(item=>{ + obj[item.key] = item.value + }) + } + return [obj]; + }, + peg$c30 = function(val) { + return val; + }, + peg$c31 = ":", + peg$c32 = peg$literalExpectation(":", false), + peg$c33 = function(key, val) { + return { + key:key, + value:val + } + }, + peg$c34 = "=", + peg$c35 = peg$literalExpectation("=", false), + peg$c36 = function(insertValue) { + return insertValue; + }, + peg$c37 = function(option) { + return { + [option]:true + } + }, + peg$c38 = function() { + return 'skipDataCheck'; + }, + peg$c39 = function() { + return 'return'; + }, + peg$c40 = function(table, where, option) { + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'remove', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase + } + } + }, + peg$c41 = "*", + peg$c42 = peg$literalExpectation("*", false), + peg$c43 = function(table, where, option) { + var ignoreCase =false; + var distinct = false; + var groupBy = null; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'count', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase, + distinct : distinct, + groupBy:groupBy + } + } + }, + peg$c44 = function(aggr, table, where, option) { + var skip=null; + var limit=null; + var ignoreCase =false; + var distinct = false; + var order = null; + var groupBy = null; + var aggregate = aggr; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skip': + skip= val[key]; break; + case 'limit': + limit= val[key]; break; + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'order': + order = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'select', + data:{ + from:table, + where:where, + skip:skip, + limit:limit, + ignoreCase: ignoreCase, + distinct : distinct, + order:order, + groupBy:groupBy, + aggregate : aggr + } + } + }, + peg$c45 = function(aggr) { + return aggr[0]; + }, + peg$c46 = "[", + peg$c47 = peg$literalExpectation("[", false), + peg$c48 = "]", + peg$c49 = peg$literalExpectation("]", false), + peg$c50 = function(first, rest) { + rest.splice(0,0,first); + return rest; + }, + peg$c51 = function(first, rest) { + rest.splice(0,0,first); + return { + max : rest + } + }, + peg$c52 = function(first, rest) { + rest.splice(0,0,first); + return { + min : rest + } + }, + peg$c53 = function(first, rest) { + rest.splice(0,0,first); + return { + avg : rest + } + }, + peg$c54 = function(first, rest) { + rest.splice(0,0,first); + return { + count : rest + } + }, + peg$c55 = function(first, rest) { + rest.splice(0,0,first); + return { + sum : rest + } + }, + peg$c56 = function(first, rest) { + return { + groupBy:[first,...rest] + } ; + }, + peg$c57 = function(val) { + return val; + }, + peg$c58 = function(by, type) { + return { + order: { + by:by, + type: type + } + }; + }, + peg$c59 = function(by) { + return by; + }, + peg$c60 = function(type) { + return type; + }, + peg$c61 = function() { + return { + distinct: true + }; + }, + peg$c62 = function() { + return { + ignoreCase: true + }; + }, + peg$c63 = function(val) { + return { + skip: val + }; + }, + peg$c64 = function(val) { + return { + limit: val + }; + }, + peg$c65 = function(where) { + return where; + }, + peg$c66 = function(item1, item2) { + if(!Array.isArray(item1)){ + item1=[item1]; + } + if(item2!=null){ + var pushInItem1=(item)=>{ + item1.push(item); + } + if(Array.isArray(item1)){ + item2.forEach(item=>{ + if(Array.isArray(item)){ + item.forEach(subItem=>{ + pushInItem1(subItem); + }); + } + else{ + pushInItem1(item) + } + }); + } + } + return item1; + }, + peg$c67 = function(op, where) { + + if(op==='|'){ + var obj={}; + if(Array.isArray(where)){ + where.forEach(val=>{ + obj={...obj,...val} + }); + } + else{ + obj = where; + } + return { + or:obj + } + } + + return where; + }, + peg$c68 = function(fw, jw) { + if(jw==null){ + return fw + } + else{ + jw.splice(0,0,fw); + return jw; + } + }, + peg$c69 = function(fw, jw) { + if(jw==null){ + return fw; + } + else{ + var query= fw; + jw.forEach(qry=>{ + var key = Object.keys(qry)[0]; + if(key==='or'){ + if(query.or==null){ + query.or={}; + } + var orKey = Object.keys(qry[key])[0]; + query.or[orKey]= qry[key][orKey]; + } + else{ + query[key]=qry[key]; + } + }) + return query; + } + }, + peg$c70 = function(op, item) { + if(op==='|'){ + return { + or: item + } + } + return item; + }, + peg$c71 = function(col, val) { + return { + [col]:val + } + }, + peg$c72 = "!=", + peg$c73 = peg$literalExpectation("!=", false), + peg$c74 = ">=", + peg$c75 = peg$literalExpectation(">=", false), + peg$c76 = "<=", + peg$c77 = peg$literalExpectation("<=", false), + peg$c78 = ">", + peg$c79 = peg$literalExpectation(">", false), + peg$c80 = "<", + peg$c81 = peg$literalExpectation("<", false), + peg$c82 = function(col, op, val) { + return { + [col]:{ + [op]:val + } + } + }, + peg$c83 = function(col, low, high) { + return { + [col]:{ + '-':{ + low : low, + high : high + } + } + } + }, + peg$c84 = function(col, first, betweens) { + return { + [col]:{ + in:[first,...betweens] + } + } + }, + peg$c85 = function(col, val) { + return { + [col]:{ + like:val.join('') + } + } + }, + peg$c86 = "%", + peg$c87 = peg$literalExpectation("%", false), + peg$c88 = peg$otherExpectation("column value"), + peg$c89 = function(val) { + var value=val.join(""); + if(value[0]=== "'" && value[value.length-1] === "'"){ + return value.substr(1,value.length-2); + } + var number = Number(value); + if(isNaN(number)) + return value; + else + return number; + }, + peg$c90 = function(table, set, where, option) { + + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'update', + data:{ + in:table, + set:set, + where:where, + ignoreCase: ignoreCase + } + } + }, + peg$c91 = function(first, rest) { + rest.forEach(val=>{ + first = {...first,...val}; + }); + return first; + }, + peg$c92 = function(val) { + return val; + }, + peg$c93 = function(name) { + return { + api:'openDb', + data:name + } + }, + peg$c94 = function(name, tblInfo) { + var result = { + api:'isDbExist' + } + if(tblInfo==null){ + result.data=name; + } + else{ + result.data={ + dbName:name, + table:tblInfo + } + } + return result; + }, + peg$c95 = function(table, ver) { + return { + name:table, + version:ver + } + }, + peg$c96 = peg$otherExpectation("table name"), + peg$c97 = peg$otherExpectation("database name"), + peg$c98 = peg$otherExpectation("column"), + peg$c99 = peg$otherExpectation("order type"), + peg$c100 = "asc", + peg$c101 = peg$literalExpectation("asc", false), + peg$c102 = "desc", + peg$c103 = peg$literalExpectation("desc", false), + peg$c104 = "&", + peg$c105 = peg$literalExpectation("&", false), + peg$c106 = "|", + peg$c107 = peg$literalExpectation("|", false), + peg$c108 = /^[a-zA-Z0-9@_']/, + peg$c109 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "@", "_", "'"], false, false), + peg$c110 = function(l) {return l.join("");}, + peg$c111 = /^[a-zA-Z0-9]/, + peg$c112 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"]], false, false), + peg$c113 = /^[a-zA-Z]/, + peg$c114 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false), + peg$c115 = function(d) {return Number(d.join(""))}, + peg$c116 = /^[0-9]/, + peg$c117 = peg$classExpectation([["0", "9"]], false, false), + peg$c118 = peg$otherExpectation("Whitespace"), + peg$c119 = /^[ \t]/, + peg$c120 = peg$classExpectation([" ", "\t"], false, false), + peg$c121 = peg$otherExpectation("One or more whitespaces"), + peg$c122 = function(space) {return null;}, + peg$c123 = /^[aA]/, + peg$c124 = peg$classExpectation(["a", "A"], false, false), + peg$c125 = /^[bB]/, + peg$c126 = peg$classExpectation(["b", "B"], false, false), + peg$c127 = /^[cC]/, + peg$c128 = peg$classExpectation(["c", "C"], false, false), + peg$c129 = /^[dD]/, + peg$c130 = peg$classExpectation(["d", "D"], false, false), + peg$c131 = /^[eE]/, + peg$c132 = peg$classExpectation(["e", "E"], false, false), + peg$c133 = /^[fF]/, + peg$c134 = peg$classExpectation(["f", "F"], false, false), + peg$c135 = /^[gG]/, + peg$c136 = peg$classExpectation(["g", "G"], false, false), + peg$c137 = /^[hH]/, + peg$c138 = peg$classExpectation(["h", "H"], false, false), + peg$c139 = /^[iI]/, + peg$c140 = peg$classExpectation(["i", "I"], false, false), + peg$c141 = /^[jJ]/, + peg$c142 = peg$classExpectation(["j", "J"], false, false), + peg$c143 = /^[kK]/, + peg$c144 = peg$classExpectation(["k", "K"], false, false), + peg$c145 = /^[lL]/, + peg$c146 = peg$classExpectation(["l", "L"], false, false), + peg$c147 = /^[mM]/, + peg$c148 = peg$classExpectation(["m", "M"], false, false), + peg$c149 = /^[nN]/, + peg$c150 = peg$classExpectation(["n", "N"], false, false), + peg$c151 = /^[oO]/, + peg$c152 = peg$classExpectation(["o", "O"], false, false), + peg$c153 = /^[pP]/, + peg$c154 = peg$classExpectation(["p", "P"], false, false), + peg$c155 = /^[qQ]/, + peg$c156 = peg$classExpectation(["q", "Q"], false, false), + peg$c157 = /^[rR]/, + peg$c158 = peg$classExpectation(["r", "R"], false, false), + peg$c159 = /^[sS]/, + peg$c160 = peg$classExpectation(["s", "S"], false, false), + peg$c161 = /^[tT]/, + peg$c162 = peg$classExpectation(["t", "T"], false, false), + peg$c163 = /^[uU]/, + peg$c164 = peg$classExpectation(["u", "U"], false, false), + peg$c165 = /^[vV]/, + peg$c166 = peg$classExpectation(["v", "V"], false, false), + peg$c167 = /^[wW]/, + peg$c168 = peg$classExpectation(["w", "W"], false, false), + peg$c169 = /^[xX]/, + peg$c170 = peg$classExpectation(["x", "X"], false, false), + peg$c171 = /^[yY]/, + peg$c172 = peg$classExpectation(["y", "Y"], false, false), + peg$c173 = /^[zZ]/, + peg$c174 = peg$classExpectation(["z", "Z"], false, false), + peg$c175 = peg$otherExpectation("min"), + peg$c176 = peg$otherExpectation("max"), + peg$c177 = peg$otherExpectation("avg"), + peg$c178 = peg$otherExpectation("count"), + peg$c179 = peg$otherExpectation("sum"), + peg$c180 = peg$otherExpectation("aggregate"), + peg$c181 = peg$otherExpectation("between"), + peg$c182 = peg$otherExpectation("in"), + peg$c183 = peg$otherExpectation("like"), + peg$c184 = peg$otherExpectation("select"), + peg$c185 = peg$otherExpectation("ignoreCase"), + peg$c186 = peg$otherExpectation("distinct"), + peg$c187 = peg$otherExpectation("order"), + peg$c188 = peg$otherExpectation("by"), + peg$c189 = peg$otherExpectation("from"), + peg$c190 = peg$otherExpectation("group"), + peg$c191 = peg$otherExpectation("limit"), + peg$c192 = peg$otherExpectation("skip"), + peg$c193 = peg$otherExpectation("where"), + peg$c194 = peg$otherExpectation("insert"), + peg$c195 = peg$otherExpectation("into"), + peg$c196 = peg$otherExpectation("return"), + peg$c197 = peg$otherExpectation("values"), + peg$c198 = peg$otherExpectation("skipdatacheck"), + peg$c199 = peg$otherExpectation("update"), + peg$c200 = peg$otherExpectation("set"), + peg$c201 = peg$otherExpectation("remove"), + peg$c202 = peg$otherExpectation("delete"), + peg$c203 = peg$otherExpectation("version"), + peg$c204 = peg$otherExpectation("enablesearch"), + peg$c205 = peg$otherExpectation("multiEntry"), + peg$c206 = peg$otherExpectation("primarykey"), + peg$c207 = peg$otherExpectation("unique"), + peg$c208 = peg$otherExpectation("string"), + peg$c209 = peg$otherExpectation("number"), + peg$c210 = peg$otherExpectation("object"), + peg$c211 = peg$otherExpectation("array"), + peg$c212 = peg$otherExpectation("boolean"), + peg$c213 = peg$otherExpectation("date_time"), + peg$c214 = "_", + peg$c215 = peg$literalExpectation("_", false), + peg$c216 = peg$otherExpectation("autoincrement"), + peg$c217 = peg$otherExpectation("notnull"), + peg$c218 = peg$otherExpectation("default"), + peg$c219 = peg$otherExpectation("define"), + peg$c220 = peg$otherExpectation("database"), + peg$c221 = peg$otherExpectation("table"), + peg$c222 = peg$otherExpectation("db"), + peg$c223 = peg$otherExpectation("isDbExist"), + peg$c224 = peg$otherExpectation("openDb"), + peg$c225 = peg$otherExpectation("disablesearch"), + + peg$currPos = 0, + peg$savedPos = 0, + peg$posDetailsCache = [{ line: 1, column: 1 }], + peg$maxFailPos = 0, + peg$maxFailExpected = [], + peg$silentFails = 0, + + peg$result; + + if ("startRule" in options) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$savedPos, peg$currPos); + } + + function location() { + return peg$computeLocation(peg$savedPos, peg$currPos); + } + + function expected(description, location) { + location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) + + throw peg$buildStructuredError( + [peg$otherExpectation(description)], + input.substring(peg$savedPos, peg$currPos), + location + ); + } + + function error(message, location) { + location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) + + throw peg$buildSimpleError(message, location); + } + + function peg$literalExpectation(text, ignoreCase) { + return { type: "literal", text: text, ignoreCase: ignoreCase }; + } + + function peg$classExpectation(parts, inverted, ignoreCase) { + return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; + } + + function peg$anyExpectation() { + return { type: "any" }; + } + + function peg$endExpectation() { + return { type: "end" }; + } + + function peg$otherExpectation(description) { + return { type: "other", description: description }; + } + + function peg$computePosDetails(pos) { + var details = peg$posDetailsCache[pos], p; + + if (details) { + return details; + } else { + p = pos - 1; + while (!peg$posDetailsCache[p]) { + p--; + } + + details = peg$posDetailsCache[p]; + details = { + line: details.line, + column: details.column + }; + + while (p < pos) { + if (input.charCodeAt(p) === 10) { + details.line++; + details.column = 1; + } else { + details.column++; + } + + p++; + } + + peg$posDetailsCache[pos] = details; + return details; + } + } + + function peg$computeLocation(startPos, endPos) { + var startPosDetails = peg$computePosDetails(startPos), + endPosDetails = peg$computePosDetails(endPos); + + return { + start: { + offset: startPos, + line: startPosDetails.line, + column: startPosDetails.column + }, + end: { + offset: endPos, + line: endPosDetails.line, + column: endPosDetails.column + } + }; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildSimpleError(message, location) { + return new peg$SyntaxError(message, null, null, location); + } + + function peg$buildStructuredError(expected, found, location) { + return new peg$SyntaxError( + peg$SyntaxError.buildMessage(expected, found), + expected, + found, + location + ); + } + + function peg$parsequery() { + var s0; + + s0 = peg$parseselectQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parsecountQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseinsertQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseupdateQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseremoveQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parsecreateQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseopenQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseisDbExistQuery(); + } + } + } + } + } + } + } + + return s0; + } + + function peg$parsecreateQuery() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsecreateDbQuery(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsecreateTableQuery(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsecreateTableQuery(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c0(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecreateDbQuery() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = peg$parseDEFINE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseDATABASE(); + if (s3 === peg$FAILED) { + s3 = peg$parseDB(); + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsedbName(); + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s6 = peg$c1; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c2); } + } + if (s6 === peg$FAILED) { + s6 = null; + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c3(s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecreateTableQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17; + + s0 = peg$currPos; + s1 = peg$parseDEFINE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseTABLE(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s7 = peg$c4; + peg$currPos++; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsecolumnDef(); + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsebetweenColumnDef(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsebetweenColumnDef(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parse_(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parse_(); + } + if (s11 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s12 = peg$c6; + peg$currPos++; + } else { + s12 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s12 !== peg$FAILED) { + s13 = []; + s14 = peg$parse_(); + while (s14 !== peg$FAILED) { + s13.push(s14); + s14 = peg$parse_(); + } + if (s13 !== peg$FAILED) { + s14 = peg$parseversion(); + if (s14 === peg$FAILED) { + s14 = null; + } + if (s14 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s15 = peg$c1; + peg$currPos++; + } else { + s15 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c2); } + } + if (s15 === peg$FAILED) { + s15 = null; + } + if (s15 !== peg$FAILED) { + s16 = []; + s17 = peg$parse_(); + while (s17 !== peg$FAILED) { + s16.push(s17); + s17 = peg$parse_(); + } + if (s16 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c8(s5, s9, s10, s14); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebetweenColumnDef() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parse_(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parse_(); + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s2 = peg$c9; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsecolumnDef(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c11(s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnDef() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parsecolumnOption(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parsecolumnOption(); + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c12(s1, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnOption() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsecolumnOpts(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c13(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnOpts() { + var s0; + + s0 = peg$parsedataType(); + if (s0 === peg$FAILED) { + s0 = peg$parseautoIncrement(); + if (s0 === peg$FAILED) { + s0 = peg$parsenotNull(); + if (s0 === peg$FAILED) { + s0 = peg$parsedefault(); + if (s0 === peg$FAILED) { + s0 = peg$parseunique(); + if (s0 === peg$FAILED) { + s0 = peg$parseprimaryKey(); + if (s0 === peg$FAILED) { + s0 = peg$parsemultiEntry(); + if (s0 === peg$FAILED) { + s0 = peg$parseenableSearch(); + if (s0 === peg$FAILED) { + s0 = peg$parsedisableSearch(); + } + } + } + } + } + } + } + } + + return s0; + } + + function peg$parseautoIncrement() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseAUTOINCREMENT(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c14(); + } + s0 = s1; + + return s0; + } + + function peg$parsenotNull() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseNOTNULL(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c15(); + } + s0 = s1; + + return s0; + } + + function peg$parsedefault() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseDEFAULT(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c16(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedataType() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseSTRING(); + if (s1 === peg$FAILED) { + s1 = peg$parseNUMBER(); + if (s1 === peg$FAILED) { + s1 = peg$parseOBJECT(); + if (s1 === peg$FAILED) { + s1 = peg$parseARRAY(); + if (s1 === peg$FAILED) { + s1 = peg$parseBOOLEAN(); + if (s1 === peg$FAILED) { + s1 = peg$parseDATETIME(); + } + } + } + } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c17(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseunique() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseUNIQUE(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c18(); + } + s0 = s1; + + return s0; + } + + function peg$parseprimaryKey() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parsePRIMARYKEY(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c19(); + } + s0 = s1; + + return s0; + } + + function peg$parsemultiEntry() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseMULTIENTRY(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c20(); + } + s0 = s1; + + return s0; + } + + function peg$parseenableSearch() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseENABLESEARCH(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c21(); + } + s0 = s1; + + return s0; + } + + function peg$parsedisableSearch() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseDISABLESEARCH(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c22(); + } + s0 = s1; + + return s0; + } + + function peg$parseversion() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseVERSION(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c23(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + s0 = peg$currPos; + s1 = peg$parseINSERT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseINTO(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parseVALUES(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsevalueTypes(); + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parseinsertOptions(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parseinsertOptions(); + } + if (s11 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c24(s5, s9, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsevalueTypes() { + var s0; + + s0 = peg$parseinsertWithEqual(); + if (s0 === peg$FAILED) { + s0 = peg$parseinsertWithParanthesis(); + } + + return s0; + } + + function peg$parseinsertWithParanthesis() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c25) { + s1 = peg$c25; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c26); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsekeyValueSepByColumn(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parseinsertWithParanthesisBetweenVal(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parseinsertWithParanthesisBetweenVal(); + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c27) { + s7 = peg$c27; + peg$currPos += 2; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c28); } + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c29(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertWithParanthesisBetweenVal() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsekeyValueSepByColumn(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c30(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsekeyValueSepByColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 58) { + s3 = peg$c31; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c32); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c33(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertWithEqual() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 61) { + s1 = peg$c34; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c35); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsevalue(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c36(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertOptions() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseskipDataCheck(); + if (s1 === peg$FAILED) { + s1 = peg$parsereturn(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c37(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseskipDataCheck() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseSKIPDATACHECK(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c38(); + } + s0 = s1; + + return s0; + } + + function peg$parsereturn() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseRETURN(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c39(); + } + s0 = s1; + + return s0; + } + + function peg$parseremoveQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parseREMOVE(); + if (s1 === peg$FAILED) { + s1 = peg$parseDELETE(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseFROM(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsewhereQry(); + if (s7 === peg$FAILED) { + s7 = null; + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parseignoreCase(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parseignoreCase(); + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c40(s5, s7, s9); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecountQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parseCOUNT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s4 = peg$c41; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 === peg$FAILED) { + s3 = null; + } + if (s3 !== peg$FAILED) { + s4 = peg$parseFROM(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s6 = peg$parsetableName(); + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + s8 = peg$parsewhereQry(); + if (s8 === peg$FAILED) { + s8 = null; + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parse_(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parse_(); + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c43(s6, s8, s10); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseselectQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parseSELECT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseaggregateQry(); + if (s3 === peg$FAILED) { + s3 = null; + } + if (s3 !== peg$FAILED) { + s4 = peg$parseFROM(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s6 = peg$parsetableName(); + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + s8 = peg$parsewhereQry(); + if (s8 === peg$FAILED) { + s8 = null; + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parse_(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parse_(); + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parseskip(); + if (s11 === peg$FAILED) { + s11 = peg$parselimit(); + if (s11 === peg$FAILED) { + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parseorderBy(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + } + } + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parseskip(); + if (s11 === peg$FAILED) { + s11 = peg$parselimit(); + if (s11 === peg$FAILED) { + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parseorderBy(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + } + } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c44(s3, s6, s8, s10); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaggregateQry() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s1 = peg$c41; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseaggregate(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c45(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseaggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseAGGREGATE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 91) { + s3 = peg$c46; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseaggregateType(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenAggregateColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenAggregateColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s9 = peg$c48; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c49); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c50(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaggregateType() { + var s0; + + s0 = peg$parseminAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsemaxAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parseavgAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsecountAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsesumAggregate(); + } + } + } + } + + return s0; + } + + function peg$parsemaxAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseMAX(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c51(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseminAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseMIN(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c52(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseavgAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseAVG(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c53(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecountAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseCOUNT(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c54(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsesumAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseSUM(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c55(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsegroupBy() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + s0 = peg$currPos; + s1 = peg$parseGROUP(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseBY(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parsegroupByRestValue(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parsegroupByRestValue(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c56(s5, s6); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsegroupByRestValue() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parse_(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parse_(); + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s2 = peg$c9; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsecolumn(); + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parse_(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parse_(); + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderBy() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseorderByValue(); + if (s1 !== peg$FAILED) { + s2 = peg$parseorderByType(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c58(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderByValue() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseORDER(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseBY(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c59(s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderByType() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseOrderByTypes(); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c60(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedistinct() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseDISTINCT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c61(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseignoreCase() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseIGNORECASE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c62(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseskip() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseSKIP(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 === peg$FAILED) { + s4 = null; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c63(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselimit() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseLIMIT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 === peg$FAILED) { + s4 = null; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c64(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQry() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseWHERE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parsewhereitems(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c65(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereitems() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsewhereQryWithoutParanthesis(); + if (s1 === peg$FAILED) { + s1 = peg$parsewhereQryWithParanthesis(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsejoinWhereItems(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsejoinWhereItems(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c66(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsejoinWhereItems() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseJoinOp(); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsewhereQryWithoutParanthesis(); + if (s4 === peg$FAILED) { + s4 = peg$parsewhereQryWithParanthesis(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c67(s2, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQryWithoutParanthesis() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsewhereItem(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsejoinWhereItem(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsejoinWhereItem(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c68(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQryWithParanthesis() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 40) { + s1 = peg$c4; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsewhereItem(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsejoinWhereItem(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsejoinWhereItem(); + } + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parse_(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parse_(); + } + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s6 = peg$c6; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c69(s3, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsejoinWhereItem() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseJoinOp(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + if (s3 !== peg$FAILED) { + s4 = peg$parsewhereItem(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c70(s2, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereItem() { + var s0; + + s0 = peg$parseequalToItem(); + if (s0 === peg$FAILED) { + s0 = peg$parselikeItem(); + if (s0 === peg$FAILED) { + s0 = peg$parseinItem(); + if (s0 === peg$FAILED) { + s0 = peg$parseoperatorItem(); + if (s0 === peg$FAILED) { + s0 = peg$parsebetweenItem(); + } + } + } + } + + return s0; + } + + function peg$parseequalToItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 61) { + s3 = peg$c34; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c35); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c71(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseoperatorItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c72) { + s3 = peg$c72; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c73); } + } + if (s3 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c74) { + s3 = peg$c74; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c75); } + } + if (s3 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c76) { + s3 = peg$c76; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c77); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 62) { + s3 = peg$c78; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c79); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 60) { + s3 = peg$c80; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c81); } + } + } + } + } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c82(s1, s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebetweenItem() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseBETWEEN(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsevalue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s9 = peg$c9; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = peg$parsevalue(); + if (s11 !== peg$FAILED) { + s12 = []; + s13 = peg$parse_(); + while (s13 !== peg$FAILED) { + s12.push(s13); + s13 = peg$parse_(); + } + if (s12 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s13 = peg$c6; + peg$currPos++; + } else { + s13 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s13 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c83(s1, s7, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinItem() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseIN(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsevalue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parseinBetweenParanthesisItem(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parseinBetweenParanthesisItem(); + } + if (s9 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s10 = peg$c6; + peg$currPos++; + } else { + s10 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c84(s1, s7, s9); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenParanthesisColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsecolumn(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenAggregateColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseaggregateType(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenParanthesisItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselikeItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseLIKE(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parselikeType(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c85(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselikeType() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 37) { + s1 = peg$c86; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 37) { + s5 = peg$c86; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 37) { + s1 = peg$c86; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parsevalue(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 37) { + s3 = peg$c86; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + + return s0; + } + + function peg$parsevalue() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + s2 = peg$parseColumnValue(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseColumnValue(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c89(s1); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c88); } + } + + return s0; + } + + function peg$parseupdateQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + s0 = peg$currPos; + s1 = peg$parseUPDATE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parsetableName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSET(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parseupdateValue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsewhereQry(); + if (s9 === peg$FAILED) { + s9 = null; + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parseignoreCase(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parseignoreCase(); + } + if (s11 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c90(s3, s7, s9, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseupdateValue() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseequalToItem(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parseupdateValueBetweenItem(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parseupdateValueBetweenItem(); + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c91(s1, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseupdateValueBetweenItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseequalToItem(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c92(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseopenQuery() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseOPENDB(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsedbName(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c93(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseisDbExistQuery() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseISDBEXIST(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsedbName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsetableInfo(); + if (s5 === peg$FAILED) { + s5 = null; + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c94(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsetableInfo() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseTABLE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsetableName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseversion(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c95(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsetableName() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c96); } + } + + return s0; + } + + function peg$parsedbName() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c97); } + } + + return s0; + } + + function peg$parsecolumn() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c98); } + } + + return s0; + } + + function peg$parseJoinOp() { + var s0; + + s0 = peg$parseAnd(); + if (s0 === peg$FAILED) { + s0 = peg$parseOr(); + } + + return s0; + } + + function peg$parseOrderByTypes() { + var s0, s1; + + peg$silentFails++; + if (input.substr(peg$currPos, 3) === peg$c100) { + s0 = peg$c100; + peg$currPos += 3; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c101); } + } + if (s0 === peg$FAILED) { + if (input.substr(peg$currPos, 4) === peg$c102) { + s0 = peg$c102; + peg$currPos += 4; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c103); } + } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c99); } + } + + return s0; + } + + function peg$parseAnd() { + var s0; + + if (input.charCodeAt(peg$currPos) === 38) { + s0 = peg$c104; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c105); } + } + + return s0; + } + + function peg$parseOr() { + var s0; + + if (input.charCodeAt(peg$currPos) === 124) { + s0 = peg$c106; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c107); } + } + + return s0; + } + + function peg$parseColumnValue() { + var s0; + + if (peg$c108.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c109); } + } + + return s0; + } + + function peg$parseWord() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseLetter(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseLetter(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c110(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseWordAndNumber() { + var s0; + + if (peg$c111.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c112); } + } + + return s0; + } + + function peg$parseLetter() { + var s0; + + if (peg$c113.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c114); } + } + + return s0; + } + + function peg$parseNumber() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseDigit(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseDigit(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c115(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseDigit() { + var s0; + + if (peg$c116.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c117); } + } + + return s0; + } + + function peg$parseWs() { + var s0, s1; + + peg$silentFails++; + if (peg$c119.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c120); } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c118); } + } + + return s0; + } + + function peg$parse_() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + s2 = peg$parseWs(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseWs(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c122(s1); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c121); } + } + + return s0; + } + + function peg$parseA() { + var s0; + + if (peg$c123.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c124); } + } + + return s0; + } + + function peg$parseB() { + var s0; + + if (peg$c125.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c126); } + } + + return s0; + } + + function peg$parseC() { + var s0; + + if (peg$c127.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c128); } + } + + return s0; + } + + function peg$parseD() { + var s0; + + if (peg$c129.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c130); } + } + + return s0; + } + + function peg$parseE() { + var s0; + + if (peg$c131.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c132); } + } + + return s0; + } + + function peg$parseF() { + var s0; + + if (peg$c133.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c134); } + } + + return s0; + } + + function peg$parseG() { + var s0; + + if (peg$c135.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c136); } + } + + return s0; + } + + function peg$parseH() { + var s0; + + if (peg$c137.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c138); } + } + + return s0; + } + + function peg$parseI() { + var s0; + + if (peg$c139.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c140); } + } + + return s0; + } + + function peg$parseJ() { + var s0; + + if (peg$c141.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c142); } + } + + return s0; + } + + function peg$parseK() { + var s0; + + if (peg$c143.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c144); } + } + + return s0; + } + + function peg$parseL() { + var s0; + + if (peg$c145.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c146); } + } + + return s0; + } + + function peg$parseM() { + var s0; + + if (peg$c147.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c148); } + } + + return s0; + } + + function peg$parseN() { + var s0; + + if (peg$c149.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c150); } + } + + return s0; + } + + function peg$parseO() { + var s0; + + if (peg$c151.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c152); } + } + + return s0; + } + + function peg$parseP() { + var s0; + + if (peg$c153.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c154); } + } + + return s0; + } + + function peg$parseQ() { + var s0; + + if (peg$c155.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c156); } + } + + return s0; + } + + function peg$parseR() { + var s0; + + if (peg$c157.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c158); } + } + + return s0; + } + + function peg$parseS() { + var s0; + + if (peg$c159.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c160); } + } + + return s0; + } + + function peg$parseT() { + var s0; + + if (peg$c161.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c162); } + } + + return s0; + } + + function peg$parseU() { + var s0; + + if (peg$c163.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c164); } + } + + return s0; + } + + function peg$parseV() { + var s0; + + if (peg$c165.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c166); } + } + + return s0; + } + + function peg$parseW() { + var s0; + + if (peg$c167.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c168); } + } + + return s0; + } + + function peg$parseX() { + var s0; + + if (peg$c169.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c170); } + } + + return s0; + } + + function peg$parseY() { + var s0; + + if (peg$c171.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c172); } + } + + return s0; + } + + function peg$parseZ() { + var s0; + + if (peg$c173.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c174); } + } + + return s0; + } + + function peg$parseMIN() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseN(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c175); } + } + + return s0; + } + + function peg$parseMAX() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseX(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c176); } + } + + return s0; + } + + function peg$parseAVG() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseV(); + if (s2 !== peg$FAILED) { + s3 = peg$parseG(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c177); } + } + + return s0; + } + + function peg$parseCOUNT() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseC(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseU(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c178); } + } + + return s0; + } + + function peg$parseSUM() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c179); } + } + + return s0; + } + + function peg$parseAGGREGATE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseG(); + if (s2 !== peg$FAILED) { + s3 = peg$parseG(); + if (s3 !== peg$FAILED) { + s4 = peg$parseR(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseG(); + if (s6 !== peg$FAILED) { + s7 = peg$parseA(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c180); } + } + + return s0; + } + + function peg$parseBETWEEN() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseW(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c181); } + } + + return s0; + } + + function peg$parseIN() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c182); } + } + + return s0; + } + + function peg$parseLIKE() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseL(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseK(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c183); } + } + + return s0; + } + + function peg$parseSELECT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseC(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c184); } + } + + return s0; + } + + function peg$parseIGNORECASE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseG(); + if (s2 !== peg$FAILED) { + s3 = peg$parseN(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseA(); + if (s8 !== peg$FAILED) { + s9 = peg$parseS(); + if (s9 !== peg$FAILED) { + s10 = peg$parseE(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c185); } + } + + return s0; + } + + function peg$parseDISTINCT() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseT(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c186); } + } + + return s0; + } + + function peg$parseORDER() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c187); } + } + + return s0; + } + + function peg$parseBY() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseY(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c188); } + } + + return s0; + } + + function peg$parseFROM() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseF(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseM(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c189); } + } + + return s0; + } + + function peg$parseGROUP() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseG(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseP(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c190); } + } + + return s0; + } + + function peg$parseLIMIT() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseL(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c191); } + } + + return s0; + } + + function peg$parseSKIP() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseK(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseP(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c192); } + } + + return s0; + } + + function peg$parseWHERE() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseW(); + if (s1 !== peg$FAILED) { + s2 = peg$parseH(); + if (s2 !== peg$FAILED) { + s3 = peg$parseE(); + if (s3 !== peg$FAILED) { + s4 = peg$parseR(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c193); } + } + + return s0; + } + + function peg$parseINSERT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c194); } + } + + return s0; + } + + function peg$parseINTO() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c195); } + } + + return s0; + } + + function peg$parseRETURN() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseR(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c196); } + } + + return s0; + } + + function peg$parseVALUES() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseV(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseS(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c197); } + } + + return s0; + } + + function peg$parseSKIPDATACHECK() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseK(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseP(); + if (s4 !== peg$FAILED) { + s5 = peg$parseD(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseT(); + if (s7 !== peg$FAILED) { + s8 = peg$parseA(); + if (s8 !== peg$FAILED) { + s9 = peg$parseC(); + if (s9 !== peg$FAILED) { + s10 = peg$parseH(); + if (s10 !== peg$FAILED) { + s11 = peg$parseE(); + if (s11 !== peg$FAILED) { + s12 = peg$parseC(); + if (s12 !== peg$FAILED) { + s13 = peg$parseK(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c198); } + } + + return s0; + } + + function peg$parseUPDATE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseU(); + if (s1 !== peg$FAILED) { + s2 = peg$parseP(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c199); } + } + + return s0; + } + + function peg$parseSET() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c200); } + } + + return s0; + } + + function peg$parseREMOVE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseR(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseV(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c201); } + } + + return s0; + } + + function peg$parseDELETE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c202); } + } + + return s0; + } + + function peg$parseVERSION() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseV(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseS(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseO(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c203); } + } + + return s0; + } + + function peg$parseENABLESEARCH() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseE(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseA(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseL(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseS(); + if (s7 !== peg$FAILED) { + s8 = peg$parseE(); + if (s8 !== peg$FAILED) { + s9 = peg$parseA(); + if (s9 !== peg$FAILED) { + s10 = peg$parseR(); + if (s10 !== peg$FAILED) { + s11 = peg$parseC(); + if (s11 !== peg$FAILED) { + s12 = peg$parseH(); + if (s12 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c204); } + } + + return s0; + } + + function peg$parseMULTIENTRY() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseT(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s9 = peg$parseR(); + if (s9 !== peg$FAILED) { + s10 = peg$parseY(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c205); } + } + + return s0; + } + + function peg$parsePRIMARYKEY() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseP(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseM(); + if (s4 !== peg$FAILED) { + s5 = peg$parseA(); + if (s5 !== peg$FAILED) { + s6 = peg$parseR(); + if (s6 !== peg$FAILED) { + s7 = peg$parseY(); + if (s7 !== peg$FAILED) { + s8 = peg$parseK(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseY(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c206); } + } + + return s0; + } + + function peg$parseUNIQUE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseU(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseQ(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c207); } + } + + return s0; + } + + function peg$parseSTRING() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseT(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseN(); + if (s5 !== peg$FAILED) { + s6 = peg$parseG(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c208); } + } + + return s0; + } + + function peg$parseNUMBER() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseN(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseR(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c209); } + } + + return s0; + } + + function peg$parseOBJECT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseB(); + if (s2 !== peg$FAILED) { + s3 = peg$parseJ(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseC(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c210); } + } + + return s0; + } + + function peg$parseARRAY() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseY(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c211); } + } + + return s0; + } + + function peg$parseBOOLEAN() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseL(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c212); } + } + + return s0; + } + + function peg$parseDATETIME() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 95) { + s5 = peg$c214; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c215); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s7 = peg$parseI(); + if (s7 !== peg$FAILED) { + s8 = peg$parseM(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c213); } + } + + return s0; + } + + function peg$parseAUTOINCREMENT() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseR(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseM(); + if (s10 !== peg$FAILED) { + s11 = peg$parseE(); + if (s11 !== peg$FAILED) { + s12 = peg$parseN(); + if (s12 !== peg$FAILED) { + s13 = peg$parseT(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c216); } + } + + return s0; + } + + function peg$parseNOTNULL() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseN(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseL(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c217); } + } + + return s0; + } + + function peg$parseDEFAULT() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseF(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseT(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c218); } + } + + return s0; + } + + function peg$parseDEFINE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseF(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseN(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c219); } + } + + return s0; + } + + function peg$parseDATABASE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseB(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseS(); + if (s7 !== peg$FAILED) { + s8 = peg$parseE(); + if (s8 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c220); } + } + + return s0; + } + + function peg$parseTABLE() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseT(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseB(); + if (s3 !== peg$FAILED) { + s4 = peg$parseL(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c221); } + } + + return s0; + } + + function peg$parseDB() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseB(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c222); } + } + + return s0; + } + + function peg$parseISDBEXIST() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseS(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseX(); + if (s6 !== peg$FAILED) { + s7 = peg$parseI(); + if (s7 !== peg$FAILED) { + s8 = peg$parseS(); + if (s8 !== peg$FAILED) { + s9 = peg$parseT(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c223); } + } + + return s0; + } + + function peg$parseOPENDB() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseP(); + if (s2 !== peg$FAILED) { + s3 = peg$parseE(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseD(); + if (s5 !== peg$FAILED) { + s6 = peg$parseB(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c224); } + } + + return s0; + } + + function peg$parseDISABLESEARCH() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseB(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseE(); + if (s7 !== peg$FAILED) { + s8 = peg$parseS(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseA(); + if (s10 !== peg$FAILED) { + s11 = peg$parseR(); + if (s11 !== peg$FAILED) { + s12 = peg$parseC(); + if (s12 !== peg$FAILED) { + s13 = peg$parseH(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c225); } + } + + return s0; + } + + peg$result = peg$startRuleFunction(); + + if (peg$result !== peg$FAILED && peg$currPos === input.length) { + return peg$result; + } else { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail(peg$endExpectation()); + } + + throw peg$buildStructuredError( + peg$maxFailExpected, + peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, + peg$maxFailPos < input.length + ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) + : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) + ); + } +} + +module.exports = { + SyntaxError: peg$SyntaxError, + parse: peg$parse +}; + + +/***/ }), +/* 3 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Util", function() { return Util; }); +var dateFormat = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/; +var reviver = function (key, value) { + if (typeof value === "string" && dateFormat.test(value)) { + return new Date(value); + } + return value; +}; +var Util = /** @class */ (function () { + function Util() { + } + Util.isString = function (value) { + return typeof value === 'string'; + }; + Util.parseJson = function (value) { + return JSON.parse(value, reviver); + }; + return Util; +}()); + + + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Config", function() { return Config; }); +var Config = /** @class */ (function () { + function Config() { + } + Config.isLogEnabled = false; + return Config; +}()); + + + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LogHelper", function() { return LogHelper; }); +/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); + + +var LogHelper = /** @class */ (function () { + function LogHelper(type, info) { + this.type = type; + this.info_ = info; + this.message = this.getMsg_(); + } + LogHelper.log = function (msg) { + if (_config__WEBPACK_IMPORTED_MODULE_1__["Config"].isLogEnabled) { + console.log(msg); + } + }; + LogHelper.prototype.logError = function () { + console.error(this.get()); + }; + LogHelper.prototype.logWarning = function () { + console.warn(this.get()); + }; + LogHelper.prototype.get = function () { + return { + message: this.message, + type: this.type + }; + }; + LogHelper.prototype.getMsg_ = function () { + var errMsg; + switch (this.type) { + case _enums__WEBPACK_IMPORTED_MODULE_0__["ERROR_TYPE"].SynTaxError: + errMsg = this.info_; + break; + default: + errMsg = this.message; + break; + } + return errMsg; + }; + return LogHelper; +}()); + + + +/***/ }), +/* 6 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ERROR_TYPE", function() { return ERROR_TYPE; }); +var ERROR_TYPE; +(function (ERROR_TYPE) { + ERROR_TYPE["SynTaxError"] = "syntax_error"; +})(ERROR_TYPE || (ERROR_TYPE = {})); + + +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Query", function() { return Query; }); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_output_parser__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); + + +var Query = /** @class */ (function () { + function Query(qry) { + this.topLevelKeys_ = ["skip", "limit"]; + this.query_ = _output_parser__WEBPACK_IMPORTED_MODULE_0__["parse"](qry); + } + Query.prototype.map = function (key, value) { + var stringifiedValue = JSON.stringify(this.query_); + this.query_ = this.parseJson_(stringifiedValue.replace('"' + key + '"', JSON.stringify(value))); + }; + Query.prototype.isString_ = function (value) { + return _util__WEBPACK_IMPORTED_MODULE_1__["Util"].isString(value); + }; + Query.prototype.parseJson_ = function (value) { + return _util__WEBPACK_IMPORTED_MODULE_1__["Util"].parseJson(value); + }; + return Query; +}()); + + + +/***/ }) +/******/ ]); +//# sourceMappingURL=sqlweb.commonjs2.js.map \ No newline at end of file diff --git a/dist/sqlweb.commonjs2.js.map b/dist/sqlweb.commonjs2.js.map new file mode 100644 index 0000000..0245ec8 --- /dev/null +++ b/dist/sqlweb.commonjs2.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://SqlWeb/webpack/bootstrap","webpack://SqlWeb/./src/code/index.ts","webpack://SqlWeb/./src/code/instance.ts","webpack://SqlWeb/./src/output/parser.js","webpack://SqlWeb/./src/code/util.ts","webpack://SqlWeb/./src/code/config.ts","webpack://SqlWeb/./src/code/log_helper.ts","webpack://SqlWeb/./src/code/enums.ts","webpack://SqlWeb/./src/code/query.ts"],"names":[],"mappings":";;;;;;;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;;;AClF0B;AACF;;;;;;;;;;;;;;;;ACDqB;AACf;AAEI;AACO;AACJ;AAGrC;IAEI,kBAAY,UAAU;QAClB,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,4BAAS,GAAjB,UAAkB,KAAK;QACnB,MAAM,CAAC,0CAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAqB;QAC1B,IAAI,CAAC;YACD,IAAI,MAAM,UAAC;YACX,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACjC,KAAK,GAAI,KAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpE,MAAM,GAAG,oDAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,MAAM,GAAI,KAAe,CAAC,MAAM,CAAC;YACrC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,IAAI,KAAG,CAAC;YACR,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;gBAC5B,KAAG,GAAG,IAAI,qDAAS,CAAC,iDAAU,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,KAAG,GAAG,EAAE,CAAC;YACb,CAAC;YACD,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,MAAM,CAAC,KAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,+BAAY,GAAZ,UAAa,MAAe;QACxB,8CAAM,CAAC,YAAY,GAAG,MAAM,CAAC;IACjC,CAAC;IACL,eAAC;AAAD,CAAC;;;;;;;;;ACtDD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB,EAAE;AACjF,sDAAsD,yBAAyB,EAAE;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB,EAAE;AACjF,sDAAsD,yBAAyB,EAAE;AACjF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,qBAAqB;AACpC;AACA;;AAEA;;AAEA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qBAAqB;;AAErB,gCAAgC,wBAAwB;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB,wCAAwC;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,iDAAiD;AACjD;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mBAAmB;AACnB,0CAA0C;AAC1C,kBAAkB;AAClB,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC;AACA,kCAAkC;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC;AACA,gCAAgC;AAChC;AACA,kCAAkC;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,8B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,oC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,oC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;AACA;AACA,sB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB,iB;AACvB,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,QAAQ;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,4CAA4C,kBAAkB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,wDAAwD,kBAAkB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,8DAA8D,kBAAkB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,mBAAmB;AACrE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,4CAA4C,kBAAkB;AAC9D;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,4CAA4C,mBAAmB;AAC/D;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,mBAAmB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,oDAAoD,kBAAkB;AACtE;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACrzPA;AAAA,IAAM,UAAU,GAAG,8CAA8C,CAAC;AAClE,IAAM,OAAO,GAAG,UAAU,GAAG,EAAE,KAAK;IAChC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC,CAAC;AACF;IAAA;IAQA,CAAC;IAPU,aAAQ,GAAf,UAAgB,KAAK;QACjB,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ;IACpC,CAAC;IAEM,cAAS,GAAhB,UAAiB,KAAK;QAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACL,WAAC;AAAD,CAAC;;;;;;;;;;AChBD;AAAA;IAAA;IAEA,CAAC;IADU,mBAAY,GAAG,KAAK,CAAC;IAChC,aAAC;CAAA;AAFkB;;;;;;;;;;;;ACCkB;AACH;AAElC;IAKI,mBAAY,IAAgB,EAAE,IAAU;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAEM,aAAG,GAAV,UAAW,GAAG;QACV,EAAE,CAAC,CAAC,8CAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,4BAAQ,GAAR;QACI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,8BAAU,GAAV;QACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,uBAAG,GAAH;QACI,MAAM,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACR,CAAC;IAChB,CAAC;IAEO,2BAAO,GAAf;QACI,IAAI,MAAc,CAAC;QACnB,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,KAAK,iDAAU,CAAC,WAAW;gBACvB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC;YACV;gBACI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtB,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAClB,CAAC;IACL,gBAAC;AAAD,CAAC;;;;;;;;;;;AChDD,IAAY,UAEX;AAFD,WAAY,UAAU;IAClB,0CAA4B;AAChC,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;;;;;;;;;;;;;ACF4C;AACf;AAC9B;IAGI,eAAY,GAAW;QADf,kBAAa,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC;QAE/C,IAAI,CAAC,MAAM,GAAG,oDAAY,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,mBAAG,GAAH,UAAI,GAAW,EAAE,KAAU;QACvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAEO,yBAAS,GAAjB,UAAkB,KAAK;QACnB,MAAM,CAAC,0CAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,0BAAU,GAAlB,UAAmB,KAAK;QACpB,MAAM,CAAC,0CAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACL,YAAC;AAAD,CAAC","file":"sqlweb.commonjs2.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export * from './instance'\nexport * from './query';","import * as parser from './../output/parser';\nimport { Util } from './util';\nimport { Query } from '.';\nimport { Config } from './config';\nimport { LogHelper } from './log_helper';\nimport { ERROR_TYPE } from './enums';\n\ndeclare var JsStore;\nexport class Instance {\n private jsStoreCon_;\n constructor(workerPath) {\n this.jsStoreCon_ = workerPath == null ? new JsStore.Instance() :\n new JsStore.Instance(new Worker(workerPath));\n }\n\n private isString_(value) {\n return Util.isString(value);\n }\n\n runQuery(query: string | Query) {\n try {\n let result;\n if (this.isString_(query) === true) {\n query = (query as string).replace(new RegExp('\\n', 'g'), '').trim();\n result = parser.parse(query);\n }\n else {\n result = (query as Query).query_;\n }\n return this.jsStoreCon_[result.api](result.data);\n }\n catch (ex) {\n let err;\n if (ex.name === \"SyntaxError\") {\n err = new LogHelper(ERROR_TYPE.SynTaxError, ex.message).get();\n }\n else {\n err = ex;\n }\n return new Promise((resolve, reject) => {\n reject(err);\n });\n }\n }\n\n /**\n * set log status, accepts boolean value\n *\n * @param {boolean} status\n * @memberof Instance\n */\n setLogStatus(status: boolean) {\n Config.isLogEnabled = status;\n }\n}","/*\n * Generated by PEG.js 0.10.0.\n *\n * http://pegjs.org/\n */\n\n\"use strict\";\n\nfunction peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n}\n\nfunction peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n}\n\npeg$subclass(peg$SyntaxError, Error);\n\npeg$SyntaxError.buildMessage = function(expected, found) {\n var DESCRIBE_EXPECTATION_FNS = {\n literal: function(expectation) {\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n },\n\n \"class\": function(expectation) {\n var escapedParts = \"\",\n i;\n\n for (i = 0; i < expectation.parts.length; i++) {\n escapedParts += expectation.parts[i] instanceof Array\n ? classEscape(expectation.parts[i][0]) + \"-\" + classEscape(expectation.parts[i][1])\n : classEscape(expectation.parts[i]);\n }\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n },\n\n any: function(expectation) {\n return \"any character\";\n },\n\n end: function(expectation) {\n return \"end of input\";\n },\n\n other: function(expectation) {\n return expectation.description;\n }\n };\n\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function classEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\^/g, '\\\\^')\n .replace(/-/g, '\\\\-')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function describeExpectation(expectation) {\n return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n }\n\n function describeExpected(expected) {\n var descriptions = new Array(expected.length),\n i, j;\n\n for (i = 0; i < expected.length; i++) {\n descriptions[i] = describeExpectation(expected[i]);\n }\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found) {\n return found ? \"\\\"\" + literalEscape(found) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n};\n\nfunction peg$parse(input, options) {\n options = options !== void 0 ? options : {};\n\n var peg$FAILED = {},\n\n peg$startRuleFunctions = { query: peg$parsequery },\n peg$startRuleFunction = peg$parsequery,\n\n peg$c0 = function(db, tables) {\r\n \tdb.tables=tables\r\n return {\r\n api:'createDb',\r\n data:db\r\n }\r\n },\n peg$c1 = \";\",\n peg$c2 = peg$literalExpectation(\";\", false),\n peg$c3 = function(name) {\r\n \treturn {\r\n \tname:name\r\n }\r\n },\n peg$c4 = \"(\",\n peg$c5 = peg$literalExpectation(\"(\", false),\n peg$c6 = \")\",\n peg$c7 = peg$literalExpectation(\")\", false),\n peg$c8 = function(table, first, all, ver) {\r\n all.push(first);\r\n var versionData = ver==null?null:ver['version'];\r\n return {\r\n name: table,\r\n columns : all,\r\n version: versionData\r\n }\r\n },\n peg$c9 = \",\",\n peg$c10 = peg$literalExpectation(\",\", false),\n peg$c11 = function(def) {\r\n return def;\r\n },\n peg$c12 = function(name, options) {\r\n var defaultValue = {\r\n name:name,\r\n unique:false,\r\n autoIncrement:false,\r\n default:null,\r\n notNull:false,\r\n dataType:null,\r\n primaryKey:false,\r\n multiEntry:false,\r\n enableSearch:true\r\n }\r\n options.forEach(option=>{\r\n var key = Object.keys(option)[0];\r\n defaultValue[key] = option[key];\r\n });\r\n return defaultValue;\r\n },\n peg$c13 = function(option) {\r\n \treturn option;\r\n },\n peg$c14 = function() {\r\n return {\r\n autoIncrement:true\r\n }\r\n },\n peg$c15 = function() {\r\n return {\r\n notNull:true\r\n }\r\n },\n peg$c16 = function(val) {\r\n return {\r\n default:val\r\n }\r\n },\n peg$c17 = function(type) {\r\n return {\r\n dataType:type.join('').toLowerCase()\r\n }\r\n },\n peg$c18 = function() {\r\n return {\r\n unique:true\r\n }\r\n },\n peg$c19 = function() {\r\n return {\r\n primaryKey:true\r\n }\r\n },\n peg$c20 = function() {\r\n return {\r\n multiEntry:true\r\n }\r\n },\n peg$c21 = function() {\r\n return {\r\n enableSearch:true\r\n }\r\n },\n peg$c22 = function() {\r\n return {\r\n enableSearch:false\r\n }\r\n },\n peg$c23 = function(val) {\r\n return {\r\n version:val\r\n }\r\n },\n peg$c24 = function(table, insertValue, options) {\r\n var skipDataCheck = false;\r\n var returnValue = false;\r\n options.forEach(val=>{\r\n var key = Object.keys(val)[0];\r\n switch(key){\r\n case 'skipDataCheck':\r\n skipDataCheck = val[key]; break;\r\n case 'return':\r\n returnValue = val[key]; break;\r\n }\r\n });\r\n return {\r\n api: 'insert',\r\n data: {\r\n into: table,\r\n values: insertValue,\r\n skipDataCheck: skipDataCheck,\r\n return : returnValue\r\n }\r\n }\r\n },\n peg$c25 = \"({\",\n peg$c26 = peg$literalExpectation(\"({\", false),\n peg$c27 = \"})\",\n peg$c28 = peg$literalExpectation(\"})\", false),\n peg$c29 = function(first, rest) {\r\n \tvar obj = {\r\n \t[first.key]: first.value\r\n }\r\n if(rest!=null){\r\n \trest.forEach(item=>{\r\n \tobj[item.key] = item.value\r\n })\r\n }\r\n return [obj];\r\n },\n peg$c30 = function(val) {\r\n \treturn val;\r\n },\n peg$c31 = \":\",\n peg$c32 = peg$literalExpectation(\":\", false),\n peg$c33 = function(key, val) {\r\n \treturn {\r\n \tkey:key,\r\n value:val\r\n }\r\n },\n peg$c34 = \"=\",\n peg$c35 = peg$literalExpectation(\"=\", false),\n peg$c36 = function(insertValue) {\r\n \treturn insertValue;\r\n },\n peg$c37 = function(option) {\r\n return {\r\n [option]:true\r\n }\r\n },\n peg$c38 = function() {\r\n return 'skipDataCheck';\r\n },\n peg$c39 = function() {\r\n return 'return';\r\n },\n peg$c40 = function(table, where, option) {\r\n var ignoreCase =false;\r\n option.forEach(val=>{\r\n \tvar key = Object.keys(val)[0];\r\n switch(key){\r\n case 'ignoreCase':\r\n \tignoreCase = val[key]; break;\r\n }\r\n });\r\n return {\r\n api:'remove',\r\n data:{\r\n from:table,\r\n where:where,\r\n ignoreCase: ignoreCase\r\n }\r\n }\r\n },\n peg$c41 = \"*\",\n peg$c42 = peg$literalExpectation(\"*\", false),\n peg$c43 = function(table, where, option) {\n var ignoreCase =false;\n var distinct = false;\n var groupBy = null;\n option.forEach(val=>{\n \tvar key = Object.keys(val)[0];\n switch(key){\n case 'ignoreCase':\n \tignoreCase = val[key]; break;\n case 'distinct':\n \tdistinct = val[key]; break;\n case 'groupBy':\n \tgroupBy = val[key]; break;\n }\n });\n return {\n api:'count',\n data:{\n from:table,\n where:where,\n ignoreCase: ignoreCase,\n distinct : distinct,\n groupBy:groupBy\n }\n }\n },\n peg$c44 = function(aggr, table, where, option) {\n var skip=null;\n var limit=null;\n var ignoreCase =false;\n var distinct = false;\n var order = null;\n var groupBy = null;\n var aggregate = aggr;\n option.forEach(val=>{\n \tvar key = Object.keys(val)[0];\n switch(key){\n \tcase 'skip':\n \tskip= val[key]; break;\n case 'limit':\n limit= val[key]; break;\n case 'ignoreCase':\n \tignoreCase = val[key]; break;\n case 'distinct':\n \tdistinct = val[key]; break;\n case 'order':\n \torder = val[key]; break;\n case 'groupBy':\n \tgroupBy = val[key]; break;\n }\n });\n return {\n api:'select',\n data:{\n from:table,\n where:where,\n skip:skip,\n limit:limit,\n ignoreCase: ignoreCase,\n distinct : distinct,\n order:order,\n groupBy:groupBy,\n aggregate : aggr\n }\n }\n },\n peg$c45 = function(aggr) {\n \treturn aggr[0];\n },\n peg$c46 = \"[\",\n peg$c47 = peg$literalExpectation(\"[\", false),\n peg$c48 = \"]\",\n peg$c49 = peg$literalExpectation(\"]\", false),\n peg$c50 = function(first, rest) {\n \trest.splice(0,0,first);\n return rest;\n },\n peg$c51 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tmax : rest\n }\n },\n peg$c52 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tmin : rest\n }\n },\n peg$c53 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tavg : rest\n }\n },\n peg$c54 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tcount : rest\n }\n },\n peg$c55 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tsum : rest\n }\n },\n peg$c56 = function(first, rest) {\n \treturn {\n \tgroupBy:[first,...rest]\n } ;\n },\n peg$c57 = function(val) {\n \treturn val;\n },\n peg$c58 = function(by, type) {\n \treturn {\n \torder: {\n \tby:by,\n type: type\n }\n };\n },\n peg$c59 = function(by) {\n \treturn by;\n },\n peg$c60 = function(type) {\n \treturn type;\n },\n peg$c61 = function() {\n \treturn {\n \tdistinct: true\n };\n },\n peg$c62 = function() {\n \treturn {\n \tignoreCase: true\n };\n },\n peg$c63 = function(val) {\n \treturn {\n \tskip: val\n };\n },\n peg$c64 = function(val) {\n \treturn {\n \tlimit: val\n };\n },\n peg$c65 = function(where) {\n \treturn where;\n },\n peg$c66 = function(item1, item2) {\n \tif(!Array.isArray(item1)){\n \titem1=[item1];\n }\n if(item2!=null){\n \tvar pushInItem1=(item)=>{\n \titem1.push(item);\n }\n if(Array.isArray(item1)){\n \titem2.forEach(item=>{\n if(Array.isArray(item)){\n item.forEach(subItem=>{\n pushInItem1(subItem);\n });\n }\n else{\n pushInItem1(item)\n }\n });\n }\n }\n return item1;\n },\n peg$c67 = function(op, where) {\n \t\n if(op==='|'){\n \tvar obj={};\n if(Array.isArray(where)){\n where.forEach(val=>{\n obj={...obj,...val}\n });\n }\n else{\n \tobj = where;\n }\n return {\n \tor:obj\n }\n }\n \n return where;\n },\n peg$c68 = function(fw, jw) {\n \tif(jw==null){\n \treturn fw\n }\n else{\n \tjw.splice(0,0,fw);\t\n return jw;\n }\n },\n peg$c69 = function(fw, jw) {\n \tif(jw==null){\n \treturn fw;\n }\n else{\n \tvar query= fw;\n jw.forEach(qry=>{\n \tvar key = Object.keys(qry)[0];\n \tif(key==='or'){\n \tif(query.or==null){\n \tquery.or={};\n }\n var orKey = Object.keys(qry[key])[0];\n query.or[orKey]= qry[key][orKey];\n }\n else{\n \tquery[key]=qry[key];\n }\n })\n return query;\n }\n },\n peg$c70 = function(op, item) {\n \tif(op==='|'){\n \treturn {\n \tor: item\n }\n }\n return item;\n },\n peg$c71 = function(col, val) { \n \treturn {\n \t[col]:val\n \t}\n },\n peg$c72 = \"!=\",\n peg$c73 = peg$literalExpectation(\"!=\", false),\n peg$c74 = \">=\",\n peg$c75 = peg$literalExpectation(\">=\", false),\n peg$c76 = \"<=\",\n peg$c77 = peg$literalExpectation(\"<=\", false),\n peg$c78 = \">\",\n peg$c79 = peg$literalExpectation(\">\", false),\n peg$c80 = \"<\",\n peg$c81 = peg$literalExpectation(\"<\", false),\n peg$c82 = function(col, op, val) { \n \treturn {\n \t[col]:{\n \t[op]:val\n }\n \t}\n },\n peg$c83 = function(col, low, high) {\n \treturn {\n \t[col]:{\n '-':{\n low : low,\n high : high\n }\n }\n \t}\n },\n peg$c84 = function(col, first, betweens) { \n \treturn {\n \t[col]:{\n \tin:[first,...betweens]\n }\n \t}\n },\n peg$c85 = function(col, val) { \n \treturn {\n \t[col]:{\n \tlike:val.join('')\n }\n \t}\n },\n peg$c86 = \"%\",\n peg$c87 = peg$literalExpectation(\"%\", false),\n peg$c88 = peg$otherExpectation(\"column value\"),\n peg$c89 = function(val) {\n var value=val.join(\"\");\n if(value[0]=== \"'\" && value[value.length-1] === \"'\"){\n \treturn value.substr(1,value.length-2);\n }\n var number = Number(value); \n if(isNaN(number)) \n \treturn value; \n else \n \treturn number;\n },\n peg$c90 = function(table, set, where, option) {\r\n\r\n var ignoreCase =false;\r\n option.forEach(val=>{\r\n \tvar key = Object.keys(val)[0];\r\n switch(key){\r\n case 'ignoreCase':\r\n \tignoreCase = val[key]; break;\r\n }\r\n });\r\n return {\r\n api:'update',\r\n data:{\r\n in:table,\r\n set:set,\r\n where:where,\r\n ignoreCase: ignoreCase\r\n }\r\n }\r\n },\n peg$c91 = function(first, rest) {\r\n rest.forEach(val=>{\r\n first = {...first,...val}; \r\n });\r\n return first;\r\n },\n peg$c92 = function(val) {\r\n return val;\r\n },\n peg$c93 = function(name) {\r\n return {\r\n api:'openDb',\r\n data:name\r\n }\r\n },\n peg$c94 = function(name, tblInfo) {\r\n \tvar result = {\r\n \tapi:'isDbExist'\r\n }\r\n if(tblInfo==null){\r\n result.data=name;\r\n }\r\n else{\r\n \tresult.data={\r\n dbName:name,\r\n table:tblInfo\r\n }\r\n }\r\n return result;\r\n },\n peg$c95 = function(table, ver) {\r\n \treturn {\r\n name:table,\r\n version:ver\r\n }\r\n },\n peg$c96 = peg$otherExpectation(\"table name\"),\n peg$c97 = peg$otherExpectation(\"database name\"),\n peg$c98 = peg$otherExpectation(\"column\"),\n peg$c99 = peg$otherExpectation(\"order type\"),\n peg$c100 = \"asc\",\n peg$c101 = peg$literalExpectation(\"asc\", false),\n peg$c102 = \"desc\",\n peg$c103 = peg$literalExpectation(\"desc\", false),\n peg$c104 = \"&\",\n peg$c105 = peg$literalExpectation(\"&\", false),\n peg$c106 = \"|\",\n peg$c107 = peg$literalExpectation(\"|\", false),\n peg$c108 = /^[a-zA-Z0-9@_']/,\n peg$c109 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], [\"0\", \"9\"], \"@\", \"_\", \"'\"], false, false),\n peg$c110 = function(l) {return l.join(\"\");},\n peg$c111 = /^[a-zA-Z0-9]/,\n peg$c112 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], [\"0\", \"9\"]], false, false),\n peg$c113 = /^[a-zA-Z]/,\n peg$c114 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false),\n peg$c115 = function(d) {return Number(d.join(\"\"))},\n peg$c116 = /^[0-9]/,\n peg$c117 = peg$classExpectation([[\"0\", \"9\"]], false, false),\n peg$c118 = peg$otherExpectation(\"Whitespace\"),\n peg$c119 = /^[ \\t]/,\n peg$c120 = peg$classExpectation([\" \", \"\\t\"], false, false),\n peg$c121 = peg$otherExpectation(\"One or more whitespaces\"),\n peg$c122 = function(space) {return null;},\n peg$c123 = /^[aA]/,\n peg$c124 = peg$classExpectation([\"a\", \"A\"], false, false),\n peg$c125 = /^[bB]/,\n peg$c126 = peg$classExpectation([\"b\", \"B\"], false, false),\n peg$c127 = /^[cC]/,\n peg$c128 = peg$classExpectation([\"c\", \"C\"], false, false),\n peg$c129 = /^[dD]/,\n peg$c130 = peg$classExpectation([\"d\", \"D\"], false, false),\n peg$c131 = /^[eE]/,\n peg$c132 = peg$classExpectation([\"e\", \"E\"], false, false),\n peg$c133 = /^[fF]/,\n peg$c134 = peg$classExpectation([\"f\", \"F\"], false, false),\n peg$c135 = /^[gG]/,\n peg$c136 = peg$classExpectation([\"g\", \"G\"], false, false),\n peg$c137 = /^[hH]/,\n peg$c138 = peg$classExpectation([\"h\", \"H\"], false, false),\n peg$c139 = /^[iI]/,\n peg$c140 = peg$classExpectation([\"i\", \"I\"], false, false),\n peg$c141 = /^[jJ]/,\n peg$c142 = peg$classExpectation([\"j\", \"J\"], false, false),\n peg$c143 = /^[kK]/,\n peg$c144 = peg$classExpectation([\"k\", \"K\"], false, false),\n peg$c145 = /^[lL]/,\n peg$c146 = peg$classExpectation([\"l\", \"L\"], false, false),\n peg$c147 = /^[mM]/,\n peg$c148 = peg$classExpectation([\"m\", \"M\"], false, false),\n peg$c149 = /^[nN]/,\n peg$c150 = peg$classExpectation([\"n\", \"N\"], false, false),\n peg$c151 = /^[oO]/,\n peg$c152 = peg$classExpectation([\"o\", \"O\"], false, false),\n peg$c153 = /^[pP]/,\n peg$c154 = peg$classExpectation([\"p\", \"P\"], false, false),\n peg$c155 = /^[qQ]/,\n peg$c156 = peg$classExpectation([\"q\", \"Q\"], false, false),\n peg$c157 = /^[rR]/,\n peg$c158 = peg$classExpectation([\"r\", \"R\"], false, false),\n peg$c159 = /^[sS]/,\n peg$c160 = peg$classExpectation([\"s\", \"S\"], false, false),\n peg$c161 = /^[tT]/,\n peg$c162 = peg$classExpectation([\"t\", \"T\"], false, false),\n peg$c163 = /^[uU]/,\n peg$c164 = peg$classExpectation([\"u\", \"U\"], false, false),\n peg$c165 = /^[vV]/,\n peg$c166 = peg$classExpectation([\"v\", \"V\"], false, false),\n peg$c167 = /^[wW]/,\n peg$c168 = peg$classExpectation([\"w\", \"W\"], false, false),\n peg$c169 = /^[xX]/,\n peg$c170 = peg$classExpectation([\"x\", \"X\"], false, false),\n peg$c171 = /^[yY]/,\n peg$c172 = peg$classExpectation([\"y\", \"Y\"], false, false),\n peg$c173 = /^[zZ]/,\n peg$c174 = peg$classExpectation([\"z\", \"Z\"], false, false),\n peg$c175 = peg$otherExpectation(\"min\"),\n peg$c176 = peg$otherExpectation(\"max\"),\n peg$c177 = peg$otherExpectation(\"avg\"),\n peg$c178 = peg$otherExpectation(\"count\"),\n peg$c179 = peg$otherExpectation(\"sum\"),\n peg$c180 = peg$otherExpectation(\"aggregate\"),\n peg$c181 = peg$otherExpectation(\"between\"),\n peg$c182 = peg$otherExpectation(\"in\"),\n peg$c183 = peg$otherExpectation(\"like\"),\n peg$c184 = peg$otherExpectation(\"select\"),\n peg$c185 = peg$otherExpectation(\"ignoreCase\"),\n peg$c186 = peg$otherExpectation(\"distinct\"),\n peg$c187 = peg$otherExpectation(\"order\"),\n peg$c188 = peg$otherExpectation(\"by\"),\n peg$c189 = peg$otherExpectation(\"from\"),\n peg$c190 = peg$otherExpectation(\"group\"),\n peg$c191 = peg$otherExpectation(\"limit\"),\n peg$c192 = peg$otherExpectation(\"skip\"),\n peg$c193 = peg$otherExpectation(\"where\"),\n peg$c194 = peg$otherExpectation(\"insert\"),\n peg$c195 = peg$otherExpectation(\"into\"),\n peg$c196 = peg$otherExpectation(\"return\"),\n peg$c197 = peg$otherExpectation(\"values\"),\n peg$c198 = peg$otherExpectation(\"skipdatacheck\"),\n peg$c199 = peg$otherExpectation(\"update\"),\n peg$c200 = peg$otherExpectation(\"set\"),\n peg$c201 = peg$otherExpectation(\"remove\"),\n peg$c202 = peg$otherExpectation(\"delete\"),\n peg$c203 = peg$otherExpectation(\"version\"),\n peg$c204 = peg$otherExpectation(\"enablesearch\"),\n peg$c205 = peg$otherExpectation(\"multiEntry\"),\n peg$c206 = peg$otherExpectation(\"primarykey\"),\n peg$c207 = peg$otherExpectation(\"unique\"),\n peg$c208 = peg$otherExpectation(\"string\"),\n peg$c209 = peg$otherExpectation(\"number\"),\n peg$c210 = peg$otherExpectation(\"object\"),\n peg$c211 = peg$otherExpectation(\"array\"),\n peg$c212 = peg$otherExpectation(\"boolean\"),\n peg$c213 = peg$otherExpectation(\"date_time\"),\n peg$c214 = \"_\",\n peg$c215 = peg$literalExpectation(\"_\", false),\n peg$c216 = peg$otherExpectation(\"autoincrement\"),\n peg$c217 = peg$otherExpectation(\"notnull\"),\n peg$c218 = peg$otherExpectation(\"default\"),\n peg$c219 = peg$otherExpectation(\"define\"),\n peg$c220 = peg$otherExpectation(\"database\"),\n peg$c221 = peg$otherExpectation(\"table\"),\n peg$c222 = peg$otherExpectation(\"db\"),\n peg$c223 = peg$otherExpectation(\"isDbExist\"),\n peg$c224 = peg$otherExpectation(\"openDb\"),\n peg$c225 = peg$otherExpectation(\"disablesearch\"),\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1 }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location\n );\n }\n\n function error(message, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildSimpleError(message, location);\n }\n\n function peg$literalExpectation(text, ignoreCase) {\n return { type: \"literal\", text: text, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos], p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildSimpleError(message, location) {\n return new peg$SyntaxError(message, null, null, location);\n }\n\n function peg$buildStructuredError(expected, found, location) {\n return new peg$SyntaxError(\n peg$SyntaxError.buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsequery() {\n var s0;\n\n s0 = peg$parseselectQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parsecountQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseinsertQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseupdateQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseremoveQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parsecreateQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseopenQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseisDbExistQuery();\n }\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsecreateQuery() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsecreateDbQuery();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsecreateTableQuery();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsecreateTableQuery();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecreateDbQuery() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n s1 = peg$parseDEFINE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDATABASE();\n if (s3 === peg$FAILED) {\n s3 = peg$parseDB();\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsedbName();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 59) {\n s6 = peg$c1;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c3(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecreateTableQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17;\n\n s0 = peg$currPos;\n s1 = peg$parseDEFINE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseTABLE();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableName();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s7 = peg$c4;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parsecolumnDef();\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parsebetweenColumnDef();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parsebetweenColumnDef();\n }\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parse_();\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parse_();\n }\n if (s11 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s12 = peg$c6;\n peg$currPos++;\n } else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parse_();\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parse_();\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parseversion();\n if (s14 === peg$FAILED) {\n s14 = null;\n }\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 59) {\n s15 = peg$c1;\n peg$currPos++;\n } else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s15 === peg$FAILED) {\n s15 = null;\n }\n if (s15 !== peg$FAILED) {\n s16 = [];\n s17 = peg$parse_();\n while (s17 !== peg$FAILED) {\n s16.push(s17);\n s17 = peg$parse_();\n }\n if (s16 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c8(s5, s9, s10, s14);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsebetweenColumnDef() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parse_();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parse_();\n }\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s2 = peg$c9;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsecolumnDef();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecolumnDef() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsecolumnOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsecolumnOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c12(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecolumnOption() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumnOpts();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c13(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecolumnOpts() {\n var s0;\n\n s0 = peg$parsedataType();\n if (s0 === peg$FAILED) {\n s0 = peg$parseautoIncrement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsenotNull();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedefault();\n if (s0 === peg$FAILED) {\n s0 = peg$parseunique();\n if (s0 === peg$FAILED) {\n s0 = peg$parseprimaryKey();\n if (s0 === peg$FAILED) {\n s0 = peg$parsemultiEntry();\n if (s0 === peg$FAILED) {\n s0 = peg$parseenableSearch();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedisableSearch();\n }\n }\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parseautoIncrement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseAUTOINCREMENT();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c14();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsenotNull() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseNOTNULL();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c15();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsedefault() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseDEFAULT();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedataType() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseSTRING();\n if (s1 === peg$FAILED) {\n s1 = peg$parseNUMBER();\n if (s1 === peg$FAILED) {\n s1 = peg$parseOBJECT();\n if (s1 === peg$FAILED) {\n s1 = peg$parseARRAY();\n if (s1 === peg$FAILED) {\n s1 = peg$parseBOOLEAN();\n if (s1 === peg$FAILED) {\n s1 = peg$parseDATETIME();\n }\n }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c17(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseunique() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseUNIQUE();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseprimaryKey() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsePRIMARYKEY();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c19();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemultiEntry() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseMULTIENTRY();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseenableSearch() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseENABLESEARCH();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsedisableSearch() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseDISABLESEARCH();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseversion() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseVERSION();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseNumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c23(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n s0 = peg$currPos;\n s1 = peg$parseINSERT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseINTO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableName();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parseVALUES();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parsevalueTypes();\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parse_();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parse_();\n }\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseinsertOptions();\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseinsertOptions();\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s5, s9, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsevalueTypes() {\n var s0;\n\n s0 = peg$parseinsertWithEqual();\n if (s0 === peg$FAILED) {\n s0 = peg$parseinsertWithParanthesis();\n }\n\n return s0;\n }\n\n function peg$parseinsertWithParanthesis() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c26); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsekeyValueSepByColumn();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseinsertWithParanthesisBetweenVal();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseinsertWithParanthesisBetweenVal();\n }\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c27) {\n s7 = peg$c27;\n peg$currPos += 2;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c29(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertWithParanthesisBetweenVal() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsekeyValueSepByColumn();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsekeyValueSepByColumn() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 58) {\n s3 = peg$c31;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsevalue();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s1, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertWithEqual() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c34;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsevalue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertOptions() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseskipDataCheck();\n if (s1 === peg$FAILED) {\n s1 = peg$parsereturn();\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c37(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseskipDataCheck() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseSKIPDATACHECK();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c38();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsereturn() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseRETURN();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseremoveQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n s0 = peg$currPos;\n s1 = peg$parseREMOVE();\n if (s1 === peg$FAILED) {\n s1 = peg$parseDELETE();\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseFROM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableName();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parsewhereQry();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parseignoreCase();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parseignoreCase();\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c40(s5, s7, s9);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecountQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;\n\n s0 = peg$currPos;\n s1 = peg$parseCOUNT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s4 = peg$c41;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parseFROM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsetableName();\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parse_();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parse_();\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parsewhereQry();\n if (s8 === peg$FAILED) {\n s8 = null;\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parse_();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parse_();\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n }\n if (s10 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c43(s6, s8, s10);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;\n\n s0 = peg$currPos;\n s1 = peg$parseSELECT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseaggregateQry();\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parseFROM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsetableName();\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parse_();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parse_();\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parsewhereQry();\n if (s8 === peg$FAILED) {\n s8 = null;\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parse_();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parse_();\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parseskip();\n if (s11 === peg$FAILED) {\n s11 = peg$parselimit();\n if (s11 === peg$FAILED) {\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parseorderBy();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n }\n }\n }\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parseskip();\n if (s11 === peg$FAILED) {\n s11 = peg$parselimit();\n if (s11 === peg$FAILED) {\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parseorderBy();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n }\n }\n }\n }\n if (s10 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c44(s3, s6, s8, s10);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseaggregateQry() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c41;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseaggregate();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c45(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parseaggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseAGGREGATE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 91) {\n s3 = peg$c46;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c47); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parseaggregateType();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenAggregateColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenAggregateColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s9 = peg$c48;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c50(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseaggregateType() {\n var s0;\n\n s0 = peg$parseminAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsemaxAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parseavgAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsecountAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesumAggregate();\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsemaxAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseMAX();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c51(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseminAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseMIN();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseavgAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseAVG();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecountAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseCOUNT();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c54(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsesumAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseSUM();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsegroupBy() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parseGROUP();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseBY();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parsegroupByRestValue();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parsegroupByRestValue();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parse_();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parse_();\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c56(s5, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsegroupByRestValue() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parse_();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parse_();\n }\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s2 = peg$c9;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsecolumn();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parse_();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parse_();\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseorderBy() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseorderByValue();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseorderByType();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseorderByValue() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseORDER();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseBY();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c59(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseorderByType() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseOrderByTypes();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c60(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedistinct() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseDISTINCT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseignoreCase() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseIGNORECASE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c62();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseskip() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseSKIP();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c63(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parselimit() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseLIMIT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereQry() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseWHERE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsewhereitems();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereitems() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsewhereQryWithoutParanthesis();\n if (s1 === peg$FAILED) {\n s1 = peg$parsewhereQryWithParanthesis();\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsejoinWhereItems();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsejoinWhereItems();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c66(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsejoinWhereItems() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseJoinOp();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsewhereQryWithoutParanthesis();\n if (s4 === peg$FAILED) {\n s4 = peg$parsewhereQryWithParanthesis();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67(s2, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereQryWithoutParanthesis() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsewhereItem();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsejoinWhereItem();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsejoinWhereItem();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c68(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereQryWithParanthesis() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c4;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsewhereItem();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsejoinWhereItem();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsejoinWhereItem();\n }\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parse_();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parse_();\n }\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s6 = peg$c6;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c69(s3, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsejoinWhereItem() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseJoinOp();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsewhereItem();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s2, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereItem() {\n var s0;\n\n s0 = peg$parseequalToItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parselikeItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parseinItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parseoperatorItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parsebetweenItem();\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parseequalToItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 61) {\n s3 = peg$c34;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsevalue();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c71(s1, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoperatorItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c72) {\n s3 = peg$c72;\n peg$currPos += 2;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c73); }\n }\n if (s3 === peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c74) {\n s3 = peg$c74;\n peg$currPos += 2;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c75); }\n }\n if (s3 === peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c76) {\n s3 = peg$c76;\n peg$currPos += 2;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c77); }\n }\n if (s3 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s3 = peg$c78;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c79); }\n }\n if (s3 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 60) {\n s3 = peg$c80;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c81); }\n }\n }\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsevalue();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c82(s1, s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsebetweenItem() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseBETWEEN();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s5 = peg$c4;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parsevalue();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c9;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parse_();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parse_();\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parsevalue();\n if (s11 !== peg$FAILED) {\n s12 = [];\n s13 = peg$parse_();\n while (s13 !== peg$FAILED) {\n s12.push(s13);\n s13 = peg$parse_();\n }\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s13 = peg$c6;\n peg$currPos++;\n } else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c83(s1, s7, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinItem() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseIN();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s5 = peg$c4;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parsevalue();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parseinBetweenParanthesisItem();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parseinBetweenParanthesisItem();\n }\n if (s9 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s10 = peg$c6;\n peg$currPos++;\n } else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s10 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c84(s1, s7, s9);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinBetweenParanthesisColumn() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsecolumn();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinBetweenAggregateColumn() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseaggregateType();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinBetweenParanthesisItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parselikeItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseLIKE();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parselikeType();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c85(s1, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parselikeType() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c86;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 37) {\n s5 = peg$c86;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c86;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsevalue();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 37) {\n s3 = peg$c86;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsevalue() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseColumnValue();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseColumnValue();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c89(s1);\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c88); }\n }\n\n return s0;\n }\n\n function peg$parseupdateQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n s0 = peg$currPos;\n s1 = peg$parseUPDATE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsetableName();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parseSET();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parseupdateValue();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parsewhereQry();\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parse_();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parse_();\n }\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseignoreCase();\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseignoreCase();\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c90(s3, s7, s9, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseupdateValue() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseequalToItem();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseupdateValueBetweenItem();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseupdateValueBetweenItem();\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c91(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseupdateValueBetweenItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseequalToItem();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseopenQuery() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseOPENDB();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsedbName();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseisDbExistQuery() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseISDBEXIST();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsedbName();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableInfo();\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c94(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsetableInfo() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseTABLE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsetableName();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parseversion();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c95(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsetableName() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parseWord();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c96); }\n }\n\n return s0;\n }\n\n function peg$parsedbName() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parseWord();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c97); }\n }\n\n return s0;\n }\n\n function peg$parsecolumn() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parseWord();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c98); }\n }\n\n return s0;\n }\n\n function peg$parseJoinOp() {\n var s0;\n\n s0 = peg$parseAnd();\n if (s0 === peg$FAILED) {\n s0 = peg$parseOr();\n }\n\n return s0;\n }\n\n function peg$parseOrderByTypes() {\n var s0, s1;\n\n peg$silentFails++;\n if (input.substr(peg$currPos, 3) === peg$c100) {\n s0 = peg$c100;\n peg$currPos += 3;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c101); }\n }\n if (s0 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c102) {\n s0 = peg$c102;\n peg$currPos += 4;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c103); }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c99); }\n }\n\n return s0;\n }\n\n function peg$parseAnd() {\n var s0;\n\n if (input.charCodeAt(peg$currPos) === 38) {\n s0 = peg$c104;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c105); }\n }\n\n return s0;\n }\n\n function peg$parseOr() {\n var s0;\n\n if (input.charCodeAt(peg$currPos) === 124) {\n s0 = peg$c106;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c107); }\n }\n\n return s0;\n }\n\n function peg$parseColumnValue() {\n var s0;\n\n if (peg$c108.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c109); }\n }\n\n return s0;\n }\n\n function peg$parseWord() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseLetter();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseLetter();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c110(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseWordAndNumber() {\n var s0;\n\n if (peg$c111.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c112); }\n }\n\n return s0;\n }\n\n function peg$parseLetter() {\n var s0;\n\n if (peg$c113.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c114); }\n }\n\n return s0;\n }\n\n function peg$parseNumber() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseDigit();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseDigit();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c115(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseDigit() {\n var s0;\n\n if (peg$c116.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c117); }\n }\n\n return s0;\n }\n\n function peg$parseWs() {\n var s0, s1;\n\n peg$silentFails++;\n if (peg$c119.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c120); }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c118); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseWs();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseWs();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c122(s1);\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c121); }\n }\n\n return s0;\n }\n\n function peg$parseA() {\n var s0;\n\n if (peg$c123.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c124); }\n }\n\n return s0;\n }\n\n function peg$parseB() {\n var s0;\n\n if (peg$c125.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c126); }\n }\n\n return s0;\n }\n\n function peg$parseC() {\n var s0;\n\n if (peg$c127.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c128); }\n }\n\n return s0;\n }\n\n function peg$parseD() {\n var s0;\n\n if (peg$c129.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c130); }\n }\n\n return s0;\n }\n\n function peg$parseE() {\n var s0;\n\n if (peg$c131.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c132); }\n }\n\n return s0;\n }\n\n function peg$parseF() {\n var s0;\n\n if (peg$c133.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c134); }\n }\n\n return s0;\n }\n\n function peg$parseG() {\n var s0;\n\n if (peg$c135.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c136); }\n }\n\n return s0;\n }\n\n function peg$parseH() {\n var s0;\n\n if (peg$c137.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c138); }\n }\n\n return s0;\n }\n\n function peg$parseI() {\n var s0;\n\n if (peg$c139.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c140); }\n }\n\n return s0;\n }\n\n function peg$parseJ() {\n var s0;\n\n if (peg$c141.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c142); }\n }\n\n return s0;\n }\n\n function peg$parseK() {\n var s0;\n\n if (peg$c143.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c144); }\n }\n\n return s0;\n }\n\n function peg$parseL() {\n var s0;\n\n if (peg$c145.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c146); }\n }\n\n return s0;\n }\n\n function peg$parseM() {\n var s0;\n\n if (peg$c147.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c148); }\n }\n\n return s0;\n }\n\n function peg$parseN() {\n var s0;\n\n if (peg$c149.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c150); }\n }\n\n return s0;\n }\n\n function peg$parseO() {\n var s0;\n\n if (peg$c151.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c152); }\n }\n\n return s0;\n }\n\n function peg$parseP() {\n var s0;\n\n if (peg$c153.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c154); }\n }\n\n return s0;\n }\n\n function peg$parseQ() {\n var s0;\n\n if (peg$c155.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c156); }\n }\n\n return s0;\n }\n\n function peg$parseR() {\n var s0;\n\n if (peg$c157.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c158); }\n }\n\n return s0;\n }\n\n function peg$parseS() {\n var s0;\n\n if (peg$c159.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c160); }\n }\n\n return s0;\n }\n\n function peg$parseT() {\n var s0;\n\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c162); }\n }\n\n return s0;\n }\n\n function peg$parseU() {\n var s0;\n\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c164); }\n }\n\n return s0;\n }\n\n function peg$parseV() {\n var s0;\n\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c166); }\n }\n\n return s0;\n }\n\n function peg$parseW() {\n var s0;\n\n if (peg$c167.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c168); }\n }\n\n return s0;\n }\n\n function peg$parseX() {\n var s0;\n\n if (peg$c169.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c170); }\n }\n\n return s0;\n }\n\n function peg$parseY() {\n var s0;\n\n if (peg$c171.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c172); }\n }\n\n return s0;\n }\n\n function peg$parseZ() {\n var s0;\n\n if (peg$c173.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c174); }\n }\n\n return s0;\n }\n\n function peg$parseMIN() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseM();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseN();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c175); }\n }\n\n return s0;\n }\n\n function peg$parseMAX() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseM();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseX();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c176); }\n }\n\n return s0;\n }\n\n function peg$parseAVG() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseV();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseG();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c177); }\n }\n\n return s0;\n }\n\n function peg$parseCOUNT() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseC();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseO();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseU();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseN();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c178); }\n }\n\n return s0;\n }\n\n function peg$parseSUM() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c179); }\n }\n\n return s0;\n }\n\n function peg$parseAGGREGATE() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseG();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseG();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseR();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseG();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseA();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseT();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c180); }\n }\n\n return s0;\n }\n\n function peg$parseBETWEEN() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseB();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseW();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c181); }\n }\n\n return s0;\n }\n\n function peg$parseIN() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c182); }\n }\n\n return s0;\n }\n\n function peg$parseLIKE() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseL();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseK();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c183); }\n }\n\n return s0;\n }\n\n function peg$parseSELECT() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseC();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c184); }\n }\n\n return s0;\n }\n\n function peg$parseIGNORECASE() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseG();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseN();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseC();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseA();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseS();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseE();\n if (s10 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c185); }\n }\n\n return s0;\n }\n\n function peg$parseDISTINCT() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseS();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseT();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseN();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseC();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseT();\n if (s8 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c186); }\n }\n\n return s0;\n }\n\n function peg$parseORDER() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseO();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseD();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c187); }\n }\n\n return s0;\n }\n\n function peg$parseBY() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseB();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseY();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c188); }\n }\n\n return s0;\n }\n\n function peg$parseFROM() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseF();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseM();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c189); }\n }\n\n return s0;\n }\n\n function peg$parseGROUP() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseG();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseU();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseP();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c190); }\n }\n\n return s0;\n }\n\n function peg$parseLIMIT() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseL();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseI();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c191); }\n }\n\n return s0;\n }\n\n function peg$parseSKIP() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseK();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseP();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c192); }\n }\n\n return s0;\n }\n\n function peg$parseWHERE() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseW();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseH();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseE();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseR();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c193); }\n }\n\n return s0;\n }\n\n function peg$parseINSERT() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseS();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c194); }\n }\n\n return s0;\n }\n\n function peg$parseINTO() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c195); }\n }\n\n return s0;\n }\n\n function peg$parseRETURN() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseR();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseU();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseN();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c196); }\n }\n\n return s0;\n }\n\n function peg$parseVALUES() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseV();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseU();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseS();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c197); }\n }\n\n return s0;\n }\n\n function peg$parseSKIPDATACHECK() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseK();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseP();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseD();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseA();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseT();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseA();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseC();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseH();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseE();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseC();\n if (s12 !== peg$FAILED) {\n s13 = peg$parseK();\n if (s13 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c198); }\n }\n\n return s0;\n }\n\n function peg$parseUPDATE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseU();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseP();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseD();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c199); }\n }\n\n return s0;\n }\n\n function peg$parseSET() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c200); }\n }\n\n return s0;\n }\n\n function peg$parseREMOVE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseR();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseV();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c201); }\n }\n\n return s0;\n }\n\n function peg$parseDELETE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c202); }\n }\n\n return s0;\n }\n\n function peg$parseVERSION() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseV();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseR();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseS();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseO();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c203); }\n }\n\n return s0;\n }\n\n function peg$parseENABLESEARCH() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseA();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseB();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseL();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseS();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseE();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseA();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseR();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseC();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseH();\n if (s12 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c204); }\n }\n\n return s0;\n }\n\n function peg$parseMULTIENTRY() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseM();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseT();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseT();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseR();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseY();\n if (s10 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c205); }\n }\n\n return s0;\n }\n\n function peg$parsePRIMARYKEY() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseP();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseA();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseR();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseY();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseK();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseY();\n if (s10 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c206); }\n }\n\n return s0;\n }\n\n function peg$parseUNIQUE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseU();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseQ();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseU();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c207); }\n }\n\n return s0;\n }\n\n function peg$parseSTRING() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseT();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseR();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseI();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseN();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseG();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c208); }\n }\n\n return s0;\n }\n\n function peg$parseNUMBER() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseN();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseB();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseR();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c209); }\n }\n\n return s0;\n }\n\n function peg$parseOBJECT() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseO();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseB();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseJ();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseC();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c210); }\n }\n\n return s0;\n }\n\n function peg$parseARRAY() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseR();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseY();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c211); }\n }\n\n return s0;\n }\n\n function peg$parseBOOLEAN() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseB();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseO();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseL();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseA();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c212); }\n }\n\n return s0;\n }\n\n function peg$parseDATETIME() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 95) {\n s5 = peg$c214;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c215); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseI();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseM();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c213); }\n }\n\n return s0;\n }\n\n function peg$parseAUTOINCREMENT() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseN();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseC();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseR();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseM();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseE();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseN();\n if (s12 !== peg$FAILED) {\n s13 = peg$parseT();\n if (s13 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c216); }\n }\n\n return s0;\n }\n\n function peg$parseNOTNULL() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseN();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseO();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseN();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseU();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseL();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseL();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c217); }\n }\n\n return s0;\n }\n\n function peg$parseDEFAULT() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseF();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseU();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseL();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseT();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c218); }\n }\n\n return s0;\n }\n\n function peg$parseDEFINE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseF();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseI();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseN();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c219); }\n }\n\n return s0;\n }\n\n function peg$parseDATABASE() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseB();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseA();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseS();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseE();\n if (s8 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c220); }\n }\n\n return s0;\n }\n\n function peg$parseTABLE() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseB();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseL();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c221); }\n }\n\n return s0;\n }\n\n function peg$parseDB() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseB();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c222); }\n }\n\n return s0;\n }\n\n function peg$parseISDBEXIST() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseS();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseD();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseB();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseX();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseI();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseS();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseT();\n if (s9 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c223); }\n }\n\n return s0;\n }\n\n function peg$parseOPENDB() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseO();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseP();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseE();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseN();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseD();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseB();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c224); }\n }\n\n return s0;\n }\n\n function peg$parseDISABLESEARCH() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseS();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseB();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseL();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseE();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseS();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseA();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseR();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseC();\n if (s12 !== peg$FAILED) {\n s13 = peg$parseH();\n if (s13 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c225); }\n }\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nmodule.exports = {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n};\n","const dateFormat = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z$/;\nconst reviver = function (key, value) {\n if (typeof value === \"string\" && dateFormat.test(value)) {\n return new Date(value);\n }\n\n return value;\n};\nexport class Util {\n static isString(value) {\n return typeof value === 'string'\n }\n\n static parseJson(value) {\n return JSON.parse(value, reviver);\n }\n}","export class Config {\r\n static isLogEnabled = false;\r\n}","import { IError } from \"./interfaces\";\r\nimport { ERROR_TYPE } from \"./enums\";\r\nimport { Config } from \"./config\";\r\n\r\nexport class LogHelper implements IError {\r\n type: ERROR_TYPE;\r\n message: string;\r\n private info_: any;\r\n\r\n constructor(type: ERROR_TYPE, info?: any) {\r\n this.type = type;\r\n this.info_ = info;\r\n this.message = this.getMsg_();\r\n }\r\n\r\n static log(msg) {\r\n if (Config.isLogEnabled) {\r\n console.log(msg);\r\n }\r\n }\r\n\r\n logError() {\r\n console.error(this.get());\r\n }\r\n\r\n logWarning() {\r\n console.warn(this.get());\r\n }\r\n\r\n get() {\r\n return {\r\n message: this.message,\r\n type: this.type\r\n } as IError;\r\n }\r\n\r\n private getMsg_() {\r\n let errMsg: string;\r\n switch (this.type) {\r\n case ERROR_TYPE.SynTaxError:\r\n errMsg = this.info_;\r\n break;\r\n default:\r\n errMsg = this.message;\r\n break;\r\n }\r\n return errMsg;\r\n }\r\n}","export enum ERROR_TYPE {\r\n SynTaxError = 'syntax_error'\r\n}","import * as parser from './../output/parser';\nimport { Util } from './util';\nexport class Query {\n query_;\n private topLevelKeys_: string[] = [\"skip\", \"limit\"]\n constructor(qry: string) {\n this.query_ = parser.parse(qry);\n }\n\n map(key: string, value: any) {\n var stringifiedValue = JSON.stringify(this.query_);\n this.query_ = this.parseJson_(stringifiedValue.replace('\"' + key + '\"', JSON.stringify(value)));\n }\n\n private isString_(value) {\n return Util.isString(value);\n }\n\n private parseJson_(value) {\n return Util.parseJson(value);\n }\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/sqlweb.js b/dist/sqlweb.js new file mode 100644 index 0000000..a5730de --- /dev/null +++ b/dist/sqlweb.js @@ -0,0 +1,8313 @@ +/*! + * @license :sqlweb - V1.0.1 - 13/10/2018 + * https://github.com/ujjwalguptaofficial/sqlweb + * Copyright (c) 2018 @Ujjwal Gupta; Licensed MIT + */ +var SqlWeb = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _instance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Instance", function() { return _instance__WEBPACK_IMPORTED_MODULE_0__["Instance"]; }); + +/* harmony import */ var _query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Query", function() { return _query__WEBPACK_IMPORTED_MODULE_1__["Query"]; }); + + + + + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Instance", function() { return Instance; }); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_output_parser__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); +/* harmony import */ var _log_helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); +/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6); + + + + + +var Instance = /** @class */ (function () { + function Instance(workerPath) { + this.jsStoreCon_ = workerPath == null ? new JsStore.Instance() : + new JsStore.Instance(new Worker(workerPath)); + } + Instance.prototype.isString_ = function (value) { + return _util__WEBPACK_IMPORTED_MODULE_1__["Util"].isString(value); + }; + Instance.prototype.runQuery = function (query) { + try { + var result = void 0; + if (this.isString_(query) === true) { + query = query.replace(new RegExp('\n', 'g'), '').trim(); + result = _output_parser__WEBPACK_IMPORTED_MODULE_0__["parse"](query); + } + else { + result = query.query_; + } + return this.jsStoreCon_[result.api](result.data); + } + catch (ex) { + var err_1; + if (ex.name === "SyntaxError") { + err_1 = new _log_helper__WEBPACK_IMPORTED_MODULE_3__["LogHelper"](_enums__WEBPACK_IMPORTED_MODULE_4__["ERROR_TYPE"].SynTaxError, ex.message).get(); + } + else { + err_1 = ex; + } + return new Promise(function (resolve, reject) { + reject(err_1); + }); + } + }; + /** + * set log status, accepts boolean value + * + * @param {boolean} status + * @memberof Instance + */ + Instance.prototype.setLogStatus = function (status) { + _config__WEBPACK_IMPORTED_MODULE_2__["Config"].isLogEnabled = status; + }; + return Instance; +}()); + + + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* + * Generated by PEG.js 0.10.0. + * + * http://pegjs.org/ + */ + + + +function peg$subclass(child, parent) { + function ctor() { this.constructor = child; } + ctor.prototype = parent.prototype; + child.prototype = new ctor(); +} + +function peg$SyntaxError(message, expected, found, location) { + this.message = message; + this.expected = expected; + this.found = found; + this.location = location; + this.name = "SyntaxError"; + + if (typeof Error.captureStackTrace === "function") { + Error.captureStackTrace(this, peg$SyntaxError); + } +} + +peg$subclass(peg$SyntaxError, Error); + +peg$SyntaxError.buildMessage = function(expected, found) { + var DESCRIBE_EXPECTATION_FNS = { + literal: function(expectation) { + return "\"" + literalEscape(expectation.text) + "\""; + }, + + "class": function(expectation) { + var escapedParts = "", + i; + + for (i = 0; i < expectation.parts.length; i++) { + escapedParts += expectation.parts[i] instanceof Array + ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) + : classEscape(expectation.parts[i]); + } + + return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; + }, + + any: function(expectation) { + return "any character"; + }, + + end: function(expectation) { + return "end of input"; + }, + + other: function(expectation) { + return expectation.description; + } + }; + + function hex(ch) { + return ch.charCodeAt(0).toString(16).toUpperCase(); + } + + function literalEscape(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\0/g, '\\0') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); + } + + function classEscape(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/\]/g, '\\]') + .replace(/\^/g, '\\^') + .replace(/-/g, '\\-') + .replace(/\0/g, '\\0') + .replace(/\t/g, '\\t') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); }) + .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); }); + } + + function describeExpectation(expectation) { + return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); + } + + function describeExpected(expected) { + var descriptions = new Array(expected.length), + i, j; + + for (i = 0; i < expected.length; i++) { + descriptions[i] = describeExpectation(expected[i]); + } + + descriptions.sort(); + + if (descriptions.length > 0) { + for (i = 1, j = 1; i < descriptions.length; i++) { + if (descriptions[i - 1] !== descriptions[i]) { + descriptions[j] = descriptions[i]; + j++; + } + } + descriptions.length = j; + } + + switch (descriptions.length) { + case 1: + return descriptions[0]; + + case 2: + return descriptions[0] + " or " + descriptions[1]; + + default: + return descriptions.slice(0, -1).join(", ") + + ", or " + + descriptions[descriptions.length - 1]; + } + } + + function describeFound(found) { + return found ? "\"" + literalEscape(found) + "\"" : "end of input"; + } + + return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; +}; + +function peg$parse(input, options) { + options = options !== void 0 ? options : {}; + + var peg$FAILED = {}, + + peg$startRuleFunctions = { query: peg$parsequery }, + peg$startRuleFunction = peg$parsequery, + + peg$c0 = function(db, tables) { + db.tables=tables + return { + api:'createDb', + data:db + } + }, + peg$c1 = ";", + peg$c2 = peg$literalExpectation(";", false), + peg$c3 = function(name) { + return { + name:name + } + }, + peg$c4 = "(", + peg$c5 = peg$literalExpectation("(", false), + peg$c6 = ")", + peg$c7 = peg$literalExpectation(")", false), + peg$c8 = function(table, first, all, ver) { + all.push(first); + var versionData = ver==null?null:ver['version']; + return { + name: table, + columns : all, + version: versionData + } + }, + peg$c9 = ",", + peg$c10 = peg$literalExpectation(",", false), + peg$c11 = function(def) { + return def; + }, + peg$c12 = function(name, options) { + var defaultValue = { + name:name, + unique:false, + autoIncrement:false, + default:null, + notNull:false, + dataType:null, + primaryKey:false, + multiEntry:false, + enableSearch:true + } + options.forEach(option=>{ + var key = Object.keys(option)[0]; + defaultValue[key] = option[key]; + }); + return defaultValue; + }, + peg$c13 = function(option) { + return option; + }, + peg$c14 = function() { + return { + autoIncrement:true + } + }, + peg$c15 = function() { + return { + notNull:true + } + }, + peg$c16 = function(val) { + return { + default:val + } + }, + peg$c17 = function(type) { + return { + dataType:type.join('').toLowerCase() + } + }, + peg$c18 = function() { + return { + unique:true + } + }, + peg$c19 = function() { + return { + primaryKey:true + } + }, + peg$c20 = function() { + return { + multiEntry:true + } + }, + peg$c21 = function() { + return { + enableSearch:true + } + }, + peg$c22 = function() { + return { + enableSearch:false + } + }, + peg$c23 = function(val) { + return { + version:val + } + }, + peg$c24 = function(table, insertValue, options) { + var skipDataCheck = false; + var returnValue = false; + options.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skipDataCheck': + skipDataCheck = val[key]; break; + case 'return': + returnValue = val[key]; break; + } + }); + return { + api: 'insert', + data: { + into: table, + values: insertValue, + skipDataCheck: skipDataCheck, + return : returnValue + } + } + }, + peg$c25 = "({", + peg$c26 = peg$literalExpectation("({", false), + peg$c27 = "})", + peg$c28 = peg$literalExpectation("})", false), + peg$c29 = function(first, rest) { + var obj = { + [first.key]: first.value + } + if(rest!=null){ + rest.forEach(item=>{ + obj[item.key] = item.value + }) + } + return [obj]; + }, + peg$c30 = function(val) { + return val; + }, + peg$c31 = ":", + peg$c32 = peg$literalExpectation(":", false), + peg$c33 = function(key, val) { + return { + key:key, + value:val + } + }, + peg$c34 = "=", + peg$c35 = peg$literalExpectation("=", false), + peg$c36 = function(insertValue) { + return insertValue; + }, + peg$c37 = function(option) { + return { + [option]:true + } + }, + peg$c38 = function() { + return 'skipDataCheck'; + }, + peg$c39 = function() { + return 'return'; + }, + peg$c40 = function(table, where, option) { + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'remove', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase + } + } + }, + peg$c41 = "*", + peg$c42 = peg$literalExpectation("*", false), + peg$c43 = function(table, where, option) { + var ignoreCase =false; + var distinct = false; + var groupBy = null; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'count', + data:{ + from:table, + where:where, + ignoreCase: ignoreCase, + distinct : distinct, + groupBy:groupBy + } + } + }, + peg$c44 = function(aggr, table, where, option) { + var skip=null; + var limit=null; + var ignoreCase =false; + var distinct = false; + var order = null; + var groupBy = null; + var aggregate = aggr; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'skip': + skip= val[key]; break; + case 'limit': + limit= val[key]; break; + case 'ignoreCase': + ignoreCase = val[key]; break; + case 'distinct': + distinct = val[key]; break; + case 'order': + order = val[key]; break; + case 'groupBy': + groupBy = val[key]; break; + } + }); + return { + api:'select', + data:{ + from:table, + where:where, + skip:skip, + limit:limit, + ignoreCase: ignoreCase, + distinct : distinct, + order:order, + groupBy:groupBy, + aggregate : aggr + } + } + }, + peg$c45 = function(aggr) { + return aggr[0]; + }, + peg$c46 = "[", + peg$c47 = peg$literalExpectation("[", false), + peg$c48 = "]", + peg$c49 = peg$literalExpectation("]", false), + peg$c50 = function(first, rest) { + rest.splice(0,0,first); + return rest; + }, + peg$c51 = function(first, rest) { + rest.splice(0,0,first); + return { + max : rest + } + }, + peg$c52 = function(first, rest) { + rest.splice(0,0,first); + return { + min : rest + } + }, + peg$c53 = function(first, rest) { + rest.splice(0,0,first); + return { + avg : rest + } + }, + peg$c54 = function(first, rest) { + rest.splice(0,0,first); + return { + count : rest + } + }, + peg$c55 = function(first, rest) { + rest.splice(0,0,first); + return { + sum : rest + } + }, + peg$c56 = function(first, rest) { + return { + groupBy:[first,...rest] + } ; + }, + peg$c57 = function(val) { + return val; + }, + peg$c58 = function(by, type) { + return { + order: { + by:by, + type: type + } + }; + }, + peg$c59 = function(by) { + return by; + }, + peg$c60 = function(type) { + return type; + }, + peg$c61 = function() { + return { + distinct: true + }; + }, + peg$c62 = function() { + return { + ignoreCase: true + }; + }, + peg$c63 = function(val) { + return { + skip: val + }; + }, + peg$c64 = function(val) { + return { + limit: val + }; + }, + peg$c65 = function(where) { + return where; + }, + peg$c66 = function(item1, item2) { + if(!Array.isArray(item1)){ + item1=[item1]; + } + if(item2!=null){ + var pushInItem1=(item)=>{ + item1.push(item); + } + if(Array.isArray(item1)){ + item2.forEach(item=>{ + if(Array.isArray(item)){ + item.forEach(subItem=>{ + pushInItem1(subItem); + }); + } + else{ + pushInItem1(item) + } + }); + } + } + return item1; + }, + peg$c67 = function(op, where) { + + if(op==='|'){ + var obj={}; + if(Array.isArray(where)){ + where.forEach(val=>{ + obj={...obj,...val} + }); + } + else{ + obj = where; + } + return { + or:obj + } + } + + return where; + }, + peg$c68 = function(fw, jw) { + if(jw==null){ + return fw + } + else{ + jw.splice(0,0,fw); + return jw; + } + }, + peg$c69 = function(fw, jw) { + if(jw==null){ + return fw; + } + else{ + var query= fw; + jw.forEach(qry=>{ + var key = Object.keys(qry)[0]; + if(key==='or'){ + if(query.or==null){ + query.or={}; + } + var orKey = Object.keys(qry[key])[0]; + query.or[orKey]= qry[key][orKey]; + } + else{ + query[key]=qry[key]; + } + }) + return query; + } + }, + peg$c70 = function(op, item) { + if(op==='|'){ + return { + or: item + } + } + return item; + }, + peg$c71 = function(col, val) { + return { + [col]:val + } + }, + peg$c72 = "!=", + peg$c73 = peg$literalExpectation("!=", false), + peg$c74 = ">=", + peg$c75 = peg$literalExpectation(">=", false), + peg$c76 = "<=", + peg$c77 = peg$literalExpectation("<=", false), + peg$c78 = ">", + peg$c79 = peg$literalExpectation(">", false), + peg$c80 = "<", + peg$c81 = peg$literalExpectation("<", false), + peg$c82 = function(col, op, val) { + return { + [col]:{ + [op]:val + } + } + }, + peg$c83 = function(col, low, high) { + return { + [col]:{ + '-':{ + low : low, + high : high + } + } + } + }, + peg$c84 = function(col, first, betweens) { + return { + [col]:{ + in:[first,...betweens] + } + } + }, + peg$c85 = function(col, val) { + return { + [col]:{ + like:val.join('') + } + } + }, + peg$c86 = "%", + peg$c87 = peg$literalExpectation("%", false), + peg$c88 = peg$otherExpectation("column value"), + peg$c89 = function(val) { + var value=val.join(""); + if(value[0]=== "'" && value[value.length-1] === "'"){ + return value.substr(1,value.length-2); + } + var number = Number(value); + if(isNaN(number)) + return value; + else + return number; + }, + peg$c90 = function(table, set, where, option) { + + var ignoreCase =false; + option.forEach(val=>{ + var key = Object.keys(val)[0]; + switch(key){ + case 'ignoreCase': + ignoreCase = val[key]; break; + } + }); + return { + api:'update', + data:{ + in:table, + set:set, + where:where, + ignoreCase: ignoreCase + } + } + }, + peg$c91 = function(first, rest) { + rest.forEach(val=>{ + first = {...first,...val}; + }); + return first; + }, + peg$c92 = function(val) { + return val; + }, + peg$c93 = function(name) { + return { + api:'openDb', + data:name + } + }, + peg$c94 = function(name, tblInfo) { + var result = { + api:'isDbExist' + } + if(tblInfo==null){ + result.data=name; + } + else{ + result.data={ + dbName:name, + table:tblInfo + } + } + return result; + }, + peg$c95 = function(table, ver) { + return { + name:table, + version:ver + } + }, + peg$c96 = peg$otherExpectation("table name"), + peg$c97 = peg$otherExpectation("database name"), + peg$c98 = peg$otherExpectation("column"), + peg$c99 = peg$otherExpectation("order type"), + peg$c100 = "asc", + peg$c101 = peg$literalExpectation("asc", false), + peg$c102 = "desc", + peg$c103 = peg$literalExpectation("desc", false), + peg$c104 = "&", + peg$c105 = peg$literalExpectation("&", false), + peg$c106 = "|", + peg$c107 = peg$literalExpectation("|", false), + peg$c108 = /^[a-zA-Z0-9@_']/, + peg$c109 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "@", "_", "'"], false, false), + peg$c110 = function(l) {return l.join("");}, + peg$c111 = /^[a-zA-Z0-9]/, + peg$c112 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"]], false, false), + peg$c113 = /^[a-zA-Z]/, + peg$c114 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false), + peg$c115 = function(d) {return Number(d.join(""))}, + peg$c116 = /^[0-9]/, + peg$c117 = peg$classExpectation([["0", "9"]], false, false), + peg$c118 = peg$otherExpectation("Whitespace"), + peg$c119 = /^[ \t]/, + peg$c120 = peg$classExpectation([" ", "\t"], false, false), + peg$c121 = peg$otherExpectation("One or more whitespaces"), + peg$c122 = function(space) {return null;}, + peg$c123 = /^[aA]/, + peg$c124 = peg$classExpectation(["a", "A"], false, false), + peg$c125 = /^[bB]/, + peg$c126 = peg$classExpectation(["b", "B"], false, false), + peg$c127 = /^[cC]/, + peg$c128 = peg$classExpectation(["c", "C"], false, false), + peg$c129 = /^[dD]/, + peg$c130 = peg$classExpectation(["d", "D"], false, false), + peg$c131 = /^[eE]/, + peg$c132 = peg$classExpectation(["e", "E"], false, false), + peg$c133 = /^[fF]/, + peg$c134 = peg$classExpectation(["f", "F"], false, false), + peg$c135 = /^[gG]/, + peg$c136 = peg$classExpectation(["g", "G"], false, false), + peg$c137 = /^[hH]/, + peg$c138 = peg$classExpectation(["h", "H"], false, false), + peg$c139 = /^[iI]/, + peg$c140 = peg$classExpectation(["i", "I"], false, false), + peg$c141 = /^[jJ]/, + peg$c142 = peg$classExpectation(["j", "J"], false, false), + peg$c143 = /^[kK]/, + peg$c144 = peg$classExpectation(["k", "K"], false, false), + peg$c145 = /^[lL]/, + peg$c146 = peg$classExpectation(["l", "L"], false, false), + peg$c147 = /^[mM]/, + peg$c148 = peg$classExpectation(["m", "M"], false, false), + peg$c149 = /^[nN]/, + peg$c150 = peg$classExpectation(["n", "N"], false, false), + peg$c151 = /^[oO]/, + peg$c152 = peg$classExpectation(["o", "O"], false, false), + peg$c153 = /^[pP]/, + peg$c154 = peg$classExpectation(["p", "P"], false, false), + peg$c155 = /^[qQ]/, + peg$c156 = peg$classExpectation(["q", "Q"], false, false), + peg$c157 = /^[rR]/, + peg$c158 = peg$classExpectation(["r", "R"], false, false), + peg$c159 = /^[sS]/, + peg$c160 = peg$classExpectation(["s", "S"], false, false), + peg$c161 = /^[tT]/, + peg$c162 = peg$classExpectation(["t", "T"], false, false), + peg$c163 = /^[uU]/, + peg$c164 = peg$classExpectation(["u", "U"], false, false), + peg$c165 = /^[vV]/, + peg$c166 = peg$classExpectation(["v", "V"], false, false), + peg$c167 = /^[wW]/, + peg$c168 = peg$classExpectation(["w", "W"], false, false), + peg$c169 = /^[xX]/, + peg$c170 = peg$classExpectation(["x", "X"], false, false), + peg$c171 = /^[yY]/, + peg$c172 = peg$classExpectation(["y", "Y"], false, false), + peg$c173 = /^[zZ]/, + peg$c174 = peg$classExpectation(["z", "Z"], false, false), + peg$c175 = peg$otherExpectation("min"), + peg$c176 = peg$otherExpectation("max"), + peg$c177 = peg$otherExpectation("avg"), + peg$c178 = peg$otherExpectation("count"), + peg$c179 = peg$otherExpectation("sum"), + peg$c180 = peg$otherExpectation("aggregate"), + peg$c181 = peg$otherExpectation("between"), + peg$c182 = peg$otherExpectation("in"), + peg$c183 = peg$otherExpectation("like"), + peg$c184 = peg$otherExpectation("select"), + peg$c185 = peg$otherExpectation("ignoreCase"), + peg$c186 = peg$otherExpectation("distinct"), + peg$c187 = peg$otherExpectation("order"), + peg$c188 = peg$otherExpectation("by"), + peg$c189 = peg$otherExpectation("from"), + peg$c190 = peg$otherExpectation("group"), + peg$c191 = peg$otherExpectation("limit"), + peg$c192 = peg$otherExpectation("skip"), + peg$c193 = peg$otherExpectation("where"), + peg$c194 = peg$otherExpectation("insert"), + peg$c195 = peg$otherExpectation("into"), + peg$c196 = peg$otherExpectation("return"), + peg$c197 = peg$otherExpectation("values"), + peg$c198 = peg$otherExpectation("skipdatacheck"), + peg$c199 = peg$otherExpectation("update"), + peg$c200 = peg$otherExpectation("set"), + peg$c201 = peg$otherExpectation("remove"), + peg$c202 = peg$otherExpectation("delete"), + peg$c203 = peg$otherExpectation("version"), + peg$c204 = peg$otherExpectation("enablesearch"), + peg$c205 = peg$otherExpectation("multiEntry"), + peg$c206 = peg$otherExpectation("primarykey"), + peg$c207 = peg$otherExpectation("unique"), + peg$c208 = peg$otherExpectation("string"), + peg$c209 = peg$otherExpectation("number"), + peg$c210 = peg$otherExpectation("object"), + peg$c211 = peg$otherExpectation("array"), + peg$c212 = peg$otherExpectation("boolean"), + peg$c213 = peg$otherExpectation("date_time"), + peg$c214 = "_", + peg$c215 = peg$literalExpectation("_", false), + peg$c216 = peg$otherExpectation("autoincrement"), + peg$c217 = peg$otherExpectation("notnull"), + peg$c218 = peg$otherExpectation("default"), + peg$c219 = peg$otherExpectation("define"), + peg$c220 = peg$otherExpectation("database"), + peg$c221 = peg$otherExpectation("table"), + peg$c222 = peg$otherExpectation("db"), + peg$c223 = peg$otherExpectation("isDbExist"), + peg$c224 = peg$otherExpectation("openDb"), + peg$c225 = peg$otherExpectation("disablesearch"), + + peg$currPos = 0, + peg$savedPos = 0, + peg$posDetailsCache = [{ line: 1, column: 1 }], + peg$maxFailPos = 0, + peg$maxFailExpected = [], + peg$silentFails = 0, + + peg$result; + + if ("startRule" in options) { + if (!(options.startRule in peg$startRuleFunctions)) { + throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); + } + + peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; + } + + function text() { + return input.substring(peg$savedPos, peg$currPos); + } + + function location() { + return peg$computeLocation(peg$savedPos, peg$currPos); + } + + function expected(description, location) { + location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) + + throw peg$buildStructuredError( + [peg$otherExpectation(description)], + input.substring(peg$savedPos, peg$currPos), + location + ); + } + + function error(message, location) { + location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos) + + throw peg$buildSimpleError(message, location); + } + + function peg$literalExpectation(text, ignoreCase) { + return { type: "literal", text: text, ignoreCase: ignoreCase }; + } + + function peg$classExpectation(parts, inverted, ignoreCase) { + return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; + } + + function peg$anyExpectation() { + return { type: "any" }; + } + + function peg$endExpectation() { + return { type: "end" }; + } + + function peg$otherExpectation(description) { + return { type: "other", description: description }; + } + + function peg$computePosDetails(pos) { + var details = peg$posDetailsCache[pos], p; + + if (details) { + return details; + } else { + p = pos - 1; + while (!peg$posDetailsCache[p]) { + p--; + } + + details = peg$posDetailsCache[p]; + details = { + line: details.line, + column: details.column + }; + + while (p < pos) { + if (input.charCodeAt(p) === 10) { + details.line++; + details.column = 1; + } else { + details.column++; + } + + p++; + } + + peg$posDetailsCache[pos] = details; + return details; + } + } + + function peg$computeLocation(startPos, endPos) { + var startPosDetails = peg$computePosDetails(startPos), + endPosDetails = peg$computePosDetails(endPos); + + return { + start: { + offset: startPos, + line: startPosDetails.line, + column: startPosDetails.column + }, + end: { + offset: endPos, + line: endPosDetails.line, + column: endPosDetails.column + } + }; + } + + function peg$fail(expected) { + if (peg$currPos < peg$maxFailPos) { return; } + + if (peg$currPos > peg$maxFailPos) { + peg$maxFailPos = peg$currPos; + peg$maxFailExpected = []; + } + + peg$maxFailExpected.push(expected); + } + + function peg$buildSimpleError(message, location) { + return new peg$SyntaxError(message, null, null, location); + } + + function peg$buildStructuredError(expected, found, location) { + return new peg$SyntaxError( + peg$SyntaxError.buildMessage(expected, found), + expected, + found, + location + ); + } + + function peg$parsequery() { + var s0; + + s0 = peg$parseselectQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parsecountQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseinsertQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseupdateQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseremoveQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parsecreateQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseopenQuery(); + if (s0 === peg$FAILED) { + s0 = peg$parseisDbExistQuery(); + } + } + } + } + } + } + } + + return s0; + } + + function peg$parsecreateQuery() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsecreateDbQuery(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsecreateTableQuery(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsecreateTableQuery(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c0(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecreateDbQuery() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = peg$parseDEFINE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseDATABASE(); + if (s3 === peg$FAILED) { + s3 = peg$parseDB(); + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsedbName(); + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s6 = peg$c1; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c2); } + } + if (s6 === peg$FAILED) { + s6 = null; + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c3(s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecreateTableQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17; + + s0 = peg$currPos; + s1 = peg$parseDEFINE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseTABLE(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s7 = peg$c4; + peg$currPos++; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsecolumnDef(); + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsebetweenColumnDef(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsebetweenColumnDef(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parse_(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parse_(); + } + if (s11 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s12 = peg$c6; + peg$currPos++; + } else { + s12 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s12 !== peg$FAILED) { + s13 = []; + s14 = peg$parse_(); + while (s14 !== peg$FAILED) { + s13.push(s14); + s14 = peg$parse_(); + } + if (s13 !== peg$FAILED) { + s14 = peg$parseversion(); + if (s14 === peg$FAILED) { + s14 = null; + } + if (s14 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 59) { + s15 = peg$c1; + peg$currPos++; + } else { + s15 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c2); } + } + if (s15 === peg$FAILED) { + s15 = null; + } + if (s15 !== peg$FAILED) { + s16 = []; + s17 = peg$parse_(); + while (s17 !== peg$FAILED) { + s16.push(s17); + s17 = peg$parse_(); + } + if (s16 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c8(s5, s9, s10, s14); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebetweenColumnDef() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parse_(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parse_(); + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s2 = peg$c9; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsecolumnDef(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c11(s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnDef() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parsecolumnOption(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parsecolumnOption(); + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c12(s1, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnOption() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsecolumnOpts(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c13(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecolumnOpts() { + var s0; + + s0 = peg$parsedataType(); + if (s0 === peg$FAILED) { + s0 = peg$parseautoIncrement(); + if (s0 === peg$FAILED) { + s0 = peg$parsenotNull(); + if (s0 === peg$FAILED) { + s0 = peg$parsedefault(); + if (s0 === peg$FAILED) { + s0 = peg$parseunique(); + if (s0 === peg$FAILED) { + s0 = peg$parseprimaryKey(); + if (s0 === peg$FAILED) { + s0 = peg$parsemultiEntry(); + if (s0 === peg$FAILED) { + s0 = peg$parseenableSearch(); + if (s0 === peg$FAILED) { + s0 = peg$parsedisableSearch(); + } + } + } + } + } + } + } + } + + return s0; + } + + function peg$parseautoIncrement() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseAUTOINCREMENT(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c14(); + } + s0 = s1; + + return s0; + } + + function peg$parsenotNull() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseNOTNULL(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c15(); + } + s0 = s1; + + return s0; + } + + function peg$parsedefault() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseDEFAULT(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c16(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedataType() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseSTRING(); + if (s1 === peg$FAILED) { + s1 = peg$parseNUMBER(); + if (s1 === peg$FAILED) { + s1 = peg$parseOBJECT(); + if (s1 === peg$FAILED) { + s1 = peg$parseARRAY(); + if (s1 === peg$FAILED) { + s1 = peg$parseBOOLEAN(); + if (s1 === peg$FAILED) { + s1 = peg$parseDATETIME(); + } + } + } + } + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c17(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseunique() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseUNIQUE(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c18(); + } + s0 = s1; + + return s0; + } + + function peg$parseprimaryKey() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parsePRIMARYKEY(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c19(); + } + s0 = s1; + + return s0; + } + + function peg$parsemultiEntry() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseMULTIENTRY(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c20(); + } + s0 = s1; + + return s0; + } + + function peg$parseenableSearch() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseENABLESEARCH(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c21(); + } + s0 = s1; + + return s0; + } + + function peg$parsedisableSearch() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseDISABLESEARCH(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c22(); + } + s0 = s1; + + return s0; + } + + function peg$parseversion() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseVERSION(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c23(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + s0 = peg$currPos; + s1 = peg$parseINSERT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseINTO(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parseVALUES(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsevalueTypes(); + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parseinsertOptions(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parseinsertOptions(); + } + if (s11 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c24(s5, s9, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsevalueTypes() { + var s0; + + s0 = peg$parseinsertWithEqual(); + if (s0 === peg$FAILED) { + s0 = peg$parseinsertWithParanthesis(); + } + + return s0; + } + + function peg$parseinsertWithParanthesis() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + s0 = peg$currPos; + if (input.substr(peg$currPos, 2) === peg$c25) { + s1 = peg$c25; + peg$currPos += 2; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c26); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsekeyValueSepByColumn(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parseinsertWithParanthesisBetweenVal(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parseinsertWithParanthesisBetweenVal(); + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c27) { + s7 = peg$c27; + peg$currPos += 2; + } else { + s7 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c28); } + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c29(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertWithParanthesisBetweenVal() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsekeyValueSepByColumn(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c30(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsekeyValueSepByColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 58) { + s3 = peg$c31; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c32); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c33(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertWithEqual() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 61) { + s1 = peg$c34; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c35); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsevalue(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c36(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinsertOptions() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseskipDataCheck(); + if (s1 === peg$FAILED) { + s1 = peg$parsereturn(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c37(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseskipDataCheck() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseSKIPDATACHECK(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c38(); + } + s0 = s1; + + return s0; + } + + function peg$parsereturn() { + var s0, s1; + + s0 = peg$currPos; + s1 = peg$parseRETURN(); + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c39(); + } + s0 = s1; + + return s0; + } + + function peg$parseremoveQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parseREMOVE(); + if (s1 === peg$FAILED) { + s1 = peg$parseDELETE(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseFROM(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsetableName(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsewhereQry(); + if (s7 === peg$FAILED) { + s7 = null; + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parseignoreCase(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parseignoreCase(); + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c40(s5, s7, s9); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecountQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parseCOUNT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s4 = peg$c41; + peg$currPos++; + } else { + s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s4 = [s4, s5]; + s3 = s4; + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + } else { + peg$currPos = s3; + s3 = peg$FAILED; + } + if (s3 === peg$FAILED) { + s3 = null; + } + if (s3 !== peg$FAILED) { + s4 = peg$parseFROM(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s6 = peg$parsetableName(); + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + s8 = peg$parsewhereQry(); + if (s8 === peg$FAILED) { + s8 = null; + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parse_(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parse_(); + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c43(s6, s8, s10); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseselectQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; + + s0 = peg$currPos; + s1 = peg$parseSELECT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseaggregateQry(); + if (s3 === peg$FAILED) { + s3 = null; + } + if (s3 !== peg$FAILED) { + s4 = peg$parseFROM(); + if (s4 !== peg$FAILED) { + s5 = peg$parse_(); + if (s5 !== peg$FAILED) { + s6 = peg$parsetableName(); + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + s8 = peg$parsewhereQry(); + if (s8 === peg$FAILED) { + s8 = null; + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parse_(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parse_(); + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parseskip(); + if (s11 === peg$FAILED) { + s11 = peg$parselimit(); + if (s11 === peg$FAILED) { + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parseorderBy(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + } + } + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parseskip(); + if (s11 === peg$FAILED) { + s11 = peg$parselimit(); + if (s11 === peg$FAILED) { + s11 = peg$parsedistinct(); + if (s11 === peg$FAILED) { + s11 = peg$parseignoreCase(); + if (s11 === peg$FAILED) { + s11 = peg$parseorderBy(); + if (s11 === peg$FAILED) { + s11 = peg$parsegroupBy(); + } + } + } + } + } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c44(s3, s6, s8, s10); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaggregateQry() { + var s0, s1, s2; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 42) { + s1 = peg$c41; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c42); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parseaggregate(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c45(s1); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + + return s0; + } + + function peg$parseaggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseAGGREGATE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 91) { + s3 = peg$c46; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c47); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseaggregateType(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenAggregateColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenAggregateColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s9 = peg$c48; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c49); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c50(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseaggregateType() { + var s0; + + s0 = peg$parseminAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsemaxAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parseavgAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsecountAggregate(); + if (s0 === peg$FAILED) { + s0 = peg$parsesumAggregate(); + } + } + } + } + + return s0; + } + + function peg$parsemaxAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseMAX(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c51(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseminAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseMIN(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c52(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseavgAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseAVG(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c53(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsecountAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseCOUNT(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c54(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsesumAggregate() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + s0 = peg$currPos; + s1 = peg$parseSUM(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s3 = peg$c4; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parseinBetweenParanthesisColumn(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parseinBetweenParanthesisColumn(); + } + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s9 = peg$c6; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s9 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c55(s5, s7); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsegroupBy() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + s0 = peg$currPos; + s1 = peg$parseGROUP(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseBY(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parsegroupByRestValue(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parsegroupByRestValue(); + } + if (s6 !== peg$FAILED) { + s7 = []; + s8 = peg$parse_(); + while (s8 !== peg$FAILED) { + s7.push(s8); + s8 = peg$parse_(); + } + if (s7 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c56(s5, s6); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsegroupByRestValue() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parse_(); + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parse_(); + } + if (s1 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s2 = peg$c9; + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsecolumn(); + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parse_(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parse_(); + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderBy() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseorderByValue(); + if (s1 !== peg$FAILED) { + s2 = peg$parseorderByType(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c58(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderByValue() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseORDER(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseBY(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 !== peg$FAILED) { + s5 = peg$parsecolumn(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c59(s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseorderByType() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseOrderByTypes(); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c60(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsedistinct() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseDISTINCT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c61(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseignoreCase() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = peg$parseIGNORECASE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c62(); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseskip() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseSKIP(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 === peg$FAILED) { + s4 = null; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c63(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselimit() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parseLIMIT(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parseNumber(); + if (s3 !== peg$FAILED) { + s4 = peg$parse_(); + if (s4 === peg$FAILED) { + s4 = null; + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c64(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQry() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseWHERE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parsewhereitems(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c65(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereitems() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsewhereQryWithoutParanthesis(); + if (s1 === peg$FAILED) { + s1 = peg$parsewhereQryWithParanthesis(); + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsejoinWhereItems(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsejoinWhereItems(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c66(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsejoinWhereItems() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseJoinOp(); + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parse_(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parse_(); + } + if (s3 !== peg$FAILED) { + s4 = peg$parsewhereQryWithoutParanthesis(); + if (s4 === peg$FAILED) { + s4 = peg$parsewhereQryWithParanthesis(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c67(s2, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQryWithoutParanthesis() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parsewhereItem(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsejoinWhereItem(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parsejoinWhereItem(); + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c68(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereQryWithParanthesis() { + var s0, s1, s2, s3, s4, s5, s6; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 40) { + s1 = peg$c4; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsewhereItem(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parsejoinWhereItem(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parsejoinWhereItem(); + } + if (s4 !== peg$FAILED) { + s5 = []; + s6 = peg$parse_(); + while (s6 !== peg$FAILED) { + s5.push(s6); + s6 = peg$parse_(); + } + if (s5 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s6 = peg$c6; + peg$currPos++; + } else { + s6 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s6 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c69(s3, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsejoinWhereItem() { + var s0, s1, s2, s3, s4; + + s0 = peg$currPos; + s1 = peg$parse_(); + if (s1 !== peg$FAILED) { + s2 = peg$parseJoinOp(); + if (s2 !== peg$FAILED) { + s3 = peg$parse_(); + if (s3 !== peg$FAILED) { + s4 = peg$parsewhereItem(); + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c70(s2, s4); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsewhereItem() { + var s0; + + s0 = peg$parseequalToItem(); + if (s0 === peg$FAILED) { + s0 = peg$parselikeItem(); + if (s0 === peg$FAILED) { + s0 = peg$parseinItem(); + if (s0 === peg$FAILED) { + s0 = peg$parseoperatorItem(); + if (s0 === peg$FAILED) { + s0 = peg$parsebetweenItem(); + } + } + } + } + + return s0; + } + + function peg$parseequalToItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 61) { + s3 = peg$c34; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c35); } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c71(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseoperatorItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c72) { + s3 = peg$c72; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c73); } + } + if (s3 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c74) { + s3 = peg$c74; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c75); } + } + if (s3 === peg$FAILED) { + if (input.substr(peg$currPos, 2) === peg$c76) { + s3 = peg$c76; + peg$currPos += 2; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c77); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 62) { + s3 = peg$c78; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c79); } + } + if (s3 === peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 60) { + s3 = peg$c80; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c81); } + } + } + } + } + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsevalue(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c82(s1, s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsebetweenItem() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseBETWEEN(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsevalue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 44) { + s9 = peg$c9; + peg$currPos++; + } else { + s9 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = peg$parsevalue(); + if (s11 !== peg$FAILED) { + s12 = []; + s13 = peg$parse_(); + while (s13 !== peg$FAILED) { + s12.push(s13); + s13 = peg$parse_(); + } + if (s12 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s13 = peg$c6; + peg$currPos++; + } else { + s13 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s13 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c83(s1, s7, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinItem() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseIN(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 40) { + s5 = peg$c4; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c5); } + } + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parsevalue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = []; + s10 = peg$parseinBetweenParanthesisItem(); + while (s10 !== peg$FAILED) { + s9.push(s10); + s10 = peg$parseinBetweenParanthesisItem(); + } + if (s9 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 41) { + s10 = peg$c6; + peg$currPos++; + } else { + s10 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c7); } + } + if (s10 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c84(s1, s7, s9); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenParanthesisColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsecolumn(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenAggregateColumn() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseaggregateType(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseinBetweenParanthesisItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c57(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselikeItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parsecolumn(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseLIKE(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parselikeType(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c85(s1, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parselikeType() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 37) { + s1 = peg$c86; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 37) { + s5 = peg$c86; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 37) { + s1 = peg$c86; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsevalue(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + if (s0 === peg$FAILED) { + s0 = peg$currPos; + s1 = peg$parsevalue(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 37) { + s3 = peg$c86; + peg$currPos++; + } else { + s3 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c87); } + } + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } + } + + return s0; + } + + function peg$parsevalue() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + s2 = peg$parseColumnValue(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseColumnValue(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c89(s1); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c88); } + } + + return s0; + } + + function peg$parseupdateQuery() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + s0 = peg$currPos; + s1 = peg$parseUPDATE(); + if (s1 !== peg$FAILED) { + s2 = peg$parse_(); + if (s2 !== peg$FAILED) { + s3 = peg$parsetableName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseSET(); + if (s5 !== peg$FAILED) { + s6 = []; + s7 = peg$parse_(); + while (s7 !== peg$FAILED) { + s6.push(s7); + s7 = peg$parse_(); + } + if (s6 !== peg$FAILED) { + s7 = peg$parseupdateValue(); + if (s7 !== peg$FAILED) { + s8 = []; + s9 = peg$parse_(); + while (s9 !== peg$FAILED) { + s8.push(s9); + s9 = peg$parse_(); + } + if (s8 !== peg$FAILED) { + s9 = peg$parsewhereQry(); + if (s9 === peg$FAILED) { + s9 = null; + } + if (s9 !== peg$FAILED) { + s10 = []; + s11 = peg$parse_(); + while (s11 !== peg$FAILED) { + s10.push(s11); + s11 = peg$parse_(); + } + if (s10 !== peg$FAILED) { + s11 = []; + s12 = peg$parseignoreCase(); + while (s12 !== peg$FAILED) { + s11.push(s12); + s12 = peg$parseignoreCase(); + } + if (s11 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c90(s3, s7, s9, s11); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseupdateValue() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseequalToItem(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = []; + s4 = peg$parseupdateValueBetweenItem(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parseupdateValueBetweenItem(); + } + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c91(s1, s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseupdateValueBetweenItem() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 44) { + s1 = peg$c9; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c10); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parseequalToItem(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c92(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseopenQuery() { + var s0, s1, s2, s3; + + s0 = peg$currPos; + s1 = peg$parseOPENDB(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsedbName(); + if (s3 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c93(s3); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parseisDbExistQuery() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseISDBEXIST(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsedbName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parsetableInfo(); + if (s5 === peg$FAILED) { + s5 = null; + } + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c94(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsetableInfo() { + var s0, s1, s2, s3, s4, s5; + + s0 = peg$currPos; + s1 = peg$parseTABLE(); + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parse_(); + while (s3 !== peg$FAILED) { + s2.push(s3); + s3 = peg$parse_(); + } + if (s2 !== peg$FAILED) { + s3 = peg$parsetableName(); + if (s3 !== peg$FAILED) { + s4 = []; + s5 = peg$parse_(); + while (s5 !== peg$FAILED) { + s4.push(s5); + s5 = peg$parse_(); + } + if (s4 !== peg$FAILED) { + s5 = peg$parseversion(); + if (s5 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c95(s3, s5); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + return s0; + } + + function peg$parsetableName() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c96); } + } + + return s0; + } + + function peg$parsedbName() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c97); } + } + + return s0; + } + + function peg$parsecolumn() { + var s0, s1; + + peg$silentFails++; + s0 = peg$parseWord(); + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c98); } + } + + return s0; + } + + function peg$parseJoinOp() { + var s0; + + s0 = peg$parseAnd(); + if (s0 === peg$FAILED) { + s0 = peg$parseOr(); + } + + return s0; + } + + function peg$parseOrderByTypes() { + var s0, s1; + + peg$silentFails++; + if (input.substr(peg$currPos, 3) === peg$c100) { + s0 = peg$c100; + peg$currPos += 3; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c101); } + } + if (s0 === peg$FAILED) { + if (input.substr(peg$currPos, 4) === peg$c102) { + s0 = peg$c102; + peg$currPos += 4; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c103); } + } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c99); } + } + + return s0; + } + + function peg$parseAnd() { + var s0; + + if (input.charCodeAt(peg$currPos) === 38) { + s0 = peg$c104; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c105); } + } + + return s0; + } + + function peg$parseOr() { + var s0; + + if (input.charCodeAt(peg$currPos) === 124) { + s0 = peg$c106; + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c107); } + } + + return s0; + } + + function peg$parseColumnValue() { + var s0; + + if (peg$c108.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c109); } + } + + return s0; + } + + function peg$parseWord() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseLetter(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseLetter(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c110(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseWordAndNumber() { + var s0; + + if (peg$c111.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c112); } + } + + return s0; + } + + function peg$parseLetter() { + var s0; + + if (peg$c113.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c114); } + } + + return s0; + } + + function peg$parseNumber() { + var s0, s1, s2; + + s0 = peg$currPos; + s1 = []; + s2 = peg$parseDigit(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseDigit(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c115(s1); + } + s0 = s1; + + return s0; + } + + function peg$parseDigit() { + var s0; + + if (peg$c116.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c117); } + } + + return s0; + } + + function peg$parseWs() { + var s0, s1; + + peg$silentFails++; + if (peg$c119.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c120); } + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c118); } + } + + return s0; + } + + function peg$parse_() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = []; + s2 = peg$parseWs(); + if (s2 !== peg$FAILED) { + while (s2 !== peg$FAILED) { + s1.push(s2); + s2 = peg$parseWs(); + } + } else { + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c122(s1); + } + s0 = s1; + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c121); } + } + + return s0; + } + + function peg$parseA() { + var s0; + + if (peg$c123.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c124); } + } + + return s0; + } + + function peg$parseB() { + var s0; + + if (peg$c125.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c126); } + } + + return s0; + } + + function peg$parseC() { + var s0; + + if (peg$c127.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c128); } + } + + return s0; + } + + function peg$parseD() { + var s0; + + if (peg$c129.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c130); } + } + + return s0; + } + + function peg$parseE() { + var s0; + + if (peg$c131.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c132); } + } + + return s0; + } + + function peg$parseF() { + var s0; + + if (peg$c133.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c134); } + } + + return s0; + } + + function peg$parseG() { + var s0; + + if (peg$c135.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c136); } + } + + return s0; + } + + function peg$parseH() { + var s0; + + if (peg$c137.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c138); } + } + + return s0; + } + + function peg$parseI() { + var s0; + + if (peg$c139.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c140); } + } + + return s0; + } + + function peg$parseJ() { + var s0; + + if (peg$c141.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c142); } + } + + return s0; + } + + function peg$parseK() { + var s0; + + if (peg$c143.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c144); } + } + + return s0; + } + + function peg$parseL() { + var s0; + + if (peg$c145.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c146); } + } + + return s0; + } + + function peg$parseM() { + var s0; + + if (peg$c147.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c148); } + } + + return s0; + } + + function peg$parseN() { + var s0; + + if (peg$c149.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c150); } + } + + return s0; + } + + function peg$parseO() { + var s0; + + if (peg$c151.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c152); } + } + + return s0; + } + + function peg$parseP() { + var s0; + + if (peg$c153.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c154); } + } + + return s0; + } + + function peg$parseQ() { + var s0; + + if (peg$c155.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c156); } + } + + return s0; + } + + function peg$parseR() { + var s0; + + if (peg$c157.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c158); } + } + + return s0; + } + + function peg$parseS() { + var s0; + + if (peg$c159.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c160); } + } + + return s0; + } + + function peg$parseT() { + var s0; + + if (peg$c161.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c162); } + } + + return s0; + } + + function peg$parseU() { + var s0; + + if (peg$c163.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c164); } + } + + return s0; + } + + function peg$parseV() { + var s0; + + if (peg$c165.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c166); } + } + + return s0; + } + + function peg$parseW() { + var s0; + + if (peg$c167.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c168); } + } + + return s0; + } + + function peg$parseX() { + var s0; + + if (peg$c169.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c170); } + } + + return s0; + } + + function peg$parseY() { + var s0; + + if (peg$c171.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c172); } + } + + return s0; + } + + function peg$parseZ() { + var s0; + + if (peg$c173.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c174); } + } + + return s0; + } + + function peg$parseMIN() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseN(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c175); } + } + + return s0; + } + + function peg$parseMAX() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseX(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c176); } + } + + return s0; + } + + function peg$parseAVG() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseV(); + if (s2 !== peg$FAILED) { + s3 = peg$parseG(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c177); } + } + + return s0; + } + + function peg$parseCOUNT() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseC(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseU(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c178); } + } + + return s0; + } + + function peg$parseSUM() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c179); } + } + + return s0; + } + + function peg$parseAGGREGATE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseG(); + if (s2 !== peg$FAILED) { + s3 = peg$parseG(); + if (s3 !== peg$FAILED) { + s4 = peg$parseR(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseG(); + if (s6 !== peg$FAILED) { + s7 = peg$parseA(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c180); } + } + + return s0; + } + + function peg$parseBETWEEN() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseW(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c181); } + } + + return s0; + } + + function peg$parseIN() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c182); } + } + + return s0; + } + + function peg$parseLIKE() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseL(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseK(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c183); } + } + + return s0; + } + + function peg$parseSELECT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseC(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c184); } + } + + return s0; + } + + function peg$parseIGNORECASE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseG(); + if (s2 !== peg$FAILED) { + s3 = peg$parseN(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseA(); + if (s8 !== peg$FAILED) { + s9 = peg$parseS(); + if (s9 !== peg$FAILED) { + s10 = peg$parseE(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c185); } + } + + return s0; + } + + function peg$parseDISTINCT() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseT(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c186); } + } + + return s0; + } + + function peg$parseORDER() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c187); } + } + + return s0; + } + + function peg$parseBY() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseY(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c188); } + } + + return s0; + } + + function peg$parseFROM() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseF(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseM(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c189); } + } + + return s0; + } + + function peg$parseGROUP() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseG(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseP(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c190); } + } + + return s0; + } + + function peg$parseLIMIT() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseL(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c191); } + } + + return s0; + } + + function peg$parseSKIP() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseK(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseP(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c192); } + } + + return s0; + } + + function peg$parseWHERE() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseW(); + if (s1 !== peg$FAILED) { + s2 = peg$parseH(); + if (s2 !== peg$FAILED) { + s3 = peg$parseE(); + if (s3 !== peg$FAILED) { + s4 = peg$parseR(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c193); } + } + + return s0; + } + + function peg$parseINSERT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c194); } + } + + return s0; + } + + function peg$parseINTO() { + var s0, s1, s2, s3, s4; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s1 = [s1, s2, s3, s4]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c195); } + } + + return s0; + } + + function peg$parseRETURN() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseR(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseR(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c196); } + } + + return s0; + } + + function peg$parseVALUES() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseV(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseU(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseS(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c197); } + } + + return s0; + } + + function peg$parseSKIPDATACHECK() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseK(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseP(); + if (s4 !== peg$FAILED) { + s5 = peg$parseD(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseT(); + if (s7 !== peg$FAILED) { + s8 = peg$parseA(); + if (s8 !== peg$FAILED) { + s9 = peg$parseC(); + if (s9 !== peg$FAILED) { + s10 = peg$parseH(); + if (s10 !== peg$FAILED) { + s11 = peg$parseE(); + if (s11 !== peg$FAILED) { + s12 = peg$parseC(); + if (s12 !== peg$FAILED) { + s13 = peg$parseK(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c198); } + } + + return s0; + } + + function peg$parseUPDATE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseU(); + if (s1 !== peg$FAILED) { + s2 = peg$parseP(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c199); } + } + + return s0; + } + + function peg$parseSET() { + var s0, s1, s2, s3; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s1 = [s1, s2, s3]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c200); } + } + + return s0; + } + + function peg$parseREMOVE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseR(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseV(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c201); } + } + + return s0; + } + + function peg$parseDELETE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseT(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c202); } + } + + return s0; + } + + function peg$parseVERSION() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseV(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseS(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseO(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c203); } + } + + return s0; + } + + function peg$parseENABLESEARCH() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseE(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseA(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseL(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseS(); + if (s7 !== peg$FAILED) { + s8 = peg$parseE(); + if (s8 !== peg$FAILED) { + s9 = peg$parseA(); + if (s9 !== peg$FAILED) { + s10 = peg$parseR(); + if (s10 !== peg$FAILED) { + s11 = peg$parseC(); + if (s11 !== peg$FAILED) { + s12 = peg$parseH(); + if (s12 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c204); } + } + + return s0; + } + + function peg$parseMULTIENTRY() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseM(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseL(); + if (s3 !== peg$FAILED) { + s4 = peg$parseT(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s8 = peg$parseT(); + if (s8 !== peg$FAILED) { + s9 = peg$parseR(); + if (s9 !== peg$FAILED) { + s10 = peg$parseY(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c205); } + } + + return s0; + } + + function peg$parsePRIMARYKEY() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseP(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseM(); + if (s4 !== peg$FAILED) { + s5 = peg$parseA(); + if (s5 !== peg$FAILED) { + s6 = peg$parseR(); + if (s6 !== peg$FAILED) { + s7 = peg$parseY(); + if (s7 !== peg$FAILED) { + s8 = peg$parseK(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseY(); + if (s10 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c206); } + } + + return s0; + } + + function peg$parseUNIQUE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseU(); + if (s1 !== peg$FAILED) { + s2 = peg$parseN(); + if (s2 !== peg$FAILED) { + s3 = peg$parseI(); + if (s3 !== peg$FAILED) { + s4 = peg$parseQ(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c207); } + } + + return s0; + } + + function peg$parseSTRING() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseS(); + if (s1 !== peg$FAILED) { + s2 = peg$parseT(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseN(); + if (s5 !== peg$FAILED) { + s6 = peg$parseG(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c208); } + } + + return s0; + } + + function peg$parseNUMBER() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseN(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseM(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseR(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c209); } + } + + return s0; + } + + function peg$parseOBJECT() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseB(); + if (s2 !== peg$FAILED) { + s3 = peg$parseJ(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + s5 = peg$parseC(); + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c210); } + } + + return s0; + } + + function peg$parseARRAY() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseR(); + if (s2 !== peg$FAILED) { + s3 = peg$parseR(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseY(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c211); } + } + + return s0; + } + + function peg$parseBOOLEAN() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseB(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseO(); + if (s3 !== peg$FAILED) { + s4 = peg$parseL(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseN(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c212); } + } + + return s0; + } + + function peg$parseDATETIME() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseE(); + if (s4 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 95) { + s5 = peg$c214; + peg$currPos++; + } else { + s5 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c215); } + } + if (s5 !== peg$FAILED) { + s6 = peg$parseT(); + if (s6 !== peg$FAILED) { + s7 = peg$parseI(); + if (s7 !== peg$FAILED) { + s8 = peg$parseM(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c213); } + } + + return s0; + } + + function peg$parseAUTOINCREMENT() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseA(); + if (s1 !== peg$FAILED) { + s2 = peg$parseU(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseO(); + if (s4 !== peg$FAILED) { + s5 = peg$parseI(); + if (s5 !== peg$FAILED) { + s6 = peg$parseN(); + if (s6 !== peg$FAILED) { + s7 = peg$parseC(); + if (s7 !== peg$FAILED) { + s8 = peg$parseR(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseM(); + if (s10 !== peg$FAILED) { + s11 = peg$parseE(); + if (s11 !== peg$FAILED) { + s12 = peg$parseN(); + if (s12 !== peg$FAILED) { + s13 = peg$parseT(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c216); } + } + + return s0; + } + + function peg$parseNOTNULL() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseN(); + if (s1 !== peg$FAILED) { + s2 = peg$parseO(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseL(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c217); } + } + + return s0; + } + + function peg$parseDEFAULT() { + var s0, s1, s2, s3, s4, s5, s6, s7; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseF(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseU(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseT(); + if (s7 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c218); } + } + + return s0; + } + + function peg$parseDEFINE() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseE(); + if (s2 !== peg$FAILED) { + s3 = peg$parseF(); + if (s3 !== peg$FAILED) { + s4 = peg$parseI(); + if (s4 !== peg$FAILED) { + s5 = peg$parseN(); + if (s5 !== peg$FAILED) { + s6 = peg$parseE(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c219); } + } + + return s0; + } + + function peg$parseDATABASE() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseT(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseB(); + if (s5 !== peg$FAILED) { + s6 = peg$parseA(); + if (s6 !== peg$FAILED) { + s7 = peg$parseS(); + if (s7 !== peg$FAILED) { + s8 = peg$parseE(); + if (s8 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c220); } + } + + return s0; + } + + function peg$parseTABLE() { + var s0, s1, s2, s3, s4, s5; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseT(); + if (s1 !== peg$FAILED) { + s2 = peg$parseA(); + if (s2 !== peg$FAILED) { + s3 = peg$parseB(); + if (s3 !== peg$FAILED) { + s4 = peg$parseL(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c221); } + } + + return s0; + } + + function peg$parseDB() { + var s0, s1, s2; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseB(); + if (s2 !== peg$FAILED) { + s1 = [s1, s2]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c222); } + } + + return s0; + } + + function peg$parseISDBEXIST() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseI(); + if (s1 !== peg$FAILED) { + s2 = peg$parseS(); + if (s2 !== peg$FAILED) { + s3 = peg$parseD(); + if (s3 !== peg$FAILED) { + s4 = peg$parseB(); + if (s4 !== peg$FAILED) { + s5 = peg$parseE(); + if (s5 !== peg$FAILED) { + s6 = peg$parseX(); + if (s6 !== peg$FAILED) { + s7 = peg$parseI(); + if (s7 !== peg$FAILED) { + s8 = peg$parseS(); + if (s8 !== peg$FAILED) { + s9 = peg$parseT(); + if (s9 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c223); } + } + + return s0; + } + + function peg$parseOPENDB() { + var s0, s1, s2, s3, s4, s5, s6; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseO(); + if (s1 !== peg$FAILED) { + s2 = peg$parseP(); + if (s2 !== peg$FAILED) { + s3 = peg$parseE(); + if (s3 !== peg$FAILED) { + s4 = peg$parseN(); + if (s4 !== peg$FAILED) { + s5 = peg$parseD(); + if (s5 !== peg$FAILED) { + s6 = peg$parseB(); + if (s6 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c224); } + } + + return s0; + } + + function peg$parseDISABLESEARCH() { + var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; + + peg$silentFails++; + s0 = peg$currPos; + s1 = peg$parseD(); + if (s1 !== peg$FAILED) { + s2 = peg$parseI(); + if (s2 !== peg$FAILED) { + s3 = peg$parseS(); + if (s3 !== peg$FAILED) { + s4 = peg$parseA(); + if (s4 !== peg$FAILED) { + s5 = peg$parseB(); + if (s5 !== peg$FAILED) { + s6 = peg$parseL(); + if (s6 !== peg$FAILED) { + s7 = peg$parseE(); + if (s7 !== peg$FAILED) { + s8 = peg$parseS(); + if (s8 !== peg$FAILED) { + s9 = peg$parseE(); + if (s9 !== peg$FAILED) { + s10 = peg$parseA(); + if (s10 !== peg$FAILED) { + s11 = peg$parseR(); + if (s11 !== peg$FAILED) { + s12 = peg$parseC(); + if (s12 !== peg$FAILED) { + s13 = peg$parseH(); + if (s13 !== peg$FAILED) { + s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13]; + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + peg$silentFails--; + if (s0 === peg$FAILED) { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c225); } + } + + return s0; + } + + peg$result = peg$startRuleFunction(); + + if (peg$result !== peg$FAILED && peg$currPos === input.length) { + return peg$result; + } else { + if (peg$result !== peg$FAILED && peg$currPos < input.length) { + peg$fail(peg$endExpectation()); + } + + throw peg$buildStructuredError( + peg$maxFailExpected, + peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, + peg$maxFailPos < input.length + ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) + : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) + ); + } +} + +module.exports = { + SyntaxError: peg$SyntaxError, + parse: peg$parse +}; + + +/***/ }), +/* 3 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Util", function() { return Util; }); +var dateFormat = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/; +var reviver = function (key, value) { + if (typeof value === "string" && dateFormat.test(value)) { + return new Date(value); + } + return value; +}; +var Util = /** @class */ (function () { + function Util() { + } + Util.isString = function (value) { + return typeof value === 'string'; + }; + Util.parseJson = function (value) { + return JSON.parse(value, reviver); + }; + return Util; +}()); + + + +/***/ }), +/* 4 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Config", function() { return Config; }); +var Config = /** @class */ (function () { + function Config() { + } + Config.isLogEnabled = false; + return Config; +}()); + + + +/***/ }), +/* 5 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LogHelper", function() { return LogHelper; }); +/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); + + +var LogHelper = /** @class */ (function () { + function LogHelper(type, info) { + this.type = type; + this.info_ = info; + this.message = this.getMsg_(); + } + LogHelper.log = function (msg) { + if (_config__WEBPACK_IMPORTED_MODULE_1__["Config"].isLogEnabled) { + console.log(msg); + } + }; + LogHelper.prototype.logError = function () { + console.error(this.get()); + }; + LogHelper.prototype.logWarning = function () { + console.warn(this.get()); + }; + LogHelper.prototype.get = function () { + return { + message: this.message, + type: this.type + }; + }; + LogHelper.prototype.getMsg_ = function () { + var errMsg; + switch (this.type) { + case _enums__WEBPACK_IMPORTED_MODULE_0__["ERROR_TYPE"].SynTaxError: + errMsg = this.info_; + break; + default: + errMsg = this.message; + break; + } + return errMsg; + }; + return LogHelper; +}()); + + + +/***/ }), +/* 6 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ERROR_TYPE", function() { return ERROR_TYPE; }); +var ERROR_TYPE; +(function (ERROR_TYPE) { + ERROR_TYPE["SynTaxError"] = "syntax_error"; +})(ERROR_TYPE || (ERROR_TYPE = {})); + + +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Query", function() { return Query; }); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var _output_parser__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_output_parser__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); + + +var Query = /** @class */ (function () { + function Query(qry) { + this.topLevelKeys_ = ["skip", "limit"]; + this.query_ = _output_parser__WEBPACK_IMPORTED_MODULE_0__["parse"](qry); + } + Query.prototype.map = function (key, value) { + var stringifiedValue = JSON.stringify(this.query_); + this.query_ = this.parseJson_(stringifiedValue.replace('"' + key + '"', JSON.stringify(value))); + }; + Query.prototype.isString_ = function (value) { + return _util__WEBPACK_IMPORTED_MODULE_1__["Util"].isString(value); + }; + Query.prototype.parseJson_ = function (value) { + return _util__WEBPACK_IMPORTED_MODULE_1__["Util"].parseJson(value); + }; + return Query; +}()); + + + +/***/ }) +/******/ ]); +//# sourceMappingURL=sqlweb.js.map \ No newline at end of file diff --git a/dist/sqlweb.js.map b/dist/sqlweb.js.map new file mode 100644 index 0000000..77431fa --- /dev/null +++ b/dist/sqlweb.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://SqlWeb/webpack/bootstrap","webpack://SqlWeb/./src/code/index.ts","webpack://SqlWeb/./src/code/instance.ts","webpack://SqlWeb/./src/output/parser.js","webpack://SqlWeb/./src/code/util.ts","webpack://SqlWeb/./src/code/config.ts","webpack://SqlWeb/./src/code/log_helper.ts","webpack://SqlWeb/./src/code/enums.ts","webpack://SqlWeb/./src/code/query.ts"],"names":[],"mappings":";;;;;;;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;;;AClF0B;AACF;;;;;;;;;;;;;;;;ACDqB;AACf;AAEI;AACO;AACJ;AAGrC;IAEI,kBAAY,UAAU;QAClB,IAAI,CAAC,WAAW,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,4BAAS,GAAjB,UAAkB,KAAK;QACnB,MAAM,CAAC,0CAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAqB;QAC1B,IAAI,CAAC;YACD,IAAI,MAAM,UAAC;YACX,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACjC,KAAK,GAAI,KAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpE,MAAM,GAAG,oDAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,MAAM,GAAI,KAAe,CAAC,MAAM,CAAC;YACrC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,IAAI,KAAG,CAAC;YACR,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;gBAC5B,KAAG,GAAG,IAAI,qDAAS,CAAC,iDAAU,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,KAAG,GAAG,EAAE,CAAC;YACb,CAAC;YACD,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAC/B,MAAM,CAAC,KAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,+BAAY,GAAZ,UAAa,MAAe;QACxB,8CAAM,CAAC,YAAY,GAAG,MAAM,CAAC;IACjC,CAAC;IACL,eAAC;AAAD,CAAC;;;;;;;;;ACtDD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,qBAAqB,8BAA8B;AACnD;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB,EAAE;AACjF,sDAAsD,yBAAyB,EAAE;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yBAAyB,EAAE;AACjF,sDAAsD,yBAAyB,EAAE;AACjF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,qBAAqB;AACpC;AACA;;AAEA;;AAEA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qBAAqB;;AAErB,gCAAgC,wBAAwB;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB,wCAAwC;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,iDAAiD;AACjD;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mBAAmB;AACnB,0CAA0C;AAC1C,kBAAkB;AAClB,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC;AACA,kCAAkC;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC;AACA,gCAAgC;AAChC;AACA,kCAAkC;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,8B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,oC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,gD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,oC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;AACA;AACA,sB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB,iB;AACvB,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,QAAQ;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,4CAA4C,kBAAkB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,wDAAwD,kBAAkB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,8DAA8D,kBAAkB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,mBAAmB;AACrE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,kBAAkB;AACpE;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,4CAA4C,kBAAkB;AAC9D;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,4CAA4C,mBAAmB;AAC/D;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD,mBAAmB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,oDAAoD,kBAAkB;AACtE;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,mBAAmB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0CAA0C,oBAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACrzPA;AAAA,IAAM,UAAU,GAAG,8CAA8C,CAAC;AAClE,IAAM,OAAO,GAAG,UAAU,GAAG,EAAE,KAAK;IAChC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC,CAAC;AACF;IAAA;IAQA,CAAC;IAPU,aAAQ,GAAf,UAAgB,KAAK;QACjB,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ;IACpC,CAAC;IAEM,cAAS,GAAhB,UAAiB,KAAK;QAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACL,WAAC;AAAD,CAAC;;;;;;;;;;AChBD;AAAA;IAAA;IAEA,CAAC;IADU,mBAAY,GAAG,KAAK,CAAC;IAChC,aAAC;CAAA;AAFkB;;;;;;;;;;;;ACCkB;AACH;AAElC;IAKI,mBAAY,IAAgB,EAAE,IAAU;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAEM,aAAG,GAAV,UAAW,GAAG;QACV,EAAE,CAAC,CAAC,8CAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED,4BAAQ,GAAR;QACI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,8BAAU,GAAV;QACI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,uBAAG,GAAH;QACI,MAAM,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACR,CAAC;IAChB,CAAC;IAEO,2BAAO,GAAf;QACI,IAAI,MAAc,CAAC;QACnB,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,KAAK,iDAAU,CAAC,WAAW;gBACvB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC;YACV;gBACI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtB,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAClB,CAAC;IACL,gBAAC;AAAD,CAAC;;;;;;;;;;;AChDD,IAAY,UAEX;AAFD,WAAY,UAAU;IAClB,0CAA4B;AAChC,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;;;;;;;;;;;;;ACF4C;AACf;AAC9B;IAGI,eAAY,GAAW;QADf,kBAAa,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC;QAE/C,IAAI,CAAC,MAAM,GAAG,oDAAY,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,mBAAG,GAAH,UAAI,GAAW,EAAE,KAAU;QACvB,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAEO,yBAAS,GAAjB,UAAkB,KAAK;QACnB,MAAM,CAAC,0CAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,0BAAU,GAAlB,UAAmB,KAAK;QACpB,MAAM,CAAC,0CAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACL,YAAC;AAAD,CAAC","file":"sqlweb.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export * from './instance'\nexport * from './query';","import * as parser from './../output/parser';\nimport { Util } from './util';\nimport { Query } from '.';\nimport { Config } from './config';\nimport { LogHelper } from './log_helper';\nimport { ERROR_TYPE } from './enums';\n\ndeclare var JsStore;\nexport class Instance {\n private jsStoreCon_;\n constructor(workerPath) {\n this.jsStoreCon_ = workerPath == null ? new JsStore.Instance() :\n new JsStore.Instance(new Worker(workerPath));\n }\n\n private isString_(value) {\n return Util.isString(value);\n }\n\n runQuery(query: string | Query) {\n try {\n let result;\n if (this.isString_(query) === true) {\n query = (query as string).replace(new RegExp('\\n', 'g'), '').trim();\n result = parser.parse(query);\n }\n else {\n result = (query as Query).query_;\n }\n return this.jsStoreCon_[result.api](result.data);\n }\n catch (ex) {\n let err;\n if (ex.name === \"SyntaxError\") {\n err = new LogHelper(ERROR_TYPE.SynTaxError, ex.message).get();\n }\n else {\n err = ex;\n }\n return new Promise((resolve, reject) => {\n reject(err);\n });\n }\n }\n\n /**\n * set log status, accepts boolean value\n *\n * @param {boolean} status\n * @memberof Instance\n */\n setLogStatus(status: boolean) {\n Config.isLogEnabled = status;\n }\n}","/*\n * Generated by PEG.js 0.10.0.\n *\n * http://pegjs.org/\n */\n\n\"use strict\";\n\nfunction peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n}\n\nfunction peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n}\n\npeg$subclass(peg$SyntaxError, Error);\n\npeg$SyntaxError.buildMessage = function(expected, found) {\n var DESCRIBE_EXPECTATION_FNS = {\n literal: function(expectation) {\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n },\n\n \"class\": function(expectation) {\n var escapedParts = \"\",\n i;\n\n for (i = 0; i < expectation.parts.length; i++) {\n escapedParts += expectation.parts[i] instanceof Array\n ? classEscape(expectation.parts[i][0]) + \"-\" + classEscape(expectation.parts[i][1])\n : classEscape(expectation.parts[i]);\n }\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n },\n\n any: function(expectation) {\n return \"any character\";\n },\n\n end: function(expectation) {\n return \"end of input\";\n },\n\n other: function(expectation) {\n return expectation.description;\n }\n };\n\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function classEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\^/g, '\\\\^')\n .replace(/-/g, '\\\\-')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function describeExpectation(expectation) {\n return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n }\n\n function describeExpected(expected) {\n var descriptions = new Array(expected.length),\n i, j;\n\n for (i = 0; i < expected.length; i++) {\n descriptions[i] = describeExpectation(expected[i]);\n }\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found) {\n return found ? \"\\\"\" + literalEscape(found) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n};\n\nfunction peg$parse(input, options) {\n options = options !== void 0 ? options : {};\n\n var peg$FAILED = {},\n\n peg$startRuleFunctions = { query: peg$parsequery },\n peg$startRuleFunction = peg$parsequery,\n\n peg$c0 = function(db, tables) {\r\n \tdb.tables=tables\r\n return {\r\n api:'createDb',\r\n data:db\r\n }\r\n },\n peg$c1 = \";\",\n peg$c2 = peg$literalExpectation(\";\", false),\n peg$c3 = function(name) {\r\n \treturn {\r\n \tname:name\r\n }\r\n },\n peg$c4 = \"(\",\n peg$c5 = peg$literalExpectation(\"(\", false),\n peg$c6 = \")\",\n peg$c7 = peg$literalExpectation(\")\", false),\n peg$c8 = function(table, first, all, ver) {\r\n all.push(first);\r\n var versionData = ver==null?null:ver['version'];\r\n return {\r\n name: table,\r\n columns : all,\r\n version: versionData\r\n }\r\n },\n peg$c9 = \",\",\n peg$c10 = peg$literalExpectation(\",\", false),\n peg$c11 = function(def) {\r\n return def;\r\n },\n peg$c12 = function(name, options) {\r\n var defaultValue = {\r\n name:name,\r\n unique:false,\r\n autoIncrement:false,\r\n default:null,\r\n notNull:false,\r\n dataType:null,\r\n primaryKey:false,\r\n multiEntry:false,\r\n enableSearch:true\r\n }\r\n options.forEach(option=>{\r\n var key = Object.keys(option)[0];\r\n defaultValue[key] = option[key];\r\n });\r\n return defaultValue;\r\n },\n peg$c13 = function(option) {\r\n \treturn option;\r\n },\n peg$c14 = function() {\r\n return {\r\n autoIncrement:true\r\n }\r\n },\n peg$c15 = function() {\r\n return {\r\n notNull:true\r\n }\r\n },\n peg$c16 = function(val) {\r\n return {\r\n default:val\r\n }\r\n },\n peg$c17 = function(type) {\r\n return {\r\n dataType:type.join('').toLowerCase()\r\n }\r\n },\n peg$c18 = function() {\r\n return {\r\n unique:true\r\n }\r\n },\n peg$c19 = function() {\r\n return {\r\n primaryKey:true\r\n }\r\n },\n peg$c20 = function() {\r\n return {\r\n multiEntry:true\r\n }\r\n },\n peg$c21 = function() {\r\n return {\r\n enableSearch:true\r\n }\r\n },\n peg$c22 = function() {\r\n return {\r\n enableSearch:false\r\n }\r\n },\n peg$c23 = function(val) {\r\n return {\r\n version:val\r\n }\r\n },\n peg$c24 = function(table, insertValue, options) {\r\n var skipDataCheck = false;\r\n var returnValue = false;\r\n options.forEach(val=>{\r\n var key = Object.keys(val)[0];\r\n switch(key){\r\n case 'skipDataCheck':\r\n skipDataCheck = val[key]; break;\r\n case 'return':\r\n returnValue = val[key]; break;\r\n }\r\n });\r\n return {\r\n api: 'insert',\r\n data: {\r\n into: table,\r\n values: insertValue,\r\n skipDataCheck: skipDataCheck,\r\n return : returnValue\r\n }\r\n }\r\n },\n peg$c25 = \"({\",\n peg$c26 = peg$literalExpectation(\"({\", false),\n peg$c27 = \"})\",\n peg$c28 = peg$literalExpectation(\"})\", false),\n peg$c29 = function(first, rest) {\r\n \tvar obj = {\r\n \t[first.key]: first.value\r\n }\r\n if(rest!=null){\r\n \trest.forEach(item=>{\r\n \tobj[item.key] = item.value\r\n })\r\n }\r\n return [obj];\r\n },\n peg$c30 = function(val) {\r\n \treturn val;\r\n },\n peg$c31 = \":\",\n peg$c32 = peg$literalExpectation(\":\", false),\n peg$c33 = function(key, val) {\r\n \treturn {\r\n \tkey:key,\r\n value:val\r\n }\r\n },\n peg$c34 = \"=\",\n peg$c35 = peg$literalExpectation(\"=\", false),\n peg$c36 = function(insertValue) {\r\n \treturn insertValue;\r\n },\n peg$c37 = function(option) {\r\n return {\r\n [option]:true\r\n }\r\n },\n peg$c38 = function() {\r\n return 'skipDataCheck';\r\n },\n peg$c39 = function() {\r\n return 'return';\r\n },\n peg$c40 = function(table, where, option) {\r\n var ignoreCase =false;\r\n option.forEach(val=>{\r\n \tvar key = Object.keys(val)[0];\r\n switch(key){\r\n case 'ignoreCase':\r\n \tignoreCase = val[key]; break;\r\n }\r\n });\r\n return {\r\n api:'remove',\r\n data:{\r\n from:table,\r\n where:where,\r\n ignoreCase: ignoreCase\r\n }\r\n }\r\n },\n peg$c41 = \"*\",\n peg$c42 = peg$literalExpectation(\"*\", false),\n peg$c43 = function(table, where, option) {\n var ignoreCase =false;\n var distinct = false;\n var groupBy = null;\n option.forEach(val=>{\n \tvar key = Object.keys(val)[0];\n switch(key){\n case 'ignoreCase':\n \tignoreCase = val[key]; break;\n case 'distinct':\n \tdistinct = val[key]; break;\n case 'groupBy':\n \tgroupBy = val[key]; break;\n }\n });\n return {\n api:'count',\n data:{\n from:table,\n where:where,\n ignoreCase: ignoreCase,\n distinct : distinct,\n groupBy:groupBy\n }\n }\n },\n peg$c44 = function(aggr, table, where, option) {\n var skip=null;\n var limit=null;\n var ignoreCase =false;\n var distinct = false;\n var order = null;\n var groupBy = null;\n var aggregate = aggr;\n option.forEach(val=>{\n \tvar key = Object.keys(val)[0];\n switch(key){\n \tcase 'skip':\n \tskip= val[key]; break;\n case 'limit':\n limit= val[key]; break;\n case 'ignoreCase':\n \tignoreCase = val[key]; break;\n case 'distinct':\n \tdistinct = val[key]; break;\n case 'order':\n \torder = val[key]; break;\n case 'groupBy':\n \tgroupBy = val[key]; break;\n }\n });\n return {\n api:'select',\n data:{\n from:table,\n where:where,\n skip:skip,\n limit:limit,\n ignoreCase: ignoreCase,\n distinct : distinct,\n order:order,\n groupBy:groupBy,\n aggregate : aggr\n }\n }\n },\n peg$c45 = function(aggr) {\n \treturn aggr[0];\n },\n peg$c46 = \"[\",\n peg$c47 = peg$literalExpectation(\"[\", false),\n peg$c48 = \"]\",\n peg$c49 = peg$literalExpectation(\"]\", false),\n peg$c50 = function(first, rest) {\n \trest.splice(0,0,first);\n return rest;\n },\n peg$c51 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tmax : rest\n }\n },\n peg$c52 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tmin : rest\n }\n },\n peg$c53 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tavg : rest\n }\n },\n peg$c54 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tcount : rest\n }\n },\n peg$c55 = function(first, rest) {\n \trest.splice(0,0,first);\n return {\n \tsum : rest\n }\n },\n peg$c56 = function(first, rest) {\n \treturn {\n \tgroupBy:[first,...rest]\n } ;\n },\n peg$c57 = function(val) {\n \treturn val;\n },\n peg$c58 = function(by, type) {\n \treturn {\n \torder: {\n \tby:by,\n type: type\n }\n };\n },\n peg$c59 = function(by) {\n \treturn by;\n },\n peg$c60 = function(type) {\n \treturn type;\n },\n peg$c61 = function() {\n \treturn {\n \tdistinct: true\n };\n },\n peg$c62 = function() {\n \treturn {\n \tignoreCase: true\n };\n },\n peg$c63 = function(val) {\n \treturn {\n \tskip: val\n };\n },\n peg$c64 = function(val) {\n \treturn {\n \tlimit: val\n };\n },\n peg$c65 = function(where) {\n \treturn where;\n },\n peg$c66 = function(item1, item2) {\n \tif(!Array.isArray(item1)){\n \titem1=[item1];\n }\n if(item2!=null){\n \tvar pushInItem1=(item)=>{\n \titem1.push(item);\n }\n if(Array.isArray(item1)){\n \titem2.forEach(item=>{\n if(Array.isArray(item)){\n item.forEach(subItem=>{\n pushInItem1(subItem);\n });\n }\n else{\n pushInItem1(item)\n }\n });\n }\n }\n return item1;\n },\n peg$c67 = function(op, where) {\n \t\n if(op==='|'){\n \tvar obj={};\n if(Array.isArray(where)){\n where.forEach(val=>{\n obj={...obj,...val}\n });\n }\n else{\n \tobj = where;\n }\n return {\n \tor:obj\n }\n }\n \n return where;\n },\n peg$c68 = function(fw, jw) {\n \tif(jw==null){\n \treturn fw\n }\n else{\n \tjw.splice(0,0,fw);\t\n return jw;\n }\n },\n peg$c69 = function(fw, jw) {\n \tif(jw==null){\n \treturn fw;\n }\n else{\n \tvar query= fw;\n jw.forEach(qry=>{\n \tvar key = Object.keys(qry)[0];\n \tif(key==='or'){\n \tif(query.or==null){\n \tquery.or={};\n }\n var orKey = Object.keys(qry[key])[0];\n query.or[orKey]= qry[key][orKey];\n }\n else{\n \tquery[key]=qry[key];\n }\n })\n return query;\n }\n },\n peg$c70 = function(op, item) {\n \tif(op==='|'){\n \treturn {\n \tor: item\n }\n }\n return item;\n },\n peg$c71 = function(col, val) { \n \treturn {\n \t[col]:val\n \t}\n },\n peg$c72 = \"!=\",\n peg$c73 = peg$literalExpectation(\"!=\", false),\n peg$c74 = \">=\",\n peg$c75 = peg$literalExpectation(\">=\", false),\n peg$c76 = \"<=\",\n peg$c77 = peg$literalExpectation(\"<=\", false),\n peg$c78 = \">\",\n peg$c79 = peg$literalExpectation(\">\", false),\n peg$c80 = \"<\",\n peg$c81 = peg$literalExpectation(\"<\", false),\n peg$c82 = function(col, op, val) { \n \treturn {\n \t[col]:{\n \t[op]:val\n }\n \t}\n },\n peg$c83 = function(col, low, high) {\n \treturn {\n \t[col]:{\n '-':{\n low : low,\n high : high\n }\n }\n \t}\n },\n peg$c84 = function(col, first, betweens) { \n \treturn {\n \t[col]:{\n \tin:[first,...betweens]\n }\n \t}\n },\n peg$c85 = function(col, val) { \n \treturn {\n \t[col]:{\n \tlike:val.join('')\n }\n \t}\n },\n peg$c86 = \"%\",\n peg$c87 = peg$literalExpectation(\"%\", false),\n peg$c88 = peg$otherExpectation(\"column value\"),\n peg$c89 = function(val) {\n var value=val.join(\"\");\n if(value[0]=== \"'\" && value[value.length-1] === \"'\"){\n \treturn value.substr(1,value.length-2);\n }\n var number = Number(value); \n if(isNaN(number)) \n \treturn value; \n else \n \treturn number;\n },\n peg$c90 = function(table, set, where, option) {\r\n\r\n var ignoreCase =false;\r\n option.forEach(val=>{\r\n \tvar key = Object.keys(val)[0];\r\n switch(key){\r\n case 'ignoreCase':\r\n \tignoreCase = val[key]; break;\r\n }\r\n });\r\n return {\r\n api:'update',\r\n data:{\r\n in:table,\r\n set:set,\r\n where:where,\r\n ignoreCase: ignoreCase\r\n }\r\n }\r\n },\n peg$c91 = function(first, rest) {\r\n rest.forEach(val=>{\r\n first = {...first,...val}; \r\n });\r\n return first;\r\n },\n peg$c92 = function(val) {\r\n return val;\r\n },\n peg$c93 = function(name) {\r\n return {\r\n api:'openDb',\r\n data:name\r\n }\r\n },\n peg$c94 = function(name, tblInfo) {\r\n \tvar result = {\r\n \tapi:'isDbExist'\r\n }\r\n if(tblInfo==null){\r\n result.data=name;\r\n }\r\n else{\r\n \tresult.data={\r\n dbName:name,\r\n table:tblInfo\r\n }\r\n }\r\n return result;\r\n },\n peg$c95 = function(table, ver) {\r\n \treturn {\r\n name:table,\r\n version:ver\r\n }\r\n },\n peg$c96 = peg$otherExpectation(\"table name\"),\n peg$c97 = peg$otherExpectation(\"database name\"),\n peg$c98 = peg$otherExpectation(\"column\"),\n peg$c99 = peg$otherExpectation(\"order type\"),\n peg$c100 = \"asc\",\n peg$c101 = peg$literalExpectation(\"asc\", false),\n peg$c102 = \"desc\",\n peg$c103 = peg$literalExpectation(\"desc\", false),\n peg$c104 = \"&\",\n peg$c105 = peg$literalExpectation(\"&\", false),\n peg$c106 = \"|\",\n peg$c107 = peg$literalExpectation(\"|\", false),\n peg$c108 = /^[a-zA-Z0-9@_']/,\n peg$c109 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], [\"0\", \"9\"], \"@\", \"_\", \"'\"], false, false),\n peg$c110 = function(l) {return l.join(\"\");},\n peg$c111 = /^[a-zA-Z0-9]/,\n peg$c112 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], [\"0\", \"9\"]], false, false),\n peg$c113 = /^[a-zA-Z]/,\n peg$c114 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false),\n peg$c115 = function(d) {return Number(d.join(\"\"))},\n peg$c116 = /^[0-9]/,\n peg$c117 = peg$classExpectation([[\"0\", \"9\"]], false, false),\n peg$c118 = peg$otherExpectation(\"Whitespace\"),\n peg$c119 = /^[ \\t]/,\n peg$c120 = peg$classExpectation([\" \", \"\\t\"], false, false),\n peg$c121 = peg$otherExpectation(\"One or more whitespaces\"),\n peg$c122 = function(space) {return null;},\n peg$c123 = /^[aA]/,\n peg$c124 = peg$classExpectation([\"a\", \"A\"], false, false),\n peg$c125 = /^[bB]/,\n peg$c126 = peg$classExpectation([\"b\", \"B\"], false, false),\n peg$c127 = /^[cC]/,\n peg$c128 = peg$classExpectation([\"c\", \"C\"], false, false),\n peg$c129 = /^[dD]/,\n peg$c130 = peg$classExpectation([\"d\", \"D\"], false, false),\n peg$c131 = /^[eE]/,\n peg$c132 = peg$classExpectation([\"e\", \"E\"], false, false),\n peg$c133 = /^[fF]/,\n peg$c134 = peg$classExpectation([\"f\", \"F\"], false, false),\n peg$c135 = /^[gG]/,\n peg$c136 = peg$classExpectation([\"g\", \"G\"], false, false),\n peg$c137 = /^[hH]/,\n peg$c138 = peg$classExpectation([\"h\", \"H\"], false, false),\n peg$c139 = /^[iI]/,\n peg$c140 = peg$classExpectation([\"i\", \"I\"], false, false),\n peg$c141 = /^[jJ]/,\n peg$c142 = peg$classExpectation([\"j\", \"J\"], false, false),\n peg$c143 = /^[kK]/,\n peg$c144 = peg$classExpectation([\"k\", \"K\"], false, false),\n peg$c145 = /^[lL]/,\n peg$c146 = peg$classExpectation([\"l\", \"L\"], false, false),\n peg$c147 = /^[mM]/,\n peg$c148 = peg$classExpectation([\"m\", \"M\"], false, false),\n peg$c149 = /^[nN]/,\n peg$c150 = peg$classExpectation([\"n\", \"N\"], false, false),\n peg$c151 = /^[oO]/,\n peg$c152 = peg$classExpectation([\"o\", \"O\"], false, false),\n peg$c153 = /^[pP]/,\n peg$c154 = peg$classExpectation([\"p\", \"P\"], false, false),\n peg$c155 = /^[qQ]/,\n peg$c156 = peg$classExpectation([\"q\", \"Q\"], false, false),\n peg$c157 = /^[rR]/,\n peg$c158 = peg$classExpectation([\"r\", \"R\"], false, false),\n peg$c159 = /^[sS]/,\n peg$c160 = peg$classExpectation([\"s\", \"S\"], false, false),\n peg$c161 = /^[tT]/,\n peg$c162 = peg$classExpectation([\"t\", \"T\"], false, false),\n peg$c163 = /^[uU]/,\n peg$c164 = peg$classExpectation([\"u\", \"U\"], false, false),\n peg$c165 = /^[vV]/,\n peg$c166 = peg$classExpectation([\"v\", \"V\"], false, false),\n peg$c167 = /^[wW]/,\n peg$c168 = peg$classExpectation([\"w\", \"W\"], false, false),\n peg$c169 = /^[xX]/,\n peg$c170 = peg$classExpectation([\"x\", \"X\"], false, false),\n peg$c171 = /^[yY]/,\n peg$c172 = peg$classExpectation([\"y\", \"Y\"], false, false),\n peg$c173 = /^[zZ]/,\n peg$c174 = peg$classExpectation([\"z\", \"Z\"], false, false),\n peg$c175 = peg$otherExpectation(\"min\"),\n peg$c176 = peg$otherExpectation(\"max\"),\n peg$c177 = peg$otherExpectation(\"avg\"),\n peg$c178 = peg$otherExpectation(\"count\"),\n peg$c179 = peg$otherExpectation(\"sum\"),\n peg$c180 = peg$otherExpectation(\"aggregate\"),\n peg$c181 = peg$otherExpectation(\"between\"),\n peg$c182 = peg$otherExpectation(\"in\"),\n peg$c183 = peg$otherExpectation(\"like\"),\n peg$c184 = peg$otherExpectation(\"select\"),\n peg$c185 = peg$otherExpectation(\"ignoreCase\"),\n peg$c186 = peg$otherExpectation(\"distinct\"),\n peg$c187 = peg$otherExpectation(\"order\"),\n peg$c188 = peg$otherExpectation(\"by\"),\n peg$c189 = peg$otherExpectation(\"from\"),\n peg$c190 = peg$otherExpectation(\"group\"),\n peg$c191 = peg$otherExpectation(\"limit\"),\n peg$c192 = peg$otherExpectation(\"skip\"),\n peg$c193 = peg$otherExpectation(\"where\"),\n peg$c194 = peg$otherExpectation(\"insert\"),\n peg$c195 = peg$otherExpectation(\"into\"),\n peg$c196 = peg$otherExpectation(\"return\"),\n peg$c197 = peg$otherExpectation(\"values\"),\n peg$c198 = peg$otherExpectation(\"skipdatacheck\"),\n peg$c199 = peg$otherExpectation(\"update\"),\n peg$c200 = peg$otherExpectation(\"set\"),\n peg$c201 = peg$otherExpectation(\"remove\"),\n peg$c202 = peg$otherExpectation(\"delete\"),\n peg$c203 = peg$otherExpectation(\"version\"),\n peg$c204 = peg$otherExpectation(\"enablesearch\"),\n peg$c205 = peg$otherExpectation(\"multiEntry\"),\n peg$c206 = peg$otherExpectation(\"primarykey\"),\n peg$c207 = peg$otherExpectation(\"unique\"),\n peg$c208 = peg$otherExpectation(\"string\"),\n peg$c209 = peg$otherExpectation(\"number\"),\n peg$c210 = peg$otherExpectation(\"object\"),\n peg$c211 = peg$otherExpectation(\"array\"),\n peg$c212 = peg$otherExpectation(\"boolean\"),\n peg$c213 = peg$otherExpectation(\"date_time\"),\n peg$c214 = \"_\",\n peg$c215 = peg$literalExpectation(\"_\", false),\n peg$c216 = peg$otherExpectation(\"autoincrement\"),\n peg$c217 = peg$otherExpectation(\"notnull\"),\n peg$c218 = peg$otherExpectation(\"default\"),\n peg$c219 = peg$otherExpectation(\"define\"),\n peg$c220 = peg$otherExpectation(\"database\"),\n peg$c221 = peg$otherExpectation(\"table\"),\n peg$c222 = peg$otherExpectation(\"db\"),\n peg$c223 = peg$otherExpectation(\"isDbExist\"),\n peg$c224 = peg$otherExpectation(\"openDb\"),\n peg$c225 = peg$otherExpectation(\"disablesearch\"),\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1 }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location\n );\n }\n\n function error(message, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildSimpleError(message, location);\n }\n\n function peg$literalExpectation(text, ignoreCase) {\n return { type: \"literal\", text: text, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos], p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildSimpleError(message, location) {\n return new peg$SyntaxError(message, null, null, location);\n }\n\n function peg$buildStructuredError(expected, found, location) {\n return new peg$SyntaxError(\n peg$SyntaxError.buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsequery() {\n var s0;\n\n s0 = peg$parseselectQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parsecountQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseinsertQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseupdateQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseremoveQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parsecreateQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseopenQuery();\n if (s0 === peg$FAILED) {\n s0 = peg$parseisDbExistQuery();\n }\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsecreateQuery() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsecreateDbQuery();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsecreateTableQuery();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsecreateTableQuery();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecreateDbQuery() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n s1 = peg$parseDEFINE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseDATABASE();\n if (s3 === peg$FAILED) {\n s3 = peg$parseDB();\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsedbName();\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 59) {\n s6 = peg$c1;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c3(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecreateTableQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17;\n\n s0 = peg$currPos;\n s1 = peg$parseDEFINE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseTABLE();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableName();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s7 = peg$c4;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parsecolumnDef();\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parsebetweenColumnDef();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parsebetweenColumnDef();\n }\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parse_();\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parse_();\n }\n if (s11 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s12 = peg$c6;\n peg$currPos++;\n } else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parse_();\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parse_();\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parseversion();\n if (s14 === peg$FAILED) {\n s14 = null;\n }\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 59) {\n s15 = peg$c1;\n peg$currPos++;\n } else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c2); }\n }\n if (s15 === peg$FAILED) {\n s15 = null;\n }\n if (s15 !== peg$FAILED) {\n s16 = [];\n s17 = peg$parse_();\n while (s17 !== peg$FAILED) {\n s16.push(s17);\n s17 = peg$parse_();\n }\n if (s16 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c8(s5, s9, s10, s14);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsebetweenColumnDef() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parse_();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parse_();\n }\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s2 = peg$c9;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsecolumnDef();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecolumnDef() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsecolumnOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsecolumnOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c12(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecolumnOption() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumnOpts();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c13(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecolumnOpts() {\n var s0;\n\n s0 = peg$parsedataType();\n if (s0 === peg$FAILED) {\n s0 = peg$parseautoIncrement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsenotNull();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedefault();\n if (s0 === peg$FAILED) {\n s0 = peg$parseunique();\n if (s0 === peg$FAILED) {\n s0 = peg$parseprimaryKey();\n if (s0 === peg$FAILED) {\n s0 = peg$parsemultiEntry();\n if (s0 === peg$FAILED) {\n s0 = peg$parseenableSearch();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedisableSearch();\n }\n }\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parseautoIncrement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseAUTOINCREMENT();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c14();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsenotNull() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseNOTNULL();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c15();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsedefault() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseDEFAULT();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c16(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedataType() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseSTRING();\n if (s1 === peg$FAILED) {\n s1 = peg$parseNUMBER();\n if (s1 === peg$FAILED) {\n s1 = peg$parseOBJECT();\n if (s1 === peg$FAILED) {\n s1 = peg$parseARRAY();\n if (s1 === peg$FAILED) {\n s1 = peg$parseBOOLEAN();\n if (s1 === peg$FAILED) {\n s1 = peg$parseDATETIME();\n }\n }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c17(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseunique() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseUNIQUE();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseprimaryKey() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsePRIMARYKEY();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c19();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemultiEntry() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseMULTIENTRY();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseenableSearch() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseENABLESEARCH();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsedisableSearch() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseDISABLESEARCH();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c22();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseversion() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseVERSION();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseNumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c23(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n s0 = peg$currPos;\n s1 = peg$parseINSERT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseINTO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableName();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parseVALUES();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parsevalueTypes();\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parse_();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parse_();\n }\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseinsertOptions();\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseinsertOptions();\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s5, s9, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsevalueTypes() {\n var s0;\n\n s0 = peg$parseinsertWithEqual();\n if (s0 === peg$FAILED) {\n s0 = peg$parseinsertWithParanthesis();\n }\n\n return s0;\n }\n\n function peg$parseinsertWithParanthesis() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c26); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsekeyValueSepByColumn();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseinsertWithParanthesisBetweenVal();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseinsertWithParanthesisBetweenVal();\n }\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c27) {\n s7 = peg$c27;\n peg$currPos += 2;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c28); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c29(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertWithParanthesisBetweenVal() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsekeyValueSepByColumn();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsekeyValueSepByColumn() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 58) {\n s3 = peg$c31;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsevalue();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s1, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertWithEqual() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s1 = peg$c34;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsevalue();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinsertOptions() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseskipDataCheck();\n if (s1 === peg$FAILED) {\n s1 = peg$parsereturn();\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c37(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseskipDataCheck() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseSKIPDATACHECK();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c38();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsereturn() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parseRETURN();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39();\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseremoveQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n s0 = peg$currPos;\n s1 = peg$parseREMOVE();\n if (s1 === peg$FAILED) {\n s1 = peg$parseDELETE();\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseFROM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableName();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parsewhereQry();\n if (s7 === peg$FAILED) {\n s7 = null;\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parseignoreCase();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parseignoreCase();\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c40(s5, s7, s9);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecountQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;\n\n s0 = peg$currPos;\n s1 = peg$parseCOUNT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s4 = peg$c41;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parseFROM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsetableName();\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parse_();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parse_();\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parsewhereQry();\n if (s8 === peg$FAILED) {\n s8 = null;\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parse_();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parse_();\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n }\n if (s10 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c43(s6, s8, s10);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;\n\n s0 = peg$currPos;\n s1 = peg$parseSELECT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseaggregateQry();\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parseFROM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsetableName();\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parse_();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parse_();\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parsewhereQry();\n if (s8 === peg$FAILED) {\n s8 = null;\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parse_();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parse_();\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parseskip();\n if (s11 === peg$FAILED) {\n s11 = peg$parselimit();\n if (s11 === peg$FAILED) {\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parseorderBy();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n }\n }\n }\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parseskip();\n if (s11 === peg$FAILED) {\n s11 = peg$parselimit();\n if (s11 === peg$FAILED) {\n s11 = peg$parsedistinct();\n if (s11 === peg$FAILED) {\n s11 = peg$parseignoreCase();\n if (s11 === peg$FAILED) {\n s11 = peg$parseorderBy();\n if (s11 === peg$FAILED) {\n s11 = peg$parsegroupBy();\n }\n }\n }\n }\n }\n }\n if (s10 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c44(s3, s6, s8, s10);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseaggregateQry() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 42) {\n s1 = peg$c41;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parseaggregate();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c45(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parseaggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseAGGREGATE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 91) {\n s3 = peg$c46;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c47); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parseaggregateType();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenAggregateColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenAggregateColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 93) {\n s9 = peg$c48;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c50(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseaggregateType() {\n var s0;\n\n s0 = peg$parseminAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsemaxAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parseavgAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsecountAggregate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesumAggregate();\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsemaxAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseMAX();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c51(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseminAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseMIN();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseavgAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseAVG();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c53(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecountAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseCOUNT();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c54(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsesumAggregate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n s0 = peg$currPos;\n s1 = peg$parseSUM();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parseinBetweenParanthesisColumn();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parseinBetweenParanthesisColumn();\n }\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s9 = peg$c6;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s9 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s5, s7);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsegroupBy() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parseGROUP();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseBY();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parsegroupByRestValue();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parsegroupByRestValue();\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parse_();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parse_();\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c56(s5, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsegroupByRestValue() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parse_();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parse_();\n }\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s2 = peg$c9;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsecolumn();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parse_();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parse_();\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseorderBy() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseorderByValue();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseorderByType();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseorderByValue() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseORDER();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseBY();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsecolumn();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c59(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseorderByType() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseOrderByTypes();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c60(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedistinct() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseDISTINCT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseignoreCase() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parseIGNORECASE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c62();\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseskip() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseSKIP();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c63(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parselimit() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseLIMIT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereQry() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseWHERE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsewhereitems();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereitems() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsewhereQryWithoutParanthesis();\n if (s1 === peg$FAILED) {\n s1 = peg$parsewhereQryWithParanthesis();\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsejoinWhereItems();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsejoinWhereItems();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c66(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsejoinWhereItems() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseJoinOp();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parse_();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parse_();\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsewhereQryWithoutParanthesis();\n if (s4 === peg$FAILED) {\n s4 = peg$parsewhereQryWithParanthesis();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c67(s2, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereQryWithoutParanthesis() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsewhereItem();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsejoinWhereItem();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsejoinWhereItem();\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c68(s1, s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereQryWithParanthesis() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 40) {\n s1 = peg$c4;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsewhereItem();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsejoinWhereItem();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsejoinWhereItem();\n }\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parse_();\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parse_();\n }\n if (s5 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s6 = peg$c6;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s6 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c69(s3, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsejoinWhereItem() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseJoinOp();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsewhereItem();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c70(s2, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsewhereItem() {\n var s0;\n\n s0 = peg$parseequalToItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parselikeItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parseinItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parseoperatorItem();\n if (s0 === peg$FAILED) {\n s0 = peg$parsebetweenItem();\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parseequalToItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 61) {\n s3 = peg$c34;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsevalue();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c71(s1, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoperatorItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c72) {\n s3 = peg$c72;\n peg$currPos += 2;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c73); }\n }\n if (s3 === peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c74) {\n s3 = peg$c74;\n peg$currPos += 2;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c75); }\n }\n if (s3 === peg$FAILED) {\n if (input.substr(peg$currPos, 2) === peg$c76) {\n s3 = peg$c76;\n peg$currPos += 2;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c77); }\n }\n if (s3 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 62) {\n s3 = peg$c78;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c79); }\n }\n if (s3 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 60) {\n s3 = peg$c80;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c81); }\n }\n }\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsevalue();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c82(s1, s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsebetweenItem() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseBETWEEN();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s5 = peg$c4;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parsevalue();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c9;\n peg$currPos++;\n } else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parse_();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parse_();\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parsevalue();\n if (s11 !== peg$FAILED) {\n s12 = [];\n s13 = peg$parse_();\n while (s13 !== peg$FAILED) {\n s12.push(s13);\n s13 = peg$parse_();\n }\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s13 = peg$c6;\n peg$currPos++;\n } else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c83(s1, s7, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinItem() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseIN();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s5 = peg$c4;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parsevalue();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = [];\n s10 = peg$parseinBetweenParanthesisItem();\n while (s10 !== peg$FAILED) {\n s9.push(s10);\n s10 = peg$parseinBetweenParanthesisItem();\n }\n if (s9 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s10 = peg$c6;\n peg$currPos++;\n } else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s10 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c84(s1, s7, s9);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinBetweenParanthesisColumn() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsecolumn();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinBetweenAggregateColumn() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseaggregateType();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseinBetweenParanthesisItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c57(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parselikeItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parsecolumn();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseLIKE();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parselikeType();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c85(s1, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parselikeType() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c86;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 37) {\n s5 = peg$c86;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 37) {\n s1 = peg$c86;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsevalue();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsevalue();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 37) {\n s3 = peg$c86;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c87); }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsevalue() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseColumnValue();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseColumnValue();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c89(s1);\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c88); }\n }\n\n return s0;\n }\n\n function peg$parseupdateQuery() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n s0 = peg$currPos;\n s1 = peg$parseUPDATE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsetableName();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parseSET();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parse_();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parse_();\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parseupdateValue();\n if (s7 !== peg$FAILED) {\n s8 = [];\n s9 = peg$parse_();\n while (s9 !== peg$FAILED) {\n s8.push(s9);\n s9 = peg$parse_();\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parsewhereQry();\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = [];\n s11 = peg$parse_();\n while (s11 !== peg$FAILED) {\n s10.push(s11);\n s11 = peg$parse_();\n }\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseignoreCase();\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseignoreCase();\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c90(s3, s7, s9, s11);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseupdateValue() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseequalToItem();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseupdateValueBetweenItem();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseupdateValueBetweenItem();\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c91(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseupdateValueBetweenItem() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s1 = peg$c9;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseequalToItem();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseopenQuery() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parseOPENDB();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsedbName();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c93(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseisDbExistQuery() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseISDBEXIST();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsedbName();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetableInfo();\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c94(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsetableInfo() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = peg$parseTABLE();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parse_();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parse_();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsetableName();\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parse_();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parse_();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parseversion();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c95(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsetableName() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parseWord();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c96); }\n }\n\n return s0;\n }\n\n function peg$parsedbName() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parseWord();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c97); }\n }\n\n return s0;\n }\n\n function peg$parsecolumn() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parseWord();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c98); }\n }\n\n return s0;\n }\n\n function peg$parseJoinOp() {\n var s0;\n\n s0 = peg$parseAnd();\n if (s0 === peg$FAILED) {\n s0 = peg$parseOr();\n }\n\n return s0;\n }\n\n function peg$parseOrderByTypes() {\n var s0, s1;\n\n peg$silentFails++;\n if (input.substr(peg$currPos, 3) === peg$c100) {\n s0 = peg$c100;\n peg$currPos += 3;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c101); }\n }\n if (s0 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c102) {\n s0 = peg$c102;\n peg$currPos += 4;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c103); }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c99); }\n }\n\n return s0;\n }\n\n function peg$parseAnd() {\n var s0;\n\n if (input.charCodeAt(peg$currPos) === 38) {\n s0 = peg$c104;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c105); }\n }\n\n return s0;\n }\n\n function peg$parseOr() {\n var s0;\n\n if (input.charCodeAt(peg$currPos) === 124) {\n s0 = peg$c106;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c107); }\n }\n\n return s0;\n }\n\n function peg$parseColumnValue() {\n var s0;\n\n if (peg$c108.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c109); }\n }\n\n return s0;\n }\n\n function peg$parseWord() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseLetter();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseLetter();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c110(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseWordAndNumber() {\n var s0;\n\n if (peg$c111.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c112); }\n }\n\n return s0;\n }\n\n function peg$parseLetter() {\n var s0;\n\n if (peg$c113.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c114); }\n }\n\n return s0;\n }\n\n function peg$parseNumber() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseDigit();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseDigit();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c115(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseDigit() {\n var s0;\n\n if (peg$c116.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c117); }\n }\n\n return s0;\n }\n\n function peg$parseWs() {\n var s0, s1;\n\n peg$silentFails++;\n if (peg$c119.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c120); }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c118); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parseWs();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parseWs();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c122(s1);\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c121); }\n }\n\n return s0;\n }\n\n function peg$parseA() {\n var s0;\n\n if (peg$c123.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c124); }\n }\n\n return s0;\n }\n\n function peg$parseB() {\n var s0;\n\n if (peg$c125.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c126); }\n }\n\n return s0;\n }\n\n function peg$parseC() {\n var s0;\n\n if (peg$c127.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c128); }\n }\n\n return s0;\n }\n\n function peg$parseD() {\n var s0;\n\n if (peg$c129.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c130); }\n }\n\n return s0;\n }\n\n function peg$parseE() {\n var s0;\n\n if (peg$c131.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c132); }\n }\n\n return s0;\n }\n\n function peg$parseF() {\n var s0;\n\n if (peg$c133.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c134); }\n }\n\n return s0;\n }\n\n function peg$parseG() {\n var s0;\n\n if (peg$c135.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c136); }\n }\n\n return s0;\n }\n\n function peg$parseH() {\n var s0;\n\n if (peg$c137.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c138); }\n }\n\n return s0;\n }\n\n function peg$parseI() {\n var s0;\n\n if (peg$c139.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c140); }\n }\n\n return s0;\n }\n\n function peg$parseJ() {\n var s0;\n\n if (peg$c141.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c142); }\n }\n\n return s0;\n }\n\n function peg$parseK() {\n var s0;\n\n if (peg$c143.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c144); }\n }\n\n return s0;\n }\n\n function peg$parseL() {\n var s0;\n\n if (peg$c145.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c146); }\n }\n\n return s0;\n }\n\n function peg$parseM() {\n var s0;\n\n if (peg$c147.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c148); }\n }\n\n return s0;\n }\n\n function peg$parseN() {\n var s0;\n\n if (peg$c149.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c150); }\n }\n\n return s0;\n }\n\n function peg$parseO() {\n var s0;\n\n if (peg$c151.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c152); }\n }\n\n return s0;\n }\n\n function peg$parseP() {\n var s0;\n\n if (peg$c153.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c154); }\n }\n\n return s0;\n }\n\n function peg$parseQ() {\n var s0;\n\n if (peg$c155.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c156); }\n }\n\n return s0;\n }\n\n function peg$parseR() {\n var s0;\n\n if (peg$c157.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c158); }\n }\n\n return s0;\n }\n\n function peg$parseS() {\n var s0;\n\n if (peg$c159.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c160); }\n }\n\n return s0;\n }\n\n function peg$parseT() {\n var s0;\n\n if (peg$c161.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c162); }\n }\n\n return s0;\n }\n\n function peg$parseU() {\n var s0;\n\n if (peg$c163.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c164); }\n }\n\n return s0;\n }\n\n function peg$parseV() {\n var s0;\n\n if (peg$c165.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c166); }\n }\n\n return s0;\n }\n\n function peg$parseW() {\n var s0;\n\n if (peg$c167.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c168); }\n }\n\n return s0;\n }\n\n function peg$parseX() {\n var s0;\n\n if (peg$c169.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c170); }\n }\n\n return s0;\n }\n\n function peg$parseY() {\n var s0;\n\n if (peg$c171.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c172); }\n }\n\n return s0;\n }\n\n function peg$parseZ() {\n var s0;\n\n if (peg$c173.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c174); }\n }\n\n return s0;\n }\n\n function peg$parseMIN() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseM();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseN();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c175); }\n }\n\n return s0;\n }\n\n function peg$parseMAX() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseM();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseX();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c176); }\n }\n\n return s0;\n }\n\n function peg$parseAVG() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseV();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseG();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c177); }\n }\n\n return s0;\n }\n\n function peg$parseCOUNT() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseC();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseO();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseU();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseN();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c178); }\n }\n\n return s0;\n }\n\n function peg$parseSUM() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c179); }\n }\n\n return s0;\n }\n\n function peg$parseAGGREGATE() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseG();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseG();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseR();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseG();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseA();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseT();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c180); }\n }\n\n return s0;\n }\n\n function peg$parseBETWEEN() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseB();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseW();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c181); }\n }\n\n return s0;\n }\n\n function peg$parseIN() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c182); }\n }\n\n return s0;\n }\n\n function peg$parseLIKE() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseL();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseK();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c183); }\n }\n\n return s0;\n }\n\n function peg$parseSELECT() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseC();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c184); }\n }\n\n return s0;\n }\n\n function peg$parseIGNORECASE() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseG();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseN();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseC();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseA();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseS();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseE();\n if (s10 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c185); }\n }\n\n return s0;\n }\n\n function peg$parseDISTINCT() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseS();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseT();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseN();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseC();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseT();\n if (s8 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c186); }\n }\n\n return s0;\n }\n\n function peg$parseORDER() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseO();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseD();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c187); }\n }\n\n return s0;\n }\n\n function peg$parseBY() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseB();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseY();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c188); }\n }\n\n return s0;\n }\n\n function peg$parseFROM() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseF();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseM();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c189); }\n }\n\n return s0;\n }\n\n function peg$parseGROUP() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseG();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseU();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseP();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c190); }\n }\n\n return s0;\n }\n\n function peg$parseLIMIT() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseL();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseI();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c191); }\n }\n\n return s0;\n }\n\n function peg$parseSKIP() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseK();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseP();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c192); }\n }\n\n return s0;\n }\n\n function peg$parseWHERE() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseW();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseH();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseE();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseR();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c193); }\n }\n\n return s0;\n }\n\n function peg$parseINSERT() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseS();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c194); }\n }\n\n return s0;\n }\n\n function peg$parseINTO() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c195); }\n }\n\n return s0;\n }\n\n function peg$parseRETURN() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseR();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseU();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseR();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseN();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c196); }\n }\n\n return s0;\n }\n\n function peg$parseVALUES() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseV();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseU();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseS();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c197); }\n }\n\n return s0;\n }\n\n function peg$parseSKIPDATACHECK() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseK();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseP();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseD();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseA();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseT();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseA();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseC();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseH();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseE();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseC();\n if (s12 !== peg$FAILED) {\n s13 = peg$parseK();\n if (s13 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c198); }\n }\n\n return s0;\n }\n\n function peg$parseUPDATE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseU();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseP();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseD();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c199); }\n }\n\n return s0;\n }\n\n function peg$parseSET() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c200); }\n }\n\n return s0;\n }\n\n function peg$parseREMOVE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseR();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseV();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c201); }\n }\n\n return s0;\n }\n\n function peg$parseDELETE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseT();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c202); }\n }\n\n return s0;\n }\n\n function peg$parseVERSION() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseV();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseR();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseS();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseO();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c203); }\n }\n\n return s0;\n }\n\n function peg$parseENABLESEARCH() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseE();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseA();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseB();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseL();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseS();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseE();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseA();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseR();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseC();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseH();\n if (s12 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c204); }\n }\n\n return s0;\n }\n\n function peg$parseMULTIENTRY() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseM();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseL();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseT();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseT();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseR();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseY();\n if (s10 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c205); }\n }\n\n return s0;\n }\n\n function peg$parsePRIMARYKEY() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseP();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseA();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseR();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseY();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseK();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseY();\n if (s10 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c206); }\n }\n\n return s0;\n }\n\n function peg$parseUNIQUE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseU();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseN();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseI();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseQ();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseU();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c207); }\n }\n\n return s0;\n }\n\n function peg$parseSTRING() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseS();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseT();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseR();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseI();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseN();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseG();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c208); }\n }\n\n return s0;\n }\n\n function peg$parseNUMBER() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseN();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseM();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseB();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseR();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c209); }\n }\n\n return s0;\n }\n\n function peg$parseOBJECT() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseO();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseB();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseJ();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseC();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c210); }\n }\n\n return s0;\n }\n\n function peg$parseARRAY() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseR();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseR();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseY();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c211); }\n }\n\n return s0;\n }\n\n function peg$parseBOOLEAN() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseB();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseO();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseO();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseL();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseA();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseN();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c212); }\n }\n\n return s0;\n }\n\n function peg$parseDATETIME() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseE();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 95) {\n s5 = peg$c214;\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c215); }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parseT();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseI();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseM();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c213); }\n }\n\n return s0;\n }\n\n function peg$parseAUTOINCREMENT() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseA();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseU();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseO();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseI();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseN();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseC();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseR();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseM();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseE();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseN();\n if (s12 !== peg$FAILED) {\n s13 = peg$parseT();\n if (s13 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c216); }\n }\n\n return s0;\n }\n\n function peg$parseNOTNULL() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseN();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseO();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseN();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseU();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseL();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseL();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c217); }\n }\n\n return s0;\n }\n\n function peg$parseDEFAULT() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseF();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseU();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseL();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseT();\n if (s7 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c218); }\n }\n\n return s0;\n }\n\n function peg$parseDEFINE() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseE();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseF();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseI();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseN();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseE();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c219); }\n }\n\n return s0;\n }\n\n function peg$parseDATABASE() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseT();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseB();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseA();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseS();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseE();\n if (s8 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c220); }\n }\n\n return s0;\n }\n\n function peg$parseTABLE() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseT();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseA();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseB();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseL();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c221); }\n }\n\n return s0;\n }\n\n function peg$parseDB() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseB();\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c222); }\n }\n\n return s0;\n }\n\n function peg$parseISDBEXIST() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseI();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseS();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseD();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseB();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseE();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseX();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseI();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseS();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseT();\n if (s9 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c223); }\n }\n\n return s0;\n }\n\n function peg$parseOPENDB() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseO();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseP();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseE();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseN();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseD();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseB();\n if (s6 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c224); }\n }\n\n return s0;\n }\n\n function peg$parseDISABLESEARCH() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseD();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseI();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseS();\n if (s3 !== peg$FAILED) {\n s4 = peg$parseA();\n if (s4 !== peg$FAILED) {\n s5 = peg$parseB();\n if (s5 !== peg$FAILED) {\n s6 = peg$parseL();\n if (s6 !== peg$FAILED) {\n s7 = peg$parseE();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseS();\n if (s8 !== peg$FAILED) {\n s9 = peg$parseE();\n if (s9 !== peg$FAILED) {\n s10 = peg$parseA();\n if (s10 !== peg$FAILED) {\n s11 = peg$parseR();\n if (s11 !== peg$FAILED) {\n s12 = peg$parseC();\n if (s12 !== peg$FAILED) {\n s13 = peg$parseH();\n if (s13 !== peg$FAILED) {\n s1 = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c225); }\n }\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nmodule.exports = {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n};\n","const dateFormat = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z$/;\nconst reviver = function (key, value) {\n if (typeof value === \"string\" && dateFormat.test(value)) {\n return new Date(value);\n }\n\n return value;\n};\nexport class Util {\n static isString(value) {\n return typeof value === 'string'\n }\n\n static parseJson(value) {\n return JSON.parse(value, reviver);\n }\n}","export class Config {\r\n static isLogEnabled = false;\r\n}","import { IError } from \"./interfaces\";\r\nimport { ERROR_TYPE } from \"./enums\";\r\nimport { Config } from \"./config\";\r\n\r\nexport class LogHelper implements IError {\r\n type: ERROR_TYPE;\r\n message: string;\r\n private info_: any;\r\n\r\n constructor(type: ERROR_TYPE, info?: any) {\r\n this.type = type;\r\n this.info_ = info;\r\n this.message = this.getMsg_();\r\n }\r\n\r\n static log(msg) {\r\n if (Config.isLogEnabled) {\r\n console.log(msg);\r\n }\r\n }\r\n\r\n logError() {\r\n console.error(this.get());\r\n }\r\n\r\n logWarning() {\r\n console.warn(this.get());\r\n }\r\n\r\n get() {\r\n return {\r\n message: this.message,\r\n type: this.type\r\n } as IError;\r\n }\r\n\r\n private getMsg_() {\r\n let errMsg: string;\r\n switch (this.type) {\r\n case ERROR_TYPE.SynTaxError:\r\n errMsg = this.info_;\r\n break;\r\n default:\r\n errMsg = this.message;\r\n break;\r\n }\r\n return errMsg;\r\n }\r\n}","export enum ERROR_TYPE {\r\n SynTaxError = 'syntax_error'\r\n}","import * as parser from './../output/parser';\nimport { Util } from './util';\nexport class Query {\n query_;\n private topLevelKeys_: string[] = [\"skip\", \"limit\"]\n constructor(qry: string) {\n this.query_ = parser.parse(qry);\n }\n\n map(key: string, value: any) {\n var stringifiedValue = JSON.stringify(this.query_);\n this.query_ = this.parseJson_(stringifiedValue.replace('\"' + key + '\"', JSON.stringify(value)));\n }\n\n private isString_(value) {\n return Util.isString(value);\n }\n\n private parseJson_(value) {\n return Util.parseJson(value);\n }\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/sqlweb.min.js b/dist/sqlweb.min.js new file mode 100644 index 0000000..507663a --- /dev/null +++ b/dist/sqlweb.min.js @@ -0,0 +1,6 @@ +/*! + * @license :sqlweb - V1.0.1 - 13/10/2018 + * https://github.com/ujjwalguptaofficial/sqlweb + * Copyright (c) 2018 @Ujjwal Gupta; Licensed MIT + */ +var SqlWeb=function(r){var e={};function n(t){if(e[t])return e[t].exports;var u=e[t]={i:t,l:!1,exports:{}};return r[t].call(u.exports,u,u.exports,n),u.l=!0,u.exports}return n.m=r,n.c=e,n.d=function(r,e,t){n.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:t})},n.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},n.t=function(r,e){if(1&e&&(r=n(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var u in r)n.d(t,u,function(e){return r[e]}.bind(null,u));return t},n.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return n.d(e,"a",e),e},n.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},n.p="",n(n.s=1)}([function(r,e,n){"use strict";function t(r,e,n,u){this.message=r,this.expected=e,this.found=n,this.location=u,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(r,e){function n(){this.constructor=r}n.prototype=e.prototype,r.prototype=new n}(t,Error),t.buildMessage=function(r,e){var n={literal:function(r){return'"'+u(r.text)+'"'},class:function(r){var e,n="";for(e=0;e0){for(e=1,n=1;e{var e=Object.keys(r)[0];n[e]=r[e]}),n},m=function(r){return r},C=function(){return{autoIncrement:!0}},k=function(){return{notNull:!0}},x=function(r){return{default:r}},E=function(r){return{dataType:r.join("").toLowerCase()}},S=function(){return{unique:!0}},w=function(){return{primaryKey:!0}},_=function(){return{multiEntry:!0}},j=function(){return{enableSearch:!0}},O=function(){return{enableSearch:!1}},N=function(r){return{version:r}},T=function(r,e,n){var t=!1,u=!1;return n.forEach(r=>{var e=Object.keys(r)[0];switch(e){case"skipDataCheck":t=r[e];break;case"return":u=r[e]}}),{api:"insert",data:{into:r,values:e,skipDataCheck:t,return:u}}},q="({",D=bt("({",!1),J="})",F=bt("})",!1),M=function(r,e){var n={[r.key]:r.value};return null!=e&&e.forEach(r=>{n[r.key]=r.value}),[n]},L=function(r){return r},P=":",B=bt(":",!1),I=function(r,e){return{key:r,value:e}},R="=",Z=bt("=",!1),z=function(r){return r},W=function(r){return{[r]:!0}},K=function(){return"skipDataCheck"},Q=function(){return"return"},U=function(r,e,n){var t=!1;return n.forEach(r=>{var e=Object.keys(r)[0];switch(e){case"ignoreCase":t=r[e]}}),{api:"remove",data:{from:r,where:e,ignoreCase:t}}},G="*",H=bt("*",!1),V=function(r,e,n){var t=!1,u=!1,i=null;return n.forEach(r=>{var e=Object.keys(r)[0];switch(e){case"ignoreCase":t=r[e];break;case"distinct":u=r[e];break;case"groupBy":i=r[e]}}),{api:"count",data:{from:r,where:e,ignoreCase:t,distinct:u,groupBy:i}}},X=function(r,e,n,t){var u=null,i=null,f=!1,o=!1,s=null,a=null;return t.forEach(r=>{var e=Object.keys(r)[0];switch(e){case"skip":u=r[e];break;case"limit":i=r[e];break;case"ignoreCase":f=r[e];break;case"distinct":o=r[e];break;case"order":s=r[e];break;case"groupBy":a=r[e]}}),{api:"select",data:{from:e,where:n,skip:u,limit:i,ignoreCase:f,distinct:o,order:s,groupBy:a,aggregate:r}}},Y=function(r){return r[0]},$="[",rr=bt("[",!1),er="]",nr=bt("]",!1),tr=function(r,e){return e.splice(0,0,r),e},ur=function(r,e){return e.splice(0,0,r),{max:e}},ir=function(r,e){return e.splice(0,0,r),{min:e}},fr=function(r,e){return e.splice(0,0,r),{avg:e}},or=function(r,e){return e.splice(0,0,r),{count:e}},sr=function(r,e){return e.splice(0,0,r),{sum:e}},ar=function(r,e){return{groupBy:[r,...e]}},cr=function(r){return r},lr=function(r,e){return{order:{by:r,type:e}}},hr=function(r){return r},pr=function(r){return r},vr=function(){return{distinct:!0}},dr=function(){return{ignoreCase:!0}},Ar=function(r){return{skip:r}},gr=function(r){return{limit:r}},yr=function(r){return r},br=function(r,e){if(Array.isArray(r)||(r=[r]),null!=e){var n=e=>{r.push(e)};Array.isArray(r)&&e.forEach(r=>{Array.isArray(r)?r.forEach(r=>{n(r)}):n(r)})}return r},mr=function(r,e){if("|"===r){var n={};return Array.isArray(e)?e.forEach(r=>{n={...n,...r}}):n=e,{or:n}}return e},Cr=function(r,e){return null==e?r:(e.splice(0,0,r),e)},kr=function(r,e){if(null==e)return r;var n=r;return e.forEach(r=>{var e=Object.keys(r)[0];if("or"===e){null==n.or&&(n.or={});var t=Object.keys(r[e])[0];n.or[t]=r[e][t]}else n[e]=r[e]}),n},xr=function(r,e){return"|"===r?{or:e}:e},Er=function(r,e){return{[r]:e}},Sr="!=",wr=bt("!=",!1),_r=">=",jr=bt(">=",!1),Or="<=",Nr=bt("<=",!1),Tr=">",qr=bt(">",!1),Dr="<",Jr=bt("<",!1),Fr=function(r,e,n){return{[r]:{[e]:n}}},Mr=function(r,e,n){return{[r]:{"-":{low:e,high:n}}}},Lr=function(r,e,n){return{[r]:{in:[e,...n]}}},Pr=function(r,e){return{[r]:{like:e.join("")}}},Br="%",Ir=bt("%",!1),Rr=Ct("column value"),Zr=function(r){var e=r.join("");if("'"===e[0]&&"'"===e[e.length-1])return e.substr(1,e.length-2);var n=Number(e);return isNaN(n)?e:n},zr=function(r,e,n,t){var u=!1;return t.forEach(r=>{var e=Object.keys(r)[0];switch(e){case"ignoreCase":u=r[e]}}),{api:"update",data:{in:r,set:e,where:n,ignoreCase:u}}},Wr=function(r,e){return e.forEach(e=>{r={...r,...e}}),r},Kr=function(r){return r},Qr=function(r){return{api:"openDb",data:r}},Ur=function(r,e){var n={api:"isDbExist"};return n.data=null==e?r:{dbName:r,table:e},n},Gr=function(r,e){return{name:r,version:e}},Hr=Ct("table name"),Vr=Ct("database name"),Xr=Ct("column"),Yr=Ct("order type"),$r="asc",re=bt("asc",!1),ee="desc",ne=bt("desc",!1),te="&",ue=bt("&",!1),ie="|",fe=bt("|",!1),oe=/^[a-zA-Z0-9@_']/,se=mt([["a","z"],["A","Z"],["0","9"],"@","_","'"],!1,!1),ae=function(r){return r.join("")},ce=(mt([["a","z"],["A","Z"],["0","9"]],!1,!1),/^[a-zA-Z]/),le=mt([["a","z"],["A","Z"]],!1,!1),he=function(r){return Number(r.join(""))},pe=/^[0-9]/,ve=mt([["0","9"]],!1,!1),de=Ct("Whitespace"),Ae=/^[ \t]/,ge=mt([" ","\t"],!1,!1),ye=Ct("One or more whitespaces"),be=function(r){return null},me=/^[aA]/,Ce=mt(["a","A"],!1,!1),ke=/^[bB]/,xe=mt(["b","B"],!1,!1),Ee=/^[cC]/,Se=mt(["c","C"],!1,!1),we=/^[dD]/,_e=mt(["d","D"],!1,!1),je=/^[eE]/,Oe=mt(["e","E"],!1,!1),Ne=/^[fF]/,Te=mt(["f","F"],!1,!1),qe=/^[gG]/,De=mt(["g","G"],!1,!1),Je=/^[hH]/,Fe=mt(["h","H"],!1,!1),Me=/^[iI]/,Le=mt(["i","I"],!1,!1),Pe=/^[jJ]/,Be=mt(["j","J"],!1,!1),Ie=/^[kK]/,Re=mt(["k","K"],!1,!1),Ze=/^[lL]/,ze=mt(["l","L"],!1,!1),We=/^[mM]/,Ke=mt(["m","M"],!1,!1),Qe=/^[nN]/,Ue=mt(["n","N"],!1,!1),Ge=/^[oO]/,He=mt(["o","O"],!1,!1),Ve=/^[pP]/,Xe=mt(["p","P"],!1,!1),Ye=/^[qQ]/,$e=mt(["q","Q"],!1,!1),rn=/^[rR]/,en=mt(["r","R"],!1,!1),nn=/^[sS]/,tn=mt(["s","S"],!1,!1),un=/^[tT]/,fn=mt(["t","T"],!1,!1),on=/^[uU]/,sn=mt(["u","U"],!1,!1),an=/^[vV]/,cn=mt(["v","V"],!1,!1),ln=/^[wW]/,hn=mt(["w","W"],!1,!1),pn=/^[xX]/,vn=mt(["x","X"],!1,!1),dn=/^[yY]/,An=mt(["y","Y"],!1,!1),gn=(mt(["z","Z"],!1,!1),Ct("min")),yn=Ct("max"),bn=Ct("avg"),mn=Ct("count"),Cn=Ct("sum"),kn=Ct("aggregate"),xn=Ct("between"),En=Ct("in"),Sn=Ct("like"),wn=Ct("select"),_n=Ct("ignoreCase"),jn=Ct("distinct"),On=Ct("order"),Nn=Ct("by"),Tn=Ct("from"),qn=Ct("group"),Dn=Ct("limit"),Jn=Ct("skip"),Fn=Ct("where"),Mn=Ct("insert"),Ln=Ct("into"),Pn=Ct("return"),Bn=Ct("values"),In=Ct("skipdatacheck"),Rn=Ct("update"),Zn=Ct("set"),zn=Ct("remove"),Wn=Ct("delete"),Kn=Ct("version"),Qn=Ct("enablesearch"),Un=Ct("multiEntry"),Gn=Ct("primarykey"),Hn=Ct("unique"),Vn=Ct("string"),Xn=Ct("number"),Yn=Ct("object"),$n=Ct("array"),rt=Ct("boolean"),et=Ct("date_time"),nt="_",tt=bt("_",!1),ut=Ct("autoincrement"),it=Ct("notnull"),ft=Ct("default"),ot=Ct("define"),st=Ct("database"),at=Ct("table"),ct=Ct("db"),lt=Ct("isDbExist"),ht=Ct("openDb"),pt=Ct("disablesearch"),vt=0,dt=[{line:1,column:1}],At=0,gt=[],yt=0;if("startRule"in e){if(!(e.startRule in i))throw new Error("Can't start parsing from rule \""+e.startRule+'".');f=i[e.startRule]}function bt(r,e){return{type:"literal",text:r,ignoreCase:e}}function mt(r,e,n){return{type:"class",parts:r,inverted:e,ignoreCase:n}}function Ct(r){return{type:"other",description:r}}function kt(e){var n,t=dt[e];if(t)return t;for(n=e-1;!dt[n];)n--;for(t={line:(t=dt[n]).line,column:t.column};nAt&&(At=vt,gt=[]),gt.push(r))}function St(r,e,n){return new t(t.buildMessage(r,e),r,e,n)}function wt(){var e;return(e=function(){var e,n,t,i,f,o,s,a,c;if(e=vt,(n=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=ju())!==u&&(n=Au())!==u&&(t=ku())!==u&&(i=Au())!==u&&(f=vu())!==u&&(o=Ou())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(wn)),r}())!==u)if(lu()!==u)if((t=function(){var e,n,t;return e=vt,42===r.charCodeAt(vt)?(n=G,vt++):(n=u,0===yt&&Et(H)),n!==u&&(t=lu())!==u?e=n=[n,t]:(vt=e,e=u),e===u&&(e=vt,(n=function(){var e,n,t,i,f,o,s,a,c,l;if(e=vt,(n=function(){var r,e,n,t,i,f,o,s,a,c;return yt++,r=vt,(e=hu())!==u&&(n=yu())!==u&&(t=yu())!==u&&(i=_u())!==u&&(f=Au())!==u&&(o=yu())!==u&&(s=hu())!==u&&(a=Ou())!==u&&(c=Au())!==u?r=e=[e,n,t,i,f,o,s,a,c]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(kn)),r}())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(91===r.charCodeAt(vt)?(i=$,vt++):(i=u,0===yt&&Et(rr)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=Ft())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=Xt();c!==u;)a.push(c),c=Xt();if(a!==u){for(c=[],l=lu();l!==u;)c.push(l),l=lu();c!==u?(93===r.charCodeAt(vt)?(l=er,vt++):(l=u,0===yt&&Et(nr)),l!==u?(n=tr(o,a),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())!==u&&(t=lu())!==u?(n=Y(n),e=n):(vt=e,e=u)),e}())===u&&(t=null),t!==u)if(Lu()!==u)if(lu()!==u)if((i=eu())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=zt())===u&&(o=null),o!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],(c=Rt())===u&&(c=Zt())===u&&(c=Bt())===u&&(c=It())===u&&(c=Pt())===u&&(c=Mt());c!==u;)a.push(c),(c=Rt())===u&&(c=Zt())===u&&(c=Bt())===u&&(c=It())===u&&(c=Pt())===u&&(c=Mt());a!==u?(n=X(t,i,o,a),e=n):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,l,h;if(e=vt,(n=Fu())!==u)if(lu()!==u)if(t=vt,42===r.charCodeAt(vt)?(i=G,vt++):(i=u,0===yt&&Et(H)),i!==u&&(f=lu())!==u?t=i=[i,f]:(vt=t,t=u),t===u&&(t=null),t!==u)if((i=Lu())!==u)if((f=lu())!==u)if((o=eu())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u)if((a=zt())===u&&(a=null),a!==u){for(c=[],l=lu();l!==u;)c.push(l),l=lu();if(c!==u){for(l=[],(h=Bt())===u&&(h=It())===u&&(h=Mt());h!==u;)l.push(h),(h=Bt())===u&&(h=It())===u&&(h=Mt());l!==u?(n=V(o,a,l),e=n):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,l;if(e=vt,(n=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=mu())!==u&&(n=Eu())!==u&&(t=ju())!==u&&(i=Au())!==u&&(f=_u())!==u&&(o=Ou())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Mn)),r}())!==u)if(lu()!==u)if(function(){var r,e,n,t,i;return yt++,r=vt,(e=mu())!==u&&(n=Eu())!==u&&(t=Ou())!==u&&(i=Su())!==u?r=e=[e,n,t,i]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Ln)),r}()!==u)if(lu()!==u)if((t=eu())!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();if(i!==u)if((f=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=Tu())!==u&&(n=hu())!==u&&(t=ku())!==u&&(i=Nu())!==u&&(f=Au())!==u&&(o=ju())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Bn)),r}())!==u){for(o=[],s=lu();s!==u;)o.push(s),s=lu();if(o!==u)if((s=function(){var e;return(e=function(){var e,n,t;return e=vt,61===r.charCodeAt(vt)?(n=R,vt++):(n=u,0===yt&&Et(Z)),n!==u&&(t=$t())!==u?(n=z(t),e=n):(vt=e,e=u),e}())===u&&(e=function(){var e,n,t,i,f,o,s,a;if(e=vt,r.substr(vt,2)===q?(n=q,vt+=2):(n=u,0===yt&&Et(D)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=Dt())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u){for(o=[],s=qt();s!==u;)o.push(s),s=qt();if(o!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();s!==u?(r.substr(vt,2)===J?(a=J,vt+=2):(a=u,0===yt&&Et(F)),a!==u?(n=M(i,o),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}()),e}())!==u){for(a=[],c=lu();c!==u;)a.push(c),c=lu();if(a!==u){for(c=[],l=Jt();l!==u;)c.push(l),l=Jt();c!==u?(n=T(t,s,c),e=n):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;else vt=e,e=u;return e}())===u&&(e=function(){var r,e,n,t,i,f,o,s,a,c,l,h;if(r=vt,(e=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=Nu())!==u&&(n=wu())!==u&&(t=du())!==u&&(i=hu())!==u&&(f=Ou())!==u&&(o=Au())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Rn)),r}())!==u)if(lu()!==u)if((n=eu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=function(){var r,e,n,t;return yt++,r=vt,(e=ju())!==u&&(n=Au())!==u&&(t=Ou())!==u?r=e=[e,n,t]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Zn)),r}())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=function(){var r,e,n,t,i,f;if(r=vt,(e=Ht())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u){for(t=[],i=ru();i!==u;)t.push(i),i=ru();if(t!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();i!==u?(e=Wr(e,t),r=e):(vt=r,r=u)}else vt=r,r=u}else vt=r,r=u}else vt=r,r=u;return r}())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u)if((a=zt())===u&&(a=null),a!==u){for(c=[],l=lu();l!==u;)c.push(l),l=lu();if(c!==u){for(l=[],h=It();h!==u;)l.push(h),h=It();l!==u?(e=zr(n,o,a,l),r=e):(vt=r,r=u)}else vt=r,r=u}else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;else vt=r,r=u;else vt=r,r=u;return r}())===u&&(e=function(){var r,e,n,t,i,f,o,s,a,c;if(r=vt,(e=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=_u())!==u&&(n=Au())!==u&&(t=xu())!==u&&(i=Su())!==u&&(f=Tu())!==u&&(o=Au())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(zn)),r}())===u&&(e=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=du())!==u&&(n=Au())!==u&&(t=ku())!==u&&(i=Au())!==u&&(f=Ou())!==u&&(o=Au())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Wn)),r}()),e!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u)if((t=Lu())!==u)if(lu()!==u)if((i=eu())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=zt())===u&&(o=null),o!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=It();c!==u;)a.push(c),c=It();a!==u?(e=U(i,o,a),r=e):(vt=r,r=u)}else vt=r,r=u}else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;else vt=r,r=u;else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;return r}())===u&&(e=function(){var e,n,t,i;if(e=vt,(n=function(){var e,n,t,i,f,o,l;if(e=vt,(n=Pu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=function(){var r,e,n,t,i,f,o,s,a;return yt++,r=vt,(e=du())!==u&&(n=hu())!==u&&(t=Ou())!==u&&(i=hu())!==u&&(f=pu())!==u&&(o=hu())!==u&&(s=ju())!==u&&(a=Au())!==u?r=e=[e,n,t,i,f,o,s,a]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(st)),r}())===u&&(i=function(){var r,e,n;return yt++,r=vt,(e=du())!==u&&(n=pu())!==u?r=e=[e,n]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(ct)),r}()),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u&&(o=nu())!==u?(59===r.charCodeAt(vt)?(l=s,vt++):(l=u,0===yt&&Et(a)),l===u&&(l=null),l!==u?(n=c(o),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())!==u){for(t=[],i=_t();i!==u;)t.push(i),i=_t();t!==u?(n=o(n,t),e=n):(vt=e,e=u)}else vt=e,e=u;return e}())===u&&(e=function(){var r,e,n,t;if(r=vt,(e=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=Su())!==u&&(n=wu())!==u&&(t=Au())!==u&&(i=Eu())!==u&&(f=du())!==u&&(o=pu())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(ht)),r}())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();n!==u&&(t=nu())!==u?(e=Qr(t),r=e):(vt=r,r=u)}else vt=r,r=u;return r}())===u&&(e=function(){var r,e,n,t,i,f;if(r=vt,(e=function(){var r,e,n,t,i,f,o,s,a,c;return yt++,r=vt,(e=mu())!==u&&(n=ju())!==u&&(t=du())!==u&&(i=pu())!==u&&(f=Au())!==u&&(o=Du())!==u&&(s=mu())!==u&&(a=ju())!==u&&(c=Ou())!==u?r=e=[e,n,t,i,f,o,s,a,c]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(lt)),r}())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u)if((t=nu())!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();i!==u?((f=function(){var r,e,n,t,i,f;if(r=vt,(e=Bu())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u)if((t=eu())!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();i!==u&&(f=Tt())!==u?(e=Gr(t,f),r=e):(vt=r,r=u)}else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;return r}())===u&&(f=null),f!==u?(e=Ur(t,f),r=e):(vt=r,r=u)):(vt=r,r=u)}else vt=r,r=u;else vt=r,r=u}else vt=r,r=u;return r}()),e}function _t(){var e,n,t,i,f,o,c,A,g,y,b,m,C,k,x,E,S;if(e=vt,Pu()!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u)if((t=Bu())!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();if(i!==u)if((f=eu())!==u){for(o=[],c=lu();c!==u;)o.push(c),c=lu();if(o!==u)if(40===r.charCodeAt(vt)?(c=l,vt++):(c=u,0===yt&&Et(h)),c!==u){for(A=[],g=lu();g!==u;)A.push(g),g=lu();if(A!==u)if((g=Ot())!==u){for(y=[],b=jt();b!==u;)y.push(b),b=jt();if(y!==u){for(b=[],m=lu();m!==u;)b.push(m),m=lu();if(b!==u)if(41===r.charCodeAt(vt)?(m=p,vt++):(m=u,0===yt&&Et(v)),m!==u){for(C=[],k=lu();k!==u;)C.push(k),k=lu();if(C!==u)if((k=Tt())===u&&(k=null),k!==u)if(59===r.charCodeAt(vt)?(x=s,vt++):(x=u,0===yt&&Et(a)),x===u&&(x=null),x!==u){for(E=[],S=lu();S!==u;)E.push(S),S=lu();E!==u?e=d(f,g,y,k):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function jt(){var e,n,t,i,f;for(e=vt,n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u)if(44===r.charCodeAt(vt)?(t=A,vt++):(t=u,0===yt&&Et(g)),t!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();i!==u&&(f=Ot())!==u?e=n=y(f):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u;return e}function Ot(){var r,e,n,t,i;if(r=vt,(e=tu())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u){for(t=[],i=Nt();i!==u;)t.push(i),i=Nt();t!==u?r=e=b(e,t):(vt=r,r=u)}else vt=r,r=u}else vt=r,r=u;return r}function Nt(){var e,n,t,i;if(e=vt,(n=function(){var e;return(e=function(){var e;return vt,(e=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=ju())!==u&&(n=Ou())!==u&&(t=_u())!==u&&(i=mu())!==u&&(f=Eu())!==u&&(o=yu())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Vn)),r}())===u&&(e=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=Eu())!==u&&(n=Nu())!==u&&(t=xu())!==u&&(i=pu())!==u&&(f=Au())!==u&&(o=_u())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Xn)),r}())===u&&(e=function(){var e,n,t,i,f,o,s;return yt++,e=vt,(n=Su())!==u&&(t=pu())!==u&&(i=function(){var e;return Pe.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Be)),e}())!==u&&(f=Au())!==u&&(o=vu())!==u&&(s=Ou())!==u?e=n=[n,t,i,f,o,s]:(vt=e,e=u),yt--,e===u&&(n=u,0===yt&&Et(Yn)),e}())===u&&(e=function(){var r,e,n,t,i,f;return yt++,r=vt,(e=hu())!==u&&(n=_u())!==u&&(t=_u())!==u&&(i=hu())!==u&&(f=Ju())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et($n)),r}())===u&&(e=function(){var r,e,n,t,i,f,o,s;return yt++,r=vt,(e=pu())!==u&&(n=Su())!==u&&(t=Su())!==u&&(i=ku())!==u&&(f=Au())!==u&&(o=hu())!==u&&(s=Eu())!==u?r=e=[e,n,t,i,f,o,s]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(rt)),r}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,l;return yt++,e=vt,(n=du())!==u&&(t=hu())!==u&&(i=Ou())!==u&&(f=Au())!==u?(95===r.charCodeAt(vt)?(o=nt,vt++):(o=u,0===yt&&Et(tt)),o!==u&&(s=Ou())!==u&&(a=mu())!==u&&(c=xu())!==u&&(l=Au())!==u?e=n=[n,t,i,f,o,s,a,c,l]:(vt=e,e=u)):(vt=e,e=u),yt--,e===u&&(n=u,0===yt&&Et(et)),e}()),e!==u&&(e=E(e)),e}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s,a,c,l,h,p,v;return yt++,r=vt,(e=hu())!==u&&(n=Nu())!==u&&(t=Ou())!==u&&(i=Su())!==u&&(f=mu())!==u&&(o=Eu())!==u&&(s=vu())!==u&&(a=_u())!==u&&(c=Au())!==u&&(l=xu())!==u&&(h=Au())!==u&&(p=Eu())!==u&&(v=Ou())!==u?r=e=[e,n,t,i,f,o,s,a,c,l,h,p,v]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(ut)),r}())!==u&&(r=C()),r}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s;return yt++,r=vt,(e=Eu())!==u&&(n=Su())!==u&&(t=Ou())!==u&&(i=Eu())!==u&&(f=Nu())!==u&&(o=ku())!==u&&(s=ku())!==u?r=e=[e,n,t,i,f,o,s]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(it)),r}())!==u&&(r=k()),r}())===u&&(e=function(){var r,e,n,t;if(r=vt,(e=function(){var r,e,n,t,i,f,o,s;return yt++,r=vt,(e=du())!==u&&(n=Au())!==u&&(t=gu())!==u&&(i=hu())!==u&&(f=Nu())!==u&&(o=ku())!==u&&(s=Ou())!==u?r=e=[e,n,t,i,f,o,s]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(ft)),r}())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();n!==u&&(t=$t())!==u?(e=x(t),r=e):(vt=r,r=u)}else vt=r,r=u;return r}())===u&&(e=function(){var e;return vt,(e=function(){var e,n,t,i,f,o,s;return yt++,e=vt,(n=Nu())!==u&&(t=Eu())!==u&&(i=mu())!==u&&(f=function(){var e;return Ye.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et($e)),e}())!==u&&(o=Nu())!==u&&(s=Au())!==u?e=n=[n,t,i,f,o,s]:(vt=e,e=u),yt--,e===u&&(n=u,0===yt&&Et(Hn)),e}())!==u&&(e=S()),e}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s,a,c,l;return yt++,r=vt,(e=wu())!==u&&(n=_u())!==u&&(t=mu())!==u&&(i=xu())!==u&&(f=hu())!==u&&(o=_u())!==u&&(s=Ju())!==u&&(a=Cu())!==u&&(c=Au())!==u&&(l=Ju())!==u?r=e=[e,n,t,i,f,o,s,a,c,l]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Gn)),r}())!==u&&(r=w()),r}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s,a,c,l;return yt++,r=vt,(e=xu())!==u&&(n=Nu())!==u&&(t=ku())!==u&&(i=Ou())!==u&&(f=mu())!==u&&(o=Au())!==u&&(s=Eu())!==u&&(a=Ou())!==u&&(c=_u())!==u&&(l=Ju())!==u?r=e=[e,n,t,i,f,o,s,a,c,l]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Un)),r}())!==u&&(r=_()),r}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s,a,c,l,h,p;return yt++,r=vt,(e=Au())!==u&&(n=Eu())!==u&&(t=hu())!==u&&(i=pu())!==u&&(f=ku())!==u&&(o=Au())!==u&&(s=ju())!==u&&(a=Au())!==u&&(c=hu())!==u&&(l=_u())!==u&&(h=vu())!==u&&(p=bu())!==u?r=e=[e,n,t,i,f,o,s,a,c,l,h,p]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Qn)),r}())!==u&&(r=j()),r}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s,a,c,l,h,p,v;return yt++,r=vt,(e=du())!==u&&(n=mu())!==u&&(t=ju())!==u&&(i=hu())!==u&&(f=pu())!==u&&(o=ku())!==u&&(s=Au())!==u&&(a=ju())!==u&&(c=Au())!==u&&(l=hu())!==u&&(h=_u())!==u&&(p=vu())!==u&&(v=bu())!==u?r=e=[e,n,t,i,f,o,s,a,c,l,h,p,v]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(pt)),r}())!==u&&(r=O()),r}()),e}())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();t!==u?e=n=m(n):(vt=e,e=u)}else vt=e,e=u;return e}function Tt(){var r,e,n;if(r=vt,function(){var r,e,n,t,i,f,o,s;return yt++,r=vt,(e=Tu())!==u&&(n=Au())!==u&&(t=_u())!==u&&(i=ju())!==u&&(f=mu())!==u&&(o=Su())!==u&&(s=Eu())!==u?r=e=[e,n,t,i,f,o,s]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Kn)),r}()!==u){for(e=[],n=lu();n!==u;)e.push(n),n=lu();e!==u&&(n=su())!==u?r=N(n):(vt=r,r=u)}else vt=r,r=u;return r}function qt(){var e,n,t,i;if(e=vt,44===r.charCodeAt(vt)?(n=A,vt++):(n=u,0===yt&&Et(g)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();t!==u&&(i=Dt())!==u?e=n=L(i):(vt=e,e=u)}else vt=e,e=u;return e}function Dt(){var e,n,t,i,f,o;if(e=vt,(n=tu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(58===r.charCodeAt(vt)?(i=P,vt++):(i=u,0===yt&&Et(B)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u&&(o=$t())!==u?e=n=I(n,o):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function Jt(){var r,e,n,t;if(r=vt,(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o,s,a,c,l,h,p,v;return yt++,r=vt,(e=ju())!==u&&(n=Cu())!==u&&(t=mu())!==u&&(i=wu())!==u&&(f=du())!==u&&(o=hu())!==u&&(s=Ou())!==u&&(a=hu())!==u&&(c=vu())!==u&&(l=bu())!==u&&(h=Au())!==u&&(p=vu())!==u&&(v=Cu())!==u?r=e=[e,n,t,i,f,o,s,a,c,l,h,p,v]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(In)),r}())!==u&&(r=K()),r}())===u&&(e=function(){var r;return vt,(r=function(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=_u())!==u&&(n=Au())!==u&&(t=Ou())!==u&&(i=Nu())!==u&&(f=_u())!==u&&(o=Eu())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Pn)),r}())!==u&&(r=Q()),r}()),e!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();n!==u?r=e=W(e):(vt=r,r=u)}else vt=r,r=u;return r}function Ft(){var e;return(e=function(){var e,n,t,i,f,o,s,a,c,d;if(e=vt,(n=function(){var r,e,n,t;return yt++,r=vt,(e=xu())!==u&&(n=mu())!==u&&(t=Eu())!==u?r=e=[e,n,t]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(gn)),r}())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(40===r.charCodeAt(vt)?(i=l,vt++):(i=u,0===yt&&Et(h)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=tu())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=Vt();c!==u;)a.push(c),c=Vt();if(a!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();c!==u?(41===r.charCodeAt(vt)?(d=p,vt++):(d=u,0===yt&&Et(v)),d!==u?(n=ir(o,a),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,d;if(e=vt,(n=function(){var r,e,n,t;return yt++,r=vt,(e=xu())!==u&&(n=hu())!==u&&(t=Du())!==u?r=e=[e,n,t]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(yn)),r}())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(40===r.charCodeAt(vt)?(i=l,vt++):(i=u,0===yt&&Et(h)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=tu())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=Vt();c!==u;)a.push(c),c=Vt();if(a!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();c!==u?(41===r.charCodeAt(vt)?(d=p,vt++):(d=u,0===yt&&Et(v)),d!==u?(n=ur(o,a),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,d;if(e=vt,(n=function(){var r,e,n,t;return yt++,r=vt,(e=hu())!==u&&(n=Tu())!==u&&(t=yu())!==u?r=e=[e,n,t]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(bn)),r}())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(40===r.charCodeAt(vt)?(i=l,vt++):(i=u,0===yt&&Et(h)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=tu())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=Vt();c!==u;)a.push(c),c=Vt();if(a!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();c!==u?(41===r.charCodeAt(vt)?(d=p,vt++):(d=u,0===yt&&Et(v)),d!==u?(n=fr(o,a),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,d;if(e=vt,(n=Fu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(40===r.charCodeAt(vt)?(i=l,vt++):(i=u,0===yt&&Et(h)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=tu())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=Vt();c!==u;)a.push(c),c=Vt();if(a!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();c!==u?(41===r.charCodeAt(vt)?(d=p,vt++):(d=u,0===yt&&Et(v)),d!==u?(n=or(o,a),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,d;if(e=vt,(n=function(){var r,e,n,t;return yt++,r=vt,(e=ju())!==u&&(n=Nu())!==u&&(t=xu())!==u?r=e=[e,n,t]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Cn)),r}())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(40===r.charCodeAt(vt)?(i=l,vt++):(i=u,0===yt&&Et(h)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if((o=tu())!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u){for(a=[],c=Vt();c!==u;)a.push(c),c=Vt();if(a!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();c!==u?(41===r.charCodeAt(vt)?(d=p,vt++):(d=u,0===yt&&Et(v)),d!==u?(n=sr(o,a),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}()),e}function Mt(){var r,e,n,t,i;if(r=vt,function(){var r,e,n,t,i,f;return yt++,r=vt,(e=yu())!==u&&(n=_u())!==u&&(t=Su())!==u&&(i=Nu())!==u&&(f=wu())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(qn)),r}()!==u)if(lu()!==u)if(Mu()!==u)if(lu()!==u)if((e=tu())!==u){for(n=[],t=Lt();t!==u;)n.push(t),t=Lt();if(n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();t!==u?r=ar(e,n):(vt=r,r=u)}else vt=r,r=u}else vt=r,r=u;else vt=r,r=u;else vt=r,r=u;else vt=r,r=u;else vt=r,r=u;return r}function Lt(){var e,n,t,i,f,o,s;for(e=vt,n=[],t=lu();t!==u;)n.push(t),t=lu();if(n!==u)if(44===r.charCodeAt(vt)?(t=A,vt++):(t=u,0===yt&&Et(g)),t!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();if(i!==u)if((f=tu())!==u){for(o=[],s=lu();s!==u;)o.push(s),s=lu();o!==u?e=n=cr(f):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u;return e}function Pt(){var e,n,t;return e=vt,(n=function(){var r,e,n;return r=vt,(e=function(){var r,e,n,t,i,f;return yt++,r=vt,(e=Su())!==u&&(n=_u())!==u&&(t=du())!==u&&(i=Au())!==u&&(f=_u())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(On)),r}())!==u&&lu()!==u&&Mu()!==u&&lu()!==u&&(n=tu())!==u?(e=hr(n),r=e):(vt=r,r=u),r}())!==u?((t=function(){var e,n,t,i,f;if(e=vt,(n=lu())!==u)if((t=function(){var e;return yt++,r.substr(vt,3)===$r?(e=$r,vt+=3):(e=u,0===yt&&Et(re)),e===u&&(r.substr(vt,4)===ee?(e=ee,vt+=4):(e=u,0===yt&&Et(ne))),yt--,e===u&&0===yt&&Et(Yr),e}())!==u){for(i=[],f=lu();f!==u;)i.push(f),f=lu();i!==u?(n=pr(t),e=n):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u;return e}())===u&&(t=null),t!==u?e=n=lr(n,t):(vt=e,e=u)):(vt=e,e=u),e}function Bt(){var r,e;return r=vt,function(){var r,e,n,t,i,f,o,s,a;return yt++,r=vt,(e=du())!==u&&(n=mu())!==u&&(t=ju())!==u&&(i=Ou())!==u&&(f=mu())!==u&&(o=Eu())!==u&&(s=vu())!==u&&(a=Ou())!==u?r=e=[e,n,t,i,f,o,s,a]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(jn)),r}()!==u?((e=lu())===u&&(e=null),e!==u?r=vr():(vt=r,r=u)):(vt=r,r=u),r}function It(){var r,e;return r=vt,function(){var r,e,n,t,i,f,o,s,a,c,l;return yt++,r=vt,(e=mu())!==u&&(n=yu())!==u&&(t=Eu())!==u&&(i=Su())!==u&&(f=_u())!==u&&(o=Au())!==u&&(s=vu())!==u&&(a=hu())!==u&&(c=ju())!==u&&(l=Au())!==u?r=e=[e,n,t,i,f,o,s,a,c,l]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(_n)),r}()!==u?((e=lu())===u&&(e=null),e!==u?r=dr():(vt=r,r=u)):(vt=r,r=u),r}function Rt(){var r,e,n;return r=vt,function(){var r,e,n,t,i;return yt++,r=vt,(e=ju())!==u&&(n=Cu())!==u&&(t=mu())!==u&&(i=wu())!==u?r=e=[e,n,t,i]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Jn)),r}()!==u&&lu()!==u&&(e=su())!==u?((n=lu())===u&&(n=null),n!==u?r=Ar(e):(vt=r,r=u)):(vt=r,r=u),r}function Zt(){var r,e,n;return r=vt,function(){var r,e,n,t,i,f;return yt++,r=vt,(e=ku())!==u&&(n=mu())!==u&&(t=xu())!==u&&(i=mu())!==u&&(f=Ou())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Dn)),r}()!==u&&lu()!==u&&(e=su())!==u?((n=lu())===u&&(n=null),n!==u?r=gr(e):(vt=r,r=u)):(vt=r,r=u),r}function zt(){var r,e;return r=vt,function(){var r,e,n,t,i,f;return yt++,r=vt,(e=qu())!==u&&(n=bu())!==u&&(t=Au())!==u&&(i=_u())!==u&&(f=Au())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Fn)),r}()!==u&&lu()!==u&&(e=function(){var r,e,n,t;if(r=vt,(e=Kt())===u&&(e=Qt()),e!==u){for(n=[],t=Wt();t!==u;)n.push(t),t=Wt();n!==u?(e=br(e,n),r=e):(vt=r,r=u)}else vt=r,r=u;return r}())!==u?r=yr(e):(vt=r,r=u),r}function Wt(){var r,e,n,t;if(r=vt,lu()!==u)if((e=uu())!==u){for(n=[],t=lu();t!==u;)n.push(t),t=lu();n!==u?((t=Kt())===u&&(t=Qt()),t!==u?r=mr(e,t):(vt=r,r=u)):(vt=r,r=u)}else vt=r,r=u;else vt=r,r=u;return r}function Kt(){var r,e,n,t;if(r=vt,(e=Gt())!==u){for(n=[],t=Ut();t!==u;)n.push(t),t=Ut();n!==u?r=e=Cr(e,n):(vt=r,r=u)}else vt=r,r=u;return r}function Qt(){var e,n,t,i,f,o,s;if(e=vt,40===r.charCodeAt(vt)?(n=l,vt++):(n=u,0===yt&&Et(h)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=Gt())!==u){for(f=[],o=Ut();o!==u;)f.push(o),o=Ut();if(f!==u){for(o=[],s=lu();s!==u;)o.push(s),s=lu();o!==u?(41===r.charCodeAt(vt)?(s=p,vt++):(s=u,0===yt&&Et(v)),s!==u?e=n=kr(i,f):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function Ut(){var r,e,n;return r=vt,lu()!==u&&(e=uu())!==u&&lu()!==u&&(n=Gt())!==u?r=xr(e,n):(vt=r,r=u),r}function Gt(){var e;return(e=Ht())===u&&(e=function(){var e,n,t,i,f,o;if(e=vt,(n=tu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=function(){var r,e,n,t,i;return yt++,r=vt,(e=ku())!==u&&(n=mu())!==u&&(t=Cu())!==u&&(i=Au())!==u?r=e=[e,n,t,i]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Sn)),r}())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u&&(o=function(){var e,n,t,i,f,o;if(e=vt,37===r.charCodeAt(vt)?(n=Br,vt++):(n=u,0===yt&&Et(Ir)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=$t())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u?(37===r.charCodeAt(vt)?(o=Br,vt++):(o=u,0===yt&&Et(Ir)),o!==u?e=n=[n,t,i,f,o]:(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;if(e===u){if(e=vt,37===r.charCodeAt(vt)?(n=Br,vt++):(n=u,0===yt&&Et(Ir)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();t!==u&&(i=$t())!==u?e=n=[n,t,i]:(vt=e,e=u)}else vt=e,e=u;if(e===u)if(e=vt,(n=$t())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();t!==u?(37===r.charCodeAt(vt)?(i=Br,vt++):(i=u,0===yt&&Et(Ir)),i!==u?e=n=[n,t,i]:(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}return e}())!==u?(n=Pr(n,o),e=n):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,d,A;if(e=vt,(n=tu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=function(){var r,e,n;return yt++,r=vt,(e=mu())!==u&&(n=Eu())!==u?r=e=[e,n]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(En)),r}())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if(40===r.charCodeAt(vt)?(o=l,vt++):(o=u,0===yt&&Et(h)),o!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u)if((a=$t())!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();if(c!==u){for(d=[],A=Yt();A!==u;)d.push(A),A=Yt();d!==u?(41===r.charCodeAt(vt)?(A=p,vt++):(A=u,0===yt&&Et(v)),A!==u?(n=Lr(n,a,d),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o;if(e=vt,(n=tu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(r.substr(vt,2)===Sr?(i=Sr,vt+=2):(i=u,0===yt&&Et(wr)),i===u&&(r.substr(vt,2)===_r?(i=_r,vt+=2):(i=u,0===yt&&Et(jr)),i===u&&(r.substr(vt,2)===Or?(i=Or,vt+=2):(i=u,0===yt&&Et(Nr)),i===u&&(62===r.charCodeAt(vt)?(i=Tr,vt++):(i=u,0===yt&&Et(qr)),i===u&&(60===r.charCodeAt(vt)?(i=Dr,vt++):(i=u,0===yt&&Et(Jr)))))),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u&&(o=$t())!==u?(n=Fr(n,i,o),e=n):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}())===u&&(e=function(){var e,n,t,i,f,o,s,a,c,d,y,b,m,C;if(e=vt,(n=tu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=function(){var r,e,n,t,i,f,o,s;return yt++,r=vt,(e=pu())!==u&&(n=Au())!==u&&(t=Ou())!==u&&(i=qu())!==u&&(f=Au())!==u&&(o=Au())!==u&&(s=Eu())!==u?r=e=[e,n,t,i,f,o,s]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(xn)),r}())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();if(f!==u)if(40===r.charCodeAt(vt)?(o=l,vt++):(o=u,0===yt&&Et(h)),o!==u){for(s=[],a=lu();a!==u;)s.push(a),a=lu();if(s!==u)if((a=$t())!==u){for(c=[],d=lu();d!==u;)c.push(d),d=lu();if(c!==u)if(44===r.charCodeAt(vt)?(d=A,vt++):(d=u,0===yt&&Et(g)),d!==u){for(y=[],b=lu();b!==u;)y.push(b),b=lu();if(y!==u)if((b=$t())!==u){for(m=[],C=lu();C!==u;)m.push(C),C=lu();m!==u?(41===r.charCodeAt(vt)?(C=p,vt++):(C=u,0===yt&&Et(v)),C!==u?(n=Mr(n,a,b),e=n):(vt=e,e=u)):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}()),e}function Ht(){var e,n,t,i,f,o;if(e=vt,(n=tu())!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if(61===r.charCodeAt(vt)?(i=R,vt++):(i=u,0===yt&&Et(Z)),i!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u&&(o=$t())!==u?e=n=Er(n,o):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function Vt(){var e,n,t,i,f,o;if(e=vt,44===r.charCodeAt(vt)?(n=A,vt++):(n=u,0===yt&&Et(g)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=tu())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u?e=n=cr(i):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function Xt(){var e,n,t,i,f,o;if(e=vt,44===r.charCodeAt(vt)?(n=A,vt++):(n=u,0===yt&&Et(g)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=Ft())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u?e=n=cr(i):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function Yt(){var e,n,t,i,f,o;if(e=vt,44===r.charCodeAt(vt)?(n=A,vt++):(n=u,0===yt&&Et(g)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=$t())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u?e=n=cr(i):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function $t(){var r,e,n;if(yt++,r=vt,e=[],(n=iu())!==u)for(;n!==u;)e.push(n),n=iu();else e=u;return e!==u&&(e=Zr(e)),yt--,(r=e)===u&&(e=u,0===yt&&Et(Rr)),r}function ru(){var e,n,t,i,f,o;if(e=vt,44===r.charCodeAt(vt)?(n=A,vt++):(n=u,0===yt&&Et(g)),n!==u){for(t=[],i=lu();i!==u;)t.push(i),i=lu();if(t!==u)if((i=Ht())!==u){for(f=[],o=lu();o!==u;)f.push(o),o=lu();f!==u?e=n=Kr(i):(vt=e,e=u)}else vt=e,e=u;else vt=e,e=u}else vt=e,e=u;return e}function eu(){var r;return yt++,r=fu(),yt--,r===u&&0===yt&&Et(Hr),r}function nu(){var r;return yt++,r=fu(),yt--,r===u&&0===yt&&Et(Vr),r}function tu(){var r;return yt++,r=fu(),yt--,r===u&&0===yt&&Et(Xr),r}function uu(){var e;return(e=function(){var e;return 38===r.charCodeAt(vt)?(e=te,vt++):(e=u,0===yt&&Et(ue)),e}())===u&&(e=function(){var e;return 124===r.charCodeAt(vt)?(e=ie,vt++):(e=u,0===yt&&Et(fe)),e}()),e}function iu(){var e;return oe.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(se)),e}function fu(){var r,e;if(vt,r=[],(e=ou())!==u)for(;e!==u;)r.push(e),e=ou();else r=u;return r!==u&&(r=ae(r)),r}function ou(){var e;return ce.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(le)),e}function su(){var r,e;if(vt,r=[],(e=au())!==u)for(;e!==u;)r.push(e),e=au();else r=u;return r!==u&&(r=he(r)),r}function au(){var e;return pe.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(ve)),e}function cu(){var e;return yt++,Ae.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(ge)),yt--,e===u&&0===yt&&Et(de),e}function lu(){var r,e,n;if(yt++,r=vt,e=[],(n=cu())!==u)for(;n!==u;)e.push(n),n=cu();else e=u;return e!==u&&(e=be(e)),yt--,(r=e)===u&&(e=u,0===yt&&Et(ye)),r}function hu(){var e;return me.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Ce)),e}function pu(){var e;return ke.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(xe)),e}function vu(){var e;return Ee.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Se)),e}function du(){var e;return we.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(_e)),e}function Au(){var e;return je.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Oe)),e}function gu(){var e;return Ne.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Te)),e}function yu(){var e;return qe.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(De)),e}function bu(){var e;return Je.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Fe)),e}function mu(){var e;return Me.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Le)),e}function Cu(){var e;return Ie.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Re)),e}function ku(){var e;return Ze.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(ze)),e}function xu(){var e;return We.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Ke)),e}function Eu(){var e;return Qe.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Ue)),e}function Su(){var e;return Ge.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(He)),e}function wu(){var e;return Ve.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(Xe)),e}function _u(){var e;return rn.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(en)),e}function ju(){var e;return nn.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(tn)),e}function Ou(){var e;return un.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(fn)),e}function Nu(){var e;return on.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(sn)),e}function Tu(){var e;return an.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(cn)),e}function qu(){var e;return ln.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(hn)),e}function Du(){var e;return pn.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(vn)),e}function Ju(){var e;return dn.test(r.charAt(vt))?(e=r.charAt(vt),vt++):(e=u,0===yt&&Et(An)),e}function Fu(){var r,e,n,t,i,f;return yt++,r=vt,(e=vu())!==u&&(n=Su())!==u&&(t=Nu())!==u&&(i=Eu())!==u&&(f=Ou())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(mn)),r}function Mu(){var r,e,n;return yt++,r=vt,(e=pu())!==u&&(n=Ju())!==u?r=e=[e,n]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Nn)),r}function Lu(){var r,e,n,t,i;return yt++,r=vt,(e=gu())!==u&&(n=_u())!==u&&(t=Su())!==u&&(i=xu())!==u?r=e=[e,n,t,i]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(Tn)),r}function Pu(){var r,e,n,t,i,f,o;return yt++,r=vt,(e=du())!==u&&(n=Au())!==u&&(t=gu())!==u&&(i=mu())!==u&&(f=Eu())!==u&&(o=Au())!==u?r=e=[e,n,t,i,f,o]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(ot)),r}function Bu(){var r,e,n,t,i,f;return yt++,r=vt,(e=Ou())!==u&&(n=hu())!==u&&(t=pu())!==u&&(i=ku())!==u&&(f=Au())!==u?r=e=[e,n,t,i,f]:(vt=r,r=u),yt--,r===u&&(e=u,0===yt&&Et(at)),r}if((n=f())!==u&&vt===r.length)return n;throw n!==u&&vt