{"version":3,"sources":["node_modules/browserify/node_modules/browser-pack/_prelude.js","src/entry.js","yasqe.min.js","lib/deparam.js","lib/grammar/_tokenizer-table.js","lib/grammar/tokenizer.js","lib/trie.js","node_modules/codemirror/addon/display/fullscreen.js","node_modules/codemirror/addon/edit/matchbrackets.js","node_modules/codemirror/addon/fold/brace-fold.js","node_modules/codemirror/addon/fold/foldcode.js","node_modules/codemirror/addon/fold/foldgutter.js","node_modules/codemirror/addon/fold/xml-fold.js","node_modules/codemirror/addon/hint/show-hint.js","node_modules/codemirror/addon/runmode/runmode.js","node_modules/codemirror/addon/search/searchcursor.js","node_modules/yasgui-utils/node_modules/store/store.js","node_modules/yasgui-utils/package.json","node_modules/yasgui-utils/src/main.js","node_modules/yasgui-utils/src/storage.js","node_modules/yasgui-utils/src/svg.js","package.json","src/autocompleters/autocompleterBase.js","src/autocompleters/classes.js","src/autocompleters/prefixes.js","src/autocompleters/properties.js","src/autocompleters/utils.js","src/autocompleters/variables.js","src/curl.js","src/defaults.js","src/imgs.js","src/main.js","src/prefixFold.js","src/prefixUtils.js","src/sparql.js","src/tokenUtils.js","src/tooltip.js","src/utils.js"],"names":["e","exports","module","define","amd","f","window","global","self","YASQE","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"./main.js",2,"$","jQuery","deparam","params","coerce","obj","coerce_types","true","false","null","each","replace","split","j","v","val","param","key","decodeURIComponent","cur","keys","keys_last","test","shift","concat","isNaN","undefined","isArray","push","jquery",3,"table","*[&&,valueLogical]","&&","AS",")",",","||",";","*[,,expression]","*[,,objectPath]",".","]","{","OPTIONAL","MINUS","GRAPH","SERVICE","FILTER","BIND","VALUES","}","*[,,object]","*[/,pathEltOrInverse]","/","|","(","[","VAR1","VAR2","NIL","IRI_REF","TRUE","FALSE","BLANK_NODE_LABEL","ANON","PNAME_LN","PNAME_NS","STRING_LITERAL1","STRING_LITERAL2","STRING_LITERAL_LONG1","STRING_LITERAL_LONG2","INTEGER","DECIMAL","DOUBLE","INTEGER_POSITIVE","DECIMAL_POSITIVE","DOUBLE_POSITIVE","INTEGER_NEGATIVE","DECIMAL_NEGATIVE","DOUBLE_NEGATIVE","*[;,?[or([verbPath,verbSimple]),objectList]]","*[;,?[verb,objectList]]","*[UNION,groupGraphPattern]","UNION","*[graphPatternNotTriples,?.,?triplesBlock]","*[quadsNotTriples,?.,?triplesTemplate]","*[|,pathOneInPropertySet]","*[|,pathSequence]","*[||,conditionalAndExpression]","*dataBlockValue","UNDEF","*datasetClause","FROM","WHERE","*describeDatasetClause","ORDER","HAVING","GROUP","LIMIT","OFFSET","*graphNode","*graphNodePath","*groupCondition","STR","LANG","LANGMATCHES","DATATYPE","BOUND","IRI","URI","BNODE","RAND","ABS","CEIL","FLOOR","ROUND","CONCAT","STRLEN","UCASE","LCASE","ENCODE_FOR_URI","CONTAINS","STRSTARTS","STRENDS","STRBEFORE","STRAFTER","YEAR","MONTH","DAY","HOURS","MINUTES","SECONDS","TIMEZONE","TZ","NOW","UUID","STRUUID","MD5","SHA1","SHA256","SHA384","SHA512","COALESCE","IF","STRLANG","STRDT","SAMETERM","ISIRI","ISURI","ISBLANK","ISLITERAL","ISNUMERIC","SUBSTR","REPLACE","REGEX","EXISTS","NOT","*havingCondition","*or([[ (,*dataBlockValue,)],NIL])","*or([[*,unaryExpression],[/,unaryExpression]])","*","=","!=","<",">","<=",">=","IN","+","-","*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])","*or([baseDecl,prefixDecl])","BASE","PREFIX","CONSTRUCT","DESCRIBE","ASK","INSERT","DELETE","SELECT","LOAD","CLEAR","DROP","ADD","MOVE","COPY","CREATE","WITH","*or([var,[ (,expression,AS,var,)]])","*orderCondition","ASC","DESC","*usingClause","USING","*var","*varOrIRIref","+graphNode","+graphNodePath","+groupCondition","+havingCondition","+or([var,[ (,expression,AS,var,)]])","+orderCondition","+varOrIRIref","?.","?DISTINCT","DISTINCT","!","COUNT","SUM","MIN","MAX","AVG","SAMPLE","GROUP_CONCAT","?GRAPH","?SILENT","SILENT","?SILENT_1","?SILENT_2","DEFAULT","NAMED","ALL","?SILENT_3","?SILENT_4","?WHERE","?[,,expression]","?[.,?constructTriples]","?[.,?triplesBlock]","?[.,?triplesTemplate]","?[;,SEPARATOR,=,string]","?[;,update]","?[AS,var]","?[INTO,graphRef]","INTO","?[or([verbPath,verbSimple]),objectList]","^","?[pathOneInPropertySet,*[|,pathOneInPropertySet]]","?[update1,?[;,update]]","?[verb,objectList]","?argList","?constructTriples","?groupClause","?havingClause","?insertClause","?limitClause","?limitOffsetClauses","?offsetClause","?or([DISTINCT,REDUCED])","REDUCED","?or([LANGTAG,[^^,iriRef]])","LANGTAG","^^","?or([[*,unaryExpression],[/,unaryExpression]])","?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])","?orderClause","?pathMod","?","?triplesBlock","?triplesTemplate","?whereClause","[ (,*dataBlockValue,)]","[ (,*var,)]","[ (,expression,)]","[ (,expression,AS,var,)]","[!=,numericExpression]","[&&,valueLogical]","[*,unaryExpression]","[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]","[+,multiplicativeExpression]","[,,expression]","[,,integer,}]","[,,objectPath]","[,,object]","[,,or([},[integer,}]])]","[-,multiplicativeExpression]","[.,?constructTriples]","[.,?triplesBlock]","[.,?triplesTemplate]","[/,pathEltOrInverse]","[/,unaryExpression]","[;,?[or([verbPath,verbSimple]),objectList]]","[;,?[verb,objectList]]","[;,SEPARATOR,=,string]","[;,update]","[<,numericExpression]","[<=,numericExpression]","[=,numericExpression]","[>,numericExpression]","[>=,numericExpression]","[AS,var]","[IN,expressionList]","[INTO,graphRef]","[NAMED,iriRef]","[NOT,IN,expressionList]","[UNION,groupGraphPattern]","[^^,iriRef]","[constructTemplate,*datasetClause,whereClause,solutionModifier]","[deleteClause,?insertClause]","[graphPatternNotTriples,?.,?triplesBlock]","[integer,or([[,,or([},[integer,}]])],}])]","[integer,}]","[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]","[or([verbPath,verbSimple]),objectList]","[pathOneInPropertySet,*[|,pathOneInPropertySet]]","[quadsNotTriples,?.,?triplesTemplate]","[update1,?[;,update]]","[verb,objectList]","[|,pathOneInPropertySet]","[|,pathSequence]","[||,conditionalAndExpression]","add","additiveExpression","aggregate","allowBnodes","allowVars","argList","askQuery","baseDecl","bind","blankNode","blankNodePropertyList","blankNodePropertyListPath","booleanLiteral","brackettedExpression","builtInCall","clear","collection","collectionPath","conditionalAndExpression","conditionalOrExpression","constraint","constructQuery","constructTemplate","constructTriples","copy","create","dataBlock","dataBlockValue","datasetClause","defaultGraphClause","delete1","DATA","deleteClause","describeDatasetClause","describeQuery","disallowBnodes","disallowVars","drop","existsFunc","expression","expressionList","filter","functionCall","graphGraphPattern","graphNode","graphNodePath","graphOrDefault","graphPatternNotTriples","graphRef","graphRefAll","graphTerm","groupClause","groupCondition","groupGraphPattern","groupGraphPatternSub","groupOrUnionGraphPattern","havingClause","havingCondition","inlineData","inlineDataFull","inlineDataOneVar","insert1","insertClause","integer","iriRef","iriRefOrFunction","limitClause","limitOffsetClauses","load","minusGraphPattern","modify","move","multiplicativeExpression","namedGraphClause","notExistsFunc","numericExpression","numericLiteral","numericLiteralNegative","numericLiteralPositive","numericLiteralUnsigned","object","objectList","objectListPath","objectPath","offsetClause","optionalGraphPattern","or([*,expression])","or([+or([var,[ (,expression,AS,var,)]]),*])","or([+varOrIRIref,*])","or([ASC,DESC])","or([DISTINCT,REDUCED])","or([LANGTAG,[^^,iriRef]])","or([NIL,[ (,*var,)]])","or([[ (,*dataBlockValue,)],NIL])","or([[ (,expression,)],NIL])","or([[*,unaryExpression],[/,unaryExpression]])","or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])","or([[,,or([},[integer,}]])],}])","or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])","or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])","or([[deleteClause,?insertClause],insertClause])","or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])","or([baseDecl,prefixDecl])","or([defaultGraphClause,namedGraphClause])","or([inlineDataOneVar,inlineDataFull])","or([iriRef,[NAMED,iriRef]])","or([iriRef,a])","or([numericLiteralPositive,numericLiteralNegative])","or([queryAll,updateAll])","or([selectQuery,constructQuery,describeQuery,askQuery])","or([subSelect,groupGraphPatternSub])","or([var,[ (,expression,AS,var,)]])","or([verbPath,verbSimple])","or([},[integer,}]])","orderClause","orderCondition","path","pathAlternative","pathElt","pathEltOrInverse","pathMod","pathNegatedPropertySet","pathOneInPropertySet","pathPrimary","pathSequence","prefixDecl","prefixedName","primaryExpression","prologue","propertyList","propertyListNotEmpty","propertyListPath","propertyListPathNotEmpty","quadData","quadDataNoBnodes","quadPattern","quadPatternNoBnodes","quads","quadsNotTriples","queryAll","rdfLiteral","regexExpression","relationalExpression","selectClause","selectQuery","serviceGraphPattern","solutionModifier","sourceSelector","sparql11","storeProperty","strReplaceExpression","string","subSelect","substringExpression","triplesBlock","triplesNode","triplesNodePath","triplesSameSubject","triplesSameSubjectPath","triplesTemplate","unaryExpression","update","update1","updateAll","usingClause","valueLogical","valuesClause","var","varOrIRIref","varOrTerm","verb","verbPath","verbSimple","whereClause","keywords","punct","startSymbol","acceptEmpty",4,"CodeMirror","defineMode","config","getPossibles","symbol","possibles","possiblesOb","ll1_table","property","toString","tokenBase","stream","state","nextToken","consumed","inLiteral","closingQuotes","match","stringLiteralLongRegex","contents","regex","closing","returnObj","quotePos","cat","STRING_LITERAL_LONG","CAT","style","complete","text","start","quoteType","quotes","terminals","name","grammar","current","toUpperCase","recordFailurePos","col","column","errorStartPos","errorEndPos","tokenOb","setQueryType","queryType","setSideConditions","topSymbol","checkSideConditions","pos","possibleCurrent","possibleNext","OK","finished","token","stack","pop","nextSymbols","allNillable","sp","item","lastProperty","indexOf","lastPredicateOffset","indent","textAfter","closeBracket","substr","dn","indentTop","indentTable","indentUnit","PN_CHARS_BASE","PN_CHARS_U","PN_CHARS","VARNAME","PN_PREFIX","HEX","PERCENT","PN_LOCAL_ESC","PLX","PN_LOCAL","EXPONENT","ECHAR","hex4","unicode","SINGLE","QUOTES","CONTENTS","COMPLETE","RegExp","WS","COMMENT","WS_OR_COMMENT_STAR","*[,, object]","*[(,),object]","*[(,),objectPath]","startState","tokenize","electricChars","defineMIME","./_tokenizer-table.js","codemirror",5,"Trie","this","words","prefixes","children","prototype","insert","str","k","child","T","remove","strOld","strNew","countWord","ret","countPrefix","find","getAllWords","autoComplete",6,"mod","setFullscreen","cm","wrap","getWrapperElement","fullScreenRestore","scrollTop","pageYOffset","scrollLeft","pageXOffset","width","height","className","document","documentElement","overflow","refresh","setNormal","info","scrollTo","defineOption","old","Init",7,"findMatchingBracket","where","strict","line","getLineHandle","ch","matching","charAt","dir","getTokenTypeAt","Pos","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","re","bracketRegex","lineEnd","Math","min","lastLine","max","firstLine","lineNo","getLine","end","matchBrackets","autoclear","maxHighlightLen","maxHighlightLineLength","marks","ranges","listSelections","empty","head","markText","ie_lt8","focused","display","input","focus","operation","setTimeout","doMatchBrackets","currentlyHighlighted","navigator","userAgent","documentMode","off","on","defineExtension",8,"registerHelper","findOpening","openCh","at","pass","lineText","lastIndexOf","tokenType","startCh","startToken","endToken","endCh","count","outer","nextOpen","nextClose","hasImport","getTokenAt","type","semi","prev","has","next","clipPos","hasInclude","slice",9,"doFold","options","force","getRange","allowFolded","range","finder","minSize","findMarksAt","__isFold","cleared","getOption","myWidget","makeWidget","myRange","e_preventDefault","replacedWith","clearOnEnter","signal","widget","createTextNode","createElement","appendChild","editorOptions","foldOptions","defaultOptions","newFoldFunction","rangeFinder","commands","toggleFold","foldCode","getCursor","fold","unfold","foldAll","unfoldAll","funcs","Array","arguments","helpers","getHelpers","auto","minFoldSize","scanUp",10,"State","parseOptions","opts","gutter","indicatorOpen","indicatorFolded","isFolded","marker","spec","elt","cloneNode","updateFoldInfo","foldGutter","foldOption","func","eachLine","mark","setGutterMarker","updateInViewport","vp","getViewport","onGutterClick","onChange","clearTimeout","changeUpdate","foldOnChangeTimeSpan","onViewportChange","updateViewportTimeSpan","onFold","clearGutter","./foldcode",11,"cmp","b","Iter","tagAt","iter","nextLine","prevLine","toTagEnd","gt","lastSlash","selfClose","toTagStart","lt","xmlTagStart","lastIndex","exec","index","toNextTag","toPrevTag","findMatchingClose","tag","startLine","findMatchingOpen","endLine","nameStartChar","nameChar","openTag","close","findMatchingTag","here","open","findEnclosingTag","scanForClosingTag",12,"Completion","buildOptions","onClose","getText","completion","buildKeyMap","handle","addBinding","bound","baseMap","hasOwnProperty","ourMap","Up","moveFocus","Down","PageUp","menuSize","PageDown","Home","setFocus","End","Enter","pick","Tab","Esc","custom","customKeys","extra","extraKeys","getHintElement","hintsElement","el","nodeName","parentNode","Widget","data","hints","selectedHint","completions","list","HINT_ELEMENT_CLASS","ACTIVE_HINT_ELEMENT_CLASS","render","displayText","hintId","cursorCoords","alignWithWord","left","top","bottom","below","winW","innerWidth","body","offsetWidth","winH","innerHeight","offsetHeight","container","box","getBoundingClientRect","overlapY","curTop","cursor","overlapX","right","addKeyMap","keyMap","avoidWrap","changeActive","screenAmount","closeOnUnfocus","closingOnBlur","onBlur","onFocus","startScroll","getScrollInfo","onScroll","curScroll","editor","newTop","point","target","srcElement","completeOnSingleClick","firstChild","showHint","getHints","async","newOpts","hint","prop","somethingSelected","completionActive","showHints","active","replaceRange","completeSingle","showWidget","done","activity","finishUpdate","data_","clearDebounce","debounce","cancelAnimationFrame","startPos","startLen","closeOn","requestAnimationFrame","closeCharacters","fn","hintOptions","out","removeChild","removeKeyMap","node","childNodes","offsetTop","clientHeight","floor","getHelper","fromList","anyword","word","autocomplete",13,"runMode","modespec","callback","mode","getMode","defaults","ie","ie_lt9","nodeType","tabSize","innerHTML","content","idx","size","lines","splitLines","StringStream","blankLine","eol",14,"SearchCursor","doc","query","caseFold","atOccurrence","source","ignoreCase","matches","reverse","cutOff","newMatch","matchLen","origQuery","toLowerCase","orig","adjustPos","origTarget","last","ln","cut","folded","pos1","len1","findNext","findPrevious","savePosAndFail","maxLine","lineCount","newText","defineDocExtension","getSearchCursor","cmpPos","anchor","setSelections",15,"win","isLocalStorageNameSupported","localStorageName","err","ieKeyFix","forbiddenCharsRegex","storage","store","scriptTag","disabled","version","set","get","transact","defaultVal","transactionFn","getAll","forEach","serialize","value","JSON","stringify","deserialize","parse","setItem","getItem","removeItem","addBehavior","storageOwner","storageContainer","ActiveXObject","write","w","frames","withIEStorage","storeFunction","args","unshift","result","apply","setAttribute","save","getAttribute","removeAttribute","attributes","XMLDocument","attr","testKey","enabled","Function",16,"description","main","repository","url","licenses","author","maintainers","email","web","bugs","homepage","dependencies",17,"console","log","svg","yasgui-utils","nestedExists","../package.json","./storage.js","./svg.js",18,"times","day","month","year","root","exp","XMLSerializer","serializeToString","time","Date","getTime","removeAll",19,"draw","parent","svgString","getElement","append","parser","DOMParser","dom","parseFromString","svgContainer",20,"license","devDependencies","bootstrap-sass","browserify","browserify-transform-tools","exorcist","gulp","gulp-autoprefixer","gulp-bump","gulp-concat","gulp-connect","gulp-cssimport","gulp-embedlr","gulp-filter","gulp-git","gulp-jsvalidate","gulp-livereload","gulp-minify-css","gulp-notify","gulp-rename","gulp-sass","gulp-sourcemaps","gulp-streamify","gulp-tag-version","gulp-uglify","require-dir","run-sequence","vinyl-buffer","vinyl-source-stream","vinyl-transform","watchify","optionalShim","../../lib/codemirror",21,"utils","yutils","yasqe","completionNotifications","completers","tries","needPossibleAdjustment","notificationName","is","scrollBar","offset","outerWidth","notification","css","storeBulkCompletions","completer","storageId","getPersistencyId","persistent","initCompleter","completionInit","bulk","storeArrayAsBulk","suggestions","completionsFromStorage","persistencyIdentifier","fromAutoShow","tryHintType","autoShow","hintConfig","wrappedHintCallback","getCompletionHintsObject","completerName","inArray","autocompleters","isValidCompletionPosition","callbacks","validPosition","success","invalidPosition","getSuggestionsFromToken","partialToken","stringToAutocomplete","autocompletionString","partialTokenLength","getSuggestionsAsHintObject","getCompleteToken","preProcessToken","wrappedCallback","hintList","suggestedString","postProcessToken","selectHint","completionToken","callbackName","init","notifications","getEl","show","autoshow","appendTo","hide","getTrie","../../lib/trie.js","../main.js","../utils.js",22,"fetchFromLov","previousToken","getPreviousNonWsToken","preprocessResourceTokenForCompletion","postprocessResourceTokenForCompletion","./utils","./utils.js",23,"tokenTypes","string-2","atom","appendPrefixIfNeeded","prefixArray","prefix","completeString","sort","preprocessPrefixTokenForCompletion","collapsePrefixes","colonIndex","lastNonWsTokenString","currentPrefix","substring","queryPrefixes","getPrefixesFromQuery","addPrefixes",24,25,"tokenPrefix","tokenPrefixUri","trim","maxResults","q","page","results","updateUrl","increasePage","doRequests","uri","total_results","fail","loader","addClass","../imgs.js",26,"distinctVars","variable","nextEl","nextElClass","variables",27,"sparql","quote","createCurlString","ajaxConfig","getAjaxConfig","endpoint","requestMethod","cmds","header","headers","join","./sparql.js",28,"extend","highlightSelectionMatches","showToken","tabMode","lineNumbers","lineWrapping","backdrop","combine","brace","collapsePrefixesOnLoad","gutters","fixedGutter","syntaxErrorCheck","Ctrl-Space","Cmd-Space","Ctrl-D","deleteLine","Ctrl-K","Cmd-D","Cmd-K","Ctrl-/","commentLines","Cmd-/","Ctrl-Alt-Down","copyLineDown","Ctrl-Alt-Up","copyLineUp","Cmd-Alt-Down","Cmd-Alt-Up","Shift-Ctrl-F","doAutoFormat","Shift-Cmd-F","Ctrl-]","indentMore","Cmd-]","Ctrl-[","indentLess","Cmd-[","Ctrl-S","storeQuery","Cmd-S","Ctrl-Enter","executeQuery","Cmd-Enter","F11","setOption","cursorHeight","createShareLink","createShortLink","consumeShareLink","closest","showQueryButton","acceptHeaderGraph","acceptHeaderSelect","acceptHeaderUpdate","namedGraphs","defaultGraphs","getQueryForAjax","beforeSend","error","handlers",29,"queryInvalid","download","share","warning","fullscreen","smallscreen",30,"imgs","rootEl","class","extendConfig","extendCmInstance","postProcessCmElement","extendedConfig","Autocompleters","lastQueryDuration","getNextNonWsToken","lineNumber","charNumber","collapse","findFirstPrefixLine","animateSpeed","setBackdrop","click","insertAfter","callbackOrConfig","getUrlArguments","removePrefixes","getValueWithoutComments","cleanedQuery","getValue","stringVal","getQueryType","getQueryMode","setCheckSyntaxErrors","isEnabled","checkSyntax","enableCompleter","addCompleterToSettings","disableCompleter","removeCompleterFromSettings","settings","splice","valueFromStorage","setValue","drawButtons","updateQueryButton","positionButtons","updateButtonsTransparency","prevQueryValid","matchText","removeClass","getUrlParams","addEventListener","urlParams","location","hash","href","search","buttons","elementsOverlap","deepcheck","queryValid","precise","warningEl","expectedEncoded","expected","html","marginTop","marginLeft","len","registerAutocompleter","constructor","getAsCurl","curl","svgShare","event","stopPropagation","popup","$input","protocol","host","pathname","$this","select","mouseup","unbind","errString","shortLink","positions","position","outerHeight","parseInt","toggleFullscreen","hasClass","xhr","abort","queryButtonIds","busy","valid","status","queryButton","queryStatus","classNames","c","fromTextArea","textAreaEl","insertBefore","linesAreCommented","setCursor","getSelection","autoFormatRange","totalLines","totalChars","getTextArea","absStart","indexFromPos","absEnd","res","autoFormatLineBreaks","posFromIndex","indentLine","breakAfterArray","breakAfterCharacters","breakBeforeCharacters","getBreakType","stackTrace","valueOf","currentLine","formattedQuery","breakType","../lib/deparam.js","../lib/grammar/tokenizer.js","./autocompleters/autocompleterBase.js","./autocompleters/classes.js","./autocompleters/prefixes.js","./autocompleters/properties.js","./autocompleters/variables.js","./curl.js","./defaults.js","./imgs.js","./prefixFold.js","./prefixUtils.js","./tokenUtils.js","./tooltip","codemirror/addon/display/fullscreen.js","codemirror/addon/edit/matchbrackets.js","codemirror/addon/fold/brace-fold.js","codemirror/addon/fold/foldcode.js","codemirror/addon/fold/foldgutter.js","codemirror/addon/fold/xml-fold.js","codemirror/addon/hint/show-hint.js","codemirror/addon/runmode/runmode.js","codemirror/addon/search/searchcursor.js",31,"findFirstPrefix","lookFor","tokenUtils","hasPreviousPrefix","getLastPrefixPos","prefixKeywordToken","prefixShortname","prefixUri","prefixStart","stopAt","stopAtNextLine","prefixEndChar","prefixEndLine","nextPrefixDeclaration",32,"existingPrefixes","addPrefixAsString","pref","prefixString","lastPrefix","lastPrefixLine","numLines","firstToken","previousIndent","getIndentFromLine","escapeRegex","shouldContinue","getPrefixesFromLine","lineOffset","colOffset","uriString",33,"Accept","getAcceptHeader","xhrFields","handlerDefined","handler","isEmptyObject","queryStart","updateYasqe","completeCallbacks","ajax","queryMode","argName","merge","acceptHeader","qType",34,"prevToken",35,"tooltip","hover","repositionTooltip",36,"keyExists","objectToTest","exists","persistentIdCreator","persistencyId","getPositions","elem","comparePositions","p1","p2","r1","r2","pos2"],"mappings":"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oBACAC,oBACAC,gDACA3C,KAAA,8CAAA,gDACAG,OACAC,OACAC,OACAC,YACAC,SACAC,SACAC,WACAC,UACAC,QACAC,UACAC,QACA+B,2BACA5C,KAAA,yBAAA,2BACAG,OACAC,OACAS,OACAL,SACAH,OACAC,YACAC,SACAE,WACAC,UACAC,QACAC,WACAiC,8BACAC,OAAA,4BAAA,8BACA1B,QACAC,QACAC,OACAJ,OACAC,OACAI,WACAC,QACAC,SACAC,oBACAC,QACAC,YACAC,YACAC,mBACAC,mBACAC,wBACAC,wBACAC,WACAC,WACAC,UACAC,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,mBACAvC,OACAE,OACAC,YACAC,SACAC,SACAC,WACAC,UACAC,QACAC,UACAC,QACAkC,8CACA1C,KAAA,4CAAA,8CACAC,UAAA,4CAAA,8CACAC,OAAA,4CAAA,8CACAC,OAAA,4CAAA,8CACAC,SAAA,4CAAA,8CACAC,QAAA,4CAAA,8CACAC,MAAA,4CAAA,8CACAC,QAAA,4CAAA,8CACAC,QACAmC,0CACAxC,OAAA,wCAAA,0CACAK,QACAoC,6BACAhC,KAAA,2BAAA,6BACApB,QACAqD,qBACAjC,KAAA,mBAAA,qBACApB,OACAqB,OACAC,OACAC,QACAC,QACAC,OACAC,WACAC,QACAC,SACAC,oBACAC,QACAC,YACAC,YACAC,mBACAC,mBACAC,wBACAC,wBACAC,WACAC,WACAC,UACAC,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,oBACAS,kCACApD,MAAA,gCAAA,kCACAH,MACAC,OACAC,OACAE,QACAoD,mBACAC,OAAA,iBAAA,mBACA9B,SAAA,iBAAA,mBACAC,MAAA,iBAAA,mBACAC,OAAA,iBAAA,mBACAG,UAAA,iBAAA,mBACAC,UAAA,iBAAA,mBACAC,iBAAA,iBAAA,mBACAC,iBAAA,iBAAA,mBACAC,sBAAA,iBAAA,mBACAC,sBAAA,iBAAA,mBACAC,SAAA,iBAAA,mBACAC,SAAA,iBAAA,mBACAC,QAAA,iBAAA,mBACAC,kBAAA,iBAAA,mBACAC,kBAAA,iBAAA,mB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A,iBAAA,mBACAC,KAAA,iBAAA,mBACAhG,SAAA,iBAAA,mBACAK,UAAA,iBAAA,mBACAC,UAAA,iBAAA,oBACAwI,gBACAjJ,MAAA,cAAA,gBACAC,MAAA,cAAA,gBACAE,SAAA,cAAA,gBACAK,UAAA,cAAA,gBACAC,UAAA,cAAA,iBACAyI,MACAnK,KAAA,KACAiB,QACAC,QACAC,OACAJ,OACAC,OACAI,WACAC,QACAC,SACAC,oBACAC,QACAC,YACAC,YACAC,mBACAC,mBACAC,wBACAC,wBACAC,WACAC,WACAC,UACAC,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,mBACAlC,SACAH,OACAC,YACAC,SACAE,WACAC,UACAC,QACAC,UACAC,QACA0J,aACAC,UAAA,YACAC,OACAtC,OACAC,OACAhH,QACAC,QACAH,OACAgD,OACAC,QACAC,eACAC,YACAC,SACAC,OACAC,OACAC,SACAC,QACAC,OACAC,QACAC,SACAC,SACAC,UACAC,UACAC,SACAC,SACAC,kBACAC,YACAC,aACAC,WACAC,aACAC,YACAC,QACAC,SACAC,OACAC,SACAC,WACAC,WACAC,YACAC,MACAC,OACAC,QACAC,WACAC,OACAC,QACAC,UACAC,UACAC,UACAC,YACAC,MACAC,WACAC,SACAC,YACAC,SACAC,SACAC,WACAC,aACAC,aACA1F,QACAC,SACAiJ,SACAC,OACAC,OACAC,OACAC,OACAC,UACAC,gBACA7D,UACAC,WACAC,SACAC,UACAC,OACAhG,WACAO,mBACAC,mBACAC,wBACAC,wBACAC,WACAC,WACAC,UACAC,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,mBACAd,YACAC,YACA8F,QACAsD,UACAzK,OAAA,SACAe,WACAK,YACAC,aACAqJ,WACAC,QAAA,UACA/J,QACAC,QACAE,WACAK,YACAC,aACAuJ,aACAD,QAAA,UACA5J,WACAK,YACAC,aACAwJ,aACAF,QAAA,UACA3K,SACA8K,WACAC,SACAC,QACAC,aACAN,QAAA,UACA3K,UACAkL,aACAP,QAAA,UACAG,WACA9K,SACAe,WACAK,YACAC,aACA8J,UACAnI,OAAA,SACAnD,QACAuL,mBACA9L,KAAA,kBACAD,QACAgM,0BACA1L,KAAA,yBACAU,QACAiL,sBACA3L,KAAA,qBACAE,OACAC,YACAC,SACAC,SACAC,WACAC,UACAC,QACAC,UACAC,QACAkL,yBACA5L,KAAA,wBACAU,OACAL,UACAwL,2BACAhM,KAAA,0BACAH,QACAoM,eACAjM,KAAA,cACAtC,MACAwO,aACAtM,IAAA,YACAC,QACAsM,oBACAC,MAAA,mBACApM,OACAtC,MACA2O,2CACAjL,MAAA,0CACAC,MAAA,0CACAiL,KAAA,0CACAvP,GAAA,0CACA0N,KAAA,0CACAvJ,KAAA,0CACAK,SAAA,0CACAK,UAAA,0CACAC,UAAA,0CACA7B,OACAG,OACAC,OACAC,OACAC,YACAC,SACAC,SACAC,WACAC,UACAC,QACAC,UACAC,QACA0L,qDACAxP,GAAA,oDACAuP,KAAA,oDACA/K,SAAA,oDACAK,UAAA,oDACAC,UAAA,oDACAhC,QACA2M,0BACA5D,QAAA,yBACAC,QAAA,yBACAE,MAAA,yBACAC,OAAA,yBACAC,MAAA,yBACAC,KAAA,yBACAC,MAAA,yBACAC,MAAA,yBACAC,QAAA,yBACAC,MAAA,yBACA5L,MACA+O,sBACA1P,GAAA,qBACAqE,MAAA,qBACAC,MAAA,qBACAE,SAAA,qBACAK,UAAA,qBACAC,UAAA,qBACA7B,OACAG,OACAC,OACAS,OACAL,SACAH,OACAC,YACAC,SACAE,WACAC,UACAC,QACAC,WACA8L,YACApL,KAAA,WACAJ,KAAA,WACAtB,MACAC,OACAC,OACAC,QACAJ,QACAiI,OACAC,QACAC,OACAC,OACAC,QACAC,QACAC,MACAX,OACAY,OACAC,OACA/F,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,mBACAiF,OACA3G,OACAhB,QACA2M,qBACAvL,MAAA,oBACAC,MAAA,oBACAC,KAAA,oBACAJ,KAAA,oBACAC,KAAA,oBACAI,SAAA,oBACAC,MAAA,oBACAC,OAAA,oBACAC,kBAAA,oBACAC,MAAA,oBACAC,UAAA,oBACAC,UAAA,oBACAC,iBAAA,oBACAC,iBAAA,oBACAC,sBAAA,oBACAC,sBAAA,oBACAC,SAAA,oBACAC,SAAA,oBACAC,QAAA,oBACAC,kBAAA,oBACAC,kBAAA,oBACAC,iBAAA,oBACAC,kBAAA,oBACAC,kBAAA,oBACAC,iBAAA,oBACA7B,QACA+L,gBACAhJ,OAAA,eACAhD,UACAiD,SACAC,UACAJ,SACAC,UACAjG,KACAmD,QACAgM,iBACAlJ,QAAA,gBACA/C,UACAiD,SACAC,UACAJ,SACAhG,KACAmD,QACAiM,iBACAlE,QAAA,gBACApF,SACAoG,UACAmD,gBACAlJ,OAAA,eACAjD,UACAlD,KACAmD,QACAmM,uBACAnJ,OAAA,sBACAC,QAAA,sBACAlD,UACAlD,KACAmD,QACAoM,iBACAnJ,QAAA,gBACAlD,UACAlD,KACAmD,QACAqM,2BACA1C,UAAA,0BACA2C,SAAA,0BACAxF,OACAzG,OACAE,QACAC,SACA+L,8BACAC,SAAA,6BACAC,MAAA,6BACAjK,SACA9B,WACAC,QACAC,SACAG,YACAC,YACAC,mBACAC,mBACAC,wBACAC,wBACAC,WACAC,WACAC,UACAC,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,mBACA3F,KACAqE,QACAC,QACAiL,OACA7B,OACAvJ,OACAf,OACAH,OACAF,OACAF,MACAC,OACAE,QACAJ,QACAiI,OACAC,QACAC,OACAC,OACAC,QACAC,QACAC,MACAX,OACAY,OACAC,OACAT,OACA3G,OACAH,OACAM,OACAG,OACAI,oBACAC,QACAvB,OACAI,SACAH,OACAC,YACAC,SACAE,WACAC,UACAC,QACAC,WACA2M,kDACA5F,KAAA,iDACA3G,KAAA,iDACAmH,OACAC,OACA/F,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,mBACA9C,MACAC,OACAC,OACAC,QACAJ,QACAiI,OACAC,QACAC,OACAC,OACAC,QACAC,QACAC,MACAX,OACAvH,QACAwN,6LACA5F,KAAA,4LACAC,MAAA,4LACAC,KAAA,4LACAC,KAAA,4LACAC,MAAA,4LACAC,MAAA,4LACAC,IAAA,4LACAX,KAAA,4LACA3H,MACAC,OACAC,OACAC,QACAJ,QACAK,QACAyN,gBACA/J,OAAA,eACA9C,UACAiD,SACAC,UACApG,KACAmD,QACA6M,YACA/F,KAAA,WACAgG,KAAA,WACAxF,KAAA,WACA9H,KAAA,WACAY,OACAD,OACAnB,OACAqB,OACAC,OACAC,QACAC,QACAC,OACAC,WACAC,QACAC,SACAC,oBACAC,QACAC,YACAC,YACAC,mBACAC,mBACAC,wBACAC,wBACAC,WACAC,WACAC,UACAC,oBACAC,oBACAC,mBACAC,oBACAC,oBACAC,oBACAkL,iBACAxM,MAAA,gBACAC,MAAA,gBACAC,KAAA,gBACAJ,KAAA,gBACAC,KAAA,gBACAI,SAAA,gBACAC,MAAA,gBACAC,OAAA,gBACAC,kBAAA,gBACAC,MAAA,gBACAC,UAAA,gBACAC,UAAA,gBACAC,iBAAA,gBACAC,iBAAA,gBACAC,sBAAA,gBACAC,sBAAA,gBACAC,SAAA,gBACAC,SAAA,gBACAC,QAAA,gBACAC,kBAAA,gBACAC,kBAAA,gBACAC,iBAAA,gBACAC,kBAAA,gBACAC,kBAAA,gBACAC,iBAAA,gBACArC,OACAC,YACAC,SACAC,SACAC,WACAC,UACAC,QACAC,UACAC,QACAgN,oBACAzM,MAAA,mBACAC,MAAA,mBACAC,KAAA,mBACAJ,KAAA,mBACAC,KAAA,mBACAI,SAAA,mBACAC,MAAA,mBACAC,OAAA,mBACAC,kBAAA,mBACAC,MAAA,mBACAC,UAAA,mBACAC,UAAA,mBACAC,iBAAA,mBACAC,iBAAA,mBACAC,sBAAA,mBACAC,sBAAA,mBACAC,SAAA,mBACAC,SAAA,mBACAC,QAAA,mBACAC,kBAAA,mBACAC,kBAAA,mBACAC,iBAAA,mBACAC,kBAAA,mBACAC,kBAAA,mBACAC,iBAAA,mBACA7B,OACAL,UACAsN,gBACAtK,OAAA,eACAnD,KAAA,eACAqD,SACAC,UACAC,SACAC,SACAC,UACAlD,UACAlD,MACAqQ,0BACA7M,KAAA,IAAA,kBAAA,MACA8M,eACA9M,KAAA,IAAA,OAAA,MACA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","file":"yasqe.min.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o=E;E++){p=\"\"===u[E]?l.length:u[E];l=l[p]=c>E?l[p]||(u[E+1]&&isNaN(u[E+1])?{}:[]):s}else i.isArray(n[p])?n[p].push(s):n[p]=void 0!==n[p]?[n[p],s]:s}else p&&(n[p]=r?void 0:\"\")});return n}},{jquery:void 0}],3:[function(e,i){i.exports={table:{\"*[&&,valueLogical]\":{\"&&\":[\"[&&,valueLogical]\",\"*[&&,valueLogical]\"],AS:[],\")\":[],\",\":[],\"||\":[],\";\":[]},\"*[,,expression]\":{\",\":[\"[,,expression]\",\"*[,,expression]\"],\")\":[]},\"*[,,objectPath]\":{\",\":[\"[,,objectPath]\",\"*[,,objectPath]\"],\".\":[],\";\":[],\"]\":[],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"*[,,object]\":{\",\":[\"[,,object]\",\"*[,,object]\"],\".\":[],\";\":[],\"]\":[],\"}\":[],GRAPH:[],\"{\":[],OPTIONAL:[],MINUS:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[]},\"*[/,pathEltOrInverse]\":{\"/\":[\"[/,pathEltOrInverse]\",\"*[/,pathEltOrInverse]\"],\"|\":[],\")\":[],\"(\":[],\"[\":[],VAR1:[],VAR2:[],NIL:[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[]},\"*[;,?[or([verbPath,verbSimple]),objectList]]\":{\";\":[\"[;,?[or([verbPath,verbSimple]),objectList]]\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],\".\":[],\"]\":[],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"*[;,?[verb,objectList]]\":{\";\":[\"[;,?[verb,objectList]]\",\"*[;,?[verb,objectList]]\"],\".\":[],\"]\":[],\"}\":[],GRAPH:[],\"{\":[],OPTIONAL:[],MINUS:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[]},\"*[UNION,groupGraphPattern]\":{UNION:[\"[UNION,groupGraphPattern]\",\"*[UNION,groupGraphPattern]\"],VAR1:[],VAR2:[],NIL:[],\"(\":[],\"[\":[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],\".\":[],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"*[graphPatternNotTriples,?.,?triplesBlock]\":{\"{\":[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],OPTIONAL:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],MINUS:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],GRAPH:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],SERVICE:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],FILTER:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],BIND:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],VALUES:[\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],\"}\":[]},\"*[quadsNotTriples,?.,?triplesTemplate]\":{GRAPH:[\"[quadsNotTriples,?.,?triplesTemplate]\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],\"}\":[]},\"*[|,pathOneInPropertySet]\":{\"|\":[\"[|,pathOneInPropertySet]\",\"*[|,pathOneInPropertySet]\"],\")\":[]},\"*[|,pathSequence]\":{\"|\":[\"[|,pathSequence]\",\"*[|,pathSequence]\"],\")\":[],\"(\":[],\"[\":[],VAR1:[],VAR2:[],NIL:[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[]},\"*[||,conditionalAndExpression]\":{\"||\":[\"[||,conditionalAndExpression]\",\"*[||,conditionalAndExpression]\"],AS:[],\")\":[],\",\":[],\";\":[]},\"*dataBlockValue\":{UNDEF:[\"dataBlockValue\",\"*dataBlockValue\"],IRI_REF:[\"dataBlockValue\",\"*dataBlockValue\"],TRUE:[\"dataBlockValue\",\"*dataBlockValue\"],FALSE:[\"dataBlockValue\",\"*dataBlockValue\"],PNAME_LN:[\"dataBlockValue\",\"*dataBlockValue\"],PNAME_NS:[\"dataBlockValue\",\"*dataBlockValue\"],STRING_LITERAL1:[\"dataBlockValue\",\"*dataBlockValue\"],STRING_LITERAL2:[\"dataBlockValue\",\"*dataBlockValue\"],STRING_LITERAL_LONG1:[\"dataBlockValue\",\"*dataBlockValue\"],STRING_LITERAL_LONG2:[\"dataBlockValue\",\"*dataBlockValue\"],INTEGER:[\"dataBlockValue\",\"*dataBlockValue\"],DECIMAL:[\"dataBlockValue\",\"*dataBlockValue\"],DOUBLE:[\"dataBlockValue\",\"*dataBlockValue\"],INTEGER_POSITIVE:[\"dataBlockValue\",\"*dataBlockValue\"],DECIMAL_POSITIVE:[\"dataBlockValue\",\"*dataBlockValue\"],DOUBLE_POSITIVE:[\"dataBlockValue\",\"*dataBlockValue\"],INTEGER_NEGATIVE:[\"dataBlockValue\",\"*dataBlockValue\"],DECIMAL_NEGATIVE:[\"dataBlockValue\",\"*dataBlockValue\"],DOUBLE_NEGATIVE:[\"dataBlockValue\",\"*dataBlockValue\"],\"}\":[],\")\":[]},\"*datasetClause\":{FROM:[\"datasetClause\",\"*datasetClause\"],WHERE:[],\"{\":[]},\"*describeDatasetClause\":{FROM:[\"describeDatasetClause\",\"*describeDatasetClause\"],ORDER:[],HAVING:[],GROUP:[],LIMIT:[],OFFSET:[],WHERE:[],\"{\":[],VALUES:[],$:[]},\"*graphNode\":{\"(\":[\"graphNode\",\"*graphNode\"],\"[\":[\"graphNode\",\"*graphNode\"],VAR1:[\"graphNode\",\"*graphNode\"],VAR2:[\"graphNode\",\"*graphNode\"],NIL:[\"graphNode\",\"*graphNode\"],IRI_REF:[\"graphNode\",\"*graphNode\"],TRUE:[\"graphNode\",\"*graphNode\"],FALSE:[\"graphNode\",\"*graphNode\"],BLANK_NODE_LABEL:[\"graphNode\",\"*graphNode\"],ANON:[\"graphNode\",\"*graphNode\"],PNAME_LN:[\"graphNode\",\"*graphNode\"],PNAME_NS:[\"graphNode\",\"*graphNode\"],STRING_LITERAL1:[\"graphNode\",\"*graphNode\"],STRING_LITERAL2:[\"graphNode\",\"*graphNode\"],STRING_LITERAL_LONG1:[\"graphNode\",\"*graphNode\"],STRING_LITERAL_LONG2:[\"graphNode\",\"*graphNode\"],INTEGER:[\"graphNode\",\"*graphNode\"],DECIMAL:[\"graphNode\",\"*graphNode\"],DOUBLE:[\"graphNode\",\"*graphNode\"],INTEGER_POSITIVE:[\"graphNode\",\"*graphNode\"],DECIMAL_POSITIVE:[\"graphNode\",\"*graphNode\"],DOUBLE_POSITIVE:[\"graphNode\",\"*graphNode\"],INTEGER_NEGATIVE:[\"graphNode\",\"*graphNode\"],DECIMAL_NEGATIVE:[\"graphNode\",\"*graphNode\"],DOUBLE_NEGATIVE:[\"graphNode\",\"*graphNode\"],\")\":[]},\"*graphNodePath\":{\"(\":[\"graphNodePath\",\"*graphNodePath\"],\"[\":[\"graphNodePath\",\"*graphNodePath\"],VAR1:[\"graphNodePath\",\"*graphNodePath\"],VAR2:[\"graphNodePath\",\"*graphNodePath\"],NIL:[\"graphNodePath\",\"*graphNodePath\"],IRI_REF:[\"graphNodePath\",\"*graphNodePath\"],TRUE:[\"graphNodePath\",\"*graphNodePath\"],FALSE:[\"graphNodePath\",\"*graphNodePath\"],BLANK_NODE_LABEL:[\"graphNodePath\",\"*graphNodePath\"],ANON:[\"graphNodePath\",\"*graphNodePath\"],PNAME_LN:[\"graphNodePath\",\"*graphNodePath\"],PNAME_NS:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL1:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL2:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL_LONG1:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL_LONG2:[\"graphNodePath\",\"*graphNodePath\"],INTEGER:[\"graphNodePath\",\"*graphNodePath\"],DECIMAL:[\"graphNodePath\",\"*graphNodePath\"],DOUBLE:[\"graphNodePath\",\"*graphNodePath\"],INTEGER_POSITIVE:[\"graphNodePath\",\"*graphNodePath\"],DECIMAL_POSITIVE:[\"graphNodePath\",\"*graphNodePath\"],DOUBLE_POSITIVE:[\"graphNodePath\",\"*graphNodePath\"],INTEGER_NEGATIVE:[\"graphNodePath\",\"*graphNodePath\"],DECIMAL_NEGATIVE:[\"graphNodePath\",\"*graphNodePath\"],DOUBLE_NEGATIVE:[\"graphNodePath\",\"*graphNodePath\"],\")\":[]},\"*groupCondition\":{\"(\":[\"groupCondition\",\"*groupCondition\"],STR:[\"groupCondition\",\"*groupCondition\"],LANG:[\"groupCondition\",\"*groupCondition\"],LANGMATCHES:[\"groupCondition\",\"*groupCondition\"],DATATYPE:[\"groupCondition\",\"*groupCondition\"],BOUND:[\"groupCondition\",\"*groupCondition\"],IRI:[\"groupCondition\",\"*groupCondition\"],URI:[\"groupCondition\",\"*groupCondition\"],BNODE:[\"groupCondition\",\"*groupCondition\"],RAND:[\"groupCondition\",\"*groupCondition\"],ABS:[\"groupCondition\",\"*groupCondition\"],CEIL:[\"groupCondition\",\"*groupCondition\"],FLOOR:[\"groupCondition\",\"*groupCondition\"],ROUND:[\"groupCondition\",\"*groupCondition\"],CONCAT:[\"groupCondition\",\"*groupCondition\"],STRLEN:[\"groupCondition\",\"*groupCondition\"],UCASE:[\"groupCondition\",\"*groupCondition\"],LCASE:[\"groupCondition\",\"*groupCondition\"],ENCODE_FOR_URI:[\"groupCondition\",\"*groupCondition\"],CONTAINS:[\"groupCondition\",\"*groupCondition\"],STRSTARTS:[\"groupCondition\",\"*groupCondition\"],STRENDS:[\"groupCondition\",\"*groupCondition\"],STRBEFORE:[\"groupCondition\",\"*groupCondition\"],STRAFTER:[\"groupCondition\",\"*groupCondition\"],YEAR:[\"groupCondition\",\"*groupCondition\"],MONTH:[\"groupCondition\",\"*groupCondition\"],DAY:[\"groupCondition\",\"*groupCondition\"],HOURS:[\"groupCondition\",\"*groupCondition\"],MINUTES:[\"groupCondition\",\"*groupCondition\"],SECONDS:[\"groupCondition\",\"*groupCondition\"],TIMEZONE:[\"groupCondition\",\"*groupCondition\"],TZ:[\"groupCondition\",\"*groupCondition\"],NOW:[\"groupCondition\",\"*groupCondition\"],UUID:[\"groupCondition\",\"*groupCondition\"],STRUUID:[\"groupCondition\",\"*groupCondition\"],MD5:[\"groupCondition\",\"*groupCondition\"],SHA1:[\"groupCondition\",\"*groupCondition\"],SHA256:[\"groupCondition\",\"*groupCondition\"],SHA384:[\"groupCondition\",\"*groupCondition\"],SHA512:[\"groupCondition\",\"*groupCondition\"],COALESCE:[\"groupCondition\",\"*groupCondition\"],IF:[\"groupCondition\",\"*groupCondition\"],STRLANG:[\"groupCondition\",\"*groupCondition\"],STRDT:[\"groupCondition\",\"*groupCondition\"],SAMETERM:[\"groupCondition\",\"*groupCondition\"],ISIRI:[\"groupCondition\",\"*groupCondition\"],ISURI:[\"groupCondition\",\"*groupCondition\"],ISBLANK:[\"groupCondition\",\"*groupCondition\"],ISLITERAL:[\"groupCondition\",\"*groupCondition\"],ISNUMERIC:[\"groupCondition\",\"*groupCondition\"],VAR1:[\"groupCondition\",\"*groupCondition\"],VAR2:[\"groupCondition\",\"*groupCondition\"],SUBSTR:[\"groupCondition\",\"*groupCondition\"],REPLACE:[\"groupCondition\",\"*groupCondition\"],REGEX:[\"groupCondition\",\"*groupCondition\"],EXISTS:[\"groupCondition\",\"*groupCondition\"],NOT:[\"groupCondition\",\"*groupCondition\"],IRI_REF:[\"groupCondition\",\"*groupCondition\"],PNAME_LN:[\"groupCondition\",\"*groupCondition\"],PNAME_NS:[\"groupCondition\",\"*groupCondition\"],VALUES:[],LIMIT:[],OFFSET:[],ORDER:[],HAVING:[],$:[],\"}\":[]},\"*havingCondition\":{\"(\":[\"havingCondition\",\"*havingCondition\"],STR:[\"havingCondition\",\"*havingCondition\"],LANG:[\"havingCondition\",\"*havingCondition\"],LANGMATCHES:[\"havingCondition\",\"*havingCondition\"],DATATYPE:[\"havingCondition\",\"*havingCondition\"],BOUND:[\"havingCondition\",\"*havingCondition\"],IRI:[\"havingCondition\",\"*havingCondition\"],URI:[\"havingCondition\",\"*havingCondition\"],BNODE:[\"havingCondition\",\"*havingCondition\"],RAND:[\"havingCondition\",\"*havingCondition\"],ABS:[\"havingCondition\",\"*havingCondition\"],CEIL:[\"havingCondition\",\"*havingCondition\"],FLOOR:[\"havingCondition\",\"*havingCondition\"],ROUND:[\"havingCondition\",\"*havingCondition\"],CONCAT:[\"havingCondition\",\"*havingCondition\"],STRLEN:[\"havingCondition\",\"*havingCondition\"],UCASE:[\"havingCondition\",\"*havingCondition\"],LCASE:[\"havingCondition\",\"*havingCondition\"],ENCODE_FOR_URI:[\"havingCondition\",\"*havingCondition\"],CONTAINS:[\"havingCondition\",\"*havingCondition\"],STRSTARTS:[\"havingCondition\",\"*havingCondition\"],STRENDS:[\"havingCondition\",\"*havingCondition\"],STRBEFORE:[\"havingCondition\",\"*havingCondition\"],STRAFTER:[\"havingCondition\",\"*havingCondition\"],YEAR:[\"havingCondition\",\"*havingCondition\"],MONTH:[\"havingCondition\",\"*havingCondition\"],DAY:[\"havingCondition\",\"*havingCondition\"],HOURS:[\"havingCondition\",\"*havingCondition\"],MINUTES:[\"havingCondition\",\"*havingCondition\"],SECONDS:[\"havingCondition\",\"*havingCondition\"],TIMEZONE:[\"havingCondition\",\"*havingCondition\"],TZ:[\"havingCondition\",\"*havingCondition\"],NOW:[\"havingCondition\",\"*havingCondition\"],UUID:[\"havingCondition\",\"*havingCondition\"],STRUUID:[\"havingCondition\",\"*havingCondition\"],MD5:[\"havingCondition\",\"*havingCondition\"],SHA1:[\"havingCondition\",\"*havingCondition\"],SHA256:[\"havingCondition\",\"*havingCondition\"],SHA384:[\"havingCondition\",\"*havingCondition\"],SHA512:[\"havingCondition\",\"*havingCondition\"],COALESCE:[\"havingCondition\",\"*havingCondition\"],IF:[\"havingCondition\",\"*havingCondition\"],STRLANG:[\"havingCondition\",\"*havingCondition\"],STRDT:[\"havingCondition\",\"*havingCondition\"],SAMETERM:[\"havingCondition\",\"*havingCondition\"],ISIRI:[\"havingCondition\",\"*havingCondition\"],ISURI:[\"havingCondition\",\"*havingCondition\"],ISBLANK:[\"havingCondition\",\"*havingCondition\"],ISLITERAL:[\"havingCondition\",\"*havingCondition\"],ISNUMERIC:[\"havingCondition\",\"*havingCondition\"],SUBSTR:[\"havingCondition\",\"*havingCondition\"],REPLACE:[\"havingCondition\",\"*havingCondition\"],REGEX:[\"havingCondition\",\"*havingCondition\"],EXISTS:[\"havingCondition\",\"*havingCondition\"],NOT:[\"havingCondition\",\"*havingCondition\"],IRI_REF:[\"havingCondition\",\"*havingCondition\"],PNAME_LN:[\"havingCondition\",\"*havingCondition\"],PNAME_NS:[\"havingCondition\",\"*havingCondition\"],VALUES:[],LIMIT:[],OFFSET:[],ORDER:[],$:[],\"}\":[]},\"*or([[ (,*dataBlockValue,)],NIL])\":{\"(\":[\"or([[ (,*dataBlockValue,)],NIL])\",\"*or([[ (,*dataBlockValue,)],NIL])\"],NIL:[\"or([[ (,*dataBlockValue,)],NIL])\",\"*or([[ (,*dataBlockValue,)],NIL])\"],\"}\":[]},\"*or([[*,unaryExpression],[/,unaryExpression]])\":{\"*\":[\"or([[*,unaryExpression],[/,unaryExpression]])\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],\"/\":[\"or([[*,unaryExpression],[/,unaryExpression]])\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],AS:[],\")\":[],\",\":[],\"||\":[],\"&&\":[],\"=\":[],\"!=\":[],\"<\":[],\">\":[],\"<=\":[],\">=\":[],IN:[],NOT:[],\"+\":[],\"-\":[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],\";\":[]},\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\":{\"+\":[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],\"-\":[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],INTEGER_POSITIVE:[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DECIMAL_POSITIVE:[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DOUBLE_POSITIVE:[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],INTEGER_NEGATIVE:[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DECIMAL_NEGATIVE:[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DOUBLE_NEGATIVE:[\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],AS:[],\")\":[],\",\":[],\"||\":[],\"&&\":[],\"=\":[],\"!=\":[],\"<\":[],\">\":[],\"<=\":[],\">=\":[],IN:[],NOT:[],\";\":[]},\"*or([baseDecl,prefixDecl])\":{BASE:[\"or([baseDecl,prefixDecl])\",\"*or([baseDecl,prefixDecl])\"],PREFIX:[\"or([baseDecl,prefixDecl])\",\"*or([baseDecl,prefixDecl])\"],$:[],CONSTRUCT:[],DESCRIBE:[],ASK:[],INSERT:[],DELETE:[],SELECT:[],LOAD:[],CLEAR:[],DROP:[],ADD:[],MOVE:[],COPY:[],CREATE:[],WITH:[]},\"*or([var,[ (,expression,AS,var,)]])\":{\"(\":[\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"],VAR1:[\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"],VAR2:[\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"],WHERE:[],\"{\":[],FROM:[]},\"*orderCondition\":{ASC:[\"orderCondition\",\"*orderCondition\"],DESC:[\"orderCondition\",\"*orderCondition\"],VAR1:[\"orderCondition\",\"*orderCondition\"],VAR2:[\"orderCondition\",\"*orderCondition\"],\"(\":[\"orderCondition\",\"*orderCondition\"],STR:[\"orderCondition\",\"*orderCondition\"],LANG:[\"orderCondition\",\"*orderCondition\"],LANGMATCHES:[\"orderCondition\",\"*orderCondition\"],DATATYPE:[\"orderCondition\",\"*orderCondition\"],BOUND:[\"orderCondition\",\"*orderCondition\"],IRI:[\"orderCondition\",\"*orderCondition\"],URI:[\"orderCondition\",\"*orderCondition\"],BNODE:[\"orderCondition\",\"*orderCondition\"],RAND:[\"orderCondition\",\"*orderCondition\"],ABS:[\"orderCondition\",\"*orderCondition\"],CEIL:[\"orderCondition\",\"*orderCondition\"],FLOOR:[\"orderCondition\",\"*orderCondition\"],ROUND:[\"orderCondition\",\"*orderCondition\"],CONCAT:[\"orderCondition\",\"*orderCondition\"],STRLEN:[\"orderCondition\",\"*orderCondition\"],UCASE:[\"orderCondition\",\"*orderCondition\"],LCASE:[\"orderCondition\",\"*orderCondition\"],ENCODE_FOR_URI:[\"orderCondition\",\"*orderCondition\"],CONTAINS:[\"orderCondition\",\"*orderCondition\"],STRSTARTS:[\"orderCondition\",\"*orderCondition\"],STRENDS:[\"orderCondition\",\"*orderCondition\"],STRBEFORE:[\"orderCondition\",\"*orderCondition\"],STRAFTER:[\"orderCondition\",\"*orderCondition\"],YEAR:[\"orderCondition\",\"*orderCondition\"],MONTH:[\"orderCondition\",\"*orderCondition\"],DAY:[\"orderCondition\",\"*orderCondition\"],HOURS:[\"orderCondition\",\"*orderCondition\"],MINUTES:[\"orderCondition\",\"*orderCondition\"],SECONDS:[\"orderCondition\",\"*orderCondition\"],TIMEZONE:[\"orderCondition\",\"*orderCondition\"],TZ:[\"orderCondition\",\"*orderCondition\"],NOW:[\"orderCondition\",\"*orderCondition\"],UUID:[\"orderCondition\",\"*orderCondition\"],STRUUID:[\"orderCondition\",\"*orderCondition\"],MD5:[\"orderCondition\",\"*orderCondition\"],SHA1:[\"orderCondition\",\"*orderCondition\"],SHA256:[\"orderCondition\",\"*orderCondition\"],SHA384:[\"orderCondition\",\"*orderCondition\"],SHA512:[\"orderCondition\",\"*orderCondition\"],COALESCE:[\"orderCondition\",\"*orderCondition\"],IF:[\"orderCondition\",\"*orderCondition\"],STRLANG:[\"orderCondition\",\"*orderCondition\"],STRDT:[\"orderCondition\",\"*orderCondition\"],SAMETERM:[\"orderCondition\",\"*orderCondition\"],ISIRI:[\"orderCondition\",\"*orderCondition\"],ISURI:[\"orderCondition\",\"*orderCondition\"],ISBLANK:[\"orderCondition\",\"*orderCondition\"],ISLITERAL:[\"orderCondition\",\"*orderCondition\"],ISNUMERIC:[\"orderCondition\",\"*orderCondition\"],SUBSTR:[\"orderCondition\",\"*orderCondition\"],REPLACE:[\"orderCondition\",\"*orderCondition\"],REGEX:[\"orderCondition\",\"*orderCondition\"],EXISTS:[\"orderCondition\",\"*orderCondition\"],NOT:[\"orderCondition\",\"*orderCondition\"],IRI_REF:[\"orderCondition\",\"*orderCondition\"],PNAME_LN:[\"orderCondition\",\"*orderCondition\"],PNAME_NS:[\"orderCondition\",\"*orderCondition\"],VALUES:[],LIMIT:[],OFFSET:[],$:[],\"}\":[]},\"*usingClause\":{USING:[\"usingClause\",\"*usingClause\"],WHERE:[]},\"*var\":{VAR1:[\"var\",\"*var\"],VAR2:[\"var\",\"*var\"],\")\":[]},\"*varOrIRIref\":{VAR1:[\"varOrIRIref\",\"*varOrIRIref\"],VAR2:[\"varOrIRIref\",\"*varOrIRIref\"],IRI_REF:[\"varOrIRIref\",\"*varOrIRIref\"],PNAME_LN:[\"varOrIRIref\",\"*varOrIRIref\"],PNAME_NS:[\"varOrIRIref\",\"*varOrIRIref\"],ORDER:[],HAVING:[],GROUP:[],LIMIT:[],OFFSET:[],WHERE:[],\"{\":[],FROM:[],VALUES:[],$:[]},\"+graphNode\":{\"(\":[\"graphNode\",\"*graphNode\"],\"[\":[\"graphNode\",\"*graphNode\"],VAR1:[\"graphNode\",\"*graphNode\"],VAR2:[\"graphNode\",\"*graphNode\"],NIL:[\"graphNode\",\"*graphNode\"],IRI_REF:[\"graphNode\",\"*graphNode\"],TRUE:[\"graphNode\",\"*graphNode\"],FALSE:[\"graphNode\",\"*graphNode\"],BLANK_NODE_LABEL:[\"graphNode\",\"*graphNode\"],ANON:[\"graphNode\",\"*graphNode\"],PNAME_LN:[\"graphNode\",\"*graphNode\"],PNAME_NS:[\"graphNode\",\"*graphNode\"],STRING_LITERAL1:[\"graphNode\",\"*graphNode\"],STRING_LITERAL2:[\"graphNode\",\"*graphNode\"],STRING_LITERAL_LONG1:[\"graphNode\",\"*graphNode\"],STRING_LITERAL_LONG2:[\"graphNode\",\"*graphNode\"],INTEGER:[\"graphNode\",\"*graphNode\"],DECIMAL:[\"graphNode\",\"*graphNode\"],DOUBLE:[\"graphNode\",\"*graphNode\"],INTEGER_POSITIVE:[\"graphNode\",\"*graphNode\"],DECIMAL_POSITIVE:[\"graphNode\",\"*graphNode\"],DOUBLE_POSITIVE:[\"graphNode\",\"*graphNode\"],INTEGER_NEGATIVE:[\"graphNode\",\"*graphNode\"],DECIMAL_NEGATIVE:[\"graphNode\",\"*graphNode\"],DOUBLE_NEGATIVE:[\"graphNode\",\"*graphNode\"]},\"+graphNodePath\":{\"(\":[\"graphNodePath\",\"*graphNodePath\"],\"[\":[\"graphNodePath\",\"*graphNodePath\"],VAR1:[\"graphNodePath\",\"*graphNodePath\"],VAR2:[\"graphNodePath\",\"*graphNodePath\"],NIL:[\"graphNodePath\",\"*graphNodePath\"],IRI_REF:[\"graphNodePath\",\"*graphNodePath\"],TRUE:[\"graphNodePath\",\"*graphNodePath\"],FALSE:[\"graphNodePath\",\"*graphNodePath\"],BLANK_NODE_LABEL:[\"graphNodePath\",\"*graphNodePath\"],ANON:[\"graphNodePath\",\"*graphNodePath\"],PNAME_LN:[\"graphNodePath\",\"*graphNodePath\"],PNAME_NS:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL1:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL2:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL_LONG1:[\"graphNodePath\",\"*graphNodePath\"],STRING_LITERAL_LONG2:[\"graphNodePath\",\"*graphNodePath\"],INTEGER:[\"graphNodePath\",\"*graphNodePath\"],DECIMAL:[\"graphNodePath\",\"*graphNodePath\"],DOUBLE:[\"graphNodePath\",\"*graphNodePath\"],INTEGER_POSITIVE:[\"graphNodePath\",\"*graphNodePath\"],DECIMAL_POSITIVE:[\"graphNodePath\",\"*graphNodePath\"],DOUBLE_POSITIVE:[\"graphNodePath\",\"*graphNodePath\"],INTEGER_NEGATIVE:[\"graphNodePath\",\"*graphNodePath\"],DECIMAL_NEGATIVE:[\"graphNodePath\",\"*graphNodePath\"],DOUBLE_NEGATIVE:[\"graphNodePath\",\"*graphNodePath\"]},\"+groupCondition\":{\"(\":[\"groupCondition\",\"*groupCondition\"],STR:[\"groupCondition\",\"*groupCondition\"],LANG:[\"groupCondition\",\"*groupCondition\"],LANGMATCHES:[\"groupCondition\",\"*groupCondition\"],DATATYPE:[\"groupCondition\",\"*groupCondition\"],BOUND:[\"groupCondition\",\"*groupCondition\"],IRI:[\"groupCondition\",\"*groupCondition\"],URI:[\"groupCondition\",\"*groupCondition\"],BNODE:[\"groupCondition\",\"*groupCondition\"],RAND:[\"groupCondition\",\"*groupCondition\"],ABS:[\"groupCondition\",\"*groupCondition\"],CEIL:[\"groupCondition\",\"*groupCondition\"],FLOOR:[\"groupCondition\",\"*groupCondition\"],ROUND:[\"groupCondition\",\"*groupCondition\"],CONCAT:[\"groupCondition\",\"*groupCondition\"],STRLEN:[\"groupCondition\",\"*groupCondition\"],UCASE:[\"groupCondition\",\"*groupCondition\"],LCASE:[\"groupCondition\",\"*groupCondition\"],ENCODE_FOR_URI:[\"groupCondition\",\"*groupCondition\"],CONTAINS:[\"groupCondition\",\"*groupCondition\"],STRSTARTS:[\"groupCondition\",\"*groupCondition\"],STRENDS:[\"groupCondition\",\"*groupCondition\"],STRBEFORE:[\"groupCondition\",\"*groupCondition\"],STRAFTER:[\"groupCondition\",\"*groupCondition\"],YEAR:[\"groupCondition\",\"*groupCondition\"],MONTH:[\"groupCondition\",\"*groupCondition\"],DAY:[\"groupCondition\",\"*groupCondition\"],HOURS:[\"groupCondition\",\"*groupCondition\"],MINUTES:[\"groupCondition\",\"*groupCondition\"],SECONDS:[\"groupCondition\",\"*groupCondition\"],TIMEZONE:[\"groupCondition\",\"*groupCondition\"],TZ:[\"groupCondition\",\"*groupCondition\"],NOW:[\"groupCondition\",\"*groupCondition\"],UUID:[\"groupCondition\",\"*groupCondition\"],STRUUID:[\"groupCondition\",\"*groupCondition\"],MD5:[\"groupCondition\",\"*groupCondition\"],SHA1:[\"groupCondition\",\"*groupCondition\"],SHA256:[\"groupCondition\",\"*groupCondition\"],SHA384:[\"groupCondition\",\"*groupCondition\"],SHA512:[\"groupCondition\",\"*groupCondition\"],COALESCE:[\"groupCondition\",\"*groupCondition\"],IF:[\"groupCondition\",\"*groupCondition\"],STRLANG:[\"groupCondition\",\"*groupCondition\"],STRDT:[\"groupCondition\",\"*groupCondition\"],SAMETERM:[\"groupCondition\",\"*groupCondition\"],ISIRI:[\"groupCondition\",\"*groupCondition\"],ISURI:[\"groupCondition\",\"*groupCondition\"],ISBLANK:[\"groupCondition\",\"*groupCondition\"],ISLITERAL:[\"groupCondition\",\"*groupCondition\"],ISNUMERIC:[\"groupCondition\",\"*groupCondition\"],VAR1:[\"groupCondition\",\"*groupCondition\"],VAR2:[\"groupCondition\",\"*groupCondition\"],SUBSTR:[\"groupCondition\",\"*groupCondition\"],REPLACE:[\"groupCondition\",\"*groupCondition\"],REGEX:[\"groupCondition\",\"*groupCondition\"],EXISTS:[\"groupCondition\",\"*groupCondition\"],NOT:[\"groupCondition\",\"*groupCondition\"],IRI_REF:[\"groupCondition\",\"*groupCondition\"],PNAME_LN:[\"groupCondition\",\"*groupCondition\"],PNAME_NS:[\"groupCondition\",\"*groupCondition\"]},\"+havingCondition\":{\"(\":[\"havingCondition\",\"*havingCondition\"],STR:[\"havingCondition\",\"*havingCondition\"],LANG:[\"havingCondition\",\"*havingCondition\"],LANGMATCHES:[\"havingCondition\",\"*havingCondition\"],DATATYPE:[\"havingCondition\",\"*havingCondition\"],BOUND:[\"havingCondition\",\"*havingCondition\"],IRI:[\"havingCondition\",\"*havingCondition\"],URI:[\"havingCondition\",\"*havingCondition\"],BNODE:[\"havingCondition\",\"*havingCondition\"],RAND:[\"havingCondition\",\"*havingCondition\"],ABS:[\"havingCondition\",\"*havingCondition\"],CEIL:[\"havingCondition\",\"*havingCondition\"],FLOOR:[\"havingCondition\",\"*havingCondition\"],ROUND:[\"havingCondition\",\"*havingCondition\"],CONCAT:[\"havingCondition\",\"*havingCondition\"],STRLEN:[\"havingCondition\",\"*havingCondition\"],UCASE:[\"havingCondition\",\"*havingCondition\"],LCASE:[\"havingCondition\",\"*havingCondition\"],ENCODE_FOR_URI:[\"havingCondition\",\"*havingCondition\"],CONTAINS:[\"havingCondition\",\"*havingCondition\"],STRSTARTS:[\"havingCondition\",\"*havingCondition\"],STRENDS:[\"havingCondition\",\"*havingCondition\"],STRBEFORE:[\"havingCondition\",\"*havingCondition\"],STRAFTER:[\"havingCondition\",\"*havingCondition\"],YEAR:[\"havingCondition\",\"*havingCondition\"],MONTH:[\"havingCondition\",\"*havingCondition\"],DAY:[\"havingCondition\",\"*havingCondition\"],HOURS:[\"havingCondition\",\"*havingCondition\"],MINUTES:[\"havingCondition\",\"*havingCondition\"],SECONDS:[\"havingCondition\",\"*havingCondition\"],TIMEZONE:[\"havingCondition\",\"*havingCondition\"],TZ:[\"havingCondition\",\"*havingCondition\"],NOW:[\"havingCondition\",\"*havingCondition\"],UUID:[\"havingCondition\",\"*havingCondition\"],STRUUID:[\"havingCondition\",\"*havingCondition\"],MD5:[\"havingCondition\",\"*havingCondition\"],SHA1:[\"havingCondition\",\"*havingCondition\"],SHA256:[\"havingCondition\",\"*havingCondition\"],SHA384:[\"havingCondition\",\"*havingCondition\"],SHA512:[\"havingCondition\",\"*havingCondition\"],COALESCE:[\"havingCondition\",\"*havingCondition\"],IF:[\"havingCondition\",\"*havingCondition\"],STRLANG:[\"havingCondition\",\"*havingCondition\"],STRDT:[\"havingCondition\",\"*havingCondition\"],SAMETERM:[\"havingCondition\",\"*havingCondition\"],ISIRI:[\"havingCondition\",\"*havingCondition\"],ISURI:[\"havingCondition\",\"*havingCondition\"],ISBLANK:[\"havingCondition\",\"*havingCondition\"],ISLITERAL:[\"havingCondition\",\"*havingCondition\"],ISNUMERIC:[\"havingCondition\",\"*havingCondition\"],SUBSTR:[\"havingCondition\",\"*havingCondition\"],REPLACE:[\"havingCondition\",\"*havingCondition\"],REGEX:[\"havingCondition\",\"*havingCondition\"],EXISTS:[\"havingCondition\",\"*havingCondition\"],NOT:[\"havingCondition\",\"*havingCondition\"],IRI_REF:[\"havingCondition\",\"*havingCondition\"],PNAME_LN:[\"havingCondition\",\"*havingCondition\"],PNAME_NS:[\"havingCondition\",\"*havingCondition\"]},\"+or([var,[ (,expression,AS,var,)]])\":{\"(\":[\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"],VAR1:[\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"],VAR2:[\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"]},\"+orderCondition\":{ASC:[\"orderCondition\",\"*orderCondition\"],DESC:[\"orderCondition\",\"*orderCondition\"],VAR1:[\"orderCondition\",\"*orderCondition\"],VAR2:[\"orderCondition\",\"*orderCondition\"],\"(\":[\"orderCondition\",\"*orderCondition\"],STR:[\"orderCondition\",\"*orderCondition\"],LANG:[\"orderCondition\",\"*orderCondition\"],LANGMATCHES:[\"orderCondition\",\"*orderCondition\"],DATATYPE:[\"orderCondition\",\"*orderCondition\"],BOUND:[\"orderCondition\",\"*orderCondition\"],IRI:[\"orderCondition\",\"*orderCondition\"],URI:[\"orderCondition\",\"*orderCondition\"],BNODE:[\"orderCondition\",\"*orderCondition\"],RAND:[\"orderCondition\",\"*orderCondition\"],ABS:[\"orderCondition\",\"*orderCondition\"],CEIL:[\"orderCondition\",\"*orderCondition\"],FLOOR:[\"orderCondition\",\"*orderCondition\"],ROUND:[\"orderCondition\",\"*orderCondition\"],CONCAT:[\"orderCondition\",\"*orderCondition\"],STRLEN:[\"orderCondition\",\"*orderCondition\"],UCASE:[\"orderCondition\",\"*orderCondition\"],LCASE:[\"orderCondition\",\"*orderCondition\"],ENCODE_FOR_URI:[\"orderCondition\",\"*orderCondition\"],CONTAINS:[\"orderCondition\",\"*orderCondition\"],STRSTARTS:[\"orderCondition\",\"*orderCondition\"],STRENDS:[\"orderCondition\",\"*orderCondition\"],STRBEFORE:[\"orderCondition\",\"*orderCondition\"],STRAFTER:[\"orderCondition\",\"*orderCondition\"],YEAR:[\"orderCondition\",\"*orderCondition\"],MONTH:[\"orderCondition\",\"*orderCondition\"],DAY:[\"orderCondition\",\"*orderCondition\"],HOURS:[\"orderCondition\",\"*orderCondition\"],MINUTES:[\"orderCondition\",\"*orderCondition\"],SECONDS:[\"orderCondition\",\"*orderCondition\"],TIMEZONE:[\"orderCondition\",\"*orderCondition\"],TZ:[\"orderCondition\",\"*orderCondition\"],NOW:[\"orderCondition\",\"*orderCondition\"],UUID:[\"orderCondition\",\"*orderCondition\"],STRUUID:[\"orderCondition\",\"*orderCondition\"],MD5:[\"orderCondition\",\"*orderCondition\"],SHA1:[\"orderCondition\",\"*orderCondition\"],SHA256:[\"orderCondition\",\"*orderCondition\"],SHA384:[\"orderCondition\",\"*orderCondition\"],SHA512:[\"orderCondition\",\"*orderCondition\"],COALESCE:[\"orderCondition\",\"*orderCondition\"],IF:[\"orderCondition\",\"*orderCondition\"],STRLANG:[\"orderCondition\",\"*orderCondition\"],STRDT:[\"orderCondition\",\"*orderCondition\"],SAMETERM:[\"orderCondition\",\"*orderCondition\"],ISIRI:[\"orderCondition\",\"*orderCondition\"],ISURI:[\"orderCondition\",\"*orderCondition\"],ISBLANK:[\"orderCondition\",\"*orderCondition\"],ISLITERAL:[\"orderCondition\",\"*orderCondition\"],ISNUMERIC:[\"orderCondition\",\"*orderCondition\"],SUBSTR:[\"orderCondition\",\"*orderCondition\"],REPLACE:[\"orderCondition\",\"*orderCondition\"],REGEX:[\"orderCondition\",\"*orderCondition\"],EXISTS:[\"orderCondition\",\"*orderCondition\"],NOT:[\"orderCondition\",\"*orderCondition\"],IRI_REF:[\"orderCondition\",\"*orderCondition\"],PNAME_LN:[\"orderCondition\",\"*orderCondition\"],PNAME_NS:[\"orderCondition\",\"*orderCondition\"]},\"+varOrIRIref\":{VAR1:[\"varOrIRIref\",\"*varOrIRIref\"],VAR2:[\"varOrIRIref\",\"*varOrIRIref\"],IRI_REF:[\"varOrIRIref\",\"*varOrIRIref\"],PNAME_LN:[\"varOrIRIref\",\"*varOrIRIref\"],PNAME_NS:[\"varOrIRIref\",\"*varOrIRIref\"]},\"?.\":{\".\":[\".\"],VAR1:[],VAR2:[],NIL:[],\"(\":[],\"[\":[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],GRAPH:[],\"{\":[],OPTIONAL:[],MINUS:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"?DISTINCT\":{DISTINCT:[\"DISTINCT\"],\"!\":[],\"+\":[],\"-\":[],VAR1:[],VAR2:[],\"(\":[],STR:[],LANG:[],LANGMATCHES:[],DATATYPE:[],BOUND:[],IRI:[],URI:[],BNODE:[],RAND:[],ABS:[],CEIL:[],FLOOR:[],ROUND:[],CONCAT:[],STRLEN:[],UCASE:[],LCASE:[],ENCODE_FOR_URI:[],CONTAINS:[],STRSTARTS:[],STRENDS:[],STRBEFORE:[],STRAFTER:[],YEAR:[],MONTH:[],DAY:[],HOURS:[],MINUTES:[],SECONDS:[],TIMEZONE:[],TZ:[],NOW:[],UUID:[],STRUUID:[],MD5:[],SHA1:[],SHA256:[],SHA384:[],SHA512:[],COALESCE:[],IF:[],STRLANG:[],STRDT:[],SAMETERM:[],ISIRI:[],ISURI:[],ISBLANK:[],ISLITERAL:[],ISNUMERIC:[],TRUE:[],FALSE:[],COUNT:[],SUM:[],MIN:[],MAX:[],AVG:[],SAMPLE:[],GROUP_CONCAT:[],SUBSTR:[],REPLACE:[],REGEX:[],EXISTS:[],NOT:[],IRI_REF:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],PNAME_LN:[],PNAME_NS:[],\"*\":[]},\"?GRAPH\":{GRAPH:[\"GRAPH\"],IRI_REF:[],PNAME_LN:[],PNAME_NS:[]},\"?SILENT\":{SILENT:[\"SILENT\"],VAR1:[],VAR2:[],IRI_REF:[],PNAME_LN:[],PNAME_NS:[]},\"?SILENT_1\":{SILENT:[\"SILENT\"],IRI_REF:[],PNAME_LN:[],PNAME_NS:[]},\"?SILENT_2\":{SILENT:[\"SILENT\"],GRAPH:[],DEFAULT:[],NAMED:[],ALL:[]},\"?SILENT_3\":{SILENT:[\"SILENT\"],GRAPH:[]},\"?SILENT_4\":{SILENT:[\"SILENT\"],DEFAULT:[],GRAPH:[],IRI_REF:[],PNAME_LN:[],PNAME_NS:[]},\"?WHERE\":{WHERE:[\"WHERE\"],\"{\":[]},\"?[,,expression]\":{\",\":[\"[,,expression]\"],\")\":[]},\"?[.,?constructTriples]\":{\".\":[\"[.,?constructTriples]\"],\"}\":[]},\"?[.,?triplesBlock]\":{\".\":[\"[.,?triplesBlock]\"],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"?[.,?triplesTemplate]\":{\".\":[\"[.,?triplesTemplate]\"],\"}\":[],GRAPH:[]},\"?[;,SEPARATOR,=,string]\":{\";\":[\"[;,SEPARATOR,=,string]\"],\")\":[]},\"?[;,update]\":{\";\":[\"[;,update]\"],$:[]},\"?[AS,var]\":{AS:[\"[AS,var]\"],\")\":[]},\"?[INTO,graphRef]\":{INTO:[\"[INTO,graphRef]\"],\";\":[],$:[]},\"?[or([verbPath,verbSimple]),objectList]\":{VAR1:[\"[or([verbPath,verbSimple]),objectList]\"],VAR2:[\"[or([verbPath,verbSimple]),objectList]\"],\"^\":[\"[or([verbPath,verbSimple]),objectList]\"],a:[\"[or([verbPath,verbSimple]),objectList]\"],\"!\":[\"[or([verbPath,verbSimple]),objectList]\"],\"(\":[\"[or([verbPath,verbSimple]),objectList]\"],IRI_REF:[\"[or([verbPath,verbSimple]),objectList]\"],PNAME_LN:[\"[or([verbPath,verbSimple]),objectList]\"],PNAME_NS:[\"[or([verbPath,verbSimple]),objectList]\"],\";\":[],\".\":[],\"]\":[],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"?[pathOneInPropertySet,*[|,pathOneInPropertySet]]\":{a:[\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"],\"^\":[\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"],IRI_REF:[\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"],PNAME_LN:[\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"],PNAME_NS:[\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"],\")\":[]},\"?[update1,?[;,update]]\":{INSERT:[\"[update1,?[;,update]]\"],DELETE:[\"[update1,?[;,update]]\"],LOAD:[\"[update1,?[;,update]]\"],CLEAR:[\"[update1,?[;,update]]\"],DROP:[\"[update1,?[;,update]]\"],ADD:[\"[update1,?[;,update]]\"],MOVE:[\"[update1,?[;,update]]\"],COPY:[\"[update1,?[;,update]]\"],CREATE:[\"[update1,?[;,update]]\"],WITH:[\"[update1,?[;,update]]\"],$:[]},\"?[verb,objectList]\":{a:[\"[verb,objectList]\"],VAR1:[\"[verb,objectList]\"],VAR2:[\"[verb,objectList]\"],IRI_REF:[\"[verb,objectList]\"],PNAME_LN:[\"[verb,objectList]\"],PNAME_NS:[\"[verb,objectList]\"],\";\":[],\".\":[],\"]\":[],\"}\":[],GRAPH:[],\"{\":[],OPTIONAL:[],MINUS:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[]},\"?argList\":{NIL:[\"argList\"],\"(\":[\"argList\"],AS:[],\")\":[],\",\":[],\"||\":[],\"&&\":[],\"=\":[],\"!=\":[],\"<\":[],\">\":[],\"<=\":[],\">=\":[],IN:[],NOT:[],\"+\":[],\"-\":[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],\"*\":[],\"/\":[],\";\":[]},\"?constructTriples\":{VAR1:[\"constructTriples\"],VAR2:[\"constructTriples\"],NIL:[\"constructTriples\"],\"(\":[\"constructTriples\"],\"[\":[\"constructTriples\"],IRI_REF:[\"constructTriples\"],TRUE:[\"constructTriples\"],FALSE:[\"constructTriples\"],BLANK_NODE_LABEL:[\"constructTriples\"],ANON:[\"constructTriples\"],PNAME_LN:[\"constructTriples\"],PNAME_NS:[\"constructTriples\"],STRING_LITERAL1:[\"constructTriples\"],STRING_LITERAL2:[\"constructTriples\"],STRING_LITERAL_LONG1:[\"constructTriples\"],STRING_LITERAL_LONG2:[\"constructTriples\"],INTEGER:[\"constructTriples\"],DECIMAL:[\"constructTriples\"],DOUBLE:[\"constructTriples\"],INTEGER_POSITIVE:[\"constructTriples\"],DECIMAL_POSITIVE:[\"constructTriples\"],DOUBLE_POSITIVE:[\"constructTriples\"],INTEGER_NEGATIVE:[\"constructTriples\"],DECIMAL_NEGATIVE:[\"constructTriples\"],DOUBLE_NEGATIVE:[\"constructTriples\"],\"}\":[]},\"?groupClause\":{GROUP:[\"groupClause\"],VALUES:[],LIMIT:[],OFFSET:[],ORDER:[],HAVING:[],$:[],\"}\":[]},\"?havingClause\":{HAVING:[\"havingClause\"],VALUES:[],LIMIT:[],OFFSET:[],ORDER:[],$:[],\"}\":[]},\"?insertClause\":{INSERT:[\"insertClause\"],WHERE:[],USING:[]},\"?limitClause\":{LIMIT:[\"limitClause\"],VALUES:[],$:[],\"}\":[]},\"?limitOffsetClauses\":{LIMIT:[\"limitOffsetClauses\"],OFFSET:[\"limitOffsetClauses\"],VALUES:[],$:[],\"}\":[]},\"?offsetClause\":{OFFSET:[\"offsetClause\"],VALUES:[],$:[],\"}\":[]},\"?or([DISTINCT,REDUCED])\":{DISTINCT:[\"or([DISTINCT,REDUCED])\"],REDUCED:[\"or([DISTINCT,REDUCED])\"],\"*\":[],\"(\":[],VAR1:[],VAR2:[]},\"?or([LANGTAG,[^^,iriRef]])\":{LANGTAG:[\"or([LANGTAG,[^^,iriRef]])\"],\"^^\":[\"or([LANGTAG,[^^,iriRef]])\"],UNDEF:[],IRI_REF:[],TRUE:[],FALSE:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],a:[],VAR1:[],VAR2:[],\"^\":[],\"!\":[],\"(\":[],\".\":[],\";\":[],\",\":[],AS:[],\")\":[],\"||\":[],\"&&\":[],\"=\":[],\"!=\":[],\"<\":[],\">\":[],\"<=\":[],\">=\":[],IN:[],NOT:[],\"+\":[],\"-\":[],\"*\":[],\"/\":[],\"}\":[],\"[\":[],NIL:[],BLANK_NODE_LABEL:[],ANON:[],\"]\":[],GRAPH:[],\"{\":[],OPTIONAL:[],MINUS:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[]},\"?or([[*,unaryExpression],[/,unaryExpression]])\":{\"*\":[\"or([[*,unaryExpression],[/,unaryExpression]])\"],\"/\":[\"or([[*,unaryExpression],[/,unaryExpression]])\"],\"+\":[],\"-\":[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[],AS:[],\")\":[],\",\":[],\"||\":[],\"&&\":[],\"=\":[],\"!=\":[],\"<\":[],\">\":[],\"<=\":[],\">=\":[],IN:[],NOT:[],\";\":[]},\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\":{\"=\":[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\"!=\":[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\"<\":[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\">\":[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\"<=\":[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\">=\":[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],IN:[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],NOT:[\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],AS:[],\")\":[],\",\":[],\"||\":[],\"&&\":[],\";\":[]},\"?orderClause\":{ORDER:[\"orderClause\"],VALUES:[],LIMIT:[],OFFSET:[],$:[],\"}\":[]},\"?pathMod\":{\"*\":[\"pathMod\"],\"?\":[\"pathMod\"],\"+\":[\"pathMod\"],\"{\":[\"pathMod\"],\"|\":[],\"/\":[],\")\":[],\"(\":[],\"[\":[],VAR1:[],VAR2:[],NIL:[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[]},\"?triplesBlock\":{VAR1:[\"triplesBlock\"],VAR2:[\"triplesBlock\"],NIL:[\"triplesBlock\"],\"(\":[\"triplesBlock\"],\"[\":[\"triplesBlock\"],IRI_REF:[\"triplesBlock\"],TRUE:[\"triplesBlock\"],FALSE:[\"triplesBlock\"],BLANK_NODE_LABEL:[\"triplesBlock\"],ANON:[\"triplesBlock\"],PNAME_LN:[\"triplesBlock\"],PNAME_NS:[\"triplesBlock\"],STRING_LITERAL1:[\"triplesBlock\"],STRING_LITERAL2:[\"triplesBlock\"],STRING_LITERAL_LONG1:[\"triplesBlock\"],STRING_LITERAL_LONG2:[\"triplesBlock\"],INTEGER:[\"triplesBlock\"],DECIMAL:[\"triplesBlock\"],DOUBLE:[\"triplesBlock\"],INTEGER_POSITIVE:[\"triplesBlock\"],DECIMAL_POSITIVE:[\"triplesBlock\"],DOUBLE_POSITIVE:[\"triplesBlock\"],INTEGER_NEGATIVE:[\"triplesBlock\"],DECIMAL_NEGATIVE:[\"triplesBlock\"],DOUBLE_NEGATIVE:[\"triplesBlock\"],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},\"?triplesTemplate\":{VAR1:[\"triplesTemplate\"],VAR2:[\"triplesTemplate\"],NIL:[\"triplesTemplate\"],\"(\":[\"triplesTemplate\"],\"[\":[\"triplesTemplate\"],IRI_REF:[\"triplesTemplate\"],TRUE:[\"triplesTemplate\"],FALSE:[\"triplesTemplate\"],BLANK_NODE_LABEL:[\"triplesTemplate\"],ANON:[\"triplesTemplate\"],PNAME_LN:[\"triplesTemplate\"],PNAME_NS:[\"triplesTemplate\"],STRING_LITERAL1:[\"triplesTemplate\"],STRING_LITERAL2:[\"triplesTemplate\"],STRING_LITERAL_LONG1:[\"triplesTemplate\"],STRING_LITERAL_LONG2:[\"triplesTemplate\"],INTEGER:[\"triplesTemplate\"],DECIMAL:[\"triplesTemplate\"],DOUBLE:[\"triplesTemplate\"],INTEGER_POSITIVE:[\"triplesTemplate\"],DECIMAL_POSITIVE:[\"triplesTemplate\"],DOUBLE_POSITIVE:[\"triplesTemplate\"],INTEGER_NEGATIVE:[\"triplesTemplate\"],DECIMAL_NEGATIVE:[\"triplesTemplate\"],DOUBLE_NEGATIVE:[\"triplesTemplate\"],\"}\":[],GRAPH:[]},\"?whereClause\":{WHERE:[\"whereClause\"],\"{\":[\"whereClause\"],ORDER:[],HAVING:[],GROUP:[],LIMIT:[],OFFSET:[],VALUES:[],$:[]},\"[ (,*dataBlockValue,)]\":{\"(\":[\"(\",\"*dataBlockValue\",\")\"]},\"[ (,*var,)]\":{\"(\":[\"(\",\"*var\",\")\"]},\"[ (,expression,)]\":{\"(\":[\"(\",\"expression\",\")\"]},\"[ (,expression,AS,var,)]\":{\"(\":[\"(\",\"expression\",\"AS\",\"var\",\")\"]},\"[!=,numericExpression]\":{\"!=\":[\"!=\",\"numericExpression\"]},\"[&&,valueLogical]\":{\"&&\":[\"&&\",\"valueLogical\"]},\"[*,unaryExpression]\":{\"*\":[\"*\",\"unaryExpression\"]},\"[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]\":{WHERE:[\"*datasetClause\",\"WHERE\",\"{\",\"?triplesTemplate\",\"}\",\"solutionModifier\"],FROM:[\"*datasetClause\",\"WHERE\",\"{\",\"?triplesTemplate\",\"}\",\"solutionModifier\"]},\"[+,multiplicativeExpression]\":{\"+\":[\"+\",\"multiplicativeExpression\"]},\"[,,expression]\":{\",\":[\",\",\"expression\"]},\"[,,integer,}]\":{\",\":[\",\",\"integer\",\"}\"]},\"[,,objectPath]\":{\",\":[\",\",\"objectPath\"]},\"[,,object]\":{\",\":[\",\",\"object\"]},\"[,,or([},[integer,}]])]\":{\",\":[\",\",\"or([},[integer,}]])\"]},\"[-,multiplicativeExpression]\":{\"-\":[\"-\",\"multiplicativeExpression\"]},\"[.,?constructTriples]\":{\".\":[\".\",\"?constructTriples\"]},\"[.,?triplesBlock]\":{\".\":[\".\",\"?triplesBlock\"]},\"[.,?triplesTemplate]\":{\".\":[\".\",\"?triplesTemplate\"]},\"[/,pathEltOrInverse]\":{\"/\":[\"/\",\"pathEltOrInverse\"]},\"[/,unaryExpression]\":{\"/\":[\"/\",\"unaryExpression\"]},\"[;,?[or([verbPath,verbSimple]),objectList]]\":{\";\":[\";\",\"?[or([verbPath,verbSimple]),objectList]\"]},\"[;,?[verb,objectList]]\":{\";\":[\";\",\"?[verb,objectList]\"]},\"[;,SEPARATOR,=,string]\":{\";\":[\";\",\"SEPARATOR\",\"=\",\"string\"]},\"[;,update]\":{\";\":[\";\",\"update\"]},\"[<,numericExpression]\":{\"<\":[\"<\",\"numericExpression\"]},\"[<=,numericExpression]\":{\"<=\":[\"<=\",\"numericExpression\"]},\"[=,numericExpression]\":{\"=\":[\"=\",\"numericExpression\"]},\"[>,numericExpression]\":{\">\":[\">\",\"numericExpression\"]},\"[>=,numericExpression]\":{\">=\":[\">=\",\"numericExpression\"]},\"[AS,var]\":{AS:[\"AS\",\"var\"]},\"[IN,expressionList]\":{IN:[\"IN\",\"expressionList\"]},\"[INTO,graphRef]\":{INTO:[\"INTO\",\"graphRef\"]},\"[NAMED,iriRef]\":{NAMED:[\"NAMED\",\"iriRef\"]},\"[NOT,IN,expressionList]\":{NOT:[\"NOT\",\"IN\",\"expressionList\"]},\"[UNION,groupGraphPattern]\":{UNION:[\"UNION\",\"groupGraphPattern\"]},\"[^^,iriRef]\":{\"^^\":[\"^^\",\"iriRef\"]},\"[constructTemplate,*datasetClause,whereClause,solutionModifier]\":{\"{\":[\"constructTemplate\",\"*datasetClause\",\"whereClause\",\"solutionModifier\"]},\"[deleteClause,?insertClause]\":{DELETE:[\"deleteClause\",\"?insertClause\"]},\"[graphPatternNotTriples,?.,?triplesBlock]\":{\"{\":[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],OPTIONAL:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],MINUS:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],GRAPH:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],SERVICE:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],FILTER:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],BIND:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"],VALUES:[\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"]},\"[integer,or([[,,or([},[integer,}]])],}])]\":{INTEGER:[\"integer\",\"or([[,,or([},[integer,}]])],}])\"]},\"[integer,}]\":{INTEGER:[\"integer\",\"}\"]},\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\":{INTEGER_POSITIVE:[\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"],DECIMAL_POSITIVE:[\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"],DOUBLE_POSITIVE:[\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"],INTEGER_NEGATIVE:[\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"],DECIMAL_NEGATIVE:[\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"],DOUBLE_NEGATIVE:[\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"]},\"[or([verbPath,verbSimple]),objectList]\":{VAR1:[\"or([verbPath,verbSimple])\",\"objectList\"],VAR2:[\"or([verbPath,verbSimple])\",\"objectList\"],\"^\":[\"or([verbPath,verbSimple])\",\"objectList\"],a:[\"or([verbPath,verbSimple])\",\"objectList\"],\"!\":[\"or([verbPath,verbSimple])\",\"objectList\"],\"(\":[\"or([verbPath,verbSimple])\",\"objectList\"],IRI_REF:[\"or([verbPath,verbSimple])\",\"objectList\"],PNAME_LN:[\"or([verbPath,verbSimple])\",\"objectList\"],PNAME_NS:[\"or([verbPath,verbSimple])\",\"objectList\"]},\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\":{a:[\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"],\"^\":[\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"],IRI_REF:[\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"],PNAME_LN:[\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"],PNAME_NS:[\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"]},\"[quadsNotTriples,?.,?triplesTemplate]\":{GRAPH:[\"quadsNotTriples\",\"?.\",\"?triplesTemplate\"]},\"[update1,?[;,update]]\":{INSERT:[\"update1\",\"?[;,update]\"],DELETE:[\"update1\",\"?[;,update]\"],LOAD:[\"update1\",\"?[;,update]\"],CLEAR:[\"update1\",\"?[;,update]\"],DROP:[\"update1\",\"?[;,update]\"],ADD:[\"update1\",\"?[;,update]\"],MOVE:[\"update1\",\"?[;,update]\"],COPY:[\"update1\",\"?[;,update]\"],CREATE:[\"update1\",\"?[;,update]\"],WITH:[\"update1\",\"?[;,update]\"]},\"[verb,objectList]\":{a:[\"verb\",\"objectList\"],VAR1:[\"verb\",\"objectList\"],VAR2:[\"verb\",\"objectList\"],IRI_REF:[\"verb\",\"objectList\"],PNAME_LN:[\"verb\",\"objectList\"],PNAME_NS:[\"verb\",\"objectList\"]},\"[|,pathOneInPropertySet]\":{\"|\":[\"|\",\"pathOneInPropertySet\"]},\"[|,pathSequence]\":{\"|\":[\"|\",\"pathSequence\"]},\"[||,conditionalAndExpression]\":{\"||\":[\"||\",\"conditionalAndExpression\"]},add:{ADD:[\"ADD\",\"?SILENT_4\",\"graphOrDefault\",\"TO\",\"graphOrDefault\"]},additiveExpression:{\"!\":[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],\"+\":[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],\"-\":[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],VAR1:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],VAR2:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],\"(\":[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STR:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],LANG:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],LANGMATCHES:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DATATYPE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],BOUND:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],IRI:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],URI:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],BNODE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],RAND:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ABS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],CEIL:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],FLOOR:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ROUND:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],CONCAT:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRLEN:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],UCASE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],LCASE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ENCODE_FOR_URI:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],CONTAINS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRSTARTS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRENDS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRBEFORE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRAFTER:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],YEAR:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],MONTH:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DAY:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],HOURS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],MINUTES:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SECONDS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],TIMEZONE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],TZ:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],NOW:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],UUID:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRUUID:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],MD5:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SHA1:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SHA256:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SHA384:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SHA512:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],COALESCE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],IF:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRLANG:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRDT:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SAMETERM:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ISIRI:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ISURI:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ISBLANK:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ISLITERAL:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],ISNUMERIC:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],TRUE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],FALSE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],COUNT:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SUM:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],MIN:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],MAX:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],AVG:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SAMPLE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],GROUP_CONCAT:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],SUBSTR:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],REPLACE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],REGEX:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],EXISTS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],NOT:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],IRI_REF:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRING_LITERAL1:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRING_LITERAL2:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRING_LITERAL_LONG1:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],STRING_LITERAL_LONG2:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],INTEGER:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DECIMAL:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DOUBLE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],INTEGER_POSITIVE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DECIMAL_POSITIVE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DOUBLE_POSITIVE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],INTEGER_NEGATIVE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DECIMAL_NEGATIVE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],DOUBLE_NEGATIVE:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],PNAME_LN:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"],PNAME_NS:[\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"]},aggregate:{COUNT:[\"COUNT\",\"(\",\"?DISTINCT\",\"or([*,expression])\",\")\"],SUM:[\"SUM\",\"(\",\"?DISTINCT\",\"expression\",\")\"],MIN:[\"MIN\",\"(\",\"?DISTINCT\",\"expression\",\")\"],MAX:[\"MAX\",\"(\",\"?DISTINCT\",\"expression\",\")\"],AVG:[\"AVG\",\"(\",\"?DISTINCT\",\"expression\",\")\"],SAMPLE:[\"SAMPLE\",\"(\",\"?DISTINCT\",\"expression\",\")\"],GROUP_CONCAT:[\"GROUP_CONCAT\",\"(\",\"?DISTINCT\",\"expression\",\"?[;,SEPARATOR,=,string]\",\")\"]},allowBnodes:{\"}\":[]},allowVars:{\"}\":[]},argList:{NIL:[\"NIL\"],\"(\":[\"(\",\"?DISTINCT\",\"expression\",\"*[,,expression]\",\")\"]},askQuery:{ASK:[\"ASK\",\"*datasetClause\",\"whereClause\",\"solutionModifier\"]},baseDecl:{BASE:[\"BASE\",\"IRI_REF\"]},bind:{BIND:[\"BIND\",\"(\",\"expression\",\"AS\",\"var\",\")\"]},blankNode:{BLANK_NODE_LABEL:[\"BLANK_NODE_LABEL\"],ANON:[\"ANON\"]},blankNodePropertyList:{\"[\":[\"[\",\"propertyListNotEmpty\",\"]\"]},blankNodePropertyListPath:{\"[\":[\"[\",\"propertyListPathNotEmpty\",\"]\"]},booleanLiteral:{TRUE:[\"TRUE\"],FALSE:[\"FALSE\"]},brackettedExpression:{\"(\":[\"(\",\"expression\",\")\"]},builtInCall:{STR:[\"STR\",\"(\",\"expression\",\")\"],LANG:[\"LANG\",\"(\",\"expression\",\")\"],LANGMATCHES:[\"LANGMATCHES\",\"(\",\"expression\",\",\",\"expression\",\")\"],DATATYPE:[\"DATATYPE\",\"(\",\"expression\",\")\"],BOUND:[\"BOUND\",\"(\",\"var\",\")\"],IRI:[\"IRI\",\"(\",\"expression\",\")\"],URI:[\"URI\",\"(\",\"expression\",\")\"],BNODE:[\"BNODE\",\"or([[ (,expression,)],NIL])\"],RAND:[\"RAND\",\"NIL\"],ABS:[\"ABS\",\"(\",\"expression\",\")\"],CEIL:[\"CEIL\",\"(\",\"expression\",\")\"],FLOOR:[\"FLOOR\",\"(\",\"expression\",\")\"],ROUND:[\"ROUND\",\"(\",\"expression\",\")\"],CONCAT:[\"CONCAT\",\"expressionList\"],SUBSTR:[\"substringExpression\"],STRLEN:[\"STRLEN\",\"(\",\"expression\",\")\"],REPLACE:[\"strReplaceExpression\"],UCASE:[\"UCASE\",\"(\",\"expression\",\")\"],LCASE:[\"LCASE\",\"(\",\"expression\",\")\"],ENCODE_FOR_URI:[\"ENCODE_FOR_URI\",\"(\",\"expression\",\")\"],CONTAINS:[\"CONTAINS\",\"(\",\"expression\",\",\",\"expression\",\")\"],STRSTARTS:[\"STRSTARTS\",\"(\",\"expression\",\",\",\"expression\",\")\"],STRENDS:[\"STRENDS\",\"(\",\"expression\",\",\",\"expression\",\")\"],STRBEFORE:[\"STRBEFORE\",\"(\",\"expression\",\",\",\"expression\",\")\"],STRAFTER:[\"STRAFTER\",\"(\",\"expression\",\",\",\"expression\",\")\"],YEAR:[\"YEAR\",\"(\",\"expression\",\")\"],MONTH:[\"MONTH\",\"(\",\"expression\",\")\"],DAY:[\"DAY\",\"(\",\"expression\",\")\"],HOURS:[\"HOURS\",\"(\",\"expression\",\")\"],MINUTES:[\"MINUTES\",\"(\",\"expression\",\")\"],SECONDS:[\"SECONDS\",\"(\",\"expression\",\")\"],TIMEZONE:[\"TIMEZONE\",\"(\",\"expression\",\")\"],TZ:[\"TZ\",\"(\",\"expression\",\")\"],NOW:[\"NOW\",\"NIL\"],UUID:[\"UUID\",\"NIL\"],STRUUID:[\"STRUUID\",\"NIL\"],MD5:[\"MD5\",\"(\",\"expression\",\")\"],SHA1:[\"SHA1\",\"(\",\"expression\",\")\"],SHA256:[\"SHA256\",\"(\",\"expression\",\")\"],SHA384:[\"SHA384\",\"(\",\"expression\",\")\"],SHA512:[\"SHA512\",\"(\",\"expression\",\")\"],COALESCE:[\"COALESCE\",\"expressionList\"],IF:[\"IF\",\"(\",\"expression\",\",\",\"expression\",\",\",\"expression\",\")\"],STRLANG:[\"STRLANG\",\"(\",\"expression\",\",\",\"expression\",\")\"],STRDT:[\"STRDT\",\"(\",\"expression\",\",\",\"expression\",\")\"],SAMETERM:[\"SAMETERM\",\"(\",\"expression\",\",\",\"expression\",\")\"],ISIRI:[\"ISIRI\",\"(\",\"expression\",\")\"],ISURI:[\"ISURI\",\"(\",\"expression\",\")\"],ISBLANK:[\"ISBLANK\",\"(\",\"expression\",\")\"],ISLITERAL:[\"ISLITERAL\",\"(\",\"expression\",\")\"],ISNUMERIC:[\"ISNUMERIC\",\"(\",\"expression\",\")\"],REGEX:[\"regexExpression\"],EXISTS:[\"existsFunc\"],NOT:[\"notExistsFunc\"]},clear:{CLEAR:[\"CLEAR\",\"?SILENT_2\",\"graphRefAll\"]},collection:{\"(\":[\"(\",\"+graphNode\",\")\"]},collectionPath:{\"(\":[\"(\",\"+graphNodePath\",\")\"]},conditionalAndExpression:{\"!\":[\"valueLogical\",\"*[&&,valueLogical]\"],\"+\":[\"valueLogical\",\"*[&&,valueLogical]\"],\"-\":[\"valueLogical\",\"*[&&,valueLogical]\"],VAR1:[\"valueLogical\",\"*[&&,valueLogical]\"],VAR2:[\"valueLogical\",\"*[&&,valueLogical]\"],\"(\":[\"valueLogical\",\"*[&&,valueLogical]\"],STR:[\"valueLogical\",\"*[&&,valueLogical]\"],LANG:[\"valueLogical\",\"*[&&,valueLogical]\"],LANGMATCHES:[\"valueLogical\",\"*[&&,valueLogical]\"],DATATYPE:[\"valueLogical\",\"*[&&,valueLogical]\"],BOUND:[\"valueLogical\",\"*[&&,valueLogical]\"],IRI:[\"valueLogical\",\"*[&&,valueLogical]\"],URI:[\"valueLogical\",\"*[&&,valueLogical]\"],BNODE:[\"valueLogical\",\"*[&&,valueLogical]\"],RAND:[\"valueLogical\",\"*[&&,valueLogical]\"],ABS:[\"valueLogical\",\"*[&&,valueLogical]\"],CEIL:[\"valueLogical\",\"*[&&,valueLogical]\"],FLOOR:[\"valueLogical\",\"*[&&,valueLogical]\"],ROUND:[\"valueLogical\",\"*[&&,valueLogical]\"],CONCAT:[\"valueLogical\",\"*[&&,valueLogical]\"],STRLEN:[\"valueLogical\",\"*[&&,valueLogical]\"],UCASE:[\"valueLogical\",\"*[&&,valueLogical]\"],LCASE:[\"valueLogical\",\"*[&&,valueLogical]\"],ENCODE_FOR_URI:[\"valueLogical\",\"*[&&,valueLogical]\"],CONTAINS:[\"valueLogical\",\"*[&&,valueLogical]\"],STRSTARTS:[\"valueLogical\",\"*[&&,valueLogical]\"],STRENDS:[\"valueLogical\",\"*[&&,valueLogical]\"],STRBEFORE:[\"valueLogical\",\"*[&&,valueLogical]\"],STRAFTER:[\"valueLogical\",\"*[&&,valueLogical]\"],YEAR:[\"valueLogical\",\"*[&&,valueLogical]\"],MONTH:[\"valueLogical\",\"*[&&,valueLogical]\"],DAY:[\"valueLogical\",\"*[&&,valueLogical]\"],HOURS:[\"valueLogical\",\"*[&&,valueLogical]\"],MINUTES:[\"valueLogical\",\"*[&&,valueLogical]\"],SECONDS:[\"valueLogical\",\"*[&&,valueLogical]\"],TIMEZONE:[\"valueLogical\",\"*[&&,valueLogical]\"],TZ:[\"valueLogical\",\"*[&&,valueLogical]\"],NOW:[\"valueLogical\",\"*[&&,valueLogical]\"],UUID:[\"valueLogical\",\"*[&&,valueLogical]\"],STRUUID:[\"valueLogical\",\"*[&&,valueLogical]\"],MD5:[\"valueLogical\",\"*[&&,valueLogical]\"],SHA1:[\"valueLogical\",\"*[&&,valueLogical]\"],SHA256:[\"valueLogical\",\"*[&&,valueLogical]\"],SHA384:[\"valueLogical\",\"*[&&,valueLogical]\"],SHA512:[\"valueLogical\",\"*[&&,valueLogical]\"],COALESCE:[\"valueLogical\",\"*[&&,valueLogical]\"],IF:[\"valueLogical\",\"*[&&,valueLogical]\"],STRLANG:[\"valueLogical\",\"*[&&,valueLogical]\"],STRDT:[\"valueLogical\",\"*[&&,valueLogical]\"],SAMETERM:[\"valueLogical\",\"*[&&,valueLogical]\"],ISIRI:[\"valueLogical\",\"*[&&,valueLogical]\"],ISURI:[\"valueLogical\",\"*[&&,valueLogical]\"],ISBLANK:[\"valueLogical\",\"*[&&,valueLogical]\"],ISLITERAL:[\"valueLogical\",\"*[&&,valueLogical]\"],ISNUMERIC:[\"valueLogical\",\"*[&&,valueLogical]\"],TRUE:[\"valueLogical\",\"*[&&,valueLogical]\"],FALSE:[\"valueLogical\",\"*[&&,valueLogical]\"],COUNT:[\"valueLogical\",\"*[&&,valueLogical]\"],SUM:[\"valueLogical\",\"*[&&,valueLogical]\"],MIN:[\"valueLogical\",\"*[&&,valueLogical]\"],MAX:[\"valueLogical\",\"*[&&,valueLogical]\"],AVG:[\"valueLogical\",\"*[&&,valueLogical]\"],SAMPLE:[\"valueLogical\",\"*[&&,valueLogical]\"],GROUP_CONCAT:[\"valueLogical\",\"*[&&,valueLogical]\"],SUBSTR:[\"valueLogical\",\"*[&&,valueLogical]\"],REPLACE:[\"valueLogical\",\"*[&&,valueLogical]\"],REGEX:[\"valueLogical\",\"*[&&,valueLogical]\"],EXISTS:[\"valueLogical\",\"*[&&,valueLogical]\"],NOT:[\"valueLogical\",\"*[&&,valueLogical]\"],IRI_REF:[\"valueLogical\",\"*[&&,valueLogical]\"],STRING_LITERAL1:[\"valueLogical\",\"*[&&,valueLogical]\"],STRING_LITERAL2:[\"valueLogical\",\"*[&&,valueLogical]\"],STRING_LITERAL_LONG1:[\"valueLogical\",\"*[&&,valueLogical]\"],STRING_LITERAL_LONG2:[\"valueLogical\",\"*[&&,valueLogical]\"],INTEGER:[\"valueLogical\",\"*[&&,valueLogical]\"],DECIMAL:[\"valueLogical\",\"*[&&,valueLogical]\"],DOUBLE:[\"valueLogical\",\"*[&&,valueLogical]\"],INTEGER_POSITIVE:[\"valueLogical\",\"*[&&,valueLogical]\"],DECIMAL_POSITIVE:[\"valueLogical\",\"*[&&,valueLogical]\"],DOUBLE_POSITIVE:[\"valueLogical\",\"*[&&,valueLogical]\"],INTEGER_NEGATIVE:[\"valueLogical\",\"*[&&,valueLogical]\"],DECIMAL_NEGATIVE:[\"valueLogical\",\"*[&&,valueLogical]\"],DOUBLE_NEGATIVE:[\"valueLogical\",\"*[&&,valueLogical]\"],PNAME_LN:[\"valueLogical\",\"*[&&,valueLogical]\"],PNAME_NS:[\"valueLogical\",\"*[&&,valueLogical]\"]},conditionalOrExpression:{\"!\":[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],\"+\":[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],\"-\":[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],VAR1:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],VAR2:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],\"(\":[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STR:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],LANG:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],LANGMATCHES:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DATATYPE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],BOUND:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],IRI:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],URI:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],BNODE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],RAND:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ABS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],CEIL:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],FLOOR:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ROUND:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],CONCAT:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRLEN:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],UCASE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],LCASE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ENCODE_FOR_URI:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],CONTAINS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRSTARTS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRENDS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRBEFORE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRAFTER:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],YEAR:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],MONTH:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DAY:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],HOURS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],MINUTES:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SECONDS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],TIMEZONE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],TZ:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],NOW:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],UUID:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRUUID:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],MD5:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SHA1:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SHA256:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SHA384:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SHA512:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],COALESCE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],IF:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRLANG:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRDT:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SAMETERM:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ISIRI:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ISURI:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ISBLANK:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ISLITERAL:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],ISNUMERIC:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],TRUE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],FALSE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],COUNT:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SUM:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],MIN:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],MAX:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],AVG:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SAMPLE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],GROUP_CONCAT:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],SUBSTR:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],REPLACE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],REGEX:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],EXISTS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],NOT:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],IRI_REF:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRING_LITERAL1:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRING_LITERAL2:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRING_LITERAL_LONG1:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],STRING_LITERAL_LONG2:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],INTEGER:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DECIMAL:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DOUBLE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],INTEGER_POSITIVE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DECIMAL_POSITIVE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DOUBLE_POSITIVE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],INTEGER_NEGATIVE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DECIMAL_NEGATIVE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],DOUBLE_NEGATIVE:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],PNAME_LN:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"],PNAME_NS:[\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"]},constraint:{\"(\":[\"brackettedExpression\"],STR:[\"builtInCall\"],LANG:[\"builtInCall\"],LANGMATCHES:[\"builtInCall\"],DATATYPE:[\"builtInCall\"],BOUND:[\"builtInCall\"],IRI:[\"builtInCall\"],URI:[\"builtInCall\"],BNODE:[\"builtInCall\"],RAND:[\"builtInCall\"],ABS:[\"builtInCall\"],CEIL:[\"builtInCall\"],FLOOR:[\"builtInCall\"],ROUND:[\"builtInCall\"],CONCAT:[\"builtInCall\"],STRLEN:[\"builtInCall\"],UCASE:[\"builtInCall\"],LCASE:[\"builtInCall\"],ENCODE_FOR_URI:[\"builtInCall\"],CONTAINS:[\"builtInCall\"],STRSTARTS:[\"builtInCall\"],STRENDS:[\"builtInCall\"],STRBEFORE:[\"builtInCall\"],STRAFTER:[\"builtInCall\"],YEAR:[\"builtInCall\"],MONTH:[\"builtInCall\"],DAY:[\"builtInCall\"],HOURS:[\"builtInCall\"],MINUTES:[\"builtInCall\"],SECONDS:[\"builtInCall\"],TIMEZONE:[\"builtInCall\"],TZ:[\"builtInCall\"],NOW:[\"builtInCall\"],UUID:[\"builtInCall\"],STRUUID:[\"builtInCall\"],MD5:[\"builtInCall\"],SHA1:[\"builtInCall\"],SHA256:[\"builtInCall\"],SHA384:[\"builtInCall\"],SHA512:[\"builtInCall\"],COALESCE:[\"builtInCall\"],IF:[\"builtInCall\"],STRLANG:[\"builtInCall\"],STRDT:[\"builtInCall\"],SAMETERM:[\"builtInCall\"],ISIRI:[\"builtInCall\"],ISURI:[\"builtInCall\"],ISBLANK:[\"builtInCall\"],ISLITERAL:[\"builtInCall\"],ISNUMERIC:[\"builtInCall\"],SUBSTR:[\"builtInCall\"],REPLACE:[\"builtInCall\"],REGEX:[\"builtInCall\"],EXISTS:[\"builtInCall\"],NOT:[\"builtInCall\"],IRI_REF:[\"functionCall\"],PNAME_LN:[\"functionCall\"],PNAME_NS:[\"functionCall\"]},constructQuery:{CONSTRUCT:[\"CONSTRUCT\",\"or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])\"]},constructTemplate:{\"{\":[\"{\",\"?constructTriples\",\"}\"]},constructTriples:{VAR1:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],VAR2:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],NIL:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],\"(\":[\"triplesSameSubject\",\"?[.,?constructTriples]\"],\"[\":[\"triplesSameSubject\",\"?[.,?constructTriples]\"],IRI_REF:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],TRUE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],FALSE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],BLANK_NODE_LABEL:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],ANON:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],PNAME_LN:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],PNAME_NS:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],STRING_LITERAL1:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],STRING_LITERAL2:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],STRING_LITERAL_LONG1:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],STRING_LITERAL_LONG2:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],INTEGER:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],DECIMAL:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],DOUBLE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],INTEGER_POSITIVE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],DECIMAL_POSITIVE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],DOUBLE_POSITIVE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],INTEGER_NEGATIVE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],DECIMAL_NEGATIVE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"],DOUBLE_NEGATIVE:[\"triplesSameSubject\",\"?[.,?constructTriples]\"]},copy:{COPY:[\"COPY\",\"?SILENT_4\",\"graphOrDefault\",\"TO\",\"graphOrDefault\"]},create:{CREATE:[\"CREATE\",\"?SILENT_3\",\"graphRef\"]},dataBlock:{NIL:[\"or([inlineDataOneVar,inlineDataFull])\"],\"(\":[\"or([inlineDataOneVar,inlineDataFull])\"],VAR1:[\"or([inlineDataOneVar,inlineDataFull])\"],VAR2:[\"or([inlineDataOneVar,inlineDataFull])\"]},dataBlockValue:{IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"],STRING_LITERAL1:[\"rdfLiteral\"],STRING_LITERAL2:[\"rdfLiteral\"],STRING_LITERAL_LONG1:[\"rdfLiteral\"],STRING_LITERAL_LONG2:[\"rdfLiteral\"],INTEGER:[\"numericLiteral\"],DECIMAL:[\"numericLiteral\"],DOUBLE:[\"numericLiteral\"],INTEGER_POSITIVE:[\"numericLiteral\"],DECIMAL_POSITIVE:[\"numericLiteral\"],DOUBLE_POSITIVE:[\"numericLiteral\"],INTEGER_NEGATIVE:[\"numericLiteral\"],DECIMAL_NEGATIVE:[\"numericLiteral\"],DOUBLE_NEGATIVE:[\"numericLiteral\"],TRUE:[\"booleanLiteral\"],FALSE:[\"booleanLiteral\"],UNDEF:[\"UNDEF\"]},datasetClause:{FROM:[\"FROM\",\"or([defaultGraphClause,namedGraphClause])\"]},defaultGraphClause:{IRI_REF:[\"sourceSelector\"],PNAME_LN:[\"sourceSelector\"],PNAME_NS:[\"sourceSelector\"]},delete1:{DATA:[\"DATA\",\"quadDataNoBnodes\"],WHERE:[\"WHERE\",\"quadPatternNoBnodes\"],\"{\":[\"quadPatternNoBnodes\",\"?insertClause\",\"*usingClause\",\"WHERE\",\"groupGraphPattern\"]},deleteClause:{DELETE:[\"DELETE\",\"quadPattern\"]},describeDatasetClause:{FROM:[\"FROM\",\"or([defaultGraphClause,namedGraphClause])\"]},describeQuery:{DESCRIBE:[\"DESCRIBE\",\"or([+varOrIRIref,*])\",\"*describeDatasetClause\",\"?whereClause\",\"solutionModifier\"]},disallowBnodes:{\"}\":[],GRAPH:[],VAR1:[],VAR2:[],NIL:[],\"(\":[],\"[\":[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[]},disallowVars:{\"}\":[],GRAPH:[],VAR1:[],VAR2:[],NIL:[],\"(\":[],\"[\":[],IRI_REF:[],TRUE:[],FALSE:[],BLANK_NODE_LABEL:[],ANON:[],PNAME_LN:[],PNAME_NS:[],STRING_LITERAL1:[],STRING_LITERAL2:[],STRING_LITERAL_LONG1:[],STRING_LITERAL_LONG2:[],INTEGER:[],DECIMAL:[],DOUBLE:[],INTEGER_POSITIVE:[],DECIMAL_POSITIVE:[],DOUBLE_POSITIVE:[],INTEGER_NEGATIVE:[],DECIMAL_NEGATIVE:[],DOUBLE_NEGATIVE:[]},drop:{DROP:[\"DROP\",\"?SILENT_2\",\"graphRefAll\"]},existsFunc:{EXISTS:[\"EXISTS\",\"groupGraphPattern\"]},expression:{\"!\":[\"conditionalOrExpression\"],\"+\":[\"conditionalOrExpression\"],\"-\":[\"conditionalOrExpression\"],VAR1:[\"conditionalOrExpression\"],VAR2:[\"conditionalOrExpression\"],\"(\":[\"conditionalOrExpression\"],STR:[\"conditionalOrExpression\"],LANG:[\"conditionalOrExpression\"],LANGMATCHES:[\"conditionalOrExpression\"],DATATYPE:[\"conditionalOrExpression\"],BOUND:[\"conditionalOrExpression\"],IRI:[\"conditionalOrExpression\"],URI:[\"conditionalOrExpression\"],BNODE:[\"conditionalOrExpression\"],RAND:[\"conditionalOrExpression\"],ABS:[\"conditionalOrExpression\"],CEIL:[\"conditionalOrExpression\"],FLOOR:[\"conditionalOrExpression\"],ROUND:[\"conditionalOrExpression\"],CONCAT:[\"conditionalOrExpression\"],STRLEN:[\"conditionalOrExpression\"],UCASE:[\"conditionalOrExpression\"],LCASE:[\"conditionalOrExpression\"],ENCODE_FOR_URI:[\"conditionalOrExpression\"],CONTAINS:[\"conditionalOrExpression\"],STRSTARTS:[\"conditionalOrExpression\"],STRENDS:[\"conditionalOrExpression\"],STRBEFORE:[\"conditionalOrExpression\"],STRAFTER:[\"conditionalOrExpression\"],YEAR:[\"conditionalOrExpression\"],MONTH:[\"conditionalOrExpression\"],DAY:[\"conditionalOrExpression\"],HOURS:[\"conditionalOrExpression\"],MINUTES:[\"conditionalOrExpression\"],SECONDS:[\"conditionalOrExpression\"],TIMEZONE:[\"conditionalOrExpression\"],TZ:[\"conditionalOrExpression\"],NOW:[\"conditionalOrExpression\"],UUID:[\"conditionalOrExpression\"],STRUUID:[\"conditionalOrExpression\"],MD5:[\"conditionalOrExpression\"],SHA1:[\"conditionalOrExpression\"],SHA256:[\"conditionalOrExpression\"],SHA384:[\"conditionalOrExpression\"],SHA512:[\"conditionalOrExpression\"],COALESCE:[\"conditionalOrExpression\"],IF:[\"conditionalOrExpression\"],STRLANG:[\"conditionalOrExpression\"],STRDT:[\"conditionalOrExpression\"],SAMETERM:[\"conditionalOrExpression\"],ISIRI:[\"conditionalOrExpression\"],ISURI:[\"conditionalOrExpression\"],ISBLANK:[\"conditionalOrExpression\"],ISLITERAL:[\"conditionalOrExpression\"],ISNUMERIC:[\"conditionalOrExpression\"],TRUE:[\"conditionalOrExpression\"],FALSE:[\"conditionalOrExpression\"],COUNT:[\"conditionalOrExpression\"],SUM:[\"conditionalOrExpression\"],MIN:[\"conditionalOrExpression\"],MAX:[\"conditionalOrExpression\"],AVG:[\"conditionalOrExpression\"],SAMPLE:[\"conditionalOrExpression\"],GROUP_CONCAT:[\"conditionalOrExpression\"],SUBSTR:[\"conditionalOrExpression\"],REPLACE:[\"conditionalOrExpression\"],REGEX:[\"conditionalOrExpression\"],EXISTS:[\"conditionalOrExpression\"],NOT:[\"conditionalOrExpression\"],IRI_REF:[\"conditionalOrExpression\"],STRING_LITERAL1:[\"conditionalOrExpression\"],STRING_LITERAL2:[\"conditionalOrExpression\"],STRING_LITERAL_LONG1:[\"conditionalOrExpression\"],STRING_LITERAL_LONG2:[\"conditionalOrExpression\"],INTEGER:[\"conditionalOrExpression\"],DECIMAL:[\"conditionalOrExpression\"],DOUBLE:[\"conditionalOrExpression\"],INTEGER_POSITIVE:[\"conditionalOrExpression\"],DECIMAL_POSITIVE:[\"conditionalOrExpression\"],DOUBLE_POSITIVE:[\"conditionalOrExpression\"],INTEGER_NEGATIVE:[\"conditionalOrExpression\"],DECIMAL_NEGATIVE:[\"conditionalOrExpression\"],DOUBLE_NEGATIVE:[\"conditionalOrExpression\"],PNAME_LN:[\"conditionalOrExpression\"],PNAME_NS:[\"conditionalOrExpression\"]},expressionList:{NIL:[\"NIL\"],\"(\":[\"(\",\"expression\",\"*[,,expression]\",\")\"]},filter:{FILTER:[\"FILTER\",\"constraint\"]},functionCall:{IRI_REF:[\"iriRef\",\"argList\"],PNAME_LN:[\"iriRef\",\"argList\"],PNAME_NS:[\"iriRef\",\"argList\"]},graphGraphPattern:{GRAPH:[\"GRAPH\",\"varOrIRIref\",\"groupGraphPattern\"]},graphNode:{VAR1:[\"varOrTerm\"],VAR2:[\"varOrTerm\"],NIL:[\"varOrTerm\"],IRI_REF:[\"varOrTerm\"],TRUE:[\"varOrTerm\"],FALSE:[\"varOrTerm\"],BLANK_NODE_LABEL:[\"varOrTerm\"],ANON:[\"varOrTerm\"],PNAME_LN:[\"varOrTerm\"],PNAME_NS:[\"varOrTerm\"],STRING_LITERAL1:[\"varOrTerm\"],STRING_LITERAL2:[\"varOrTerm\"],STRING_LITERAL_LONG1:[\"varOrTerm\"],STRING_LITERAL_LONG2:[\"varOrTerm\"],INTEGER:[\"varOrTerm\"],DECIMAL:[\"varOrTerm\"],DOUBLE:[\"varOrTerm\"],INTEGER_POSITIVE:[\"varOrTerm\"],DECIMAL_POSITIVE:[\"varOrTerm\"],DOUBLE_POSITIVE:[\"varOrTerm\"],INTEGER_NEGATIVE:[\"varOrTerm\"],DECIMAL_NEGATIVE:[\"varOrTerm\"],DOUBLE_NEGATIVE:[\"varOrTerm\"],\"(\":[\"triplesNode\"],\"[\":[\"triplesNode\"]},graphNodePath:{VAR1:[\"varOrTerm\"],VAR2:[\"varOrTerm\"],NIL:[\"varOrTerm\"],IRI_REF:[\"varOrTerm\"],TRUE:[\"varOrTerm\"],FALSE:[\"varOrTerm\"],BLANK_NODE_LABEL:[\"varOrTerm\"],ANON:[\"varOrTerm\"],PNAME_LN:[\"varOrTerm\"],PNAME_NS:[\"varOrTerm\"],STRING_LITERAL1:[\"varOrTerm\"],STRING_LITERAL2:[\"varOrTerm\"],STRING_LITERAL_LONG1:[\"varOrTerm\"],STRING_LITERAL_LONG2:[\"varOrTerm\"],INTEGER:[\"varOrTerm\"],DECIMAL:[\"varOrTerm\"],DOUBLE:[\"varOrTerm\"],INTEGER_POSITIVE:[\"varOrTerm\"],DECIMAL_POSITIVE:[\"varOrTerm\"],DOUBLE_POSITIVE:[\"varOrTerm\"],INTEGER_NEGATIVE:[\"varOrTerm\"],DECIMAL_NEGATIVE:[\"varOrTerm\"],DOUBLE_NEGATIVE:[\"varOrTerm\"],\"(\":[\"triplesNodePath\"],\"[\":[\"triplesNodePath\"]},graphOrDefault:{DEFAULT:[\"DEFAULT\"],IRI_REF:[\"?GRAPH\",\"iriRef\"],PNAME_LN:[\"?GRAPH\",\"iriRef\"],PNAME_NS:[\"?GRAPH\",\"iriRef\"],GRAPH:[\"?GRAPH\",\"iriRef\"]},graphPatternNotTriples:{\"{\":[\"groupOrUnionGraphPattern\"],OPTIONAL:[\"optionalGraphPattern\"],MINUS:[\"minusGraphPattern\"],GRAPH:[\"graphGraphPattern\"],SERVICE:[\"serviceGraphPattern\"],FILTER:[\"filter\"],BIND:[\"bind\"],VALUES:[\"inlineData\"]},graphRef:{GRAPH:[\"GRAPH\",\"iriRef\"]},graphRefAll:{GRAPH:[\"graphRef\"],DEFAULT:[\"DEFAULT\"],NAMED:[\"NAMED\"],ALL:[\"ALL\"]},graphTerm:{IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"],STRING_LITERAL1:[\"rdfLiteral\"],STRING_LITERAL2:[\"rdfLiteral\"],STRING_LITERAL_LONG1:[\"rdfLiteral\"],STRING_LITERAL_LONG2:[\"rdfLiteral\"],INTEGER:[\"numericLiteral\"],DECIMAL:[\"numericLiteral\"],DOUBLE:[\"numericLiteral\"],INTEGER_POSITIVE:[\"numericLiteral\"],DECIMAL_POSITIVE:[\"numericLiteral\"],DOUBLE_POSITIVE:[\"numericLiteral\"],INTEGER_NEGATIVE:[\"numericLiteral\"],DECIMAL_NEGATIVE:[\"numericLiteral\"],DOUBLE_NEGATIVE:[\"numericLiteral\"],TRUE:[\"booleanLiteral\"],FALSE:[\"booleanLiteral\"],BLANK_NODE_LABEL:[\"blankNode\"],ANON:[\"blankNode\"],NIL:[\"NIL\"]},groupClause:{GROUP:[\"GROUP\",\"BY\",\"+groupCondition\"]},groupCondition:{STR:[\"builtInCall\"],LANG:[\"builtInCall\"],LANGMATCHES:[\"builtInCall\"],DATATYPE:[\"builtInCall\"],BOUND:[\"builtInCall\"],IRI:[\"builtInCall\"],URI:[\"builtInCall\"],BNODE:[\"builtInCall\"],RAND:[\"builtInCall\"],ABS:[\"builtInCall\"],CEIL:[\"builtInCall\"],FLOOR:[\"builtInCall\"],ROUND:[\"builtInCall\"],CONCAT:[\"builtInCall\"],STRLEN:[\"builtInCall\"],UCASE:[\"builtInCall\"],LCASE:[\"builtInCall\"],ENCODE_FOR_URI:[\"builtInCall\"],CONTAINS:[\"builtInCall\"],STRSTARTS:[\"builtInCall\"],STRENDS:[\"builtInCall\"],STRBEFORE:[\"builtInCall\"],STRAFTER:[\"builtInCall\"],YEAR:[\"builtInCall\"],MONTH:[\"builtInCall\"],DAY:[\"builtInCall\"],HOURS:[\"builtInCall\"],MINUTES:[\"builtInCall\"],SECONDS:[\"builtInCall\"],TIMEZONE:[\"builtInCall\"],TZ:[\"builtInCall\"],NOW:[\"builtInCall\"],UUID:[\"builtInCall\"],STRUUID:[\"builtInCall\"],MD5:[\"builtInCall\"],SHA1:[\"builtInCall\"],SHA256:[\"builtInCall\"],SHA384:[\"builtInCall\"],SHA512:[\"builtInCall\"],COALESCE:[\"builtInCall\"],IF:[\"builtInCall\"],STRLANG:[\"builtInCall\"],STRDT:[\"builtInCall\"],SAMETERM:[\"builtInCall\"],ISIRI:[\"builtInCall\"],ISURI:[\"builtInCall\"],ISBLANK:[\"builtInCall\"],ISLITERAL:[\"builtInCall\"],ISNUMERIC:[\"builtInCall\"],SUBSTR:[\"builtInCall\"],REPLACE:[\"builtInCall\"],REGEX:[\"builtInCall\"],EXISTS:[\"builtInCall\"],NOT:[\"builtInCall\"],IRI_REF:[\"functionCall\"],PNAME_LN:[\"functionCall\"],PNAME_NS:[\"functionCall\"],\"(\":[\"(\",\"expression\",\"?[AS,var]\",\")\"],VAR1:[\"var\"],VAR2:[\"var\"]},groupGraphPattern:{\"{\":[\"{\",\"or([subSelect,groupGraphPatternSub])\",\"}\"]},groupGraphPatternSub:{\"{\":[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],OPTIONAL:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],MINUS:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],GRAPH:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],SERVICE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],FILTER:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],BIND:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],VALUES:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],VAR1:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],VAR2:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],NIL:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],\"(\":[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],\"[\":[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],IRI_REF:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],TRUE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],FALSE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],BLANK_NODE_LABEL:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],ANON:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],PNAME_LN:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],PNAME_NS:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],STRING_LITERAL1:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],STRING_LITERAL2:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],STRING_LITERAL_LONG1:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],STRING_LITERAL_LONG2:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],INTEGER:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],DECIMAL:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],DOUBLE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],INTEGER_POSITIVE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],DECIMAL_POSITIVE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],DOUBLE_POSITIVE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],INTEGER_NEGATIVE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],DECIMAL_NEGATIVE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],DOUBLE_NEGATIVE:[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"],\"}\":[\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"]},groupOrUnionGraphPattern:{\"{\":[\"groupGraphPattern\",\"*[UNION,groupGraphPattern]\"]},havingClause:{HAVING:[\"HAVING\",\"+havingCondition\"]},havingCondition:{\"(\":[\"constraint\"],STR:[\"constraint\"],LANG:[\"constraint\"],LANGMATCHES:[\"constraint\"],DATATYPE:[\"constraint\"],BOUND:[\"constraint\"],IRI:[\"constraint\"],URI:[\"constraint\"],BNODE:[\"constraint\"],RAND:[\"constraint\"],ABS:[\"constraint\"],CEIL:[\"constraint\"],FLOOR:[\"constraint\"],ROUND:[\"constraint\"],CONCAT:[\"constraint\"],STRLEN:[\"constraint\"],UCASE:[\"constraint\"],LCASE:[\"constraint\"],ENCODE_FOR_URI:[\"constraint\"],CONTAINS:[\"constraint\"],STRSTARTS:[\"constraint\"],STRENDS:[\"constraint\"],STRBEFORE:[\"constraint\"],STRAFTER:[\"constraint\"],YEAR:[\"constraint\"],MONTH:[\"constraint\"],DAY:[\"constraint\"],HOURS:[\"constraint\"],MINUTES:[\"constraint\"],SECONDS:[\"constraint\"],TIMEZONE:[\"constraint\"],TZ:[\"constraint\"],NOW:[\"constraint\"],UUID:[\"constraint\"],STRUUID:[\"constraint\"],MD5:[\"constraint\"],SHA1:[\"constraint\"],SHA256:[\"constraint\"],SHA384:[\"constraint\"],SHA512:[\"constraint\"],COALESCE:[\"constraint\"],IF:[\"constraint\"],STRLANG:[\"constraint\"],STRDT:[\"constraint\"],SAMETERM:[\"constraint\"],ISIRI:[\"constraint\"],ISURI:[\"constraint\"],ISBLANK:[\"constraint\"],ISLITERAL:[\"constraint\"],ISNUMERIC:[\"constraint\"],SUBSTR:[\"constraint\"],REPLACE:[\"constraint\"],REGEX:[\"constraint\"],EXISTS:[\"constraint\"],NOT:[\"constraint\"],IRI_REF:[\"constraint\"],PNAME_LN:[\"constraint\"],PNAME_NS:[\"constraint\"]},inlineData:{VALUES:[\"VALUES\",\"dataBlock\"]},inlineDataFull:{NIL:[\"or([NIL,[ (,*var,)]])\",\"{\",\"*or([[ (,*dataBlockValue,)],NIL])\",\"}\"],\"(\":[\"or([NIL,[ (,*var,)]])\",\"{\",\"*or([[ (,*dataBlockValue,)],NIL])\",\"}\"]},inlineDataOneVar:{VAR1:[\"var\",\"{\",\"*dataBlockValue\",\"}\"],VAR2:[\"var\",\"{\",\"*dataBlockValue\",\"}\"]},insert1:{DATA:[\"DATA\",\"quadData\"],\"{\":[\"quadPattern\",\"*usingClause\",\"WHERE\",\"groupGraphPattern\"]},insertClause:{INSERT:[\"INSERT\",\"quadPattern\"]},integer:{INTEGER:[\"INTEGER\"]},iriRef:{IRI_REF:[\"IRI_REF\"],PNAME_LN:[\"prefixedName\"],PNAME_NS:[\"prefixedName\"]},iriRefOrFunction:{IRI_REF:[\"iriRef\",\"?argList\"],PNAME_LN:[\"iriRef\",\"?argList\"],PNAME_NS:[\"iriRef\",\"?argList\"]},limitClause:{LIMIT:[\"LIMIT\",\"INTEGER\"]},limitOffsetClauses:{LIMIT:[\"limitClause\",\"?offsetClause\"],OFFSET:[\"offsetClause\",\"?limitClause\"]},load:{LOAD:[\"LOAD\",\"?SILENT_1\",\"iriRef\",\"?[INTO,graphRef]\"]},minusGraphPattern:{MINUS:[\"MINUS\",\"groupGraphPattern\"]},modify:{WITH:[\"WITH\",\"iriRef\",\"or([[deleteClause,?insertClause],insertClause])\",\"*usingClause\",\"WHERE\",\"groupGraphPattern\"]},move:{MOVE:[\"MOVE\",\"?SILENT_4\",\"graphOrDefault\",\"TO\",\"graphOrDefault\"]},multiplicativeExpression:{\"!\":[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],\"+\":[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],\"-\":[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],VAR1:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],VAR2:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],\"(\":[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STR:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],LANG:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],LANGMATCHES:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DATATYPE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],BOUND:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],IRI:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],URI:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],BNODE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],RAND:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ABS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],CEIL:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],FLOOR:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ROUND:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],CONCAT:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRLEN:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],UCASE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],LCASE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ENCODE_FOR_URI:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],CONTAINS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRSTARTS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRENDS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRBEFORE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRAFTER:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],YEAR:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],MONTH:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DAY:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],HOURS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],MINUTES:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SECONDS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],TIMEZONE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],TZ:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],NOW:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],UUID:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRUUID:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],MD5:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SHA1:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SHA256:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SHA384:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SHA512:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],COALESCE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],IF:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRLANG:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRDT:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SAMETERM:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ISIRI:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ISURI:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ISBLANK:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ISLITERAL:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],ISNUMERIC:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],TRUE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],FALSE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],COUNT:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SUM:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],MIN:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],MAX:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],AVG:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SAMPLE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],GROUP_CONCAT:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],SUBSTR:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],REPLACE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],REGEX:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],EXISTS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],NOT:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],IRI_REF:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRING_LITERAL1:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRING_LITERAL2:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRING_LITERAL_LONG1:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],STRING_LITERAL_LONG2:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],INTEGER:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DECIMAL:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DOUBLE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],INTEGER_POSITIVE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DECIMAL_POSITIVE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DOUBLE_POSITIVE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],INTEGER_NEGATIVE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DECIMAL_NEGATIVE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],DOUBLE_NEGATIVE:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],PNAME_LN:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"],PNAME_NS:[\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"]},namedGraphClause:{NAMED:[\"NAMED\",\"sourceSelector\"]},notExistsFunc:{NOT:[\"NOT\",\"EXISTS\",\"groupGraphPattern\"]},numericExpression:{\"!\":[\"additiveExpression\"],\"+\":[\"additiveExpression\"],\"-\":[\"additiveExpression\"],VAR1:[\"additiveExpression\"],VAR2:[\"additiveExpression\"],\"(\":[\"additiveExpression\"],STR:[\"additiveExpression\"],LANG:[\"additiveExpression\"],LANGMATCHES:[\"additiveExpression\"],DATATYPE:[\"additiveExpression\"],BOUND:[\"additiveExpression\"],IRI:[\"additiveExpression\"],URI:[\"additiveExpression\"],BNODE:[\"additiveExpression\"],RAND:[\"additiveExpression\"],ABS:[\"additiveExpression\"],CEIL:[\"additiveExpression\"],FLOOR:[\"additiveExpression\"],ROUND:[\"additiveExpression\"],CONCAT:[\"additiveExpression\"],STRLEN:[\"additiveExpression\"],UCASE:[\"additiveExpression\"],LCASE:[\"additiveExpression\"],ENCODE_FOR_URI:[\"additiveExpression\"],CONTAINS:[\"additiveExpression\"],STRSTARTS:[\"additiveExpression\"],STRENDS:[\"additiveExpression\"],STRBEFORE:[\"additiveExpression\"],STRAFTER:[\"additiveExpression\"],YEAR:[\"additiveExpression\"],MONTH:[\"additiveExpression\"],DAY:[\"additiveExpression\"],HOURS:[\"additiveExpression\"],MINUTES:[\"additiveExpression\"],SECONDS:[\"additiveExpression\"],TIMEZONE:[\"additiveExpression\"],TZ:[\"additiveExpression\"],NOW:[\"additiveExpression\"],UUID:[\"additiveExpression\"],STRUUID:[\"additiveExpression\"],MD5:[\"additiveExpression\"],SHA1:[\"additiveExpression\"],SHA256:[\"additiveExpression\"],SHA384:[\"additiveExpression\"],SHA512:[\"additiveExpression\"],COALESCE:[\"additiveExpression\"],IF:[\"additiveExpression\"],STRLANG:[\"additiveExpression\"],STRDT:[\"additiveExpression\"],SAMETERM:[\"additiveExpression\"],ISIRI:[\"additiveExpression\"],ISURI:[\"additiveExpression\"],ISBLANK:[\"additiveExpression\"],ISLITERAL:[\"additiveExpression\"],ISNUMERIC:[\"additiveExpression\"],TRUE:[\"additiveExpression\"],FALSE:[\"additiveExpression\"],COUNT:[\"additiveExpression\"],SUM:[\"additiveExpression\"],MIN:[\"additiveExpression\"],MAX:[\"additiveExpression\"],AVG:[\"additiveExpression\"],SAMPLE:[\"additiveExpression\"],GROUP_CONCAT:[\"additiveExpression\"],SUBSTR:[\"additiveExpression\"],REPLACE:[\"additiveExpression\"],REGEX:[\"additiveExpression\"],EXISTS:[\"additiveExpression\"],NOT:[\"additiveExpression\"],IRI_REF:[\"additiveExpression\"],STRING_LITERAL1:[\"additiveExpression\"],STRING_LITERAL2:[\"additiveExpression\"],STRING_LITERAL_LONG1:[\"additiveExpression\"],STRING_LITERAL_LONG2:[\"additiveExpression\"],INTEGER:[\"additiveExpression\"],DECIMAL:[\"additiveExpression\"],DOUBLE:[\"additiveExpression\"],INTEGER_POSITIVE:[\"additiveExpression\"],DECIMAL_POSITIVE:[\"additiveExpression\"],DOUBLE_POSITIVE:[\"additiveExpression\"],INTEGER_NEGATIVE:[\"additiveExpression\"],DECIMAL_NEGATIVE:[\"additiveExpression\"],DOUBLE_NEGATIVE:[\"additiveExpression\"],PNAME_LN:[\"additiveExpression\"],PNAME_NS:[\"additiveExpression\"]},numericLiteral:{INTEGER:[\"numericLiteralUnsigned\"],DECIMAL:[\"numericLiteralUnsigned\"],DOUBLE:[\"numericLiteralUnsigned\"],INTEGER_POSITIVE:[\"numericLiteralPositive\"],DECIMAL_POSITIVE:[\"numericLiteralPositive\"],DOUBLE_POSITIVE:[\"numericLiteralPositive\"],INTEGER_NEGATIVE:[\"numericLiteralNegative\"],DECIMAL_NEGATIVE:[\"numericLiteralNegative\"],DOUBLE_NEGATIVE:[\"numericLiteralNegative\"]},numericLiteralNegative:{INTEGER_NEGATIVE:[\"INTEGER_NEGATIVE\"],DECIMAL_NEGATIVE:[\"DECIMAL_NEGATIVE\"],DOUBLE_NEGATIVE:[\"DOUBLE_NEGATIVE\"]},numericLiteralPositive:{INTEGER_POSITIVE:[\"INTEGER_POSITIVE\"],DECIMAL_POSITIVE:[\"DECIMAL_POSITIVE\"],DOUBLE_POSITIVE:[\"DOUBLE_POSITIVE\"]},numericLiteralUnsigned:{INTEGER:[\"INTEGER\"],DECIMAL:[\"DECIMAL\"],DOUBLE:[\"DOUBLE\"]},object:{\"(\":[\"graphNode\"],\"[\":[\"graphNode\"],VAR1:[\"graphNode\"],VAR2:[\"graphNode\"],NIL:[\"graphNode\"],IRI_REF:[\"graphNode\"],TRUE:[\"graphNode\"],FALSE:[\"graphNode\"],BLANK_NODE_LABEL:[\"graphNode\"],ANON:[\"graphNode\"],PNAME_LN:[\"graphNode\"],PNAME_NS:[\"graphNode\"],STRING_LITERAL1:[\"graphNode\"],STRING_LITERAL2:[\"graphNode\"],STRING_LITERAL_LONG1:[\"graphNode\"],STRING_LITERAL_LONG2:[\"graphNode\"],INTEGER:[\"graphNode\"],DECIMAL:[\"graphNode\"],DOUBLE:[\"graphNode\"],INTEGER_POSITIVE:[\"graphNode\"],DECIMAL_POSITIVE:[\"graphNode\"],DOUBLE_POSITIVE:[\"graphNode\"],INTEGER_NEGATIVE:[\"graphNode\"],DECIMAL_NEGATIVE:[\"graphNode\"],DOUBLE_NEGATIVE:[\"graphNode\"]},objectList:{\"(\":[\"object\",\"*[,,object]\"],\"[\":[\"object\",\"*[,,object]\"],VAR1:[\"object\",\"*[,,object]\"],VAR2:[\"object\",\"*[,,object]\"],NIL:[\"object\",\"*[,,object]\"],IRI_REF:[\"object\",\"*[,,object]\"],TRUE:[\"object\",\"*[,,object]\"],FALSE:[\"object\",\"*[,,object]\"],BLANK_NODE_LABEL:[\"object\",\"*[,,object]\"],ANON:[\"object\",\"*[,,object]\"],PNAME_LN:[\"object\",\"*[,,object]\"],PNAME_NS:[\"object\",\"*[,,object]\"],STRING_LITERAL1:[\"object\",\"*[,,object]\"],STRING_LITERAL2:[\"object\",\"*[,,object]\"],STRING_LITERAL_LONG1:[\"object\",\"*[,,object]\"],STRING_LITERAL_LONG2:[\"object\",\"*[,,object]\"],INTEGER:[\"object\",\"*[,,object]\"],DECIMAL:[\"object\",\"*[,,object]\"],DOUBLE:[\"object\",\"*[,,object]\"],INTEGER_POSITIVE:[\"object\",\"*[,,object]\"],DECIMAL_POSITIVE:[\"object\",\"*[,,object]\"],DOUBLE_POSITIVE:[\"object\",\"*[,,object]\"],INTEGER_NEGATIVE:[\"object\",\"*[,,object]\"],DECIMAL_NEGATIVE:[\"object\",\"*[,,object]\"],DOUBLE_NEGATIVE:[\"object\",\"*[,,object]\"]},objectListPath:{\"(\":[\"objectPath\",\"*[,,objectPath]\"],\"[\":[\"objectPath\",\"*[,,objectPath]\"],VAR1:[\"objectPath\",\"*[,,objectPath]\"],VAR2:[\"objectPath\",\"*[,,objectPath]\"],NIL:[\"objectPath\",\"*[,,objectPath]\"],IRI_REF:[\"objectPath\",\"*[,,objectPath]\"],TRUE:[\"objectPath\",\"*[,,objectPath]\"],FALSE:[\"objectPath\",\"*[,,objectPath]\"],BLANK_NODE_LABEL:[\"objectPath\",\"*[,,objectPath]\"],ANON:[\"objectPath\",\"*[,,objectPath]\"],PNAME_LN:[\"objectPath\",\"*[,,objectPath]\"],PNAME_NS:[\"objectPath\",\"*[,,objectPath]\"],STRING_LITERAL1:[\"objectPath\",\"*[,,objectPath]\"],STRING_LITERAL2:[\"objectPath\",\"*[,,objectPath]\"],STRING_LITERAL_LONG1:[\"objectPath\",\"*[,,objectPath]\"],STRING_LITERAL_LONG2:[\"objectPath\",\"*[,,objectPath]\"],INTEGER:[\"objectPath\",\"*[,,objectPath]\"],DECIMAL:[\"objectPath\",\"*[,,objectPath]\"],DOUBLE:[\"objectPath\",\"*[,,objectPath]\"],INTEGER_POSITIVE:[\"objectPath\",\"*[,,objectPath]\"],DECIMAL_POSITIVE:[\"objectPath\",\"*[,,objectPath]\"],DOUBLE_POSITIVE:[\"objectPath\",\"*[,,objectPath]\"],INTEGER_NEGATIVE:[\"objectPath\",\"*[,,objectPath]\"],DECIMAL_NEGATIVE:[\"objectPath\",\"*[,,objectPath]\"],DOUBLE_NEGATIVE:[\"objectPath\",\"*[,,objectPath]\"]},objectPath:{\"(\":[\"graphNodePath\"],\"[\":[\"graphNodePath\"],VAR1:[\"graphNodePath\"],VAR2:[\"graphNodePath\"],NIL:[\"graphNodePath\"],IRI_REF:[\"graphNodePath\"],TRUE:[\"graphNodePath\"],FALSE:[\"graphNodePath\"],BLANK_NODE_LABEL:[\"graphNodePath\"],ANON:[\"graphNodePath\"],PNAME_LN:[\"graphNodePath\"],PNAME_NS:[\"graphNodePath\"],STRING_LITERAL1:[\"graphNodePath\"],STRING_LITERAL2:[\"graphNodePath\"],STRING_LITERAL_LONG1:[\"graphNodePath\"],STRING_LITERAL_LONG2:[\"graphNodePath\"],INTEGER:[\"graphNodePath\"],DECIMAL:[\"graphNodePath\"],DOUBLE:[\"graphNodePath\"],INTEGER_POSITIVE:[\"graphNodePath\"],DECIMAL_POSITIVE:[\"graphNodePath\"],DOUBLE_POSITIVE:[\"graphNodePath\"],INTEGER_NEGATIVE:[\"graphNodePath\"],DECIMAL_NEGATIVE:[\"graphNodePath\"],DOUBLE_NEGATIVE:[\"graphNodePath\"]},offsetClause:{OFFSET:[\"OFFSET\",\"INTEGER\"]},optionalGraphPattern:{OPTIONAL:[\"OPTIONAL\",\"groupGraphPattern\"]},\"or([*,expression])\":{\"*\":[\"*\"],\"!\":[\"expression\"],\"+\":[\"expression\"],\"-\":[\"expression\"],VAR1:[\"expression\"],VAR2:[\"expression\"],\"(\":[\"expression\"],STR:[\"expression\"],LANG:[\"expression\"],LANGMATCHES:[\"expression\"],DATATYPE:[\"expression\"],BOUND:[\"expression\"],IRI:[\"expression\"],URI:[\"expression\"],BNODE:[\"expression\"],RAND:[\"expression\"],ABS:[\"expression\"],CEIL:[\"expression\"],FLOOR:[\"expression\"],ROUND:[\"expression\"],CONCAT:[\"expression\"],STRLEN:[\"expression\"],UCASE:[\"expression\"],LCASE:[\"expression\"],ENCODE_FOR_URI:[\"expression\"],CONTAINS:[\"expression\"],STRSTARTS:[\"expression\"],STRENDS:[\"expression\"],STRBEFORE:[\"expression\"],STRAFTER:[\"expression\"],YEAR:[\"expression\"],MONTH:[\"expression\"],DAY:[\"expression\"],HOURS:[\"expression\"],MINUTES:[\"expression\"],SECONDS:[\"expression\"],TIMEZONE:[\"expression\"],TZ:[\"expression\"],NOW:[\"expression\"],UUID:[\"expression\"],STRUUID:[\"expression\"],MD5:[\"expression\"],SHA1:[\"expression\"],SHA256:[\"expression\"],SHA384:[\"expression\"],SHA512:[\"expression\"],COALESCE:[\"expression\"],IF:[\"expression\"],STRLANG:[\"expression\"],STRDT:[\"expression\"],SAMETERM:[\"expression\"],ISIRI:[\"expression\"],ISURI:[\"expression\"],ISBLANK:[\"expression\"],ISLITERAL:[\"expression\"],ISNUMERIC:[\"expression\"],TRUE:[\"expression\"],FALSE:[\"expression\"],COUNT:[\"expression\"],SUM:[\"expression\"],MIN:[\"expression\"],MAX:[\"expression\"],AVG:[\"expression\"],SAMPLE:[\"expression\"],GROUP_CONCAT:[\"expression\"],SUBSTR:[\"expression\"],REPLACE:[\"expression\"],REGEX:[\"expression\"],EXISTS:[\"expression\"],NOT:[\"expression\"],IRI_REF:[\"expression\"],STRING_LITERAL1:[\"expression\"],STRING_LITERAL2:[\"expression\"],STRING_LITERAL_LONG1:[\"expression\"],STRING_LITERAL_LONG2:[\"expression\"],INTEGER:[\"expression\"],DECIMAL:[\"expression\"],DOUBLE:[\"expression\"],INTEGER_POSITIVE:[\"expression\"],DECIMAL_POSITIVE:[\"expression\"],DOUBLE_POSITIVE:[\"expression\"],INTEGER_NEGATIVE:[\"expression\"],DECIMAL_NEGATIVE:[\"expression\"],DOUBLE_NEGATIVE:[\"expression\"],PNAME_LN:[\"expression\"],PNAME_NS:[\"expression\"]},\"or([+or([var,[ (,expression,AS,var,)]]),*])\":{\"(\":[\"+or([var,[ (,expression,AS,var,)]])\"],VAR1:[\"+or([var,[ (,expression,AS,var,)]])\"],VAR2:[\"+or([var,[ (,expression,AS,var,)]])\"],\"*\":[\"*\"]},\"or([+varOrIRIref,*])\":{VAR1:[\"+varOrIRIref\"],VAR2:[\"+varOrIRIref\"],IRI_REF:[\"+varOrIRIref\"],PNAME_LN:[\"+varOrIRIref\"],PNAME_NS:[\"+varOrIRIref\"],\"*\":[\"*\"]},\"or([ASC,DESC])\":{ASC:[\"ASC\"],DESC:[\"DESC\"]},\"or([DISTINCT,REDUCED])\":{DISTINCT:[\"DISTINCT\"],REDUCED:[\"REDUCED\"]},\"or([LANGTAG,[^^,iriRef]])\":{LANGTAG:[\"LANGTAG\"],\"^^\":[\"[^^,iriRef]\"]},\"or([NIL,[ (,*var,)]])\":{NIL:[\"NIL\"],\"(\":[\"[ (,*var,)]\"]},\"or([[ (,*dataBlockValue,)],NIL])\":{\"(\":[\"[ (,*dataBlockValue,)]\"],NIL:[\"NIL\"]},\"or([[ (,expression,)],NIL])\":{\"(\":[\"[ (,expression,)]\"],NIL:[\"NIL\"]},\"or([[*,unaryExpression],[/,unaryExpression]])\":{\"*\":[\"[*,unaryExpression]\"],\"/\":[\"[/,unaryExpression]\"]},\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\":{\"+\":[\"[+,multiplicativeExpression]\"],\"-\":[\"[-,multiplicativeExpression]\"],INTEGER_POSITIVE:[\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"],DECIMAL_POSITIVE:[\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"],DOUBLE_POSITIVE:[\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"],INTEGER_NEGATIVE:[\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"],DECIMAL_NEGATIVE:[\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"],DOUBLE_NEGATIVE:[\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"]},\"or([[,,or([},[integer,}]])],}])\":{\",\":[\"[,,or([},[integer,}]])]\"],\"}\":[\"}\"]},\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\":{\"=\":[\"[=,numericExpression]\"],\"!=\":[\"[!=,numericExpression]\"],\"<\":[\"[<,numericExpression]\"],\">\":[\"[>,numericExpression]\"],\"<=\":[\"[<=,numericExpression]\"],\">=\":[\"[>=,numericExpression]\"],IN:[\"[IN,expressionList]\"],NOT:[\"[NOT,IN,expressionList]\"]},\"or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])\":{\"{\":[\"[constructTemplate,*datasetClause,whereClause,solutionModifier]\"],WHERE:[\"[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]\"],FROM:[\"[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]\"]},\"or([[deleteClause,?insertClause],insertClause])\":{DELETE:[\"[deleteClause,?insertClause]\"],INSERT:[\"insertClause\"]},\"or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])\":{INTEGER:[\"[integer,or([[,,or([},[integer,}]])],}])]\"],\",\":[\"[,,integer,}]\"]},\"or([baseDecl,prefixDecl])\":{BASE:[\"baseDecl\"],PREFIX:[\"prefixDecl\"]},\"or([defaultGraphClause,namedGraphClause])\":{IRI_REF:[\"defaultGraphClause\"],PNAME_LN:[\"defaultGraphClause\"],PNAME_NS:[\"defaultGraphClause\"],NAMED:[\"namedGraphClause\"]},\"or([inlineDataOneVar,inlineDataFull])\":{VAR1:[\"inlineDataOneVar\"],VAR2:[\"inlineDataOneVar\"],NIL:[\"inlineDataFull\"],\"(\":[\"inlineDataFull\"]},\"or([iriRef,[NAMED,iriRef]])\":{IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"],NAMED:[\"[NAMED,iriRef]\"]},\"or([iriRef,a])\":{IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"],a:[\"a\"]},\"or([numericLiteralPositive,numericLiteralNegative])\":{INTEGER_POSITIVE:[\"numericLiteralPositive\"],DECIMAL_POSITIVE:[\"numericLiteralPositive\"],DOUBLE_POSITIVE:[\"numericLiteralPositive\"],INTEGER_NEGATIVE:[\"numericLiteralNegative\"],DECIMAL_NEGATIVE:[\"numericLiteralNegative\"],DOUBLE_NEGATIVE:[\"numericLiteralNegative\"]},\"or([queryAll,updateAll])\":{CONSTRUCT:[\"queryAll\"],DESCRIBE:[\"queryAll\"],ASK:[\"queryAll\"],SELECT:[\"queryAll\"],INSERT:[\"updateAll\"],DELETE:[\"updateAll\"],LOAD:[\"updateAll\"],CLEAR:[\"updateAll\"],DROP:[\"updateAll\"],ADD:[\"updateAll\"],MOVE:[\"updateAll\"],COPY:[\"updateAll\"],CREATE:[\"updateAll\"],WITH:[\"updateAll\"],$:[\"updateAll\"]},\"or([selectQuery,constructQuery,describeQuery,askQuery])\":{SELECT:[\"selectQuery\"],CONSTRUCT:[\"constructQuery\"],DESCRIBE:[\"describeQuery\"],ASK:[\"askQuery\"]},\"or([subSelect,groupGraphPatternSub])\":{SELECT:[\"subSelect\"],\"{\":[\"groupGraphPatternSub\"],OPTIONAL:[\"groupGraphPatternSub\"],MINUS:[\"groupGraphPatternSub\"],GRAPH:[\"groupGraphPatternSub\"],SERVICE:[\"groupGraphPatternSub\"],FILTER:[\"groupGraphPatternSub\"],BIND:[\"groupGraphPatternSub\"],VALUES:[\"groupGraphPatternSub\"],VAR1:[\"groupGraphPatternSub\"],VAR2:[\"groupGraphPatternSub\"],NIL:[\"groupGraphPatternSub\"],\"(\":[\"groupGraphPatternSub\"],\"[\":[\"groupGraphPatternSub\"],IRI_REF:[\"groupGraphPatternSub\"],TRUE:[\"groupGraphPatternSub\"],FALSE:[\"groupGraphPatternSub\"],BLANK_NODE_LABEL:[\"groupGraphPatternSub\"],ANON:[\"groupGraphPatternSub\"],PNAME_LN:[\"groupGraphPatternSub\"],PNAME_NS:[\"groupGraphPatternSub\"],STRING_LITERAL1:[\"groupGraphPatternSub\"],STRING_LITERAL2:[\"groupGraphPatternSub\"],STRING_LITERAL_LONG1:[\"groupGraphPatternSub\"],STRING_LITERAL_LONG2:[\"groupGraphPatternSub\"],INTEGER:[\"groupGraphPatternSub\"],DECIMAL:[\"groupGraphPatternSub\"],DOUBLE:[\"groupGraphPatternSub\"],INTEGER_POSITIVE:[\"groupGraphPatternSub\"],DECIMAL_POSITIVE:[\"groupGraphPatternSub\"],DOUBLE_POSITIVE:[\"groupGraphPatternSub\"],INTEGER_NEGATIVE:[\"groupGraphPatternSub\"],DECIMAL_NEGATIVE:[\"groupGraphPatternSub\"],DOUBLE_NEGATIVE:[\"groupGraphPatternSub\"],\"}\":[\"groupGraphPatternSub\"]},\"or([var,[ (,expression,AS,var,)]])\":{VAR1:[\"var\"],VAR2:[\"var\"],\"(\":[\"[ (,expression,AS,var,)]\"]},\"or([verbPath,verbSimple])\":{\"^\":[\"verbPath\"],a:[\"verbPath\"],\"!\":[\"verbPath\"],\"(\":[\"verbPath\"],IRI_REF:[\"verbPath\"],PNAME_LN:[\"verbPath\"],PNAME_NS:[\"verbPath\"],VAR1:[\"verbSimple\"],VAR2:[\"verbSimple\"]},\"or([},[integer,}]])\":{\"}\":[\"}\"],INTEGER:[\"[integer,}]\"]},orderClause:{ORDER:[\"ORDER\",\"BY\",\"+orderCondition\"]},orderCondition:{ASC:[\"or([ASC,DESC])\",\"brackettedExpression\"],DESC:[\"or([ASC,DESC])\",\"brackettedExpression\"],\"(\":[\"constraint\"],STR:[\"constraint\"],LANG:[\"constraint\"],LANGMATCHES:[\"constraint\"],DATATYPE:[\"constraint\"],BOUND:[\"constraint\"],IRI:[\"constraint\"],URI:[\"constraint\"],BNODE:[\"constraint\"],RAND:[\"constraint\"],ABS:[\"constraint\"],CEIL:[\"constraint\"],FLOOR:[\"constraint\"],ROUND:[\"constraint\"],CONCAT:[\"constraint\"],STRLEN:[\"constraint\"],UCASE:[\"constraint\"],LCASE:[\"constraint\"],ENCODE_FOR_URI:[\"constraint\"],CONTAINS:[\"constraint\"],STRSTARTS:[\"constraint\"],STRENDS:[\"constraint\"],STRBEFORE:[\"constraint\"],STRAFTER:[\"constraint\"],YEAR:[\"constraint\"],MONTH:[\"constraint\"],DAY:[\"constraint\"],HOURS:[\"constraint\"],MINUTES:[\"constraint\"],SECONDS:[\"constraint\"],TIMEZONE:[\"constraint\"],TZ:[\"constraint\"],NOW:[\"constraint\"],UUID:[\"constraint\"],STRUUID:[\"constraint\"],MD5:[\"constraint\"],SHA1:[\"constraint\"],SHA256:[\"constraint\"],SHA384:[\"constraint\"],SHA512:[\"constraint\"],COALESCE:[\"constraint\"],IF:[\"constraint\"],STRLANG:[\"constraint\"],STRDT:[\"constraint\"],SAMETERM:[\"constraint\"],ISIRI:[\"constraint\"],ISURI:[\"constraint\"],ISBLANK:[\"constraint\"],ISLITERAL:[\"constraint\"],ISNUMERIC:[\"constraint\"],SUBSTR:[\"constraint\"],REPLACE:[\"constraint\"],REGEX:[\"constraint\"],EXISTS:[\"constraint\"],NOT:[\"constraint\"],IRI_REF:[\"constraint\"],PNAME_LN:[\"constraint\"],PNAME_NS:[\"constraint\"],VAR1:[\"var\"],VAR2:[\"var\"]},path:{\"^\":[\"pathAlternative\"],a:[\"pathAlternative\"],\"!\":[\"pathAlternative\"],\"(\":[\"pathAlternative\"],IRI_REF:[\"pathAlternative\"],PNAME_LN:[\"pathAlternative\"],PNAME_NS:[\"pathAlternative\"]},pathAlternative:{\"^\":[\"pathSequence\",\"*[|,pathSequence]\"],a:[\"pathSequence\",\"*[|,pathSequence]\"],\"!\":[\"pathSequence\",\"*[|,pathSequence]\"],\"(\":[\"pathSequence\",\"*[|,pathSequence]\"],IRI_REF:[\"pathSequence\",\"*[|,pathSequence]\"],PNAME_LN:[\"pathSequence\",\"*[|,pathSequence]\"],PNAME_NS:[\"pathSequence\",\"*[|,pathSequence]\"]},pathElt:{a:[\"pathPrimary\",\"?pathMod\"],\"!\":[\"pathPrimary\",\"?pathMod\"],\"(\":[\"pathPrimary\",\"?pathMod\"],IRI_REF:[\"pathPrimary\",\"?pathMod\"],PNAME_LN:[\"pathPrimary\",\"?pathMod\"],PNAME_NS:[\"pathPrimary\",\"?pathMod\"]},pathEltOrInverse:{a:[\"pathElt\"],\"!\":[\"pathElt\"],\"(\":[\"pathElt\"],IRI_REF:[\"pathElt\"],PNAME_LN:[\"pathElt\"],PNAME_NS:[\"pathElt\"],\"^\":[\"^\",\"pathElt\"]},pathMod:{\"*\":[\"*\"],\"?\":[\"?\"],\"+\":[\"+\"],\"{\":[\"{\",\"or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])\"]},pathNegatedPropertySet:{a:[\"pathOneInPropertySet\"],\"^\":[\"pathOneInPropertySet\"],IRI_REF:[\"pathOneInPropertySet\"],PNAME_LN:[\"pathOneInPropertySet\"],PNAME_NS:[\"pathOneInPropertySet\"],\"(\":[\"(\",\"?[pathOneInPropertySet,*[|,pathOneInPropertySet]]\",\")\"]},pathOneInPropertySet:{IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"],a:[\"a\"],\"^\":[\"^\",\"or([iriRef,a])\"]},pathPrimary:{IRI_REF:[\"storeProperty\",\"iriRef\"],PNAME_LN:[\"storeProperty\",\"iriRef\"],PNAME_NS:[\"storeProperty\",\"iriRef\"],a:[\"storeProperty\",\"a\"],\"!\":[\"!\",\"pathNegatedPropertySet\"],\"(\":[\"(\",\"path\",\")\"]},pathSequence:{\"^\":[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"],a:[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"],\"!\":[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"],\"(\":[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"],IRI_REF:[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"],PNAME_LN:[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"],PNAME_NS:[\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"]},prefixDecl:{PREFIX:[\"PREFIX\",\"PNAME_NS\",\"IRI_REF\"]},prefixedName:{PNAME_LN:[\"PNAME_LN\"],PNAME_NS:[\"PNAME_NS\"]},primaryExpression:{\"(\":[\"brackettedExpression\"],STR:[\"builtInCall\"],LANG:[\"builtInCall\"],LANGMATCHES:[\"builtInCall\"],DATATYPE:[\"builtInCall\"],BOUND:[\"builtInCall\"],IRI:[\"builtInCall\"],URI:[\"builtInCall\"],BNODE:[\"builtInCall\"],RAND:[\"builtInCall\"],ABS:[\"builtInCall\"],CEIL:[\"builtInCall\"],FLOOR:[\"builtInCall\"],ROUND:[\"builtInCall\"],CONCAT:[\"builtInCall\"],STRLEN:[\"builtInCall\"],UCASE:[\"builtInCall\"],LCASE:[\"builtInCall\"],ENCODE_FOR_URI:[\"builtInCall\"],CONTAINS:[\"builtInCall\"],STRSTARTS:[\"builtInCall\"],STRENDS:[\"builtInCall\"],STRBEFORE:[\"builtInCall\"],STRAFTER:[\"builtInCall\"],YEAR:[\"builtInCall\"],MONTH:[\"builtInCall\"],DAY:[\"builtInCall\"],HOURS:[\"builtInCall\"],MINUTES:[\"builtInCall\"],SECONDS:[\"builtInCall\"],TIMEZONE:[\"builtInCall\"],TZ:[\"builtInCall\"],NOW:[\"builtInCall\"],UUID:[\"builtInCall\"],STRUUID:[\"builtInCall\"],MD5:[\"builtInCall\"],SHA1:[\"builtInCall\"],SHA256:[\"builtInCall\"],SHA384:[\"builtInCall\"],SHA512:[\"builtInCall\"],COALESCE:[\"builtInCall\"],IF:[\"builtInCall\"],STRLANG:[\"builtInCall\"],STRDT:[\"builtInCall\"],SAMETERM:[\"builtInCall\"],ISIRI:[\"builtInCall\"],ISURI:[\"builtInCall\"],ISBLANK:[\"builtInCall\"],ISLITERAL:[\"builtInCall\"],ISNUMERIC:[\"builtInCall\"],SUBSTR:[\"builtInCall\"],REPLACE:[\"builtInCall\"],REGEX:[\"builtInCall\"],EXISTS:[\"builtInCall\"],NOT:[\"builtInCall\"],IRI_REF:[\"iriRefOrFunction\"],PNAME_LN:[\"iriRefOrFunction\"],PNAME_NS:[\"iriRefOrFunction\"],STRING_LITERAL1:[\"rdfLiteral\"],STRING_LITERAL2:[\"rdfLiteral\"],STRING_LITERAL_LONG1:[\"rdfLiteral\"],STRING_LITERAL_LONG2:[\"rdfLiteral\"],INTEGER:[\"numericLiteral\"],DECIMAL:[\"numericLiteral\"],DOUBLE:[\"numericLiteral\"],INTEGER_POSITIVE:[\"numericLiteral\"],DECIMAL_POSITIVE:[\"numericLiteral\"],DOUBLE_POSITIVE:[\"numericLiteral\"],INTEGER_NEGATIVE:[\"numericLiteral\"],DECIMAL_NEGATIVE:[\"numericLiteral\"],DOUBLE_NEGATIVE:[\"numericLiteral\"],TRUE:[\"booleanLiteral\"],FALSE:[\"booleanLiteral\"],VAR1:[\"var\"],VAR2:[\"var\"],COUNT:[\"aggregate\"],SUM:[\"aggregate\"],MIN:[\"aggregate\"],MAX:[\"aggregate\"],AVG:[\"aggregate\"],SAMPLE:[\"aggregate\"],GROUP_CONCAT:[\"aggregate\"]},prologue:{BASE:[\"*or([baseDecl,prefixDecl])\"],PREFIX:[\"*or([baseDecl,prefixDecl])\"],$:[\"*or([baseDecl,prefixDecl])\"],CONSTRUCT:[\"*or([baseDecl,prefixDecl])\"],DESCRIBE:[\"*or([baseDecl,prefixDecl])\"],ASK:[\"*or([baseDecl,prefixDecl])\"],INSERT:[\"*or([baseDecl,prefixDecl])\"],DELETE:[\"*or([baseDecl,prefixDecl])\"],SELECT:[\"*or([baseDecl,prefixDecl])\"],LOAD:[\"*or([baseDecl,prefixDecl])\"],CLEAR:[\"*or([baseDecl,prefixDecl])\"],DROP:[\"*or([baseDecl,prefixDecl])\"],ADD:[\"*or([baseDecl,prefixDecl])\"],MOVE:[\"*or([baseDecl,prefixDecl])\"],COPY:[\"*or([baseDecl,prefixDecl])\"],CREATE:[\"*or([baseDecl,prefixDecl])\"],WITH:[\"*or([baseDecl,prefixDecl])\"]},propertyList:{a:[\"propertyListNotEmpty\"],VAR1:[\"propertyListNotEmpty\"],VAR2:[\"propertyListNotEmpty\"],IRI_REF:[\"propertyListNotEmpty\"],PNAME_LN:[\"propertyListNotEmpty\"],PNAME_NS:[\"propertyListNotEmpty\"],\".\":[],\"}\":[],GRAPH:[]},propertyListNotEmpty:{a:[\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"],VAR1:[\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"],VAR2:[\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"],IRI_REF:[\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"],PNAME_LN:[\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"],PNAME_NS:[\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"]},propertyListPath:{a:[\"propertyListNotEmpty\"],VAR1:[\"propertyListNotEmpty\"],VAR2:[\"propertyListNotEmpty\"],IRI_REF:[\"propertyListNotEmpty\"],PNAME_LN:[\"propertyListNotEmpty\"],PNAME_NS:[\"propertyListNotEmpty\"],\".\":[],\"{\":[],OPTIONAL:[],MINUS:[],GRAPH:[],SERVICE:[],FILTER:[],BIND:[],VALUES:[],\"}\":[]},propertyListPathNotEmpty:{VAR1:[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],VAR2:[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],\"^\":[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],a:[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],\"!\":[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],\"(\":[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],IRI_REF:[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],PNAME_LN:[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"],PNAME_NS:[\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"]},quadData:{\"{\":[\"{\",\"disallowVars\",\"quads\",\"allowVars\",\"}\"]},quadDataNoBnodes:{\"{\":[\"{\",\"disallowBnodes\",\"disallowVars\",\"quads\",\"allowVars\",\"allowBnodes\",\"}\"]},quadPattern:{\"{\":[\"{\",\"quads\",\"}\"]},quadPatternNoBnodes:{\"{\":[\"{\",\"disallowBnodes\",\"quads\",\"allowBnodes\",\"}\"]},quads:{GRAPH:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],VAR1:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],VAR2:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],NIL:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],\"(\":[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],\"[\":[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],IRI_REF:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],TRUE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],FALSE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],BLANK_NODE_LABEL:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],ANON:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],PNAME_LN:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],PNAME_NS:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],STRING_LITERAL1:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],STRING_LITERAL2:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],STRING_LITERAL_LONG1:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],STRING_LITERAL_LONG2:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],INTEGER:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],DECIMAL:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],DOUBLE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],INTEGER_POSITIVE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],DECIMAL_POSITIVE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],DOUBLE_POSITIVE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],INTEGER_NEGATIVE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],DECIMAL_NEGATIVE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],DOUBLE_NEGATIVE:[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"],\"}\":[\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"]},quadsNotTriples:{GRAPH:[\"GRAPH\",\"varOrIRIref\",\"{\",\"?triplesTemplate\",\"}\"]},queryAll:{CONSTRUCT:[\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"],DESCRIBE:[\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"],ASK:[\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"],SELECT:[\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"]},rdfLiteral:{STRING_LITERAL1:[\"string\",\"?or([LANGTAG,[^^,iriRef]])\"],STRING_LITERAL2:[\"string\",\"?or([LANGTAG,[^^,iriRef]])\"],STRING_LITERAL_LONG1:[\"string\",\"?or([LANGTAG,[^^,iriRef]])\"],STRING_LITERAL_LONG2:[\"string\",\"?or([LANGTAG,[^^,iriRef]])\"]},regexExpression:{REGEX:[\"REGEX\",\"(\",\"expression\",\",\",\"expression\",\"?[,,expression]\",\")\"]},relationalExpression:{\"!\":[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\"+\":[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\"-\":[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],VAR1:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],VAR2:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],\"(\":[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STR:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],LANG:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],LANGMATCHES:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DATATYPE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],BOUND:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],IRI:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],URI:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],BNODE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],RAND:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ABS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],CEIL:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],FLOOR:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ROUND:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],CONCAT:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRLEN:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],UCASE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],LCASE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ENCODE_FOR_URI:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],CONTAINS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRSTARTS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRENDS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRBEFORE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRAFTER:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],YEAR:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],MONTH:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DAY:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],HOURS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],MINUTES:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SECONDS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],TIMEZONE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],TZ:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],NOW:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],UUID:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRUUID:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],MD5:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SHA1:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SHA256:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SHA384:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SHA512:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],COALESCE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],IF:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRLANG:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRDT:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SAMETERM:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ISIRI:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ISURI:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ISBLANK:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ISLITERAL:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],ISNUMERIC:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],TRUE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],FALSE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],COUNT:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SUM:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],MIN:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],MAX:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],AVG:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SAMPLE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],GROUP_CONCAT:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],SUBSTR:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],REPLACE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],REGEX:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],EXISTS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],NOT:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],IRI_REF:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRING_LITERAL1:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRING_LITERAL2:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRING_LITERAL_LONG1:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],STRING_LITERAL_LONG2:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],INTEGER:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DECIMAL:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DOUBLE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],INTEGER_POSITIVE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DECIMAL_POSITIVE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DOUBLE_POSITIVE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],INTEGER_NEGATIVE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DECIMAL_NEGATIVE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],DOUBLE_NEGATIVE:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],PNAME_LN:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"],PNAME_NS:[\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"]},selectClause:{SELECT:[\"SELECT\",\"?or([DISTINCT,REDUCED])\",\"or([+or([var,[ (,expression,AS,var,)]]),*])\"]},selectQuery:{SELECT:[\"selectClause\",\"*datasetClause\",\"whereClause\",\"solutionModifier\"]},serviceGraphPattern:{SERVICE:[\"SERVICE\",\"?SILENT\",\"varOrIRIref\",\"groupGraphPattern\"]},solutionModifier:{LIMIT:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],OFFSET:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],ORDER:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],HAVING:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],GROUP:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],VALUES:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],$:[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"],\"}\":[\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"]},sourceSelector:{IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"]},sparql11:{$:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],CONSTRUCT:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],DESCRIBE:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],ASK:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],INSERT:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],DELETE:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],SELECT:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],LOAD:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],CLEAR:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],DROP:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],ADD:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],MOVE:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],COPY:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],CREATE:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],WITH:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],BASE:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"],PREFIX:[\"prologue\",\"or([queryAll,updateAll])\",\"$\"]},storeProperty:{VAR1:[],VAR2:[],IRI_REF:[],PNAME_LN:[],PNAME_NS:[],a:[]},strReplaceExpression:{REPLACE:[\"REPLACE\",\"(\",\"expression\",\",\",\"expression\",\",\",\"expression\",\"?[,,expression]\",\")\"]},string:{STRING_LITERAL1:[\"STRING_LITERAL1\"],STRING_LITERAL2:[\"STRING_LITERAL2\"],STRING_LITERAL_LONG1:[\"STRING_LITERAL_LONG1\"],STRING_LITERAL_LONG2:[\"STRING_LITERAL_LONG2\"]},subSelect:{SELECT:[\"selectClause\",\"whereClause\",\"solutionModifier\",\"valuesClause\"]},substringExpression:{SUBSTR:[\"SUBSTR\",\"(\",\"expression\",\",\",\"expression\",\"?[,,expression]\",\")\"]},triplesBlock:{VAR1:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],VAR2:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],NIL:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],\"(\":[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],\"[\":[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],IRI_REF:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],TRUE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],FALSE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],BLANK_NODE_LABEL:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],ANON:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],PNAME_LN:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],PNAME_NS:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],STRING_LITERAL1:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],STRING_LITERAL2:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],STRING_LITERAL_LONG1:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],STRING_LITERAL_LONG2:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],INTEGER:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],DECIMAL:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],DOUBLE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],INTEGER_POSITIVE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],DECIMAL_POSITIVE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],DOUBLE_POSITIVE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],INTEGER_NEGATIVE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],DECIMAL_NEGATIVE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"],DOUBLE_NEGATIVE:[\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"]},triplesNode:{\"(\":[\"collection\"],\"[\":[\"blankNodePropertyList\"]},triplesNodePath:{\"(\":[\"collectionPath\"],\"[\":[\"blankNodePropertyListPath\"]},triplesSameSubject:{VAR1:[\"varOrTerm\",\"propertyListNotEmpty\"],VAR2:[\"varOrTerm\",\"propertyListNotEmpty\"],NIL:[\"varOrTerm\",\"propertyListNotEmpty\"],IRI_REF:[\"varOrTerm\",\"propertyListNotEmpty\"],TRUE:[\"varOrTerm\",\"propertyListNotEmpty\"],FALSE:[\"varOrTerm\",\"propertyListNotEmpty\"],BLANK_NODE_LABEL:[\"varOrTerm\",\"propertyListNotEmpty\"],ANON:[\"varOrTerm\",\"propertyListNotEmpty\"],PNAME_LN:[\"varOrTerm\",\"propertyListNotEmpty\"],PNAME_NS:[\"varOrTerm\",\"propertyListNotEmpty\"],STRING_LITERAL1:[\"varOrTerm\",\"propertyListNotEmpty\"],STRING_LITERAL2:[\"varOrTerm\",\"propertyListNotEmpty\"],STRING_LITERAL_LONG1:[\"varOrTerm\",\"propertyListNotEmpty\"],STRING_LITERAL_LONG2:[\"varOrTerm\",\"propertyListNotEmpty\"],INTEGER:[\"varOrTerm\",\"propertyListNotEmpty\"],DECIMAL:[\"varOrTerm\",\"propertyListNotEmpty\"],DOUBLE:[\"varOrTerm\",\"propertyListNotEmpty\"],INTEGER_POSITIVE:[\"varOrTerm\",\"propertyListNotEmpty\"],DECIMAL_POSITIVE:[\"varOrTerm\",\"propertyListNotEmpty\"],DOUBLE_POSITIVE:[\"varOrTerm\",\"propertyListNotEmpty\"],INTEGER_NEGATIVE:[\"varOrTerm\",\"propertyListNotEmpty\"],DECIMAL_NEGATIVE:[\"varOrTerm\",\"propertyListNotEmpty\"],DOUBLE_NEGATIVE:[\"varOrTerm\",\"propertyListNotEmpty\"],\"(\":[\"triplesNode\",\"propertyList\"],\"[\":[\"triplesNode\",\"propertyList\"]},triplesSameSubjectPath:{VAR1:[\"varOrTerm\",\"propertyListPathNotEmpty\"],VAR2:[\"varOrTerm\",\"propertyListPathNotEmpty\"],NIL:[\"varOrTerm\",\"propertyListPathNotEmpty\"],IRI_REF:[\"varOrTerm\",\"propertyListPathNotEmpty\"],TRUE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],FALSE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],BLANK_NODE_LABEL:[\"varOrTerm\",\"propertyListPathNotEmpty\"],ANON:[\"varOrTerm\",\"propertyListPathNotEmpty\"],PNAME_LN:[\"varOrTerm\",\"propertyListPathNotEmpty\"],PNAME_NS:[\"varOrTerm\",\"propertyListPathNotEmpty\"],STRING_LITERAL1:[\"varOrTerm\",\"propertyListPathNotEmpty\"],STRING_LITERAL2:[\"varOrTerm\",\"propertyListPathNotEmpty\"],STRING_LITERAL_LONG1:[\"varOrTerm\",\"propertyListPathNotEmpty\"],STRING_LITERAL_LONG2:[\"varOrTerm\",\"propertyListPathNotEmpty\"],INTEGER:[\"varOrTerm\",\"propertyListPathNotEmpty\"],DECIMAL:[\"varOrTerm\",\"propertyListPathNotEmpty\"],DOUBLE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],INTEGER_POSITIVE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],DECIMAL_POSITIVE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],DOUBLE_POSITIVE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],INTEGER_NEGATIVE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],DECIMAL_NEGATIVE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],DOUBLE_NEGATIVE:[\"varOrTerm\",\"propertyListPathNotEmpty\"],\"(\":[\"triplesNodePath\",\"propertyListPath\"],\"[\":[\"triplesNodePath\",\"propertyListPath\"]},triplesTemplate:{VAR1:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],VAR2:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],NIL:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],\"(\":[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],\"[\":[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],IRI_REF:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],TRUE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],FALSE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],BLANK_NODE_LABEL:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],ANON:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],PNAME_LN:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],PNAME_NS:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],STRING_LITERAL1:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],STRING_LITERAL2:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],STRING_LITERAL_LONG1:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],STRING_LITERAL_LONG2:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],INTEGER:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],DECIMAL:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],DOUBLE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],INTEGER_POSITIVE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],DECIMAL_POSITIVE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],DOUBLE_POSITIVE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],INTEGER_NEGATIVE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],DECIMAL_NEGATIVE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"],DOUBLE_NEGATIVE:[\"triplesSameSubject\",\"?[.,?triplesTemplate]\"]},unaryExpression:{\"!\":[\"!\",\"primaryExpression\"],\"+\":[\"+\",\"primaryExpression\"],\"-\":[\"-\",\"primaryExpression\"],VAR1:[\"primaryExpression\"],VAR2:[\"primaryExpression\"],\"(\":[\"primaryExpression\"],STR:[\"primaryExpression\"],LANG:[\"primaryExpression\"],LANGMATCHES:[\"primaryExpression\"],DATATYPE:[\"primaryExpression\"],BOUND:[\"primaryExpression\"],IRI:[\"primaryExpression\"],URI:[\"primaryExpression\"],BNODE:[\"primaryExpression\"],RAND:[\"primaryExpression\"],ABS:[\"primaryExpression\"],CEIL:[\"primaryExpression\"],FLOOR:[\"primaryExpression\"],ROUND:[\"primaryExpression\"],CONCAT:[\"primaryExpression\"],STRLEN:[\"primaryExpression\"],UCASE:[\"primaryExpression\"],LCASE:[\"primaryExpression\"],ENCODE_FOR_URI:[\"primaryExpression\"],CONTAINS:[\"primaryExpression\"],STRSTARTS:[\"primaryExpression\"],STRENDS:[\"primaryExpression\"],STRBEFORE:[\"primaryExpression\"],STRAFTER:[\"primaryExpression\"],YEAR:[\"primaryExpression\"],MONTH:[\"primaryExpression\"],DAY:[\"primaryExpression\"],HOURS:[\"primaryExpression\"],MINUTES:[\"primaryExpression\"],SECONDS:[\"primaryExpression\"],TIMEZONE:[\"primaryExpression\"],TZ:[\"primaryExpression\"],NOW:[\"primaryExpression\"],UUID:[\"primaryExpression\"],STRUUID:[\"primaryExpression\"],MD5:[\"primaryExpression\"],SHA1:[\"primaryExpression\"],SHA256:[\"primaryExpression\"],SHA384:[\"primaryExpression\"],SHA512:[\"primaryExpression\"],COALESCE:[\"primaryExpression\"],IF:[\"primaryExpression\"],STRLANG:[\"primaryExpression\"],STRDT:[\"primaryExpression\"],SAMETERM:[\"primaryExpression\"],ISIRI:[\"primaryExpression\"],ISURI:[\"primaryExpression\"],ISBLANK:[\"primaryExpression\"],ISLITERAL:[\"primaryExpression\"],ISNUMERIC:[\"primaryExpression\"],TRUE:[\"primaryExpression\"],FALSE:[\"primaryExpression\"],COUNT:[\"primaryExpression\"],SUM:[\"primaryExpression\"],MIN:[\"primaryExpression\"],MAX:[\"primaryExpression\"],AVG:[\"primaryExpression\"],SAMPLE:[\"primaryExpression\"],GROUP_CONCAT:[\"primaryExpression\"],SUBSTR:[\"primaryExpression\"],REPLACE:[\"primaryExpression\"],REGEX:[\"primaryExpression\"],EXISTS:[\"primaryExpression\"],NOT:[\"primaryExpression\"],IRI_REF:[\"primaryExpression\"],STRING_LITERAL1:[\"primaryExpression\"],STRING_LITERAL2:[\"primaryExpression\"],STRING_LITERAL_LONG1:[\"primaryExpression\"],STRING_LITERAL_LONG2:[\"primaryExpression\"],INTEGER:[\"primaryExpression\"],DECIMAL:[\"primaryExpression\"],DOUBLE:[\"primaryExpression\"],INTEGER_POSITIVE:[\"primaryExpression\"],DECIMAL_POSITIVE:[\"primaryExpression\"],DOUBLE_POSITIVE:[\"primaryExpression\"],INTEGER_NEGATIVE:[\"primaryExpression\"],DECIMAL_NEGATIVE:[\"primaryExpression\"],DOUBLE_NEGATIVE:[\"primaryExpression\"],PNAME_LN:[\"primaryExpression\"],PNAME_NS:[\"primaryExpression\"]},update:{INSERT:[\"prologue\",\"?[update1,?[;,update]]\"],DELETE:[\"prologue\",\"?[update1,?[;,update]]\"],LOAD:[\"prologue\",\"?[update1,?[;,update]]\"],CLEAR:[\"prologue\",\"?[update1,?[;,update]]\"],DROP:[\"prologue\",\"?[update1,?[;,update]]\"],ADD:[\"prologue\",\"?[update1,?[;,update]]\"],MOVE:[\"prologue\",\"?[update1,?[;,update]]\"],COPY:[\"prologue\",\"?[update1,?[;,update]]\"],CREATE:[\"prologue\",\"?[update1,?[;,update]]\"],WITH:[\"prologue\",\"?[update1,?[;,update]]\"],BASE:[\"prologue\",\"?[update1,?[;,update]]\"],PREFIX:[\"prologue\",\"?[update1,?[;,update]]\"],$:[\"prologue\",\"?[update1,?[;,update]]\"]},update1:{LOAD:[\"load\"],CLEAR:[\"clear\"],DROP:[\"drop\"],ADD:[\"add\"],MOVE:[\"move\"],COPY:[\"copy\"],CREATE:[\"create\"],INSERT:[\"INSERT\",\"insert1\"],DELETE:[\"DELETE\",\"delete1\"],WITH:[\"modify\"]},updateAll:{INSERT:[\"?[update1,?[;,update]]\"],DELETE:[\"?[update1,?[;,update]]\"],LOAD:[\"?[update1,?[;,update]]\"],CLEAR:[\"?[update1,?[;,update]]\"],DROP:[\"?[update1,?[;,update]]\"],ADD:[\"?[update1,?[;,update]]\"],MOVE:[\"?[update1,?[;,update]]\"],COPY:[\"?[update1,?[;,update]]\"],CREATE:[\"?[update1,?[;,update]]\"],WITH:[\"?[update1,?[;,update]]\"],$:[\"?[update1,?[;,update]]\"]},usingClause:{USING:[\"USING\",\"or([iriRef,[NAMED,iriRef]])\"]},valueLogical:{\"!\":[\"relationalExpression\"],\"+\":[\"relationalExpression\"],\"-\":[\"relationalExpression\"],VAR1:[\"relationalExpression\"],VAR2:[\"relationalExpression\"],\"(\":[\"relationalExpression\"],STR:[\"relationalExpression\"],LANG:[\"relationalExpression\"],LANGMATCHES:[\"relationalExpression\"],DATATYPE:[\"relationalExpression\"],BOUND:[\"relationalExpression\"],IRI:[\"relationalExpression\"],URI:[\"relationalExpression\"],BNODE:[\"relationalExpression\"],RAND:[\"relationalExpression\"],ABS:[\"relationalExpression\"],CEIL:[\"relationalExpression\"],FLOOR:[\"relationalExpression\"],ROUND:[\"relationalExpression\"],CONCAT:[\"relationalExpression\"],STRLEN:[\"relationalExpression\"],UCASE:[\"relationalExpression\"],LCASE:[\"relationalExpression\"],ENCODE_FOR_URI:[\"relationalExpression\"],CONTAINS:[\"relationalExpression\"],STRSTARTS:[\"relationalExpression\"],STRENDS:[\"relationalExpression\"],STRBEFORE:[\"relationalExpression\"],STRAFTER:[\"relationalExpression\"],YEAR:[\"relationalExpression\"],MONTH:[\"relationalExpression\"],DAY:[\"relationalExpression\"],HOURS:[\"relationalExpression\"],MINUTES:[\"relationalExpression\"],SECONDS:[\"relationalExpression\"],TIMEZONE:[\"relationalExpression\"],TZ:[\"relationalExpression\"],NOW:[\"relationalExpression\"],UUID:[\"relationalExpression\"],STRUUID:[\"relationalExpression\"],MD5:[\"relationalExpression\"],SHA1:[\"relationalExpression\"],SHA256:[\"relationalExpression\"],SHA384:[\"relationalExpression\"],SHA512:[\"relationalExpression\"],COALESCE:[\"relationalExpression\"],IF:[\"relationalExpression\"],STRLANG:[\"relationalExpression\"],STRDT:[\"relationalExpression\"],SAMETERM:[\"relationalExpression\"],ISIRI:[\"relationalExpression\"],ISURI:[\"relationalExpression\"],ISBLANK:[\"relationalExpression\"],ISLITERAL:[\"relationalExpression\"],ISNUMERIC:[\"relationalExpression\"],TRUE:[\"relationalExpression\"],FALSE:[\"relationalExpression\"],COUNT:[\"relationalExpression\"],SUM:[\"relationalExpression\"],MIN:[\"relationalExpression\"],MAX:[\"relationalExpression\"],AVG:[\"relationalExpression\"],SAMPLE:[\"relationalExpression\"],GROUP_CONCAT:[\"relationalExpression\"],SUBSTR:[\"relationalExpression\"],REPLACE:[\"relationalExpression\"],REGEX:[\"relationalExpression\"],EXISTS:[\"relationalExpression\"],NOT:[\"relationalExpression\"],IRI_REF:[\"relationalExpression\"],STRING_LITERAL1:[\"relationalExpression\"],STRING_LITERAL2:[\"relationalExpression\"],STRING_LITERAL_LONG1:[\"relationalExpression\"],STRING_LITERAL_LONG2:[\"relationalExpression\"],INTEGER:[\"relationalExpression\"],DECIMAL:[\"relationalExpression\"],DOUBLE:[\"relationalExpression\"],INTEGER_POSITIVE:[\"relationalExpression\"],DECIMAL_POSITIVE:[\"relationalExpression\"],DOUBLE_POSITIVE:[\"relationalExpression\"],INTEGER_NEGATIVE:[\"relationalExpression\"],DECIMAL_NEGATIVE:[\"relationalExpression\"],DOUBLE_NEGATIVE:[\"relationalExpression\"],PNAME_LN:[\"relationalExpression\"],PNAME_NS:[\"relationalExpression\"]},valuesClause:{VALUES:[\"VALUES\",\"dataBlock\"],$:[],\"}\":[]},\"var\":{VAR1:[\"VAR1\"],VAR2:[\"VAR2\"]},varOrIRIref:{VAR1:[\"var\"],VAR2:[\"var\"],IRI_REF:[\"iriRef\"],PNAME_LN:[\"iriRef\"],PNAME_NS:[\"iriRef\"]},varOrTerm:{VAR1:[\"var\"],VAR2:[\"var\"],NIL:[\"graphTerm\"],IRI_REF:[\"graphTerm\"],TRUE:[\"graphTerm\"],FALSE:[\"graphTerm\"],BLANK_NODE_LABEL:[\"graphTerm\"],ANON:[\"graphTerm\"],PNAME_LN:[\"graphTerm\"],PNAME_NS:[\"graphTerm\"],STRING_LITERAL1:[\"graphTerm\"],STRING_LITERAL2:[\"graphTerm\"],STRING_LITERAL_LONG1:[\"graphTerm\"],STRING_LITERAL_LONG2:[\"graphTerm\"],INTEGER:[\"graphTerm\"],DECIMAL:[\"graphTerm\"],DOUBLE:[\"graphTerm\"],INTEGER_POSITIVE:[\"graphTerm\"],DECIMAL_POSITIVE:[\"graphTerm\"],DOUBLE_POSITIVE:[\"graphTerm\"],INTEGER_NEGATIVE:[\"graphTerm\"],DECIMAL_NEGATIVE:[\"graphTerm\"],DOUBLE_NEGATIVE:[\"graphTerm\"]},verb:{VAR1:[\"storeProperty\",\"varOrIRIref\"],VAR2:[\"storeProperty\",\"varOrIRIref\"],IRI_REF:[\"storeProperty\",\"varOrIRIref\"],PNAME_LN:[\"storeProperty\",\"varOrIRIref\"],PNAME_NS:[\"storeProperty\",\"varOrIRIref\"],a:[\"storeProperty\",\"a\"]},verbPath:{\"^\":[\"path\"],a:[\"path\"],\"!\":[\"path\"],\"(\":[\"path\"],IRI_REF:[\"path\"],PNAME_LN:[\"path\"],PNAME_NS:[\"path\"]},verbSimple:{VAR1:[\"var\"],VAR2:[\"var\"]},whereClause:{\"{\":[\"?WHERE\",\"groupGraphPattern\"],WHERE:[\"?WHERE\",\"groupGraphPattern\"]}},keywords:/^(GROUP_CONCAT|DATATYPE|BASE|PREFIX|SELECT|CONSTRUCT|DESCRIBE|ASK|FROM|NAMED|ORDER|BY|LIMIT|ASC|DESC|OFFSET|DISTINCT|REDUCED|WHERE|GRAPH|OPTIONAL|UNION|FILTER|GROUP|HAVING|AS|VALUES|LOAD|CLEAR|DROP|CREATE|MOVE|COPY|SILENT|INSERT|DELETE|DATA|WITH|TO|USING|NAMED|MINUS|BIND|LANGMATCHES|LANG|BOUND|SAMETERM|ISIRI|ISURI|ISBLANK|ISLITERAL|REGEX|TRUE|FALSE|UNDEF|ADD|DEFAULT|ALL|SERVICE|INTO|IN|NOT|IRI|URI|BNODE|RAND|ABS|CEIL|FLOOR|ROUND|CONCAT|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|NOW|UUID|STRUUID|MD5|SHA1|SHA256|SHA384|SHA512|COALESCE|IF|STRLANG|STRDT|ISNUMERIC|SUBSTR|REPLACE|EXISTS|COUNT|SUM|MIN|MAX|AVG|SAMPLE|SEPARATOR|STR)/i,punct:/^(\\*|a|\\.|\\{|\\}|,|\\(|\\)|;|\\[|\\]|\\|\\||&&|=|!=|!|<=|>=|<|>|\\+|-|\\/|\\^\\^|\\?|\\||\\^)/,startSymbol:\"sparql11\",acceptEmpty:!0}\n},{}],4:[function(e){\"use strict\";var i=function(){try{return e(\"codemirror\")}catch(i){return window.CodeMirror}}();i.defineMode(\"sparql11\",function(i){function r(e){var i=[],r=s[e];if(void 0!=r)for(var n in r)i.push(n.toString());else i.push(e);return i}function n(e,i){function n(){var r=null;if(i.inLiteral){var n=!1;r=e.match(w[i.inLiteral].contents.regex,!0,!1);if(r&&0==r[0].length){r=e.match(w[i.inLiteral].closing.regex,!0,!1);n=!0}if(r&&r[0].length>0){var o={quotePos:n?\"end\":\"content\",cat:k[i.inLiteral].CAT,style:w[i.inLiteral].complete.style,text:r[0],start:e.start};n&&(i.inLiteral=!1);return o}}for(var s in w){r=e.match(w[s].quotes.regex,!0,!1);if(r){var a;if(i.inLiteral){i.inLiteral=!1;a=\"end\"}else{i.inLiteral=s;a=\"start\"}return{cat:k[s].CAT,style:w[s].quotes.style,text:r[0],quotePos:a,start:e.start}}}for(var p=0;p\",style:\"error\",text:r[0],start:e.start}}function o(){var r=e.column();i.errorStartPos=r;i.errorEndPos=r+E.text.length}function a(e){null==i.queryType&&(\"SELECT\"==e||\"CONSTRUCT\"==e||\"ASK\"==e||\"DESCRIBE\"==e||\"INSERT\"==e||\"DELETE\"==e||\"LOAD\"==e||\"CLEAR\"==e||\"CREATE\"==e||\"DROP\"==e||\"COPY\"==e||\"MOVE\"==e||\"ADD\"==e)&&(i.queryType=e)}function p(e){\"disallowVars\"==e?i.allowVars=!1:\"allowVars\"==e?i.allowVars=!0:\"disallowBnodes\"==e?i.allowBnodes=!1:\"allowBnodes\"==e?i.allowBnodes=!0:\"storeProperty\"==e&&(i.storeProperty=!0)}function l(e){return(i.allowVars||\"var\"!=e)&&(i.allowBnodes||\"blankNode\"!=e&&\"blankNodePropertyList\"!=e&&\"blankNodePropertyListPath\"!=e)}0==e.pos&&(i.possibleCurrent=i.possibleNext);var E=n();if(\"\"==E.cat){if(1==i.OK){i.OK=!1;o()}i.complete=!1;return E.style}if(\"WS\"==E.cat||\"COMMENT\"==E.cat||E.quotePos&&\"end\"!=E.quotePos){i.possibleCurrent=i.possibleNext;return E.style}var u,c=!1,d=E.cat;if(!E.quotePos||\"end\"==E.quotePos)for(;i.stack.length>0&&d&&i.OK&&!c;){u=i.stack.pop();if(s[u]){var N=s[u][d];if(void 0!=N&&l(u)){for(var x=N.length-1;x>=0;--x)i.stack.push(N[x]);p(u)}else{i.OK=!1;i.complete=!1;o();i.stack.push(u)}}else if(u==d){c=!0;a(u);for(var I=!0,m=i.stack.length;m>0;--m){var L=s[i.stack[m-1]];L&&L.$||(I=!1)}i.complete=I;if(i.storeProperty&&\"punc\"!=d.cat){i.lastProperty=E.text;i.storeProperty=!1}}else{i.OK=!1;i.complete=!1;o()}}if(!c&&i.OK){i.OK=!1;i.complete=!1;o()}i.possibleCurrent.indexOf(\"a\")>=0&&(i.lastPredicateOffset=E.start);i.possibleCurrent=i.possibleNext;i.possibleNext=r(i.stack[i.stack.length-1]);return E.style}function o(e,r){if(e.inLiteral)return 0;if(e.stack.length&&\"?[or([verbPath,verbSimple]),objectList]\"==e.stack[e.stack.length-1])return e.lastPredicateOffset;var n=0,o=e.stack.length-1;if(/^[\\}\\]\\)]/.test(r)){for(var t=r.substr(0,1);o>=0;--o)if(e.stack[o]==t){--o;break}}else{var s=X[e.stack[o]];if(s){n+=s;--o}}for(;o>=0;--o){var s=K[e.stack[o]];s&&(n+=s)}return n*i.indentUnit}var t=(i.indentUnit,e(\"./_tokenizer-table.js\")),s=t.table,a=\"<[^<>\\\"'|{}^\\\\\\x00- ]*>\",p=\"[A-Za-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD]\",l=p+\"|_\",E=\"(\"+l+\"|-|[0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040])\",u=\"(\"+l+\"|[0-9])(\"+l+\"|[0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040])*\",c=\"\\\\?\"+u,d=\"\\\\$\"+u,N=\"(\"+p+\")(((\"+E+\")|\\\\.)*(\"+E+\"))?\",x=\"[0-9A-Fa-f]\",I=\"(%\"+x+x+\")\",m=\"(\\\\\\\\[_~\\\\.\\\\-!\\\\$&'\\\\(\\\\)\\\\*\\\\+,;=/\\\\?#@%])\",L=\"(\"+I+\"|\"+m+\")\",T=\"(\"+l+\"|:|[0-9]|\"+L+\")((\"+E+\"|\\\\.|:|\"+L+\")*(\"+E+\"|:|\"+L+\"))?\",A=\"_:(\"+l+\"|[0-9])((\"+E+\"|\\\\.)*\"+E+\")?\",g=\"(\"+N+\")?:\",S=g+T,v=\"@[a-zA-Z]+(-[a-zA-Z0-9]+)*\",R=\"[eE][\\\\+-]?[0-9]+\",h=\"[0-9]+\",C=\"(([0-9]+\\\\.[0-9]*)|(\\\\.[0-9]+))\",f=\"(([0-9]+\\\\.[0-9]*\"+R+\")|(\\\\.[0-9]+\"+R+\")|([0-9]+\"+R+\"))\",O=\"\\\\+\"+h,y=\"\\\\+\"+C,P=\"\\\\+\"+f,_=\"-\"+h,D=\"-\"+C,b=\"-\"+f,G=\"\\\\\\\\[tbnrf\\\\\\\\\\\"']\",M=x+\"{4}\",U=\"(\\\\\\\\u\"+M+\"|\\\\\\\\U00(10|0\"+x+\")\"+M+\")\",B=\"'(([^\\\\x27\\\\x5C\\\\x0A\\\\x0D])|\"+G+\"|\"+U+\")*'\",V='\"(([^\\\\x22\\\\x5C\\\\x0A\\\\x0D])|'+G+\"|\"+U+')*\"',k={SINGLE:{CAT:\"STRING_LITERAL_LONG1\",QUOTES:\"'''\",CONTENTS:\"(('|'')?([^'\\\\\\\\]|\"+G+\"|\"+U+\"))*\"},DOUBLE:{CAT:\"STRING_LITERAL_LONG2\",QUOTES:'\"\"\"',CONTENTS:'((\"|\"\")?([^\"\\\\\\\\]|'+G+\"|\"+U+\"))*\"}};for(var F in k)k[F].COMPLETE=k[F].QUOTES+k[F].CONTENTS+k[F].QUOTES;var w={};for(var F in k)w[F]={complete:{name:\"STRING_LITERAL_LONG_\"+F,regex:new RegExp(\"^\"+k[F].COMPLETE),style:\"string\"},contents:{name:\"STRING_LITERAL_LONG_\"+F,regex:new RegExp(\"^\"+k[F].CONTENTS),style:\"string\"},closing:{name:\"STRING_LITERAL_LONG_\"+F,regex:new RegExp(\"^\"+k[F].CONTENTS+k[F].QUOTES),style:\"string\"},quotes:{name:\"STRING_LITERAL_LONG_QUOTES_\"+F,regex:new RegExp(\"^\"+k[F].QUOTES),style:\"string\"}};var j=\"[\\\\x20\\\\x09\\\\x0D\\\\x0A]\",H=\"#([^\\\\n\\\\r]*[\\\\n\\\\r]|[^\\\\n\\\\r]*$)\",q=\"(\"+j+\"|(\"+H+\"))*\",W=\"\\\\(\"+q+\"\\\\)\",Y=\"\\\\[\"+q+\"\\\\]\",Q=[{name:\"WS\",regex:new RegExp(\"^\"+j+\"+\"),style:\"ws\"},{name:\"COMMENT\",regex:new RegExp(\"^\"+H),style:\"comment\"},{name:\"IRI_REF\",regex:new RegExp(\"^\"+a),style:\"variable-3\"},{name:\"VAR1\",regex:new RegExp(\"^\"+c),style:\"atom\"},{name:\"VAR2\",regex:new RegExp(\"^\"+d),style:\"atom\"},{name:\"LANGTAG\",regex:new RegExp(\"^\"+v),style:\"meta\"},{name:\"DOUBLE\",regex:new RegExp(\"^\"+f),style:\"number\"},{name:\"DECIMAL\",regex:new RegExp(\"^\"+C),style:\"number\"},{name:\"INTEGER\",regex:new RegExp(\"^\"+h),style:\"number\"},{name:\"DOUBLE_POSITIVE\",regex:new RegExp(\"^\"+P),style:\"number\"},{name:\"DECIMAL_POSITIVE\",regex:new RegExp(\"^\"+y),style:\"number\"},{name:\"INTEGER_POSITIVE\",regex:new RegExp(\"^\"+O),style:\"number\"},{name:\"DOUBLE_NEGATIVE\",regex:new RegExp(\"^\"+b),style:\"number\"},{name:\"DECIMAL_NEGATIVE\",regex:new RegExp(\"^\"+D),style:\"number\"},{name:\"INTEGER_NEGATIVE\",regex:new RegExp(\"^\"+_),style:\"number\"},{name:\"STRING_LITERAL1\",regex:new RegExp(\"^\"+B),style:\"string\"},{name:\"STRING_LITERAL2\",regex:new RegExp(\"^\"+V),style:\"string\"},{name:\"NIL\",regex:new RegExp(\"^\"+W),style:\"punc\"},{name:\"ANON\",regex:new RegExp(\"^\"+Y),style:\"punc\"},{name:\"PNAME_LN\",regex:new RegExp(\"^\"+S),style:\"string-2\"},{name:\"PNAME_NS\",regex:new RegExp(\"^\"+g),style:\"string-2\"},{name:\"BLANK_NODE_LABEL\",regex:new RegExp(\"^\"+A),style:\"string-2\"}],X={\"*[,, object]\":3,\"*[(,),object]\":3,\"*[(,),objectPath]\":3,\"*[/,pathEltOrInverse]\":2,object:2,objectPath:2,objectList:2,objectListPath:2,storeProperty:2,pathMod:2,\"?pathMod\":2,propertyListNotEmpty:1,propertyList:1,propertyListPath:1,propertyListPathNotEmpty:1,\"?[verb,objectList]\":1},K={\"}\":1,\"]\":0,\")\":1,\"{\":-1,\"(\":-1};return{token:n,startState:function(){return{tokenize:n,OK:!0,complete:t.acceptEmpty,errorStartPos:null,errorEndPos:null,queryType:null,possibleCurrent:r(t.startSymbol),possibleNext:r(t.startSymbol),allowVars:!0,allowBnodes:!0,storeProperty:!1,lastProperty:\"\",inLiteral:!1,stack:[t.startSymbol],lastPredicateOffset:i.indentUnit}},indent:o,electricChars:\"}])\"}});i.defineMIME(\"application/x-sparql-query\",\"sparql11\")},{\"./_tokenizer-table.js\":3,codemirror:void 0}],5:[function(e,i){var r=i.exports=function(){this.words=0;this.prefixes=0;this.children=[]};r.prototype={insert:function(e,i){if(0!=e.length){var n,o,t=this;void 0===i&&(i=0);if(i!==e.length){t.prefixes++;n=e[i];void 0===t.children[n]&&(t.children[n]=new r);o=t.children[n];o.insert(e,i+1)}else t.words++}},remove:function(e,i){if(0!=e.length){var r,n,o=this;void 0===i&&(i=0);if(void 0!==o)if(i!==e.length){o.prefixes--;r=e[i];n=o.children[r];n.remove(e,i+1)}else o.words--}},update:function(e,i){if(0!=e.length&&0!=i.length){this.remove(e);this.insert(i)}},countWord:function(e,i){if(0==e.length)return 0;var r,n,o=this,t=0;void 0===i&&(i=0);if(i===e.length)return o.words;r=e[i];n=o.children[r];void 0!==n&&(t=n.countWord(e,i+1));return t},countPrefix:function(e,i){if(0==e.length)return 0;var r,n,o=this,t=0;void 0===i&&(i=0);if(i===e.length)return o.prefixes;var r=e[i];n=o.children[r];void 0!==n&&(t=n.countPrefix(e,i+1));return t},find:function(e){return 0==e.length?!1:this.countWord(e)>0?!0:!1},getAllWords:function(e){var i,r,n=this,o=[];void 0===e&&(e=\"\");if(void 0===n)return[];n.words>0&&o.push(e);for(i in n.children){r=n.children[i];o=o.concat(r.getAllWords(e+i))}return o},autoComplete:function(e,i){var r,n,o=this;if(0==e.length)return void 0===i?o.getAllWords(e):[];void 0===i&&(i=0);r=e[i];n=o.children[r];return void 0===n?[]:i===e.length-1?n.getAllWords(e):n.autoComplete(e,i+1)}}},{}],6:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){\"use strict\";function i(e){var i=e.getWrapperElement();e.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:i.style.width,height:i.style.height};i.style.width=\"\";i.style.height=\"auto\";i.className+=\" CodeMirror-fullscreen\";document.documentElement.style.overflow=\"hidden\";e.refresh()}function r(e){var i=e.getWrapperElement();i.className=i.className.replace(/\\s*CodeMirror-fullscreen\\b/,\"\");document.documentElement.style.overflow=\"\";var r=e.state.fullScreenRestore;i.style.width=r.width;i.style.height=r.height;window.scrollTo(r.scrollLeft,r.scrollTop);e.refresh()}e.defineOption(\"fullScreen\",!1,function(n,o,t){t==e.Init&&(t=!1);!t!=!o&&(o?i(n):r(n))})})},{codemirror:void 0}],7:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){function i(e,i,n,o){var t=e.getLineHandle(i.line),p=i.ch-1,l=p>=0&&a[t.text.charAt(p)]||a[t.text.charAt(++p)];if(!l)return null;var E=\">\"==l.charAt(1)?1:-1;if(n&&E>0!=(p==i.ch))return null;var u=e.getTokenTypeAt(s(i.line,p+1)),c=r(e,s(i.line,p+(E>0?1:0)),E,u||null,o);return null==c?null:{from:s(i.line,p),to:c&&c.pos,match:c&&c.ch==l.charAt(0),forward:E>0}}function r(e,i,r,n,o){for(var t=o&&o.maxScanLineLength||1e4,p=o&&o.maxScanLines||1e3,l=[],E=o&&o.bracketRegex?o.bracketRegex:/[(){}[\\]]/,u=r>0?Math.min(i.line+p,e.lastLine()+1):Math.max(e.firstLine()-1,i.line-p),c=i.line;c!=u;c+=r){var d=e.getLine(c);if(d){var N=r>0?0:d.length-1,x=r>0?d.length:-1;if(!(d.length>t)){c==i.line&&(N=i.ch-(0>r?1:0));for(;N!=x;N+=r){var I=d.charAt(N);if(E.test(I)&&(void 0===n||e.getTokenTypeAt(s(c,N+1))==n)){var m=a[I];if(\">\"==m.charAt(1)==r>0)l.push(I);else{if(!l.length)return{pos:s(c,N),ch:I};l.pop()}}}}}}return c-r==(r>0?e.lastLine():e.firstLine())?!1:null}function n(e,r,n){for(var o=e.state.matchBrackets.maxHighlightLineLength||1e3,a=[],p=e.listSelections(),l=0;l\",\")\":\"(<\",\"[\":\"]>\",\"]\":\"[<\",\"{\":\"}>\",\"}\":\"{<\"},p=null;e.defineOption(\"matchBrackets\",!1,function(i,r,n){n&&n!=e.Init&&i.off(\"cursorActivity\",o);if(r){i.state.matchBrackets=\"object\"==typeof r?r:{};i.on(\"cursorActivity\",o)}});e.defineExtension(\"matchBrackets\",function(){n(this,!0)});e.defineExtension(\"findMatchingBracket\",function(e,r,n){return i(this,e,r,n)});e.defineExtension(\"scanForBracket\",function(e,i,n,o){return r(this,e,i,n,o)})})},{codemirror:void 0}],8:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){\"use strict\";e.registerHelper(\"fold\",\"brace\",function(i,r){function n(n){for(var o=r.ch,p=0;;){var l=0>=o?-1:a.lastIndexOf(n,o-1);if(-1!=l){if(1==p&&l=N;++N)for(var x=i.getLine(N),I=N==s?o:0;;){var m=x.indexOf(p,I),L=x.indexOf(l,I);0>m&&(m=x.length);0>L&&(L=x.length);I=Math.min(m,L);if(I==x.length)break;if(i.getTokenTypeAt(e.Pos(N,I+1))==t)if(I==m)++c;else if(!--c){E=N;u=I;break e}++I}if(null!=E&&(s!=E||u!=o))return{from:e.Pos(s,o),to:e.Pos(E,u)}}});e.registerHelper(\"fold\",\"import\",function(i,r){function n(r){if(ri.lastLine())return null;var n=i.getTokenAt(e.Pos(r,1));/\\S/.test(n.string)||(n=i.getTokenAt(e.Pos(r,n.end+1)));if(\"keyword\"!=n.type||\"import\"!=n.string)return null;for(var o=r,t=Math.min(i.lastLine(),r+10);t>=o;++o){var s=i.getLine(o),a=s.indexOf(\";\");if(-1!=a)return{startCh:n.end,end:e.Pos(o,a)}}}var o,r=r.line,t=n(r);if(!t||n(r-1)||(o=n(r-2))&&o.end.line==r-1)return null;for(var s=t.end;;){var a=n(s.line+1);if(null==a)break;s=a.end}return{from:i.clipPos(e.Pos(r,t.startCh+1)),to:s}});e.registerHelper(\"fold\",\"include\",function(i,r){function n(r){if(ri.lastLine())return null;var n=i.getTokenAt(e.Pos(r,1));/\\S/.test(n.string)||(n=i.getTokenAt(e.Pos(r,n.end+1)));return\"meta\"==n.type&&\"#include\"==n.string.slice(0,8)?n.start+8:void 0}var r=r.line,o=n(r);if(null==o||null!=n(r-1))return null;for(var t=r;;){var s=n(t+1);if(null==s)break;++t}return{from:e.Pos(r,o+1),to:i.clipPos(e.Pos(t))}})})},{codemirror:void 0}],9:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){\"use strict\";function i(i,o,t,s){function a(e){var r=p(i,o);if(!r||r.to.line-r.from.linei.firstLine();){o=e.Pos(o.line-1,0);E=a(!1)}if(E&&!E.cleared&&\"unfold\"!==s){var u=r(i,t);e.on(u,\"mousedown\",function(i){c.clear();e.e_preventDefault(i)});var c=i.markText(E.from,E.to,{replacedWith:u,clearOnEnter:!0,__isFold:!0});c.on(\"clear\",function(r,n){e.signal(i,\"unfold\",i,r,n)});e.signal(i,\"fold\",i,E.from,E.to)}}function r(e,i){var r=n(e,i,\"widget\");if(\"string\"==typeof r){var o=document.createTextNode(r);r=document.createElement(\"span\");r.appendChild(o);r.className=\"CodeMirror-foldmarker\"}return r}function n(e,i,r){if(i&&void 0!==i[r])return i[r];var n=e.options.foldOptions;return n&&void 0!==n[r]?n[r]:o[r]}e.newFoldFunction=function(e,r){return function(n,o){i(n,o,{rangeFinder:e,widget:r})}};e.defineExtension(\"foldCode\",function(e,r,n){i(this,e,r,n)});e.defineExtension(\"isFolded\",function(e){for(var i=this.findMarksAt(e),r=0;r=r;r++)i.foldCode(e.Pos(r,0),null,\"fold\")})};e.commands.unfoldAll=function(i){i.operation(function(){for(var r=i.firstLine(),n=i.lastLine();n>=r;r++)i.foldCode(e.Pos(r,0),null,\"unfold\")})};e.registerHelper(\"fold\",\"combine\",function(){var e=Array.prototype.slice.call(arguments,0);return function(i,r){for(var n=0;n=a&&(r=o(t.indicatorOpen))}e.setGutterMarker(i,t.gutter,r);++s})}function s(e){var i=e.getViewport(),r=e.state.foldGutter;if(r){e.operation(function(){t(e,i.from,i.to)});r.from=i.from;r.to=i.to}}function a(e,i,r){var n=e.state.foldGutter.options;r==n.gutter&&e.foldCode(u(i,0),n.rangeFinder)}function p(e){var i=e.state.foldGutter,r=e.state.foldGutter.options;i.from=i.to=0;clearTimeout(i.changeUpdate);i.changeUpdate=setTimeout(function(){s(e)},r.foldOnChangeTimeSpan||600)}function l(e){var i=e.state.foldGutter,r=e.state.foldGutter.options;clearTimeout(i.changeUpdate);i.changeUpdate=setTimeout(function(){var r=e.getViewport();i.from==i.to||r.from-i.to>20||i.from-r.to>20?s(e):e.operation(function(){if(r.fromi.to){t(e,i.to,r.to);i.to=r.to}})},r.updateViewportTimeSpan||400)}function E(e,i){var r=e.state.foldGutter,n=i.line;n>=r.from&&n=e.max)){e.ch=0;e.text=e.cm.getLine(++e.line);return!0}}function t(e){if(!(e.line<=e.min)){e.text=e.cm.getLine(--e.line);e.ch=e.text.length;return!0}}function s(e){for(;;){var i=e.text.indexOf(\">\",e.ch);if(-1==i){if(o(e))continue;return}if(n(e,i+1)){var r=e.text.lastIndexOf(\"/\",i),t=r>-1&&!/\\S/.test(e.text.slice(r+1,i));e.ch=i+1;return t?\"selfClose\":\"regular\"}e.ch=i+1}}function a(e){for(;;){var i=e.ch?e.text.lastIndexOf(\"<\",e.ch-1):-1;if(-1==i){if(t(e))continue;return}if(n(e,i+1)){x.lastIndex=i;e.ch=i;var r=x.exec(e.text);if(r&&r.index==i)return r}else e.ch=i}}function p(e){for(;;){x.lastIndex=e.ch;var i=x.exec(e.text);if(!i){if(o(e))continue;return}if(n(e,i.index+1)){e.ch=i.index+i[0].length;return i}e.ch=i.index+1}}function l(e){for(;;){var i=e.ch?e.text.lastIndexOf(\">\",e.ch-1):-1;if(-1==i){if(t(e))continue;return}if(n(e,i+1)){var r=e.text.lastIndexOf(\"/\",i),o=r>-1&&!/\\S/.test(e.text.slice(r+1,i));e.ch=i+1;return o?\"selfClose\":\"regular\"}e.ch=i}}function E(e,i){for(var r=[];;){var n,o=p(e),t=e.line,a=e.ch-(o?o[0].length:0);if(!o||!(n=s(e)))return;if(\"selfClose\"!=n)if(o[1]){for(var l=r.length-1;l>=0;--l)if(r[l]==o[2]){r.length=l;break}if(0>l&&(!i||i==o[2]))return{tag:o[2],from:c(t,a),to:c(e.line,e.ch)}}else r.push(o[2])}}function u(e,i){for(var r=[];;){var n=l(e);if(!n)return;if(\"selfClose\"!=n){var o=e.line,t=e.ch,s=a(e);if(!s)return;if(s[1])r.push(s[2]);else{for(var p=r.length-1;p>=0;--p)if(r[p]==s[2]){r.length=p;break}if(0>p&&(!i||i==s[2]))return{tag:s[2],from:c(e.line,e.ch),to:c(o,t)}}}else a(e)}}var c=e.Pos,d=\"A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",N=d+\"-:.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",x=new RegExp(\"<(/?)([\"+d+\"][\"+N+\"]*)\",\"g\");e.registerHelper(\"fold\",\"xml\",function(e,i){for(var n=new r(e,i.line,0);;){var o,t=p(n);if(!t||n.line!=i.line||!(o=s(n)))return;if(!t[1]&&\"selfClose\"!=o){var i=c(n.line,n.ch),a=E(n,t[2]);return a&&{from:i,to:a.from}}}});e.findMatchingTag=function(e,n,o){var t=new r(e,n.line,n.ch,o);if(-1!=t.text.indexOf(\">\")||-1!=t.text.indexOf(\"<\")){var p=s(t),l=p&&c(t.line,t.ch),d=p&&a(t);if(p&&d&&!(i(t,n)>0)){var N={from:c(t.line,t.ch),to:l,tag:d[2]};if(\"selfClose\"==p)return{open:N,close:null,at:\"open\"};if(d[1])return{open:u(t,d[2]),close:N,at:\"close\"};t=new r(e,l.line,l.ch,o);return{open:N,close:E(t,d[2]),at:\"open\"}}}};e.findEnclosingTag=function(e,i,n){for(var o=new r(e,i.line,i.ch,n);;){var t=u(o);if(!t)break;var s=new r(e,i.line,i.ch,n),a=E(s,t.tag);if(a)return{open:t,close:a}}};e.scanForClosingTag=function(e,i,n,o){var t=new r(e,i.line,i.ch,o?{from:0,to:o}:null);return E(t,n)}})},{codemirror:void 0}],12:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){\"use strict\";function i(e,i){this.cm=e;this.options=this.buildOptions(i);this.widget=this.onClose=null}function r(e){return\"string\"==typeof e?e:e.text}function n(e,i){function r(e,r){var o;o=\"string\"!=typeof r?function(e){return r(e,i)}:n.hasOwnProperty(r)?n[r]:r;t[e]=o}var n={Up:function(){i.moveFocus(-1)},Down:function(){i.moveFocus(1)},PageUp:function(){i.moveFocus(-i.menuSize()+1,!0)},PageDown:function(){i.moveFocus(i.menuSize()-1,!0)},Home:function(){i.setFocus(0)},End:function(){i.setFocus(i.length-1)},Enter:i.pick,Tab:i.pick,Esc:i.close},o=e.options.customKeys,t=o?{}:n;if(o)for(var s in o)o.hasOwnProperty(s)&&r(s,o[s]);var a=e.options.extraKeys;if(a)for(var s in a)a.hasOwnProperty(s)&&r(s,a[s]);return t}function o(e,i){for(;i&&i!=e;){if(\"LI\"===i.nodeName.toUpperCase()&&i.parentNode==e)return i;i=i.parentNode}}function t(i,t){this.completion=i;this.data=t;var p=this,l=i.cm,E=this.hints=document.createElement(\"ul\");E.className=\"CodeMirror-hints\";this.selectedHint=t.selectedHint||0;for(var u=t.list,c=0;c0){var R=S.bottom-S.top,h=I.top-(I.bottom-S.top);if(h-R>0){E.style.top=(L=I.top-R)+\"px\";T=!1}else if(R>g){E.style.height=g-5+\"px\";E.style.top=(L=I.bottom-S.top)+\"px\";var C=l.getCursor();if(t.from.ch!=C.ch){I=l.cursorCoords(C);E.style.left=(m=I.left)+\"px\";S=E.getBoundingClientRect()}}}var f=S.right-A;if(f>0){if(S.right-S.left>A){E.style.width=A-5+\"px\";f-=S.right-S.left-A}E.style.left=(m=I.left-f)+\"px\"}l.addKeyMap(this.keyMap=n(i,{moveFocus:function(e,i){p.changeActive(p.selectedHint+e,i)},setFocus:function(e){p.changeActive(e)},menuSize:function(){return p.screenAmount()},length:u.length,close:function(){i.close()},pick:function(){p.pick()},data:t}));if(i.options.closeOnUnfocus){var O;l.on(\"blur\",this.onBlur=function(){O=setTimeout(function(){i.close()},100)});l.on(\"focus\",this.onFocus=function(){clearTimeout(O)})}var y=l.getScrollInfo();l.on(\"scroll\",this.onScroll=function(){var e=l.getScrollInfo(),r=l.getWrapperElement().getBoundingClientRect(),n=L+y.top-e.top,o=n-(window.pageYOffset||(document.documentElement||document.body).scrollTop);T||(o+=E.offsetHeight);if(o<=r.top||o>=r.bottom)return i.close();E.style.top=n+\"px\";E.style.left=m+y.left-e.left+\"px\"});e.on(E,\"dblclick\",function(e){var i=o(E,e.target||e.srcElement);if(i&&null!=i.hintId){p.changeActive(i.hintId);p.pick()}});e.on(E,\"click\",function(e){var r=o(E,e.target||e.srcElement);if(r&&null!=r.hintId){p.changeActive(r.hintId);i.options.completeOnSingleClick&&p.pick()}});e.on(E,\"mousedown\",function(){setTimeout(function(){l.focus()},20)});e.signal(t,\"select\",u[0],E.firstChild);return!0}var s=\"CodeMirror-hint\",a=\"CodeMirror-hint-active\";e.showHint=function(e,i,r){if(!i)return e.showHint(r);r&&r.async&&(i.async=!0);var n={hint:i};if(r)for(var o in r)n[o]=r[o];return e.showHint(n)};e.defineExtension(\"showHint\",function(r){if(!(this.listSelections().length>1||this.somethingSelected())){this.state.completionActive&&this.state.completionActive.close();var n=this.state.completionActive=new i(this,r),o=n.options.hint;if(o){e.signal(this,\"startCompletion\",this);if(!o.async)return n.showHints(o(this,n.options));o(this,function(e){n.showHints(e)},n.options);return void 0}}});i.prototype={close:function(){if(this.active()){this.cm.state.completionActive=null;this.widget&&this.widget.close();this.onClose&&this.onClose();e.signal(this.cm,\"endCompletion\",this.cm)}},active:function(){return this.cm.state.completionActive==this},pick:function(i,n){var o=i.list[n];o.hint?o.hint(this.cm,i,o):this.cm.replaceRange(r(o),o.from||i.from,o.to||i.to,\"complete\");e.signal(i,\"pick\",o);this.close()},showHints:function(e){if(!e||!e.list.length||!this.active())return this.close();this.options.completeSingle&&1==e.list.length?this.pick(e,0):this.showWidget(e);return void 0},showWidget:function(i){function r(){if(!p){p=!0;E.close();E.cm.off(\"cursorActivity\",a);i&&e.signal(i,\"close\")}}function n(){if(!p){e.signal(i,\"update\");var r=E.options.hint;r.async?r(E.cm,o,E.options):o(r(E.cm,E.options))}}function o(e){i=e;if(!p){if(!i||!i.list.length)return r();E.widget&&E.widget.close();E.widget=new t(E,i)}}function s(){if(l){x(l);l=0}}function a(){s();var e=E.cm.getCursor(),i=E.cm.getLine(e.line);if(e.line!=c.line||i.length-e.ch!=d-c.ch||e.ch=this.data.list.length?i=r?this.data.list.length-1:0:0>i&&(i=r?0:this.data.list.length-1);if(this.selectedHint!=i){var n=this.hints.childNodes[this.selectedHint];n.className=n.className.replace(\" \"+a,\"\");n=this.hints.childNodes[this.selectedHint=i];n.className+=\" \"+a;n.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=n.offsetTop+n.offsetHeight-this.hints.clientHeight+3);e.signal(this.data,\"select\",this.data.list[this.selectedHint],n)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}};e.registerHelper(\"hint\",\"auto\",function(i,r){var n,o=i.getHelpers(i.getCursor(),\"hint\");if(o.length)for(var t=0;t,]/,closeOnUnfocus:!0,completeOnSingleClick:!1,container:null,customKeys:null,extraKeys:null};e.defineOption(\"hintOptions\",null)})},{codemirror:void 0}],13:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){\"use strict\";e.runMode=function(i,r,n,o){var t=e.getMode(e.defaults,r),s=/MSIE \\d/.test(navigator.userAgent),a=s&&(null==document.documentMode||document.documentMode<9);if(1==n.nodeType){var p=o&&o.tabSize||e.defaults.tabSize,l=n,E=0;l.innerHTML=\"\";n=function(e,i){if(\"\\n\"!=e){for(var r=\"\",n=0;;){var o=e.indexOf(\"\t\",n);if(-1==o){r+=e.slice(n);E+=e.length-n;break}E+=o-n;r+=e.slice(n,o);var t=p-E%p;E+=t;for(var s=0;t>s;++s)r+=\" \";n=o+1}if(i){var u=l.appendChild(document.createElement(\"span\"));u.className=\"cm-\"+i.replace(/ +/g,\" cm-\");u.appendChild(document.createTextNode(r))}else l.appendChild(document.createTextNode(r))}else{l.appendChild(document.createTextNode(a?\"\\r\":e));E=0}}}for(var u=e.splitLines(i),c=o&&o.state||e.startState(t),d=0,N=u.length;N>d;++d){d&&n(\"\\n\");var x=new e.StringStream(u[d]);!x.string&&t.blankLine&&t.blankLine(c);for(;!x.eol();){var I=t.token(x,c);n(x.current(),I,d,x.start,c);x.start=x.pos}}}})},{codemirror:void 0}],14:[function(i,r,n){(function(o){\"object\"==typeof n&&\"object\"==typeof r?o(function(){try{return i(\"codemirror\")}catch(e){return window.CodeMirror}}()):\"function\"==typeof e&&e.amd?e([\"../../lib/codemirror\"],o):o(CodeMirror)})(function(e){\"use strict\";function i(e,i,o,t){this.atOccurrence=!1;this.doc=e;null==t&&\"string\"==typeof i&&(t=!1);o=o?e.clipPos(o):n(0,0);this.pos={from:o,to:o};if(\"string\"!=typeof i){i.global||(i=new RegExp(i.source,i.ignoreCase?\"ig\":\"g\"));this.matches=function(r,o){if(r){i.lastIndex=0;for(var t,s,a=e.getLine(o.line).slice(0,o.ch),p=0;;){i.lastIndex=p;var l=i.exec(a);if(!l)break;t=l;s=t.index;p=t.index+(t[0].length||1);if(p==a.length)break}var E=t&&t[0].length||0;E||(0==s&&0==a.length?t=void 0:s!=e.getLine(o.line).length&&E++)}else{i.lastIndex=o.ch;var a=e.getLine(o.line),t=i.exec(a),E=t&&t[0].length||0,s=t&&t.index;s+E==a.length||E||(E=1)}return t&&E?{from:n(o.line,s),to:n(o.line,s+E),match:t}:void 0}}else{var s=i;t&&(i=i.toLowerCase());\nvar a=t?function(e){return e.toLowerCase()}:function(e){return e},p=i.split(\"\\n\");if(1==p.length)this.matches=i.length?function(o,t){if(o){var p=e.getLine(t.line).slice(0,t.ch),l=a(p),E=l.lastIndexOf(i);if(E>-1){E=r(p,l,E);return{from:n(t.line,E),to:n(t.line,E+s.length)}}}else{var p=e.getLine(t.line).slice(t.ch),l=a(p),E=l.indexOf(i);if(E>-1){E=r(p,l,E)+t.ch;return{from:n(t.line,E),to:n(t.line,E+s.length)}}}}:function(){};else{var l=s.split(\"\\n\");this.matches=function(i,r){var o=p.length-1;if(i){if(r.line-(p.length-1)=1;--E,--s)if(p[E]!=a(e.getLine(s)))return;var u=e.getLine(s),c=u.length-l[0].length;if(a(u.slice(c))!=p[0])return;return{from:n(s,c),to:t}}if(!(r.line+(p.length-1)>e.lastLine())){var u=e.getLine(r.line),c=u.length-l[0].length;if(a(u.slice(c))==p[0]){for(var d=n(r.line,c),s=r.line+1,E=1;o>E;++E,++s)if(p[E]!=a(e.getLine(s)))return;if(a(e.getLine(s).slice(0,l[o].length))==p[o])return{from:d,to:n(s,l[o].length)}}}}}}}function r(e,i,r){if(e.length==i.length)return r;for(var n=Math.min(r,e.length);;){var o=e.slice(0,n).toLowerCase().length;if(r>o)++n;else{if(!(o>r))return n;--n}}}var n=e.Pos;i.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){function i(e){var i=n(e,0);r.pos={from:i,to:i};r.atOccurrence=!1;return!1}for(var r=this,o=this.doc.clipPos(e?this.pos.from:this.pos.to);;){if(this.pos=this.matches(e,o)){this.atOccurrence=!0;return this.pos.match||!0}if(e){if(!o.line)return i(0);o=n(o.line-1,this.doc.getLine(o.line-1).length)}else{var t=this.doc.lineCount();if(o.line==t-1)return i(t);o=n(o.line+1,0)}}},from:function(){return this.atOccurrence?this.pos.from:void 0},to:function(){return this.atOccurrence?this.pos.to:void 0},replace:function(i){if(this.atOccurrence){var r=e.splitLines(i);this.doc.replaceRange(r,this.pos.from,this.pos.to);this.pos.to=n(this.pos.from.line+r.length-1,r[r.length-1].length+(1==r.length?this.pos.from.ch:0))}}};e.defineExtension(\"getSearchCursor\",function(e,r,n){return new i(this.doc,e,r,n)});e.defineDocExtension(\"getSearchCursor\",function(e,r,n){return new i(this,e,r,n)});e.defineExtension(\"selectMatches\",function(i,r){for(var n,o=[],t=this.getSearchCursor(i,this.getCursor(\"from\"),r);(n=t.findNext())&&!(e.cmpPos(t.to(),this.getCursor(\"to\"))>0);)o.push({anchor:t.from(),head:t.to()});o.length&&this.setSelections(o,0)})})},{codemirror:void 0}],15:[function(i,r){(function(i){function n(){try{return p in i&&i[p]}catch(e){return!1}}function o(e){return e.replace(/^d/,\"___$&\").replace(N,\"___\")}var t,s={},a=i.document,p=\"localStorage\",l=\"script\";s.disabled=!1;s.version=\"1.3.17\";s.set=function(){};s.get=function(){};s.has=function(e){return void 0!==s.get(e)};s.remove=function(){};s.clear=function(){};s.transact=function(e,i,r){if(null==r){r=i;i=null}null==i&&(i={});var n=s.get(e,i);r(n);s.set(e,n)};s.getAll=function(){};s.forEach=function(){};s.serialize=function(e){return JSON.stringify(e)};s.deserialize=function(e){if(\"string\"!=typeof e)return void 0;try{return JSON.parse(e)}catch(i){return e||void 0}};if(n()){t=i[p];s.set=function(e,i){if(void 0===i)return s.remove(e);t.setItem(e,s.serialize(i));return i};s.get=function(e,i){var r=s.deserialize(t.getItem(e));return void 0===r?i:r};s.remove=function(e){t.removeItem(e)};s.clear=function(){t.clear()};s.getAll=function(){var e={};s.forEach(function(i,r){e[i]=r});return e};s.forEach=function(e){for(var i=0;idocument.w=window');u.close();E=u.w.frames[0].document;t=E.createElement(\"div\")}catch(c){t=a.createElement(\"div\");E=a.body}var d=function(e){return function(){var i=Array.prototype.slice.call(arguments,0);i.unshift(t);E.appendChild(t);t.addBehavior(\"#default#userData\");t.load(p);var r=e.apply(s,i);E.removeChild(t);return r}},N=new RegExp(\"[!\\\"#$%&'()*+,/\\\\\\\\:;<=>?@[\\\\]^`{|}~]\",\"g\");s.set=d(function(e,i,r){i=o(i);if(void 0===r)return s.remove(i);e.setAttribute(i,s.serialize(r));e.save(p);return r});s.get=d(function(e,i,r){i=o(i);var n=s.deserialize(e.getAttribute(i));return void 0===n?r:n});s.remove=d(function(e,i){i=o(i);e.removeAttribute(i);e.save(p)});s.clear=d(function(e){var i=e.XMLDocument.documentElement.attributes;e.load(p);for(var r,n=0;r=i[n];n++)e.removeAttribute(r.name);e.save(p)});s.getAll=function(){var e={};s.forEach(function(i,r){e[i]=r});return e};s.forEach=d(function(e,i){for(var r,n=e.XMLDocument.documentElement.attributes,o=0;r=n[o];++o)i(r.name,s.deserialize(e.getAttribute(r.name)))})}try{var x=\"__storejs__\";s.set(x,x);s.get(x)!=x&&(s.disabled=!0);s.remove(x)}catch(c){s.disabled=!0}s.enabled=!s.disabled;\"undefined\"!=typeof r&&r.exports&&this.module!==r?r.exports=s:\"function\"==typeof e&&e.amd?e(s):i.store=s})(Function(\"return this\")())},{}],16:[function(e,i){i.exports={name:\"yasgui-utils\",version:\"1.6.0\",description:\"Utils for YASGUI libs\",main:\"src/main.js\",repository:{type:\"git\",url:\"git://github.com/YASGUI/Utils.git\"},licenses:[{type:\"MIT\",url:\"http://yasgui.github.io/license.txt\"}],author:\"Laurens Rietveld\",maintainers:[{name:\"Laurens Rietveld\",email:\"laurens.rietveld@gmail.com\",web:\"http://laurensrietveld.nl\"}],bugs:{url:\"https://github.com/YASGUI/Utils/issues\"},homepage:\"https://github.com/YASGUI/Utils\",dependencies:{store:\"^1.3.14\"}}},{}],17:[function(e,i){window.console=window.console||{log:function(){}};i.exports={storage:e(\"./storage.js\"),svg:e(\"./svg.js\"),version:{\"yasgui-utils\":e(\"../package.json\").version},nestedExists:function(e){for(var i=Array.prototype.slice.call(arguments,1),r=0;ri.exp?null:i.val:null}return null}}},{store:15}],19:[function(e,i){i.exports={draw:function(e,r){if(e){var n=i.exports.getElement(r);n&&(e.append?e.append(n):e.appendChild(n))}},getElement:function(e){if(e&&0==e.indexOf(\"0){var o=r(i.getWrapperElement()).find(\".CodeMirror-vscrollbar\"),t=0;o.is(\":visible\")&&(t=o.outerWidth());e.forEach(function(e){e.css(\"right\",t)})}});var E=function(e,r){l[e.name]=new t;for(var s=0;s0&&E(t,e)};if(t.get instanceof Array)s(t.get);else{var a=null,l=n.getPersistencyId(i,t.persistent);l&&(a=o.storage.get(l));a&&a.length>0?s(a):t.get instanceof Function&&(t.async?t.get(null,s):s(t.get()))}}},c=function(n){if(!i.somethingSelected()){var o=function(r){if(n&&(!r.autoShow||!r.bulk&&r.async))return!1;var o={closeCharacters:/(?=a)b/,completeSingle:!1};!r.bulk&&r.async&&(o.async=!0);{var t=function(e,i){return d(r,i)};e.showHint(i,t,o)}return!0};for(var t in p)if(-1!=r.inArray(t,i.options.autocompleters)){var s=p[t];if(s.isValidCompletionPosition)if(s.isValidCompletionPosition()){if(!s.callbacks||!s.callbacks.validPosition||s.callbacks.validPosition(i,s)!==!1){var a=o(s);if(a)break}}else s.callbacks&&s.callbacks.invalidPosition&&s.callbacks.invalidPosition(i,s)}}},d=function(e,r){var n=function(i){var r=i.autocompletionString||i.string,n=[];if(l[e.name])n=l[e.name].autoComplete(r);else if(\"function\"==typeof e.get&&0==e.async)n=e.get(r);else if(\"object\"==typeof e.get)for(var o=r.length,t=0;t\"));a[i.name].show().text(\"Press \"+(-1!=navigator.userAgent.indexOf(\"Mac OS X\")?\"CMD\":\"CTRL\")+\" - to autocomplete\").appendTo(r(e.getWrapperElement()))}},hide:function(e,i){a[i.name]&&a[i.name].hide()}},autoComplete:c,getTrie:function(e){return\"string\"==typeof e?l[e]:l[e.name]}}};var s=function(e,i,r){r.text!=e.getTokenAt(e.getCursor()).string&&e.replaceRange(r.text,i.from,i.to)}},{\"../../lib/trie.js\":5,\"../main.js\":29,\"../utils.js\":35,jquery:void 0,\"yasgui-utils\":17}],22:[function(e,i){\"use strict\";(function(){try{return e(\"jquery\")}catch(i){return window.jQuery}})();i.exports=function(r,n){return{isValidCompletionPosition:function(){return i.exports.isValidCompletionPosition(r)},get:function(i,n){return e(\"./utils\").fetchFromLov(r,this,i,n)},preProcessToken:function(e){return i.exports.preProcessToken(r,e)},postProcessToken:function(e,n){return i.exports.postProcessToken(r,e,n)},async:!0,bulk:!1,autoShow:!1,persistent:n,callbacks:{validPosition:r.autocompleters.notifications.show,invalidPosition:r.autocompleters.notifications.hide}}};i.exports.isValidCompletionPosition=function(e){var i=e.getCompleteToken();if(0==i.string.indexOf(\"?\"))return!1;var r=e.getCursor(),n=e.getPreviousNonWsToken(r.line,i);return\"a\"==n.string?!0:\"rdf:type\"==n.string?!0:\"rdfs:domain\"==n.string?!0:\"rdfs:range\"==n.string?!0:!1};i.exports.preProcessToken=function(i,r){return e(\"./utils.js\").preprocessResourceTokenForCompletion(i,r)};i.exports.postProcessToken=function(i,r,n){return e(\"./utils.js\").postprocessResourceTokenForCompletion(i,r,n)}},{\"./utils\":25,\"./utils.js\":25,jquery:void 0}],23:[function(e,i){\"use strict\";var r=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}(),n={\"string-2\":\"prefixed\",atom:\"var\"};i.exports=function(e,n){e.on(\"change\",function(){i.exports.appendPrefixIfNeeded(e,n)});return{isValidCompletionPosition:function(){return i.exports.isValidCompletionPosition(e)},get:function(e,i){r.get(\"http://prefix.cc/popular/all.file.json\",function(e){var r=[];for(var n in e)if(\"bif\"!=n){var o=n+\": <\"+e[n]+\">\";r.push(o)}r.sort();i(r)})},preProcessToken:function(r){return i.exports.preprocessPrefixTokenForCompletion(e,r)},async:!0,bulk:!0,autoShow:!0,persistent:n,callbacks:{pick:function(){e.collapsePrefixes(!1)}}}};i.exports.isValidCompletionPosition=function(e){var i=e.getCursor(),n=e.getTokenAt(i);if(e.getLine(i.line).length>i.ch)return!1;\"ws\"!=n.type&&(n=e.getCompleteToken());if(0==!n.string.indexOf(\"a\")&&-1==r.inArray(\"PNAME_NS\",n.state.possibleCurrent))return!1;var o=e.getPreviousNonWsToken(i.line,n);return o&&\"PREFIX\"==o.string.toUpperCase()?!0:!1};i.exports.preprocessPrefixTokenForCompletion=function(e,i){var r=e.getPreviousNonWsToken(e.getCursor().line,i);r&&r.string&&\":\"==r.string.slice(-1)&&(i={start:r.start,end:i.end,string:r.string+\" \"+i.string,state:i.state});return i};i.exports.appendPrefixIfNeeded=function(e,i){if(e.autocompleters.getTrie(i)&&e.options.autocompleters&&-1!=e.options.autocompleters.indexOf(i)){var r=e.getCursor(),o=e.getTokenAt(r);if(\"prefixed\"==n[o.type]){var t=o.string.indexOf(\":\");if(-1!==t){var s=e.getPreviousNonWsToken(r.line,o).string.toUpperCase(),a=e.getTokenAt({line:r.line,ch:o.start});if(\"PREFIX\"!=s&&(\"ws\"==a.type||null==a.type)){var p=o.string.substring(0,t+1),l=e.getPrefixesFromQuery();if(null==l[p.slice(0,-1)]){var E=e.autocompleters.getTrie(i).autoComplete(p);E.length>0&&e.addPrefixes(E[0])}}}}}}},{jquery:void 0}],24:[function(e,i){\"use strict\";var r=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}();i.exports=function(r,n){return{isValidCompletionPosition:function(){return i.exports.isValidCompletionPosition(r)},get:function(i,n){return e(\"./utils\").fetchFromLov(r,this,i,n)},preProcessToken:function(e){return i.exports.preProcessToken(r,e)},postProcessToken:function(e,n){return i.exports.postProcessToken(r,e,n)},async:!0,bulk:!1,autoShow:!1,persistent:n,callbacks:{validPosition:r.autocompleters.notifications.show,invalidPosition:r.autocompleters.notifications.hide}}};i.exports.isValidCompletionPosition=function(e){var i=e.getCompleteToken();if(0==i.string.length)return!1;if(0==i.string.indexOf(\"?\"))return!1;if(r.inArray(\"a\",i.state.possibleCurrent)>=0)return!0;var n=e.getCursor(),o=e.getPreviousNonWsToken(n.line,i);return\"rdfs:subPropertyOf\"==o.string?!0:!1};i.exports.preProcessToken=function(i,r){return e(\"./utils.js\").preprocessResourceTokenForCompletion(i,r)};i.exports.postProcessToken=function(i,r,n){return e(\"./utils.js\").postprocessResourceTokenForCompletion(i,r,n)}},{\"./utils\":25,\"./utils.js\":25,jquery:void 0}],25:[function(e,i){\"use strict\";var r=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}(),n=(e(\"./utils.js\"),e(\"yasgui-utils\")),o=function(e,i){var r=e.getPrefixesFromQuery();if(0==!i.string.indexOf(\"<\")){i.tokenPrefix=i.string.substring(0,i.string.indexOf(\":\")+1);null!=r[i.tokenPrefix.slice(0,-1)]&&(i.tokenPrefixUri=r[i.tokenPrefix.slice(0,-1)])}i.autocompletionString=i.string.trim();if(0==!i.string.indexOf(\"<\")&&i.string.indexOf(\":\")>-1)for(var n in r)if(0==i.string.indexOf(n)){i.autocompletionString=r[n];i.autocompletionString+=i.string.substring(n.length+1);break}0==i.autocompletionString.indexOf(\"<\")&&(i.autocompletionString=i.autocompletionString.substring(1));-1!==i.autocompletionString.indexOf(\">\",i.length-1)&&(i.autocompletionString=i.autocompletionString.substring(0,i.autocompletionString.length-1));return i},t=function(e,i,r){r=i.tokenPrefix&&i.autocompletionString&&i.tokenPrefixUri?i.tokenPrefix+r.substring(i.tokenPrefixUri.length):\"<\"+r+\">\";return r},s=function(i,o,t,s){if(!t||!t.string||0==t.string.trim().length){i.autocompleters.notifications.getEl(o).empty().append(\"Nothing to autocomplete yet!\");return!1}var a=50,p={q:t.autocompletionString,page:1};p.type=\"classes\"==o.name?\"class\":\"property\";var l=[],E=\"\",u=function(){E=\"http://lov.okfn.org/dataset/lov/api/v2/autocomplete/terms?\"+r.param(p)};u();var c=function(){p.page++;u()},d=function(){r.get(E,function(e){for(var n=0;n0?e.results[n].uri[0]:e.results[n].uri);if(l.length0?i.autocompleters.notifications.hide(i,o):i.autocompleters.notifications.getEl(o).text(\"0 matches found...\");s(l)}}).fail(function(){i.autocompleters.notifications.getEl(o).empty().append(\"Failed fetching suggestions..\")})};i.autocompleters.notifications.getEl(o).empty().append(r(\"Fetchting autocompletions  \")).append(r(n.svg.getElement(e(\"../imgs.js\").loader)).addClass(\"notificationLoader\"));d()};i.exports={fetchFromLov:s,preprocessResourceTokenForCompletion:o,postprocessResourceTokenForCompletion:t}},{\"../imgs.js\":28,\"./utils.js\":25,jquery:void 0,\"yasgui-utils\":17}],26:[function(e,i){\"use strict\";var r=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}();i.exports=function(e){return{isValidCompletionPosition:function(){var i=e.getTokenAt(e.getCursor());if(\"ws\"!=i.type){i=e.getCompleteToken(i);if(i&&0==i.string.indexOf(\"?\"))return!0}return!1},get:function(i){if(0==i.trim().length)return[];var n={};r(e.getWrapperElement()).find(\".cm-atom\").each(function(){var e=this.innerHTML;if(0==e.indexOf(\"?\")){var o=r(this).next(),t=o.attr(\"class\");t&&o.attr(\"class\").indexOf(\"cm-atom\")>=0&&(e+=o.text());if(e.length<=1)return;if(0!==e.indexOf(i))return;if(e==i)return;n[e]=!0}});var o=[];for(var t in n)o.push(t);o.sort();return o},async:!1,bulk:!1,autoShow:!0}}},{jquery:void 0}],27:[function(e){var i=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}(),r=e(\"./main.js\");r.defaults=i.extend(!0,{},r.defaults,{mode:\"sparql11\",value:\"PREFIX rdf: \\nPREFIX rdfs: \\nSELECT * WHERE {\\n ?sub ?pred ?obj .\\n} \\nLIMIT 10\",highlightSelectionMatches:{showToken:/\\w/},tabMode:\"indent\",lineNumbers:!0,lineWrapping:!0,backdrop:!1,foldGutter:{rangeFinder:new r.fold.combine(r.fold.brace,r.fold.prefix)},collapsePrefixesOnLoad:!1,gutters:[\"gutterErrorBar\",\"CodeMirror-linenumbers\",\"CodeMirror-foldgutter\"],matchBrackets:!0,fixedGutter:!0,syntaxErrorCheck:!0,extraKeys:{\"Ctrl-Space\":r.autoComplete,\"Cmd-Space\":r.autoComplete,\"Ctrl-D\":r.deleteLine,\"Ctrl-K\":r.deleteLine,\"Cmd-D\":r.deleteLine,\"Cmd-K\":r.deleteLine,\"Ctrl-/\":r.commentLines,\"Cmd-/\":r.commentLines,\"Ctrl-Alt-Down\":r.copyLineDown,\"Ctrl-Alt-Up\":r.copyLineUp,\"Cmd-Alt-Down\":r.copyLineDown,\"Cmd-Alt-Up\":r.copyLineUp,\"Shift-Ctrl-F\":r.doAutoFormat,\"Shift-Cmd-F\":r.doAutoFormat,\"Ctrl-]\":r.indentMore,\"Cmd-]\":r.indentMore,\"Ctrl-[\":r.indentLess,\"Cmd-[\":r.indentLess,\"Ctrl-S\":r.storeQuery,\"Cmd-S\":r.storeQuery,\"Ctrl-Enter\":r.executeQuery,\"Cmd-Enter\":r.executeQuery,F11:function(e){e.setOption(\"fullScreen\",!e.getOption(\"fullScreen\"))},Esc:function(e){e.getOption(\"fullScreen\")&&e.setOption(\"fullScreen\",!1)}},cursorHeight:.9,createShareLink:r.createShareLink,createShortLink:null,consumeShareLink:r.consumeShareLink,persistent:function(e){return\"yasqe_\"+i(e.getWrapperElement()).closest(\"[id]\").attr(\"id\")+\"_queryVal\"},sparql:{showQueryButton:!1,endpoint:\"http://dbpedia.org/sparql\",requestMethod:\"POST\",acceptHeaderGraph:\"text/turtle,*/*;q=0.9\",acceptHeaderSelect:\"application/sparql-results+json,*/*;q=0.9\",acceptHeaderUpdate:\"text/plain,*/*;q=0.9\",namedGraphs:[],defaultGraphs:[],args:[],headers:{},getQueryForAjax:null,callbacks:{beforeSend:null,complete:null,error:null,success:null},handlers:{}}})},{\"./main.js\":29,jquery:void 0}],28:[function(e,i){\"use strict\";i.exports={loader:' ',query:'\t',queryInvalid:'image/svg+xml',download:'\t',share:'',warning:'',fullscreen:'image/svg+xml',smallscreen:'image/svg+xml'}\n},{}],29:[function(e,i){\"use strict\";window.console=window.console||{log:function(){}};var r=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}(),n=function(){try{return e(\"codemirror\")}catch(i){return window.CodeMirror}}(),o=e(\"./utils.js\"),t=e(\"yasgui-utils\"),s=e(\"./imgs.js\");e(\"../lib/deparam.js\");e(\"codemirror/addon/fold/foldcode.js\");e(\"codemirror/addon/fold/foldgutter.js\");e(\"codemirror/addon/fold/xml-fold.js\");e(\"codemirror/addon/fold/brace-fold.js\");e(\"./prefixFold.js\");e(\"codemirror/addon/hint/show-hint.js\");e(\"codemirror/addon/search/searchcursor.js\");e(\"codemirror/addon/edit/matchbrackets.js\");e(\"codemirror/addon/runmode/runmode.js\");e(\"codemirror/addon/display/fullscreen.js\");e(\"../lib/grammar/tokenizer.js\");var a=i.exports=function(e,i){var o=r(\"
\",{\"class\":\"yasqe\"}).appendTo(r(e));i=p(i);var t=l(n(o[0],i));c(t);return t},p=function(e){var i=r.extend(!0,{},a.defaults,e);return i},l=function(i){i.autocompleters=e(\"./autocompleters/autocompleterBase.js\")(a,i);i.options.autocompleters&&i.options.autocompleters.forEach(function(e){a.Autocompleters[e]&&i.autocompleters.init(e,a.Autocompleters[e])});i.lastQueryDuration=null;i.getCompleteToken=function(r,n){return e(\"./tokenUtils.js\").getCompleteToken(i,r,n)};i.getPreviousNonWsToken=function(r,n){return e(\"./tokenUtils.js\").getPreviousNonWsToken(i,r,n)};i.getNextNonWsToken=function(r,n){return e(\"./tokenUtils.js\").getNextNonWsToken(i,r,n)};i.collapsePrefixes=function(r){i.foldCode(e(\"./prefixFold.js\").findFirstPrefixLine(i),YASQE.fold.prefix,r?\"fold\":\"unfold\")};var n=null,o=null;i.setBackdrop=function(e){if(i.options.backdrop||0===i.options.backdrop||\"0\"===i.options.backdrop){if(null===o){o=+i.options.backdrop;1===o&&(o=400)}n||(n=r(\"
\",{\"class\":\"backdrop\"}).click(function(){r(this).hide()}).insertAfter(r(i.getWrapperElement())));e?n.show(o):n.hide(o)}};i.query=function(e){a.executeQuery(i,e)};i.getUrlArguments=function(e){return a.getUrlArguments(i,e)};i.getPrefixesFromQuery=function(){return e(\"./prefixUtils.js\").getPrefixesFromQuery(i)};i.addPrefixes=function(r){return e(\"./prefixUtils.js\").addPrefixes(i,r)};i.removePrefixes=function(r){return e(\"./prefixUtils.js\").removePrefixes(i,r)};i.getValueWithoutComments=function(){var e=\"\";a.runMode(i.getValue(),\"sparql11\",function(i,r){\"comment\"!=r&&(e+=i)});return e};i.getQueryType=function(){return i.queryType};i.getQueryMode=function(){var e=i.getQueryType();return\"INSERT\"==e||\"DELETE\"==e||\"LOAD\"==e||\"CLEAR\"==e||\"CREATE\"==e||\"DROP\"==e||\"COPY\"==e||\"MOVE\"==e||\"ADD\"==e?\"update\":\"query\"};i.setCheckSyntaxErrors=function(e){i.options.syntaxErrorCheck=e;x(i)};i.enableCompleter=function(e){E(i.options,e);a.Autocompleters[e]&&i.autocompleters.init(e,a.Autocompleters[e])};i.disableCompleter=function(e){u(i.options,e)};return i},E=function(e,i){e.autocompleters||(e.autocompleters=[]);e.autocompleters.push(i)},u=function(e,i){if(\"object\"==typeof e.autocompleters){var n=r.inArray(i,e.autocompleters);if(n>=0){e.autocompleters.splice(n,1);u(e,i)}}},c=function(e){var i=o.getPersistencyId(e,e.options.persistent);if(i){var n=t.storage.get(i);n&&e.setValue(n)}a.drawButtons(e);e.on(\"blur\",function(e){a.storeQuery(e)});e.on(\"change\",function(e){x(e);a.updateQueryButton(e);a.positionButtons(e)});e.on(\"changes\",function(){x(e);a.updateQueryButton(e);a.positionButtons(e)});e.on(\"cursorActivity\",function(e){N(e)});e.prevQueryValid=!1;x(e);a.positionButtons(e);r(e.getWrapperElement()).on(\"mouseenter\",\".cm-atom\",function(){var i=r(this).text();r(e.getWrapperElement()).find(\".cm-atom\").filter(function(){return r(this).text()===i}).addClass(\"matchingVar\")}).on(\"mouseleave\",\".cm-atom\",function(){r(e.getWrapperElement()).find(\".matchingVar\").removeClass(\"matchingVar\")});if(e.options.consumeShareLink){e.options.consumeShareLink(e,d());window.addEventListener(\"hashchange\",function(){e.options.consumeShareLink(e,d())})}e.options.collapsePrefixesOnLoad&&e.collapsePrefixes(!0)},d=function(){var e=null;window.location.hash.length>1&&(e=r.deparam(location.href.split(\"#\")[1]));e&&\"query\"in e||!(window.location.search.length>1)||(e=r.deparam(window.location.search.substring(1)));return e},N=function(e){e.cursor=r(\".CodeMirror-cursor\");e.buttons&&e.buttons.is(\":visible\")&&e.cursor.length>0&&(o.elementsOverlap(e.cursor,e.buttons)?e.buttons.find(\"svg\").attr(\"opacity\",\"0.2\"):e.buttons.find(\"svg\").attr(\"opacity\",\"1.0\"))},x=function(i,n){i.queryValid=!0;i.clearGutter(\"gutterErrorBar\");for(var o=null,a=0;a0&&e(\"./tooltip\")(i,E,function(){var e=[];o.possibleCurrent.forEach(function(i){e.push(\"\"+r(\"
\").text(i).html()+\"\")});return\"This line is invalid. Expected: \"+e.join(\", \")});E.style.marginTop=\"2px\";E.style.marginLeft=\"2px\";E.className=\"parseErrorIcon\";i.setGutterMarker(a,\"gutterErrorBar\",E);i.queryValid=!1;break}}i.prevQueryValid=i.queryValid;if(n&&null!=o&&void 0!=o.stack){var u=o.stack,c=o.stack.length;c>1?i.queryValid=!1:1==c&&\"solutionModifier\"!=u[0]&&\"?limitOffsetClauses\"!=u[0]&&\"?offsetClause\"!=u[0]&&(i.queryValid=!1)}};r.extend(a,n);a.Autocompleters={};a.registerAutocompleter=function(e,i){a.Autocompleters[e]=i;E(a.defaults,e)};a.autoComplete=function(e){e.autocompleters.autoComplete(!1)};a.registerAutocompleter(\"prefixes\",e(\"./autocompleters/prefixes.js\"));a.registerAutocompleter(\"properties\",e(\"./autocompleters/properties.js\"));a.registerAutocompleter(\"classes\",e(\"./autocompleters/classes.js\"));a.registerAutocompleter(\"variables\",e(\"./autocompleters/variables.js\"));a.positionButtons=function(e){var i=r(e.getWrapperElement()).find(\".CodeMirror-vscrollbar\"),n=0;i.is(\":visible\")&&(n=i.outerWidth());e.buttons.is(\":visible\")&&e.buttons.css(\"right\",n+4)};a.createShareLink=function(e){var i={};window.location.hash.length>1&&(i=r.deparam(window.location.hash.substring(1)));i.query=e.getValue();return i};a.consumeShareLink=function(e,i){i&&i.query&&e.setValue(i.query)};a.drawButtons=function(e){e.buttons=r(\"
\").appendTo(r(e.getWrapperElement()));if(e.options.createShareLink){var i=r(t.svg.getElement(s.share));i.click(function(n){n.stopPropagation();var o=r(\"
\").appendTo(e.buttons);r(\"html\").click(function(){o&&o.remove()});o.click(function(e){e.stopPropagation()});var t=r(\"\").val(location.protocol+\"//\"+location.host+location.pathname+location.search+\"#\"+r.param(e.options.createShareLink(e)));t.focus(function(){var e=r(this);e.select();e.mouseup(function(){e.unbind(\"mouseup\");return!1})});o.empty().append(r(\"
\",{\"class\":\"inputWrapper\"}).append(t));if(e.options.createShortLink){o.addClass(\"enableShort\");r(\"\").addClass(\"yasqe_btn yasqe_btn-sm yasqe_btn-primary\").click(function(){r(this).attr(\"disabled\",\"disabled\");e.options.createShortLink(t.val(),function(e,i){if(e){t.remove();o.find(\".inputWrapper\").append(r(\"\",{\"class\":\"shortlinkErr\"}).text(e))}else t.val(i).focus()})}).appendTo(o)}var s=i.position();o.css(\"top\",s.top+i.outerHeight()+parseInt(o.css(\"padding-top\"))+\"px\").css(\"left\",s.left+i.outerWidth()-o.outerWidth()+\"px\");t.focus()}).addClass(\"yasqe_share\").attr(\"title\",\"Share your query\").appendTo(e.buttons)}var n=r(\"
\",{\"class\":\"fullscreenToggleBtns\"}).append(r(t.svg.getElement(s.fullscreen)).addClass(\"yasqe_fullscreenBtn\").attr(\"title\",\"Set editor full screen\").click(function(){e.setOption(\"fullScreen\",!0)})).append(r(t.svg.getElement(s.smallscreen)).addClass(\"yasqe_smallscreenBtn\").attr(\"title\",\"Set editor to normale size\").click(function(){e.setOption(\"fullScreen\",!1)}));e.buttons.append(n);if(e.options.sparql.showQueryButton){r(\"
\",{\"class\":\"yasqe_queryButton\"}).click(function(){if(r(this).hasClass(\"query_busy\")){e.xhr&&e.xhr.abort();a.updateQueryButton(e)}else e.query()}).appendTo(e.buttons);a.updateQueryButton(e)}};var I={busy:\"loader\",valid:\"query\",error:\"queryInvalid\"};a.updateQueryButton=function(e,i){var n=r(e.getWrapperElement()).find(\".yasqe_queryButton\");if(0!=n.length){if(!i){i=\"valid\";e.queryValid===!1&&(i=\"error\")}if(i!=e.queryStatus){n.empty().removeClass(function(e,i){return i.split(\" \").filter(function(e){return 0==e.indexOf(\"query_\")}).join(\" \")});if(\"busy\"==i){n.append(r(\"
\",{\"class\":\"loader\"}));e.queryStatus=i}else if(\"valid\"==i||\"error\"==i){n.addClass(\"query_\"+i);t.svg.draw(n,s[I[i]]);e.queryStatus=i}}}};a.fromTextArea=function(e,i){i=p(i);var o=(r(\"
\",{\"class\":\"yasqe\"}).insertBefore(r(e)).append(r(e)),l(n.fromTextArea(e,i)));c(o);return o};a.storeQuery=function(e){var i=o.getPersistencyId(e,e.options.persistent);i&&t.storage.set(i,e.getValue(),\"month\")};a.commentLines=function(e){for(var i=e.getCursor(!0).line,r=e.getCursor(!1).line,n=Math.min(i,r),o=Math.max(i,r),t=!0,s=n;o>=s;s++){var a=e.getLine(s);if(0==a.length||\"#\"!=a.substring(0,1)){t=!1;break}}for(var s=n;o>=s;s++)t?e.replaceRange(\"\",{line:s,ch:0},{line:s,ch:1}):e.replaceRange(\"#\",{line:s,ch:0})};a.copyLineUp=function(e){var i=e.getCursor(),r=e.lineCount();e.replaceRange(\"\\n\",{line:r-1,ch:e.getLine(r-1).length});for(var n=r;n>i.line;n--){var o=e.getLine(n-1);e.replaceRange(o,{line:n,ch:0},{line:n,ch:e.getLine(n).length})}};a.copyLineDown=function(e){a.copyLineUp(e);var i=e.getCursor();i.line++;e.setCursor(i)};a.doAutoFormat=function(e){if(e.somethingSelected()){var i={line:e.getCursor(!1).line,ch:e.getSelection().length};m(e,e.getCursor(!0),i)}else{var r=e.lineCount(),n=e.getTextArea().value.length;m(e,{line:0,ch:0},{line:r,ch:n})}};var m=function(e,i,r){var n=e.indexFromPos(i),o=e.indexFromPos(r),t=L(e.getValue(),n,o);e.operation(function(){e.replaceRange(t,i,r);for(var o=e.posFromIndex(n).line,s=e.posFromIndex(n+t.length).line,a=o;s>=a;a++)e.indentLine(a,\"smart\")})},L=function(e,i,o){e=e.substring(i,o);var t=[[\"keyword\",\"ws\",\"prefixed\",\"ws\",\"uri\"],[\"keyword\",\"ws\",\"uri\"]],s=[\"{\",\".\",\";\"],a=[\"}\"],p=function(e){for(var i=0;ip)break;tokenType=e.getTokenTypeAt(n.Pos(i,p+1));if(!/^(comment|string)/.test(tokenType))return p+1;s=p-1}else{if(1==a)break;a=1;s=o.length}}}var n=function(){try{return e(\"codemirror\")}catch(i){return window.CodeMirror}}(),o=e(\"./tokenUtils.js\"),t=\"PREFIX\";i.exports={findFirstPrefixLine:function(e){for(var i=e.lastLine(),n=0;i>=n;++n)if(r(e,n)>=0)return n}};n.registerHelper(\"fold\",\"prefix\",function(e,i){function s(){for(var i=!1,r=a-1;r>=0;r--)if(e.getLine(r).toUpperCase().indexOf(t)>=0){i=!0;break}return i}var a=i.line,p=e.getLine(a),l=function(i,r){var t=e.getTokenAt(n.Pos(i,r+1));if(!t||\"keyword\"!=t.type)return-1;var s=o.getNextNonWsToken(e,i,t.end+1);if(!s||\"string-2\"!=s.type)return-1;var a=o.getNextNonWsToken(e,i,s.end+1);return a&&\"variable-3\"==a.type?a.end:-1};if(!s()){var E=r(e,a,i.ch,p);if(null!=E){for(var u,c=\"{\",d=!1,N=e.lastLine(),x=l(a,E),I=a,m=a;N>=m&&!d;++m)for(var L=e.getLine(m),T=m==a?E+1:0;;){!d&&L.indexOf(c)>=0&&(d=!0);var A=L.toUpperCase().indexOf(t,T);if(!(A>=0))break;if((u=l(m,A))>0){x=u;I=m;T=x}T++}return{from:n.Pos(a,E+t.length),to:n.Pos(I,x)}}}})},{\"./tokenUtils.js\":33,codemirror:void 0}],31:[function(e,i){\"use strict\";var r=function(e,i){var r=e.getPrefixesFromQuery();if(\"string\"==typeof i)n(e,i);else for(var o in i)o in r||n(e,o+\": <\"+i[o]+\">\");e.collapsePrefixes(!1)},n=function(e,i){for(var r=null,n=0,o=e.lineCount(),t=0;o>t;t++){var a=e.getNextNonWsToken(t);if(null!=a&&(\"PREFIX\"==a.string||\"BASE\"==a.string)){r=a;n=t}}if(null==r)e.replaceRange(\"PREFIX \"+i+\"\\n\",{line:0,ch:0});else{var p=s(e,n);e.replaceRange(\"\\n\"+p+\"PREFIX \"+i,{line:n})}e.collapsePrefixes(!1)},o=function(e,i){var r=function(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")};for(var n in i)e.setValue(e.getValue().replace(new RegExp(\"PREFIX\\\\s*\"+n+\":\\\\s*\"+r(\"<\"+i[n]+\">\")+\"\\\\s*\",\"ig\"),\"\"));e.collapsePrefixes(!1)},t=function(e){for(var i={},r=!0,n=function(o,s){if(r){s||(s=1);var a=e.getNextNonWsToken(t,s);if(a){-1==a.state.possibleCurrent.indexOf(\"PREFIX\")&&-1==a.state.possibleNext.indexOf(\"PREFIX\")&&(r=!1);if(\"PREFIX\"==a.string.toUpperCase()){var p=e.getNextNonWsToken(t,a.end+1);if(p){var l=e.getNextNonWsToken(t,p.end+1);if(l){var E=l.string;0==E.indexOf(\"<\")&&(E=E.substring(1));\">\"==E.slice(-1)&&(E=E.substring(0,E.length-1));i[p.string.slice(0,-1)]=E;n(o,l.end+1)}else n(o,p.end+1)}else n(o,a.end+1)}else n(o,a.end+1)}}},o=e.lineCount(),t=0;o>t&&r;t++)n(t);return i},s=function(e,i,r){void 0==r&&(r=1);var n=e.getTokenAt({line:i,ch:r});return null==n||void 0==n||\"ws\"!=n.type?\"\":n.string+s(e,i,n.end+1)};i.exports={addPrefixes:r,getPrefixesFromQuery:t,removePrefixes:o}},{}],32:[function(e){\"use strict\";var i=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}(),r=e(\"./main.js\");r.executeQuery=function(o,t){r.signal(o,\"query\",o,t);var s=\"function\"==typeof t?t:null,a=\"object\"==typeof t?t:{};o.options.sparql&&(a=i.extend({},o.options.sparql,a));a.handlers&&i.extend(!0,a.callbacks,a.handlers);if(a.endpoint&&0!=a.endpoint.length){var p={url:\"function\"==typeof a.endpoint?a.endpoint(o):a.endpoint,type:\"function\"==typeof a.requestMethod?a.requestMethod(o):a.requestMethod,headers:{Accept:n(o,a)}};a.xhrFields&&(p.xhrFields=a.xhrFields);var l=!1;if(a.callbacks)for(var E in a.callbacks)if(a.callbacks[E]){l=!0;p[E]=a.callbacks[E]}p.data=o.getUrlArguments(a);if(l||s){s&&(p.complete=s);a.headers&&!i.isEmptyObject(a.headers)&&i.extend(p.headers,a.headers);r.updateQueryButton(o,\"busy\");o.setBackdrop(!0);var u=new Date,c=function(){o.lastQueryDuration=new Date-u;r.updateQueryButton(o);o.setBackdrop(!1)},d=[function(){e(\"./main.js\").signal(o,\"queryFinish\",arguments)},c];p.complete&&d.push(p.complete);p.complete=d;o.xhr=i.ajax(p)}}};r.getUrlArguments=function(e,r){var n=e.getQueryMode(),o=[{name:e.getQueryMode(),value:r.getQueryForAjax?r.getQueryForAjax(e):e.getValue()}];if(r.namedGraphs&&r.namedGraphs.length>0)for(var t=\"query\"==n?\"named-graph-uri\":\"using-named-graph-uri \",s=0;s0)for(var t=\"query\"==n?\"default-graph-uri\":\"using-graph-uri \",s=0;s0&&i.merge(o,r.args);return o};var n=function(e,i){var r=null;if(!i.acceptHeader||i.acceptHeaderGraph||i.acceptHeaderSelect||i.acceptHeaderUpdate)if(\"update\"==e.getQueryMode())r=\"function\"==typeof i.acceptHeader?i.acceptHeaderUpdate(e):i.acceptHeaderUpdate;else{var n=e.getQueryType();r=\"DESCRIBE\"==n||\"CONSTRUCT\"==n?\"function\"==typeof i.acceptHeaderGraph?i.acceptHeaderGraph(e):i.acceptHeaderGraph:\"function\"==typeof i.acceptHeaderSelect?i.acceptHeaderSelect(e):i.acceptHeaderSelect}else r=\"function\"==typeof i.acceptHeader?i.acceptHeader(e):i.acceptHeader;return r}},{\"./main.js\":29,jquery:void 0}],33:[function(e,i){\"use strict\";var r=function(e,i,n){n||(n=e.getCursor());i||(i=e.getTokenAt(n));var o=e.getTokenAt({line:n.line,ch:i.start});if(null!=o.type&&\"ws\"!=o.type&&null!=i.type&&\"ws\"!=i.type){i.start=o.start;i.string=o.string+i.string;return r(e,i,{line:n.line,ch:o.start})}if(null!=i.type&&\"ws\"==i.type){i.start=i.start+1;i.string=i.string.substring(1);return i}return i},n=function(e,i,r){var o=e.getTokenAt({line:i,ch:r.start});null!=o&&\"ws\"==o.type&&(o=n(e,i,o));return o},o=function(e,i,r){void 0==r&&(r=1);var n=e.getTokenAt({line:i,ch:r});return null==n||void 0==n||n.end\").addClass(\"yasqe_tooltip\").html(n).appendTo(i);t()},function(){r(\".yasqe_tooltip\").remove()});var t=function(){if(r(e.getWrapperElement()).offset().top>=o.offset().top){o.css(\"bottom\",\"auto\");o.css(\"top\",\"26px\")}}}},{\"./utils.js\":35,jquery:void 0}],35:[function(e,i){\"use strict\";var r=function(){try{return e(\"jquery\")}catch(i){return window.jQuery}}(),n=function(e,i){var r=!1;try{void 0!==e[i]&&(r=!0)}catch(n){}return r},o=function(e,i){var r=null;i&&(r=\"string\"==typeof i?i:i(e));return r},t=function(){function e(e){var i,n,o;i=r(e).offset();n=r(e).width();o=r(e).height();return[[i.left,i.left+n],[i.top,i.top+o]]}function i(e,i){var r,n;r=e[0]n[0]||r[0]===n[0]}return function(r,n){var o=e(r),t=e(n);return i(o[0],t[0])&&i(o[1],t[1])}}();i.exports={keyExists:n,getPersistencyId:o,elementsOverlap:t}},{jquery:void 0}]},{},[1])(1)});\n//# sourceMappingURL=yasqe.min.js.map","'use strict';\n/*\n jQuery deparam is an extraction of the deparam method from Ben Alman's jQuery BBQ\n http://benalman.com/projects/jquery-bbq-plugin/\n*/\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\n$.deparam = function (params, coerce) {\nvar obj = {},\n\tcoerce_types = { 'true': !0, 'false': !1, 'null': null };\n \n// Iterate over all name=value pairs.\n$.each(params.replace(/\\+/g, ' ').split('&'), function (j,v) {\n var param = v.split('='),\n\t key = decodeURIComponent(param[0]),\n\t val,\n\t cur = obj,\n\t i = 0,\n\t\t\n\t // If key is more complex than 'foo', like 'a[]' or 'a[b][c]', split it\n\t // into its component parts.\n\t keys = key.split(']['),\n\t keys_last = keys.length - 1;\n\t\n // If the first keys part contains [ and the last ends with ], then []\n // are correctly balanced.\n if (/\\[/.test(keys[0]) && /\\]$/.test(keys[keys_last])) {\n\t// Remove the trailing ] from the last keys part.\n\tkeys[keys_last] = keys[keys_last].replace(/\\]$/, '');\n\t \n\t// Split first keys part into two parts on the [ and add them back onto\n\t// the beginning of the keys array.\n\tkeys = keys.shift().split('[').concat(keys);\n\t \n\tkeys_last = keys.length - 1;\n } else {\n\t// Basic 'foo' style key.\n\tkeys_last = 0;\n }\n\t\n // Are we dealing with a name=value pair, or just a name?\n if (param.length === 2) {\n\tval = decodeURIComponent(param[1]);\n\t \n\t// Coerce values.\n\tif (coerce) {\n\t val = val && !isNaN(val) ? +val // number\n\t\t : val === 'undefined' ? undefined // undefined\n\t\t : coerce_types[val] !== undefined ? coerce_types[val] // true, false, null\n\t\t : val; // string\n\t}\n\t \n\tif ( keys_last ) {\n\t // Complex key, build deep object structure based on a few rules:\n\t // * The 'cur' pointer starts at the object top-level.\n\t // * [] = array push (n is set to array length), [n] = array if n is \n\t // numeric, otherwise object.\n\t // * If at the last keys part, set the value.\n\t // * For each keys part, if the current level is undefined create an\n\t // object or array based on the type of the next keys part.\n\t // * Move the 'cur' pointer to the next level.\n\t // * Rinse & repeat.\n\t for (; i <= keys_last; i++) {\n\t\tkey = keys[i] === '' ? cur.length : keys[i];\n\t\tcur = cur[key] = i < keys_last\n\t\t ? cur[key] || (keys[i+1] && isNaN(keys[i+1]) ? {} : [])\n\t\t : val;\n\t }\n\t\t\n\t} else {\n\t // Simple key, even simpler rules, since only scalars and shallow\n\t // arrays are allowed.\n\t\t\n\t if ($.isArray(obj[key])) {\n\t\t// val is already an array, so push on the next value.\n\t\tobj[key].push( val );\n\t\t \n\t } else if (obj[key] !== undefined) {\n\t\t// val isn't an array, but since a second value has been specified,\n\t\t// convert val into an array.\n\t\tobj[key] = [obj[key], val];\n\t\t \n\t } else {\n\t\t// val is a scalar.\n\t\tobj[key] = val;\n\t }\n\t}\n\t \n } else if (key) {\n\t// No value was defined, so set something meaningful.\n\tobj[key] = coerce\n\t ? undefined\n\t : '';\n }\n});\n \nreturn obj;\n};\n","module.exports = {table:\n{\n \"*[&&,valueLogical]\" : {\n \"&&\": [\"[&&,valueLogical]\",\"*[&&,valueLogical]\"], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \"||\": [], \n \";\": []}, \n \"*[,,expression]\" : {\n \",\": [\"[,,expression]\",\"*[,,expression]\"], \n \")\": []}, \n \"*[,,objectPath]\" : {\n \",\": [\"[,,objectPath]\",\"*[,,objectPath]\"], \n \".\": [], \n \";\": [], \n \"]\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"*[,,object]\" : {\n \",\": [\"[,,object]\",\"*[,,object]\"], \n \".\": [], \n \";\": [], \n \"]\": [], \n \"}\": [], \n \"GRAPH\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": []}, \n \"*[/,pathEltOrInverse]\" : {\n \"/\": [\"[/,pathEltOrInverse]\",\"*[/,pathEltOrInverse]\"], \n \"|\": [], \n \")\": [], \n \"(\": [], \n \"[\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": []}, \n \"*[;,?[or([verbPath,verbSimple]),objectList]]\" : {\n \";\": [\"[;,?[or([verbPath,verbSimple]),objectList]]\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \".\": [], \n \"]\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"*[;,?[verb,objectList]]\" : {\n \";\": [\"[;,?[verb,objectList]]\",\"*[;,?[verb,objectList]]\"], \n \".\": [], \n \"]\": [], \n \"}\": [], \n \"GRAPH\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": []}, \n \"*[UNION,groupGraphPattern]\" : {\n \"UNION\": [\"[UNION,groupGraphPattern]\",\"*[UNION,groupGraphPattern]\"], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"(\": [], \n \"[\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \".\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"*[graphPatternNotTriples,?.,?triplesBlock]\" : {\n \"{\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"OPTIONAL\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"MINUS\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"GRAPH\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"SERVICE\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"FILTER\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"BIND\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"VALUES\": [\"[graphPatternNotTriples,?.,?triplesBlock]\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"}\": []}, \n \"*[quadsNotTriples,?.,?triplesTemplate]\" : {\n \"GRAPH\": [\"[quadsNotTriples,?.,?triplesTemplate]\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"}\": []}, \n \"*[|,pathOneInPropertySet]\" : {\n \"|\": [\"[|,pathOneInPropertySet]\",\"*[|,pathOneInPropertySet]\"], \n \")\": []}, \n \"*[|,pathSequence]\" : {\n \"|\": [\"[|,pathSequence]\",\"*[|,pathSequence]\"], \n \")\": [], \n \"(\": [], \n \"[\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": []}, \n \"*[||,conditionalAndExpression]\" : {\n \"||\": [\"[||,conditionalAndExpression]\",\"*[||,conditionalAndExpression]\"], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \";\": []}, \n \"*dataBlockValue\" : {\n \"UNDEF\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"IRI_REF\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"TRUE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"FALSE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"PNAME_LN\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"PNAME_NS\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"STRING_LITERAL1\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"STRING_LITERAL2\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"STRING_LITERAL_LONG1\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"STRING_LITERAL_LONG2\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"INTEGER\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"DECIMAL\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"DOUBLE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"INTEGER_POSITIVE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"DECIMAL_POSITIVE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"DOUBLE_POSITIVE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"INTEGER_NEGATIVE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"DECIMAL_NEGATIVE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"DOUBLE_NEGATIVE\": [\"dataBlockValue\",\"*dataBlockValue\"], \n \"}\": [], \n \")\": []}, \n \"*datasetClause\" : {\n \"FROM\": [\"datasetClause\",\"*datasetClause\"], \n \"WHERE\": [], \n \"{\": []}, \n \"*describeDatasetClause\" : {\n \"FROM\": [\"describeDatasetClause\",\"*describeDatasetClause\"], \n \"ORDER\": [], \n \"HAVING\": [], \n \"GROUP\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"WHERE\": [], \n \"{\": [], \n \"VALUES\": [], \n \"$\": []}, \n \"*graphNode\" : {\n \"(\": [\"graphNode\",\"*graphNode\"], \n \"[\": [\"graphNode\",\"*graphNode\"], \n \"VAR1\": [\"graphNode\",\"*graphNode\"], \n \"VAR2\": [\"graphNode\",\"*graphNode\"], \n \"NIL\": [\"graphNode\",\"*graphNode\"], \n \"IRI_REF\": [\"graphNode\",\"*graphNode\"], \n \"TRUE\": [\"graphNode\",\"*graphNode\"], \n \"FALSE\": [\"graphNode\",\"*graphNode\"], \n \"BLANK_NODE_LABEL\": [\"graphNode\",\"*graphNode\"], \n \"ANON\": [\"graphNode\",\"*graphNode\"], \n \"PNAME_LN\": [\"graphNode\",\"*graphNode\"], \n \"PNAME_NS\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL1\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL2\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL_LONG1\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL_LONG2\": [\"graphNode\",\"*graphNode\"], \n \"INTEGER\": [\"graphNode\",\"*graphNode\"], \n \"DECIMAL\": [\"graphNode\",\"*graphNode\"], \n \"DOUBLE\": [\"graphNode\",\"*graphNode\"], \n \"INTEGER_POSITIVE\": [\"graphNode\",\"*graphNode\"], \n \"DECIMAL_POSITIVE\": [\"graphNode\",\"*graphNode\"], \n \"DOUBLE_POSITIVE\": [\"graphNode\",\"*graphNode\"], \n \"INTEGER_NEGATIVE\": [\"graphNode\",\"*graphNode\"], \n \"DECIMAL_NEGATIVE\": [\"graphNode\",\"*graphNode\"], \n \"DOUBLE_NEGATIVE\": [\"graphNode\",\"*graphNode\"], \n \")\": []}, \n \"*graphNodePath\" : {\n \"(\": [\"graphNodePath\",\"*graphNodePath\"], \n \"[\": [\"graphNodePath\",\"*graphNodePath\"], \n \"VAR1\": [\"graphNodePath\",\"*graphNodePath\"], \n \"VAR2\": [\"graphNodePath\",\"*graphNodePath\"], \n \"NIL\": [\"graphNodePath\",\"*graphNodePath\"], \n \"IRI_REF\": [\"graphNodePath\",\"*graphNodePath\"], \n \"TRUE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"FALSE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"BLANK_NODE_LABEL\": [\"graphNodePath\",\"*graphNodePath\"], \n \"ANON\": [\"graphNodePath\",\"*graphNodePath\"], \n \"PNAME_LN\": [\"graphNodePath\",\"*graphNodePath\"], \n \"PNAME_NS\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL1\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL2\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL_LONG1\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL_LONG2\": [\"graphNodePath\",\"*graphNodePath\"], \n \"INTEGER\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DECIMAL\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DOUBLE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"INTEGER_POSITIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DECIMAL_POSITIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DOUBLE_POSITIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"INTEGER_NEGATIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DECIMAL_NEGATIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DOUBLE_NEGATIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \")\": []}, \n \"*groupCondition\" : {\n \"(\": [\"groupCondition\",\"*groupCondition\"], \n \"STR\": [\"groupCondition\",\"*groupCondition\"], \n \"LANG\": [\"groupCondition\",\"*groupCondition\"], \n \"LANGMATCHES\": [\"groupCondition\",\"*groupCondition\"], \n \"DATATYPE\": [\"groupCondition\",\"*groupCondition\"], \n \"BOUND\": [\"groupCondition\",\"*groupCondition\"], \n \"IRI\": [\"groupCondition\",\"*groupCondition\"], \n \"URI\": [\"groupCondition\",\"*groupCondition\"], \n \"BNODE\": [\"groupCondition\",\"*groupCondition\"], \n \"RAND\": [\"groupCondition\",\"*groupCondition\"], \n \"ABS\": [\"groupCondition\",\"*groupCondition\"], \n \"CEIL\": [\"groupCondition\",\"*groupCondition\"], \n \"FLOOR\": [\"groupCondition\",\"*groupCondition\"], \n \"ROUND\": [\"groupCondition\",\"*groupCondition\"], \n \"CONCAT\": [\"groupCondition\",\"*groupCondition\"], \n \"STRLEN\": [\"groupCondition\",\"*groupCondition\"], \n \"UCASE\": [\"groupCondition\",\"*groupCondition\"], \n \"LCASE\": [\"groupCondition\",\"*groupCondition\"], \n \"ENCODE_FOR_URI\": [\"groupCondition\",\"*groupCondition\"], \n \"CONTAINS\": [\"groupCondition\",\"*groupCondition\"], \n \"STRSTARTS\": [\"groupCondition\",\"*groupCondition\"], \n \"STRENDS\": [\"groupCondition\",\"*groupCondition\"], \n \"STRBEFORE\": [\"groupCondition\",\"*groupCondition\"], \n \"STRAFTER\": [\"groupCondition\",\"*groupCondition\"], \n \"YEAR\": [\"groupCondition\",\"*groupCondition\"], \n \"MONTH\": [\"groupCondition\",\"*groupCondition\"], \n \"DAY\": [\"groupCondition\",\"*groupCondition\"], \n \"HOURS\": [\"groupCondition\",\"*groupCondition\"], \n \"MINUTES\": [\"groupCondition\",\"*groupCondition\"], \n \"SECONDS\": [\"groupCondition\",\"*groupCondition\"], \n \"TIMEZONE\": [\"groupCondition\",\"*groupCondition\"], \n \"TZ\": [\"groupCondition\",\"*groupCondition\"], \n \"NOW\": [\"groupCondition\",\"*groupCondition\"], \n \"UUID\": [\"groupCondition\",\"*groupCondition\"], \n \"STRUUID\": [\"groupCondition\",\"*groupCondition\"], \n \"MD5\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA1\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA256\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA384\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA512\": [\"groupCondition\",\"*groupCondition\"], \n \"COALESCE\": [\"groupCondition\",\"*groupCondition\"], \n \"IF\": [\"groupCondition\",\"*groupCondition\"], \n \"STRLANG\": [\"groupCondition\",\"*groupCondition\"], \n \"STRDT\": [\"groupCondition\",\"*groupCondition\"], \n \"SAMETERM\": [\"groupCondition\",\"*groupCondition\"], \n \"ISIRI\": [\"groupCondition\",\"*groupCondition\"], \n \"ISURI\": [\"groupCondition\",\"*groupCondition\"], \n \"ISBLANK\": [\"groupCondition\",\"*groupCondition\"], \n \"ISLITERAL\": [\"groupCondition\",\"*groupCondition\"], \n \"ISNUMERIC\": [\"groupCondition\",\"*groupCondition\"], \n \"VAR1\": [\"groupCondition\",\"*groupCondition\"], \n \"VAR2\": [\"groupCondition\",\"*groupCondition\"], \n \"SUBSTR\": [\"groupCondition\",\"*groupCondition\"], \n \"REPLACE\": [\"groupCondition\",\"*groupCondition\"], \n \"REGEX\": [\"groupCondition\",\"*groupCondition\"], \n \"EXISTS\": [\"groupCondition\",\"*groupCondition\"], \n \"NOT\": [\"groupCondition\",\"*groupCondition\"], \n \"IRI_REF\": [\"groupCondition\",\"*groupCondition\"], \n \"PNAME_LN\": [\"groupCondition\",\"*groupCondition\"], \n \"PNAME_NS\": [\"groupCondition\",\"*groupCondition\"], \n \"VALUES\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"ORDER\": [], \n \"HAVING\": [], \n \"$\": [], \n \"}\": []}, \n \"*havingCondition\" : {\n \"(\": [\"havingCondition\",\"*havingCondition\"], \n \"STR\": [\"havingCondition\",\"*havingCondition\"], \n \"LANG\": [\"havingCondition\",\"*havingCondition\"], \n \"LANGMATCHES\": [\"havingCondition\",\"*havingCondition\"], \n \"DATATYPE\": [\"havingCondition\",\"*havingCondition\"], \n \"BOUND\": [\"havingCondition\",\"*havingCondition\"], \n \"IRI\": [\"havingCondition\",\"*havingCondition\"], \n \"URI\": [\"havingCondition\",\"*havingCondition\"], \n \"BNODE\": [\"havingCondition\",\"*havingCondition\"], \n \"RAND\": [\"havingCondition\",\"*havingCondition\"], \n \"ABS\": [\"havingCondition\",\"*havingCondition\"], \n \"CEIL\": [\"havingCondition\",\"*havingCondition\"], \n \"FLOOR\": [\"havingCondition\",\"*havingCondition\"], \n \"ROUND\": [\"havingCondition\",\"*havingCondition\"], \n \"CONCAT\": [\"havingCondition\",\"*havingCondition\"], \n \"STRLEN\": [\"havingCondition\",\"*havingCondition\"], \n \"UCASE\": [\"havingCondition\",\"*havingCondition\"], \n \"LCASE\": [\"havingCondition\",\"*havingCondition\"], \n \"ENCODE_FOR_URI\": [\"havingCondition\",\"*havingCondition\"], \n \"CONTAINS\": [\"havingCondition\",\"*havingCondition\"], \n \"STRSTARTS\": [\"havingCondition\",\"*havingCondition\"], \n \"STRENDS\": [\"havingCondition\",\"*havingCondition\"], \n \"STRBEFORE\": [\"havingCondition\",\"*havingCondition\"], \n \"STRAFTER\": [\"havingCondition\",\"*havingCondition\"], \n \"YEAR\": [\"havingCondition\",\"*havingCondition\"], \n \"MONTH\": [\"havingCondition\",\"*havingCondition\"], \n \"DAY\": [\"havingCondition\",\"*havingCondition\"], \n \"HOURS\": [\"havingCondition\",\"*havingCondition\"], \n \"MINUTES\": [\"havingCondition\",\"*havingCondition\"], \n \"SECONDS\": [\"havingCondition\",\"*havingCondition\"], \n \"TIMEZONE\": [\"havingCondition\",\"*havingCondition\"], \n \"TZ\": [\"havingCondition\",\"*havingCondition\"], \n \"NOW\": [\"havingCondition\",\"*havingCondition\"], \n \"UUID\": [\"havingCondition\",\"*havingCondition\"], \n \"STRUUID\": [\"havingCondition\",\"*havingCondition\"], \n \"MD5\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA1\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA256\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA384\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA512\": [\"havingCondition\",\"*havingCondition\"], \n \"COALESCE\": [\"havingCondition\",\"*havingCondition\"], \n \"IF\": [\"havingCondition\",\"*havingCondition\"], \n \"STRLANG\": [\"havingCondition\",\"*havingCondition\"], \n \"STRDT\": [\"havingCondition\",\"*havingCondition\"], \n \"SAMETERM\": [\"havingCondition\",\"*havingCondition\"], \n \"ISIRI\": [\"havingCondition\",\"*havingCondition\"], \n \"ISURI\": [\"havingCondition\",\"*havingCondition\"], \n \"ISBLANK\": [\"havingCondition\",\"*havingCondition\"], \n \"ISLITERAL\": [\"havingCondition\",\"*havingCondition\"], \n \"ISNUMERIC\": [\"havingCondition\",\"*havingCondition\"], \n \"SUBSTR\": [\"havingCondition\",\"*havingCondition\"], \n \"REPLACE\": [\"havingCondition\",\"*havingCondition\"], \n \"REGEX\": [\"havingCondition\",\"*havingCondition\"], \n \"EXISTS\": [\"havingCondition\",\"*havingCondition\"], \n \"NOT\": [\"havingCondition\",\"*havingCondition\"], \n \"IRI_REF\": [\"havingCondition\",\"*havingCondition\"], \n \"PNAME_LN\": [\"havingCondition\",\"*havingCondition\"], \n \"PNAME_NS\": [\"havingCondition\",\"*havingCondition\"], \n \"VALUES\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"ORDER\": [], \n \"$\": [], \n \"}\": []}, \n \"*or([[ (,*dataBlockValue,)],NIL])\" : {\n \"(\": [\"or([[ (,*dataBlockValue,)],NIL])\",\"*or([[ (,*dataBlockValue,)],NIL])\"], \n \"NIL\": [\"or([[ (,*dataBlockValue,)],NIL])\",\"*or([[ (,*dataBlockValue,)],NIL])\"], \n \"}\": []}, \n \"*or([[*,unaryExpression],[/,unaryExpression]])\" : {\n \"*\": [\"or([[*,unaryExpression],[/,unaryExpression]])\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"/\": [\"or([[*,unaryExpression],[/,unaryExpression]])\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \"||\": [], \n \"&&\": [], \n \"=\": [], \n \"!=\": [], \n \"<\": [], \n \">\": [], \n \"<=\": [], \n \">=\": [], \n \"IN\": [], \n \"NOT\": [], \n \"+\": [], \n \"-\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \";\": []}, \n \"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\" : {\n \"+\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"-\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"INTEGER_POSITIVE\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DECIMAL_POSITIVE\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DOUBLE_POSITIVE\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"INTEGER_NEGATIVE\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DECIMAL_NEGATIVE\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DOUBLE_NEGATIVE\": [\"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \"||\": [], \n \"&&\": [], \n \"=\": [], \n \"!=\": [], \n \"<\": [], \n \">\": [], \n \"<=\": [], \n \">=\": [], \n \"IN\": [], \n \"NOT\": [], \n \";\": []}, \n \"*or([baseDecl,prefixDecl])\" : {\n \"BASE\": [\"or([baseDecl,prefixDecl])\",\"*or([baseDecl,prefixDecl])\"], \n \"PREFIX\": [\"or([baseDecl,prefixDecl])\",\"*or([baseDecl,prefixDecl])\"], \n \"$\": [], \n \"CONSTRUCT\": [], \n \"DESCRIBE\": [], \n \"ASK\": [], \n \"INSERT\": [], \n \"DELETE\": [], \n \"SELECT\": [], \n \"LOAD\": [], \n \"CLEAR\": [], \n \"DROP\": [], \n \"ADD\": [], \n \"MOVE\": [], \n \"COPY\": [], \n \"CREATE\": [], \n \"WITH\": []}, \n \"*or([var,[ (,expression,AS,var,)]])\" : {\n \"(\": [\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"], \n \"VAR1\": [\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"], \n \"VAR2\": [\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"], \n \"WHERE\": [], \n \"{\": [], \n \"FROM\": []}, \n \"*orderCondition\" : {\n \"ASC\": [\"orderCondition\",\"*orderCondition\"], \n \"DESC\": [\"orderCondition\",\"*orderCondition\"], \n \"VAR1\": [\"orderCondition\",\"*orderCondition\"], \n \"VAR2\": [\"orderCondition\",\"*orderCondition\"], \n \"(\": [\"orderCondition\",\"*orderCondition\"], \n \"STR\": [\"orderCondition\",\"*orderCondition\"], \n \"LANG\": [\"orderCondition\",\"*orderCondition\"], \n \"LANGMATCHES\": [\"orderCondition\",\"*orderCondition\"], \n \"DATATYPE\": [\"orderCondition\",\"*orderCondition\"], \n \"BOUND\": [\"orderCondition\",\"*orderCondition\"], \n \"IRI\": [\"orderCondition\",\"*orderCondition\"], \n \"URI\": [\"orderCondition\",\"*orderCondition\"], \n \"BNODE\": [\"orderCondition\",\"*orderCondition\"], \n \"RAND\": [\"orderCondition\",\"*orderCondition\"], \n \"ABS\": [\"orderCondition\",\"*orderCondition\"], \n \"CEIL\": [\"orderCondition\",\"*orderCondition\"], \n \"FLOOR\": [\"orderCondition\",\"*orderCondition\"], \n \"ROUND\": [\"orderCondition\",\"*orderCondition\"], \n \"CONCAT\": [\"orderCondition\",\"*orderCondition\"], \n \"STRLEN\": [\"orderCondition\",\"*orderCondition\"], \n \"UCASE\": [\"orderCondition\",\"*orderCondition\"], \n \"LCASE\": [\"orderCondition\",\"*orderCondition\"], \n \"ENCODE_FOR_URI\": [\"orderCondition\",\"*orderCondition\"], \n \"CONTAINS\": [\"orderCondition\",\"*orderCondition\"], \n \"STRSTARTS\": [\"orderCondition\",\"*orderCondition\"], \n \"STRENDS\": [\"orderCondition\",\"*orderCondition\"], \n \"STRBEFORE\": [\"orderCondition\",\"*orderCondition\"], \n \"STRAFTER\": [\"orderCondition\",\"*orderCondition\"], \n \"YEAR\": [\"orderCondition\",\"*orderCondition\"], \n \"MONTH\": [\"orderCondition\",\"*orderCondition\"], \n \"DAY\": [\"orderCondition\",\"*orderCondition\"], \n \"HOURS\": [\"orderCondition\",\"*orderCondition\"], \n \"MINUTES\": [\"orderCondition\",\"*orderCondition\"], \n \"SECONDS\": [\"orderCondition\",\"*orderCondition\"], \n \"TIMEZONE\": [\"orderCondition\",\"*orderCondition\"], \n \"TZ\": [\"orderCondition\",\"*orderCondition\"], \n \"NOW\": [\"orderCondition\",\"*orderCondition\"], \n \"UUID\": [\"orderCondition\",\"*orderCondition\"], \n \"STRUUID\": [\"orderCondition\",\"*orderCondition\"], \n \"MD5\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA1\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA256\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA384\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA512\": [\"orderCondition\",\"*orderCondition\"], \n \"COALESCE\": [\"orderCondition\",\"*orderCondition\"], \n \"IF\": [\"orderCondition\",\"*orderCondition\"], \n \"STRLANG\": [\"orderCondition\",\"*orderCondition\"], \n \"STRDT\": [\"orderCondition\",\"*orderCondition\"], \n \"SAMETERM\": [\"orderCondition\",\"*orderCondition\"], \n \"ISIRI\": [\"orderCondition\",\"*orderCondition\"], \n \"ISURI\": [\"orderCondition\",\"*orderCondition\"], \n \"ISBLANK\": [\"orderCondition\",\"*orderCondition\"], \n \"ISLITERAL\": [\"orderCondition\",\"*orderCondition\"], \n \"ISNUMERIC\": [\"orderCondition\",\"*orderCondition\"], \n \"SUBSTR\": [\"orderCondition\",\"*orderCondition\"], \n \"REPLACE\": [\"orderCondition\",\"*orderCondition\"], \n \"REGEX\": [\"orderCondition\",\"*orderCondition\"], \n \"EXISTS\": [\"orderCondition\",\"*orderCondition\"], \n \"NOT\": [\"orderCondition\",\"*orderCondition\"], \n \"IRI_REF\": [\"orderCondition\",\"*orderCondition\"], \n \"PNAME_LN\": [\"orderCondition\",\"*orderCondition\"], \n \"PNAME_NS\": [\"orderCondition\",\"*orderCondition\"], \n \"VALUES\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"$\": [], \n \"}\": []}, \n \"*usingClause\" : {\n \"USING\": [\"usingClause\",\"*usingClause\"], \n \"WHERE\": []}, \n \"*var\" : {\n \"VAR1\": [\"var\",\"*var\"], \n \"VAR2\": [\"var\",\"*var\"], \n \")\": []}, \n \"*varOrIRIref\" : {\n \"VAR1\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"VAR2\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"IRI_REF\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"PNAME_LN\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"PNAME_NS\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"ORDER\": [], \n \"HAVING\": [], \n \"GROUP\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"WHERE\": [], \n \"{\": [], \n \"FROM\": [], \n \"VALUES\": [], \n \"$\": []}, \n \"+graphNode\" : {\n \"(\": [\"graphNode\",\"*graphNode\"], \n \"[\": [\"graphNode\",\"*graphNode\"], \n \"VAR1\": [\"graphNode\",\"*graphNode\"], \n \"VAR2\": [\"graphNode\",\"*graphNode\"], \n \"NIL\": [\"graphNode\",\"*graphNode\"], \n \"IRI_REF\": [\"graphNode\",\"*graphNode\"], \n \"TRUE\": [\"graphNode\",\"*graphNode\"], \n \"FALSE\": [\"graphNode\",\"*graphNode\"], \n \"BLANK_NODE_LABEL\": [\"graphNode\",\"*graphNode\"], \n \"ANON\": [\"graphNode\",\"*graphNode\"], \n \"PNAME_LN\": [\"graphNode\",\"*graphNode\"], \n \"PNAME_NS\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL1\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL2\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL_LONG1\": [\"graphNode\",\"*graphNode\"], \n \"STRING_LITERAL_LONG2\": [\"graphNode\",\"*graphNode\"], \n \"INTEGER\": [\"graphNode\",\"*graphNode\"], \n \"DECIMAL\": [\"graphNode\",\"*graphNode\"], \n \"DOUBLE\": [\"graphNode\",\"*graphNode\"], \n \"INTEGER_POSITIVE\": [\"graphNode\",\"*graphNode\"], \n \"DECIMAL_POSITIVE\": [\"graphNode\",\"*graphNode\"], \n \"DOUBLE_POSITIVE\": [\"graphNode\",\"*graphNode\"], \n \"INTEGER_NEGATIVE\": [\"graphNode\",\"*graphNode\"], \n \"DECIMAL_NEGATIVE\": [\"graphNode\",\"*graphNode\"], \n \"DOUBLE_NEGATIVE\": [\"graphNode\",\"*graphNode\"]}, \n \"+graphNodePath\" : {\n \"(\": [\"graphNodePath\",\"*graphNodePath\"], \n \"[\": [\"graphNodePath\",\"*graphNodePath\"], \n \"VAR1\": [\"graphNodePath\",\"*graphNodePath\"], \n \"VAR2\": [\"graphNodePath\",\"*graphNodePath\"], \n \"NIL\": [\"graphNodePath\",\"*graphNodePath\"], \n \"IRI_REF\": [\"graphNodePath\",\"*graphNodePath\"], \n \"TRUE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"FALSE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"BLANK_NODE_LABEL\": [\"graphNodePath\",\"*graphNodePath\"], \n \"ANON\": [\"graphNodePath\",\"*graphNodePath\"], \n \"PNAME_LN\": [\"graphNodePath\",\"*graphNodePath\"], \n \"PNAME_NS\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL1\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL2\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL_LONG1\": [\"graphNodePath\",\"*graphNodePath\"], \n \"STRING_LITERAL_LONG2\": [\"graphNodePath\",\"*graphNodePath\"], \n \"INTEGER\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DECIMAL\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DOUBLE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"INTEGER_POSITIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DECIMAL_POSITIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DOUBLE_POSITIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"INTEGER_NEGATIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DECIMAL_NEGATIVE\": [\"graphNodePath\",\"*graphNodePath\"], \n \"DOUBLE_NEGATIVE\": [\"graphNodePath\",\"*graphNodePath\"]}, \n \"+groupCondition\" : {\n \"(\": [\"groupCondition\",\"*groupCondition\"], \n \"STR\": [\"groupCondition\",\"*groupCondition\"], \n \"LANG\": [\"groupCondition\",\"*groupCondition\"], \n \"LANGMATCHES\": [\"groupCondition\",\"*groupCondition\"], \n \"DATATYPE\": [\"groupCondition\",\"*groupCondition\"], \n \"BOUND\": [\"groupCondition\",\"*groupCondition\"], \n \"IRI\": [\"groupCondition\",\"*groupCondition\"], \n \"URI\": [\"groupCondition\",\"*groupCondition\"], \n \"BNODE\": [\"groupCondition\",\"*groupCondition\"], \n \"RAND\": [\"groupCondition\",\"*groupCondition\"], \n \"ABS\": [\"groupCondition\",\"*groupCondition\"], \n \"CEIL\": [\"groupCondition\",\"*groupCondition\"], \n \"FLOOR\": [\"groupCondition\",\"*groupCondition\"], \n \"ROUND\": [\"groupCondition\",\"*groupCondition\"], \n \"CONCAT\": [\"groupCondition\",\"*groupCondition\"], \n \"STRLEN\": [\"groupCondition\",\"*groupCondition\"], \n \"UCASE\": [\"groupCondition\",\"*groupCondition\"], \n \"LCASE\": [\"groupCondition\",\"*groupCondition\"], \n \"ENCODE_FOR_URI\": [\"groupCondition\",\"*groupCondition\"], \n \"CONTAINS\": [\"groupCondition\",\"*groupCondition\"], \n \"STRSTARTS\": [\"groupCondition\",\"*groupCondition\"], \n \"STRENDS\": [\"groupCondition\",\"*groupCondition\"], \n \"STRBEFORE\": [\"groupCondition\",\"*groupCondition\"], \n \"STRAFTER\": [\"groupCondition\",\"*groupCondition\"], \n \"YEAR\": [\"groupCondition\",\"*groupCondition\"], \n \"MONTH\": [\"groupCondition\",\"*groupCondition\"], \n \"DAY\": [\"groupCondition\",\"*groupCondition\"], \n \"HOURS\": [\"groupCondition\",\"*groupCondition\"], \n \"MINUTES\": [\"groupCondition\",\"*groupCondition\"], \n \"SECONDS\": [\"groupCondition\",\"*groupCondition\"], \n \"TIMEZONE\": [\"groupCondition\",\"*groupCondition\"], \n \"TZ\": [\"groupCondition\",\"*groupCondition\"], \n \"NOW\": [\"groupCondition\",\"*groupCondition\"], \n \"UUID\": [\"groupCondition\",\"*groupCondition\"], \n \"STRUUID\": [\"groupCondition\",\"*groupCondition\"], \n \"MD5\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA1\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA256\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA384\": [\"groupCondition\",\"*groupCondition\"], \n \"SHA512\": [\"groupCondition\",\"*groupCondition\"], \n \"COALESCE\": [\"groupCondition\",\"*groupCondition\"], \n \"IF\": [\"groupCondition\",\"*groupCondition\"], \n \"STRLANG\": [\"groupCondition\",\"*groupCondition\"], \n \"STRDT\": [\"groupCondition\",\"*groupCondition\"], \n \"SAMETERM\": [\"groupCondition\",\"*groupCondition\"], \n \"ISIRI\": [\"groupCondition\",\"*groupCondition\"], \n \"ISURI\": [\"groupCondition\",\"*groupCondition\"], \n \"ISBLANK\": [\"groupCondition\",\"*groupCondition\"], \n \"ISLITERAL\": [\"groupCondition\",\"*groupCondition\"], \n \"ISNUMERIC\": [\"groupCondition\",\"*groupCondition\"], \n \"VAR1\": [\"groupCondition\",\"*groupCondition\"], \n \"VAR2\": [\"groupCondition\",\"*groupCondition\"], \n \"SUBSTR\": [\"groupCondition\",\"*groupCondition\"], \n \"REPLACE\": [\"groupCondition\",\"*groupCondition\"], \n \"REGEX\": [\"groupCondition\",\"*groupCondition\"], \n \"EXISTS\": [\"groupCondition\",\"*groupCondition\"], \n \"NOT\": [\"groupCondition\",\"*groupCondition\"], \n \"IRI_REF\": [\"groupCondition\",\"*groupCondition\"], \n \"PNAME_LN\": [\"groupCondition\",\"*groupCondition\"], \n \"PNAME_NS\": [\"groupCondition\",\"*groupCondition\"]}, \n \"+havingCondition\" : {\n \"(\": [\"havingCondition\",\"*havingCondition\"], \n \"STR\": [\"havingCondition\",\"*havingCondition\"], \n \"LANG\": [\"havingCondition\",\"*havingCondition\"], \n \"LANGMATCHES\": [\"havingCondition\",\"*havingCondition\"], \n \"DATATYPE\": [\"havingCondition\",\"*havingCondition\"], \n \"BOUND\": [\"havingCondition\",\"*havingCondition\"], \n \"IRI\": [\"havingCondition\",\"*havingCondition\"], \n \"URI\": [\"havingCondition\",\"*havingCondition\"], \n \"BNODE\": [\"havingCondition\",\"*havingCondition\"], \n \"RAND\": [\"havingCondition\",\"*havingCondition\"], \n \"ABS\": [\"havingCondition\",\"*havingCondition\"], \n \"CEIL\": [\"havingCondition\",\"*havingCondition\"], \n \"FLOOR\": [\"havingCondition\",\"*havingCondition\"], \n \"ROUND\": [\"havingCondition\",\"*havingCondition\"], \n \"CONCAT\": [\"havingCondition\",\"*havingCondition\"], \n \"STRLEN\": [\"havingCondition\",\"*havingCondition\"], \n \"UCASE\": [\"havingCondition\",\"*havingCondition\"], \n \"LCASE\": [\"havingCondition\",\"*havingCondition\"], \n \"ENCODE_FOR_URI\": [\"havingCondition\",\"*havingCondition\"], \n \"CONTAINS\": [\"havingCondition\",\"*havingCondition\"], \n \"STRSTARTS\": [\"havingCondition\",\"*havingCondition\"], \n \"STRENDS\": [\"havingCondition\",\"*havingCondition\"], \n \"STRBEFORE\": [\"havingCondition\",\"*havingCondition\"], \n \"STRAFTER\": [\"havingCondition\",\"*havingCondition\"], \n \"YEAR\": [\"havingCondition\",\"*havingCondition\"], \n \"MONTH\": [\"havingCondition\",\"*havingCondition\"], \n \"DAY\": [\"havingCondition\",\"*havingCondition\"], \n \"HOURS\": [\"havingCondition\",\"*havingCondition\"], \n \"MINUTES\": [\"havingCondition\",\"*havingCondition\"], \n \"SECONDS\": [\"havingCondition\",\"*havingCondition\"], \n \"TIMEZONE\": [\"havingCondition\",\"*havingCondition\"], \n \"TZ\": [\"havingCondition\",\"*havingCondition\"], \n \"NOW\": [\"havingCondition\",\"*havingCondition\"], \n \"UUID\": [\"havingCondition\",\"*havingCondition\"], \n \"STRUUID\": [\"havingCondition\",\"*havingCondition\"], \n \"MD5\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA1\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA256\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA384\": [\"havingCondition\",\"*havingCondition\"], \n \"SHA512\": [\"havingCondition\",\"*havingCondition\"], \n \"COALESCE\": [\"havingCondition\",\"*havingCondition\"], \n \"IF\": [\"havingCondition\",\"*havingCondition\"], \n \"STRLANG\": [\"havingCondition\",\"*havingCondition\"], \n \"STRDT\": [\"havingCondition\",\"*havingCondition\"], \n \"SAMETERM\": [\"havingCondition\",\"*havingCondition\"], \n \"ISIRI\": [\"havingCondition\",\"*havingCondition\"], \n \"ISURI\": [\"havingCondition\",\"*havingCondition\"], \n \"ISBLANK\": [\"havingCondition\",\"*havingCondition\"], \n \"ISLITERAL\": [\"havingCondition\",\"*havingCondition\"], \n \"ISNUMERIC\": [\"havingCondition\",\"*havingCondition\"], \n \"SUBSTR\": [\"havingCondition\",\"*havingCondition\"], \n \"REPLACE\": [\"havingCondition\",\"*havingCondition\"], \n \"REGEX\": [\"havingCondition\",\"*havingCondition\"], \n \"EXISTS\": [\"havingCondition\",\"*havingCondition\"], \n \"NOT\": [\"havingCondition\",\"*havingCondition\"], \n \"IRI_REF\": [\"havingCondition\",\"*havingCondition\"], \n \"PNAME_LN\": [\"havingCondition\",\"*havingCondition\"], \n \"PNAME_NS\": [\"havingCondition\",\"*havingCondition\"]}, \n \"+or([var,[ (,expression,AS,var,)]])\" : {\n \"(\": [\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"], \n \"VAR1\": [\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"], \n \"VAR2\": [\"or([var,[ (,expression,AS,var,)]])\",\"*or([var,[ (,expression,AS,var,)]])\"]}, \n \"+orderCondition\" : {\n \"ASC\": [\"orderCondition\",\"*orderCondition\"], \n \"DESC\": [\"orderCondition\",\"*orderCondition\"], \n \"VAR1\": [\"orderCondition\",\"*orderCondition\"], \n \"VAR2\": [\"orderCondition\",\"*orderCondition\"], \n \"(\": [\"orderCondition\",\"*orderCondition\"], \n \"STR\": [\"orderCondition\",\"*orderCondition\"], \n \"LANG\": [\"orderCondition\",\"*orderCondition\"], \n \"LANGMATCHES\": [\"orderCondition\",\"*orderCondition\"], \n \"DATATYPE\": [\"orderCondition\",\"*orderCondition\"], \n \"BOUND\": [\"orderCondition\",\"*orderCondition\"], \n \"IRI\": [\"orderCondition\",\"*orderCondition\"], \n \"URI\": [\"orderCondition\",\"*orderCondition\"], \n \"BNODE\": [\"orderCondition\",\"*orderCondition\"], \n \"RAND\": [\"orderCondition\",\"*orderCondition\"], \n \"ABS\": [\"orderCondition\",\"*orderCondition\"], \n \"CEIL\": [\"orderCondition\",\"*orderCondition\"], \n \"FLOOR\": [\"orderCondition\",\"*orderCondition\"], \n \"ROUND\": [\"orderCondition\",\"*orderCondition\"], \n \"CONCAT\": [\"orderCondition\",\"*orderCondition\"], \n \"STRLEN\": [\"orderCondition\",\"*orderCondition\"], \n \"UCASE\": [\"orderCondition\",\"*orderCondition\"], \n \"LCASE\": [\"orderCondition\",\"*orderCondition\"], \n \"ENCODE_FOR_URI\": [\"orderCondition\",\"*orderCondition\"], \n \"CONTAINS\": [\"orderCondition\",\"*orderCondition\"], \n \"STRSTARTS\": [\"orderCondition\",\"*orderCondition\"], \n \"STRENDS\": [\"orderCondition\",\"*orderCondition\"], \n \"STRBEFORE\": [\"orderCondition\",\"*orderCondition\"], \n \"STRAFTER\": [\"orderCondition\",\"*orderCondition\"], \n \"YEAR\": [\"orderCondition\",\"*orderCondition\"], \n \"MONTH\": [\"orderCondition\",\"*orderCondition\"], \n \"DAY\": [\"orderCondition\",\"*orderCondition\"], \n \"HOURS\": [\"orderCondition\",\"*orderCondition\"], \n \"MINUTES\": [\"orderCondition\",\"*orderCondition\"], \n \"SECONDS\": [\"orderCondition\",\"*orderCondition\"], \n \"TIMEZONE\": [\"orderCondition\",\"*orderCondition\"], \n \"TZ\": [\"orderCondition\",\"*orderCondition\"], \n \"NOW\": [\"orderCondition\",\"*orderCondition\"], \n \"UUID\": [\"orderCondition\",\"*orderCondition\"], \n \"STRUUID\": [\"orderCondition\",\"*orderCondition\"], \n \"MD5\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA1\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA256\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA384\": [\"orderCondition\",\"*orderCondition\"], \n \"SHA512\": [\"orderCondition\",\"*orderCondition\"], \n \"COALESCE\": [\"orderCondition\",\"*orderCondition\"], \n \"IF\": [\"orderCondition\",\"*orderCondition\"], \n \"STRLANG\": [\"orderCondition\",\"*orderCondition\"], \n \"STRDT\": [\"orderCondition\",\"*orderCondition\"], \n \"SAMETERM\": [\"orderCondition\",\"*orderCondition\"], \n \"ISIRI\": [\"orderCondition\",\"*orderCondition\"], \n \"ISURI\": [\"orderCondition\",\"*orderCondition\"], \n \"ISBLANK\": [\"orderCondition\",\"*orderCondition\"], \n \"ISLITERAL\": [\"orderCondition\",\"*orderCondition\"], \n \"ISNUMERIC\": [\"orderCondition\",\"*orderCondition\"], \n \"SUBSTR\": [\"orderCondition\",\"*orderCondition\"], \n \"REPLACE\": [\"orderCondition\",\"*orderCondition\"], \n \"REGEX\": [\"orderCondition\",\"*orderCondition\"], \n \"EXISTS\": [\"orderCondition\",\"*orderCondition\"], \n \"NOT\": [\"orderCondition\",\"*orderCondition\"], \n \"IRI_REF\": [\"orderCondition\",\"*orderCondition\"], \n \"PNAME_LN\": [\"orderCondition\",\"*orderCondition\"], \n \"PNAME_NS\": [\"orderCondition\",\"*orderCondition\"]}, \n \"+varOrIRIref\" : {\n \"VAR1\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"VAR2\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"IRI_REF\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"PNAME_LN\": [\"varOrIRIref\",\"*varOrIRIref\"], \n \"PNAME_NS\": [\"varOrIRIref\",\"*varOrIRIref\"]}, \n \"?.\" : {\n \".\": [\".\"], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"(\": [], \n \"[\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \"GRAPH\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"?DISTINCT\" : {\n \"DISTINCT\": [\"DISTINCT\"], \n \"!\": [], \n \"+\": [], \n \"-\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"(\": [], \n \"STR\": [], \n \"LANG\": [], \n \"LANGMATCHES\": [], \n \"DATATYPE\": [], \n \"BOUND\": [], \n \"IRI\": [], \n \"URI\": [], \n \"BNODE\": [], \n \"RAND\": [], \n \"ABS\": [], \n \"CEIL\": [], \n \"FLOOR\": [], \n \"ROUND\": [], \n \"CONCAT\": [], \n \"STRLEN\": [], \n \"UCASE\": [], \n \"LCASE\": [], \n \"ENCODE_FOR_URI\": [], \n \"CONTAINS\": [], \n \"STRSTARTS\": [], \n \"STRENDS\": [], \n \"STRBEFORE\": [], \n \"STRAFTER\": [], \n \"YEAR\": [], \n \"MONTH\": [], \n \"DAY\": [], \n \"HOURS\": [], \n \"MINUTES\": [], \n \"SECONDS\": [], \n \"TIMEZONE\": [], \n \"TZ\": [], \n \"NOW\": [], \n \"UUID\": [], \n \"STRUUID\": [], \n \"MD5\": [], \n \"SHA1\": [], \n \"SHA256\": [], \n \"SHA384\": [], \n \"SHA512\": [], \n \"COALESCE\": [], \n \"IF\": [], \n \"STRLANG\": [], \n \"STRDT\": [], \n \"SAMETERM\": [], \n \"ISIRI\": [], \n \"ISURI\": [], \n \"ISBLANK\": [], \n \"ISLITERAL\": [], \n \"ISNUMERIC\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"COUNT\": [], \n \"SUM\": [], \n \"MIN\": [], \n \"MAX\": [], \n \"AVG\": [], \n \"SAMPLE\": [], \n \"GROUP_CONCAT\": [], \n \"SUBSTR\": [], \n \"REPLACE\": [], \n \"REGEX\": [], \n \"EXISTS\": [], \n \"NOT\": [], \n \"IRI_REF\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"*\": []}, \n \"?GRAPH\" : {\n \"GRAPH\": [\"GRAPH\"], \n \"IRI_REF\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": []}, \n \"?SILENT\" : {\n \"SILENT\": [\"SILENT\"], \n \"VAR1\": [], \n \"VAR2\": [], \n \"IRI_REF\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": []}, \n \"?SILENT_1\" : {\n \"SILENT\": [\"SILENT\"], \n \"IRI_REF\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": []}, \n \"?SILENT_2\" : {\n \"SILENT\": [\"SILENT\"], \n \"GRAPH\": [], \n \"DEFAULT\": [], \n \"NAMED\": [], \n \"ALL\": []}, \n \"?SILENT_3\" : {\n \"SILENT\": [\"SILENT\"], \n \"GRAPH\": []}, \n \"?SILENT_4\" : {\n \"SILENT\": [\"SILENT\"], \n \"DEFAULT\": [], \n \"GRAPH\": [], \n \"IRI_REF\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": []}, \n \"?WHERE\" : {\n \"WHERE\": [\"WHERE\"], \n \"{\": []}, \n \"?[,,expression]\" : {\n \",\": [\"[,,expression]\"], \n \")\": []}, \n \"?[.,?constructTriples]\" : {\n \".\": [\"[.,?constructTriples]\"], \n \"}\": []}, \n \"?[.,?triplesBlock]\" : {\n \".\": [\"[.,?triplesBlock]\"], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"?[.,?triplesTemplate]\" : {\n \".\": [\"[.,?triplesTemplate]\"], \n \"}\": [], \n \"GRAPH\": []}, \n \"?[;,SEPARATOR,=,string]\" : {\n \";\": [\"[;,SEPARATOR,=,string]\"], \n \")\": []}, \n \"?[;,update]\" : {\n \";\": [\"[;,update]\"], \n \"$\": []}, \n \"?[AS,var]\" : {\n \"AS\": [\"[AS,var]\"], \n \")\": []}, \n \"?[INTO,graphRef]\" : {\n \"INTO\": [\"[INTO,graphRef]\"], \n \";\": [], \n \"$\": []}, \n \"?[or([verbPath,verbSimple]),objectList]\" : {\n \"VAR1\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"VAR2\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"^\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"a\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"!\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"(\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"IRI_REF\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"PNAME_LN\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \"PNAME_NS\": [\"[or([verbPath,verbSimple]),objectList]\"], \n \";\": [], \n \".\": [], \n \"]\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"?[pathOneInPropertySet,*[|,pathOneInPropertySet]]\" : {\n \"a\": [\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"], \n \"^\": [\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"], \n \"IRI_REF\": [\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"], \n \"PNAME_LN\": [\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"], \n \"PNAME_NS\": [\"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\"], \n \")\": []}, \n \"?[update1,?[;,update]]\" : {\n \"INSERT\": [\"[update1,?[;,update]]\"], \n \"DELETE\": [\"[update1,?[;,update]]\"], \n \"LOAD\": [\"[update1,?[;,update]]\"], \n \"CLEAR\": [\"[update1,?[;,update]]\"], \n \"DROP\": [\"[update1,?[;,update]]\"], \n \"ADD\": [\"[update1,?[;,update]]\"], \n \"MOVE\": [\"[update1,?[;,update]]\"], \n \"COPY\": [\"[update1,?[;,update]]\"], \n \"CREATE\": [\"[update1,?[;,update]]\"], \n \"WITH\": [\"[update1,?[;,update]]\"], \n \"$\": []}, \n \"?[verb,objectList]\" : {\n \"a\": [\"[verb,objectList]\"], \n \"VAR1\": [\"[verb,objectList]\"], \n \"VAR2\": [\"[verb,objectList]\"], \n \"IRI_REF\": [\"[verb,objectList]\"], \n \"PNAME_LN\": [\"[verb,objectList]\"], \n \"PNAME_NS\": [\"[verb,objectList]\"], \n \";\": [], \n \".\": [], \n \"]\": [], \n \"}\": [], \n \"GRAPH\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": []}, \n \"?argList\" : {\n \"NIL\": [\"argList\"], \n \"(\": [\"argList\"], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \"||\": [], \n \"&&\": [], \n \"=\": [], \n \"!=\": [], \n \"<\": [], \n \">\": [], \n \"<=\": [], \n \">=\": [], \n \"IN\": [], \n \"NOT\": [], \n \"+\": [], \n \"-\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \"*\": [], \n \"/\": [], \n \";\": []}, \n \"?constructTriples\" : {\n \"VAR1\": [\"constructTriples\"], \n \"VAR2\": [\"constructTriples\"], \n \"NIL\": [\"constructTriples\"], \n \"(\": [\"constructTriples\"], \n \"[\": [\"constructTriples\"], \n \"IRI_REF\": [\"constructTriples\"], \n \"TRUE\": [\"constructTriples\"], \n \"FALSE\": [\"constructTriples\"], \n \"BLANK_NODE_LABEL\": [\"constructTriples\"], \n \"ANON\": [\"constructTriples\"], \n \"PNAME_LN\": [\"constructTriples\"], \n \"PNAME_NS\": [\"constructTriples\"], \n \"STRING_LITERAL1\": [\"constructTriples\"], \n \"STRING_LITERAL2\": [\"constructTriples\"], \n \"STRING_LITERAL_LONG1\": [\"constructTriples\"], \n \"STRING_LITERAL_LONG2\": [\"constructTriples\"], \n \"INTEGER\": [\"constructTriples\"], \n \"DECIMAL\": [\"constructTriples\"], \n \"DOUBLE\": [\"constructTriples\"], \n \"INTEGER_POSITIVE\": [\"constructTriples\"], \n \"DECIMAL_POSITIVE\": [\"constructTriples\"], \n \"DOUBLE_POSITIVE\": [\"constructTriples\"], \n \"INTEGER_NEGATIVE\": [\"constructTriples\"], \n \"DECIMAL_NEGATIVE\": [\"constructTriples\"], \n \"DOUBLE_NEGATIVE\": [\"constructTriples\"], \n \"}\": []}, \n \"?groupClause\" : {\n \"GROUP\": [\"groupClause\"], \n \"VALUES\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"ORDER\": [], \n \"HAVING\": [], \n \"$\": [], \n \"}\": []}, \n \"?havingClause\" : {\n \"HAVING\": [\"havingClause\"], \n \"VALUES\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"ORDER\": [], \n \"$\": [], \n \"}\": []}, \n \"?insertClause\" : {\n \"INSERT\": [\"insertClause\"], \n \"WHERE\": [], \n \"USING\": []}, \n \"?limitClause\" : {\n \"LIMIT\": [\"limitClause\"], \n \"VALUES\": [], \n \"$\": [], \n \"}\": []}, \n \"?limitOffsetClauses\" : {\n \"LIMIT\": [\"limitOffsetClauses\"], \n \"OFFSET\": [\"limitOffsetClauses\"], \n \"VALUES\": [], \n \"$\": [], \n \"}\": []}, \n \"?offsetClause\" : {\n \"OFFSET\": [\"offsetClause\"], \n \"VALUES\": [], \n \"$\": [], \n \"}\": []}, \n \"?or([DISTINCT,REDUCED])\" : {\n \"DISTINCT\": [\"or([DISTINCT,REDUCED])\"], \n \"REDUCED\": [\"or([DISTINCT,REDUCED])\"], \n \"*\": [], \n \"(\": [], \n \"VAR1\": [], \n \"VAR2\": []}, \n \"?or([LANGTAG,[^^,iriRef]])\" : {\n \"LANGTAG\": [\"or([LANGTAG,[^^,iriRef]])\"], \n \"^^\": [\"or([LANGTAG,[^^,iriRef]])\"], \n \"UNDEF\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \"a\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"^\": [], \n \"!\": [], \n \"(\": [], \n \".\": [], \n \";\": [], \n \",\": [], \n \"AS\": [], \n \")\": [], \n \"||\": [], \n \"&&\": [], \n \"=\": [], \n \"!=\": [], \n \"<\": [], \n \">\": [], \n \"<=\": [], \n \">=\": [], \n \"IN\": [], \n \"NOT\": [], \n \"+\": [], \n \"-\": [], \n \"*\": [], \n \"/\": [], \n \"}\": [], \n \"[\": [], \n \"NIL\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"]\": [], \n \"GRAPH\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": []}, \n \"?or([[*,unaryExpression],[/,unaryExpression]])\" : {\n \"*\": [\"or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"/\": [\"or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"+\": [], \n \"-\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": [], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \"||\": [], \n \"&&\": [], \n \"=\": [], \n \"!=\": [], \n \"<\": [], \n \">\": [], \n \"<=\": [], \n \">=\": [], \n \"IN\": [], \n \"NOT\": [], \n \";\": []}, \n \"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\" : {\n \"=\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"!=\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"<\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \">\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"<=\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \">=\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"IN\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"NOT\": [\"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"AS\": [], \n \")\": [], \n \",\": [], \n \"||\": [], \n \"&&\": [], \n \";\": []}, \n \"?orderClause\" : {\n \"ORDER\": [\"orderClause\"], \n \"VALUES\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"$\": [], \n \"}\": []}, \n \"?pathMod\" : {\n \"*\": [\"pathMod\"], \n \"?\": [\"pathMod\"], \n \"+\": [\"pathMod\"], \n \"{\": [\"pathMod\"], \n \"|\": [], \n \"/\": [], \n \")\": [], \n \"(\": [], \n \"[\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": []}, \n \"?triplesBlock\" : {\n \"VAR1\": [\"triplesBlock\"], \n \"VAR2\": [\"triplesBlock\"], \n \"NIL\": [\"triplesBlock\"], \n \"(\": [\"triplesBlock\"], \n \"[\": [\"triplesBlock\"], \n \"IRI_REF\": [\"triplesBlock\"], \n \"TRUE\": [\"triplesBlock\"], \n \"FALSE\": [\"triplesBlock\"], \n \"BLANK_NODE_LABEL\": [\"triplesBlock\"], \n \"ANON\": [\"triplesBlock\"], \n \"PNAME_LN\": [\"triplesBlock\"], \n \"PNAME_NS\": [\"triplesBlock\"], \n \"STRING_LITERAL1\": [\"triplesBlock\"], \n \"STRING_LITERAL2\": [\"triplesBlock\"], \n \"STRING_LITERAL_LONG1\": [\"triplesBlock\"], \n \"STRING_LITERAL_LONG2\": [\"triplesBlock\"], \n \"INTEGER\": [\"triplesBlock\"], \n \"DECIMAL\": [\"triplesBlock\"], \n \"DOUBLE\": [\"triplesBlock\"], \n \"INTEGER_POSITIVE\": [\"triplesBlock\"], \n \"DECIMAL_POSITIVE\": [\"triplesBlock\"], \n \"DOUBLE_POSITIVE\": [\"triplesBlock\"], \n \"INTEGER_NEGATIVE\": [\"triplesBlock\"], \n \"DECIMAL_NEGATIVE\": [\"triplesBlock\"], \n \"DOUBLE_NEGATIVE\": [\"triplesBlock\"], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"?triplesTemplate\" : {\n \"VAR1\": [\"triplesTemplate\"], \n \"VAR2\": [\"triplesTemplate\"], \n \"NIL\": [\"triplesTemplate\"], \n \"(\": [\"triplesTemplate\"], \n \"[\": [\"triplesTemplate\"], \n \"IRI_REF\": [\"triplesTemplate\"], \n \"TRUE\": [\"triplesTemplate\"], \n \"FALSE\": [\"triplesTemplate\"], \n \"BLANK_NODE_LABEL\": [\"triplesTemplate\"], \n \"ANON\": [\"triplesTemplate\"], \n \"PNAME_LN\": [\"triplesTemplate\"], \n \"PNAME_NS\": [\"triplesTemplate\"], \n \"STRING_LITERAL1\": [\"triplesTemplate\"], \n \"STRING_LITERAL2\": [\"triplesTemplate\"], \n \"STRING_LITERAL_LONG1\": [\"triplesTemplate\"], \n \"STRING_LITERAL_LONG2\": [\"triplesTemplate\"], \n \"INTEGER\": [\"triplesTemplate\"], \n \"DECIMAL\": [\"triplesTemplate\"], \n \"DOUBLE\": [\"triplesTemplate\"], \n \"INTEGER_POSITIVE\": [\"triplesTemplate\"], \n \"DECIMAL_POSITIVE\": [\"triplesTemplate\"], \n \"DOUBLE_POSITIVE\": [\"triplesTemplate\"], \n \"INTEGER_NEGATIVE\": [\"triplesTemplate\"], \n \"DECIMAL_NEGATIVE\": [\"triplesTemplate\"], \n \"DOUBLE_NEGATIVE\": [\"triplesTemplate\"], \n \"}\": [], \n \"GRAPH\": []}, \n \"?whereClause\" : {\n \"WHERE\": [\"whereClause\"], \n \"{\": [\"whereClause\"], \n \"ORDER\": [], \n \"HAVING\": [], \n \"GROUP\": [], \n \"LIMIT\": [], \n \"OFFSET\": [], \n \"VALUES\": [], \n \"$\": []}, \n \"[ (,*dataBlockValue,)]\" : {\n \"(\": [\"(\",\"*dataBlockValue\",\")\"]}, \n \"[ (,*var,)]\" : {\n \"(\": [\"(\",\"*var\",\")\"]}, \n \"[ (,expression,)]\" : {\n \"(\": [\"(\",\"expression\",\")\"]}, \n \"[ (,expression,AS,var,)]\" : {\n \"(\": [\"(\",\"expression\",\"AS\",\"var\",\")\"]}, \n \"[!=,numericExpression]\" : {\n \"!=\": [\"!=\",\"numericExpression\"]}, \n \"[&&,valueLogical]\" : {\n \"&&\": [\"&&\",\"valueLogical\"]}, \n \"[*,unaryExpression]\" : {\n \"*\": [\"*\",\"unaryExpression\"]}, \n \"[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]\" : {\n \"WHERE\": [\"*datasetClause\",\"WHERE\",\"{\",\"?triplesTemplate\",\"}\",\"solutionModifier\"], \n \"FROM\": [\"*datasetClause\",\"WHERE\",\"{\",\"?triplesTemplate\",\"}\",\"solutionModifier\"]}, \n \"[+,multiplicativeExpression]\" : {\n \"+\": [\"+\",\"multiplicativeExpression\"]}, \n \"[,,expression]\" : {\n \",\": [\",\",\"expression\"]}, \n \"[,,integer,}]\" : {\n \",\": [\",\",\"integer\",\"}\"]}, \n \"[,,objectPath]\" : {\n \",\": [\",\",\"objectPath\"]}, \n \"[,,object]\" : {\n \",\": [\",\",\"object\"]}, \n \"[,,or([},[integer,}]])]\" : {\n \",\": [\",\",\"or([},[integer,}]])\"]}, \n \"[-,multiplicativeExpression]\" : {\n \"-\": [\"-\",\"multiplicativeExpression\"]}, \n \"[.,?constructTriples]\" : {\n \".\": [\".\",\"?constructTriples\"]}, \n \"[.,?triplesBlock]\" : {\n \".\": [\".\",\"?triplesBlock\"]}, \n \"[.,?triplesTemplate]\" : {\n \".\": [\".\",\"?triplesTemplate\"]}, \n \"[/,pathEltOrInverse]\" : {\n \"/\": [\"/\",\"pathEltOrInverse\"]}, \n \"[/,unaryExpression]\" : {\n \"/\": [\"/\",\"unaryExpression\"]}, \n \"[;,?[or([verbPath,verbSimple]),objectList]]\" : {\n \";\": [\";\",\"?[or([verbPath,verbSimple]),objectList]\"]}, \n \"[;,?[verb,objectList]]\" : {\n \";\": [\";\",\"?[verb,objectList]\"]}, \n \"[;,SEPARATOR,=,string]\" : {\n \";\": [\";\",\"SEPARATOR\",\"=\",\"string\"]}, \n \"[;,update]\" : {\n \";\": [\";\",\"update\"]}, \n \"[<,numericExpression]\" : {\n \"<\": [\"<\",\"numericExpression\"]}, \n \"[<=,numericExpression]\" : {\n \"<=\": [\"<=\",\"numericExpression\"]}, \n \"[=,numericExpression]\" : {\n \"=\": [\"=\",\"numericExpression\"]}, \n \"[>,numericExpression]\" : {\n \">\": [\">\",\"numericExpression\"]}, \n \"[>=,numericExpression]\" : {\n \">=\": [\">=\",\"numericExpression\"]}, \n \"[AS,var]\" : {\n \"AS\": [\"AS\",\"var\"]}, \n \"[IN,expressionList]\" : {\n \"IN\": [\"IN\",\"expressionList\"]}, \n \"[INTO,graphRef]\" : {\n \"INTO\": [\"INTO\",\"graphRef\"]}, \n \"[NAMED,iriRef]\" : {\n \"NAMED\": [\"NAMED\",\"iriRef\"]}, \n \"[NOT,IN,expressionList]\" : {\n \"NOT\": [\"NOT\",\"IN\",\"expressionList\"]}, \n \"[UNION,groupGraphPattern]\" : {\n \"UNION\": [\"UNION\",\"groupGraphPattern\"]}, \n \"[^^,iriRef]\" : {\n \"^^\": [\"^^\",\"iriRef\"]}, \n \"[constructTemplate,*datasetClause,whereClause,solutionModifier]\" : {\n \"{\": [\"constructTemplate\",\"*datasetClause\",\"whereClause\",\"solutionModifier\"]}, \n \"[deleteClause,?insertClause]\" : {\n \"DELETE\": [\"deleteClause\",\"?insertClause\"]}, \n \"[graphPatternNotTriples,?.,?triplesBlock]\" : {\n \"{\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"OPTIONAL\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"MINUS\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"GRAPH\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"SERVICE\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"FILTER\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"BIND\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"], \n \"VALUES\": [\"graphPatternNotTriples\",\"?.\",\"?triplesBlock\"]}, \n \"[integer,or([[,,or([},[integer,}]])],}])]\" : {\n \"INTEGER\": [\"integer\",\"or([[,,or([},[integer,}]])],}])\"]}, \n \"[integer,}]\" : {\n \"INTEGER\": [\"integer\",\"}\"]}, \n \"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\" : {\n \"INTEGER_POSITIVE\": [\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DECIMAL_POSITIVE\": [\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DOUBLE_POSITIVE\": [\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"INTEGER_NEGATIVE\": [\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DECIMAL_NEGATIVE\": [\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DOUBLE_NEGATIVE\": [\"or([numericLiteralPositive,numericLiteralNegative])\",\"?or([[*,unaryExpression],[/,unaryExpression]])\"]}, \n \"[or([verbPath,verbSimple]),objectList]\" : {\n \"VAR1\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"VAR2\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"^\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"a\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"!\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"(\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"IRI_REF\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"PNAME_LN\": [\"or([verbPath,verbSimple])\",\"objectList\"], \n \"PNAME_NS\": [\"or([verbPath,verbSimple])\",\"objectList\"]}, \n \"[pathOneInPropertySet,*[|,pathOneInPropertySet]]\" : {\n \"a\": [\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"], \n \"^\": [\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"], \n \"IRI_REF\": [\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"], \n \"PNAME_LN\": [\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"], \n \"PNAME_NS\": [\"pathOneInPropertySet\",\"*[|,pathOneInPropertySet]\"]}, \n \"[quadsNotTriples,?.,?triplesTemplate]\" : {\n \"GRAPH\": [\"quadsNotTriples\",\"?.\",\"?triplesTemplate\"]}, \n \"[update1,?[;,update]]\" : {\n \"INSERT\": [\"update1\",\"?[;,update]\"], \n \"DELETE\": [\"update1\",\"?[;,update]\"], \n \"LOAD\": [\"update1\",\"?[;,update]\"], \n \"CLEAR\": [\"update1\",\"?[;,update]\"], \n \"DROP\": [\"update1\",\"?[;,update]\"], \n \"ADD\": [\"update1\",\"?[;,update]\"], \n \"MOVE\": [\"update1\",\"?[;,update]\"], \n \"COPY\": [\"update1\",\"?[;,update]\"], \n \"CREATE\": [\"update1\",\"?[;,update]\"], \n \"WITH\": [\"update1\",\"?[;,update]\"]}, \n \"[verb,objectList]\" : {\n \"a\": [\"verb\",\"objectList\"], \n \"VAR1\": [\"verb\",\"objectList\"], \n \"VAR2\": [\"verb\",\"objectList\"], \n \"IRI_REF\": [\"verb\",\"objectList\"], \n \"PNAME_LN\": [\"verb\",\"objectList\"], \n \"PNAME_NS\": [\"verb\",\"objectList\"]}, \n \"[|,pathOneInPropertySet]\" : {\n \"|\": [\"|\",\"pathOneInPropertySet\"]}, \n \"[|,pathSequence]\" : {\n \"|\": [\"|\",\"pathSequence\"]}, \n \"[||,conditionalAndExpression]\" : {\n \"||\": [\"||\",\"conditionalAndExpression\"]}, \n \"add\" : {\n \"ADD\": [\"ADD\",\"?SILENT_4\",\"graphOrDefault\",\"TO\",\"graphOrDefault\"]}, \n \"additiveExpression\" : {\n \"!\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"+\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"-\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"VAR1\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"VAR2\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"(\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STR\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"LANG\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"LANGMATCHES\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DATATYPE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"BOUND\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"IRI\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"URI\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"BNODE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"RAND\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ABS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"CEIL\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"FLOOR\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ROUND\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"CONCAT\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRLEN\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"UCASE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"LCASE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ENCODE_FOR_URI\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"CONTAINS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRSTARTS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRENDS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRBEFORE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRAFTER\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"YEAR\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"MONTH\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DAY\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"HOURS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"MINUTES\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SECONDS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"TIMEZONE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"TZ\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"NOW\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"UUID\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRUUID\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"MD5\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SHA1\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SHA256\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SHA384\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SHA512\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"COALESCE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"IF\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRLANG\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRDT\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SAMETERM\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ISIRI\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ISURI\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ISBLANK\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ISLITERAL\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"ISNUMERIC\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"TRUE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"FALSE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"COUNT\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SUM\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"MIN\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"MAX\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"AVG\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SAMPLE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"GROUP_CONCAT\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"SUBSTR\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"REPLACE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"REGEX\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"EXISTS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"NOT\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"IRI_REF\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRING_LITERAL1\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRING_LITERAL2\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRING_LITERAL_LONG1\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"STRING_LITERAL_LONG2\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"INTEGER\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DECIMAL\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DOUBLE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"INTEGER_POSITIVE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DECIMAL_POSITIVE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DOUBLE_POSITIVE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"INTEGER_NEGATIVE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DECIMAL_NEGATIVE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"DOUBLE_NEGATIVE\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"PNAME_LN\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"], \n \"PNAME_NS\": [\"multiplicativeExpression\",\"*or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\"]}, \n \"aggregate\" : {\n \"COUNT\": [\"COUNT\",\"(\",\"?DISTINCT\",\"or([*,expression])\",\")\"], \n \"SUM\": [\"SUM\",\"(\",\"?DISTINCT\",\"expression\",\")\"], \n \"MIN\": [\"MIN\",\"(\",\"?DISTINCT\",\"expression\",\")\"], \n \"MAX\": [\"MAX\",\"(\",\"?DISTINCT\",\"expression\",\")\"], \n \"AVG\": [\"AVG\",\"(\",\"?DISTINCT\",\"expression\",\")\"], \n \"SAMPLE\": [\"SAMPLE\",\"(\",\"?DISTINCT\",\"expression\",\")\"], \n \"GROUP_CONCAT\": [\"GROUP_CONCAT\",\"(\",\"?DISTINCT\",\"expression\",\"?[;,SEPARATOR,=,string]\",\")\"]}, \n \"allowBnodes\" : {\n \"}\": []}, \n \"allowVars\" : {\n \"}\": []}, \n \"argList\" : {\n \"NIL\": [\"NIL\"], \n \"(\": [\"(\",\"?DISTINCT\",\"expression\",\"*[,,expression]\",\")\"]}, \n \"askQuery\" : {\n \"ASK\": [\"ASK\",\"*datasetClause\",\"whereClause\",\"solutionModifier\"]}, \n \"baseDecl\" : {\n \"BASE\": [\"BASE\",\"IRI_REF\"]}, \n \"bind\" : {\n \"BIND\": [\"BIND\",\"(\",\"expression\",\"AS\",\"var\",\")\"]}, \n \"blankNode\" : {\n \"BLANK_NODE_LABEL\": [\"BLANK_NODE_LABEL\"], \n \"ANON\": [\"ANON\"]}, \n \"blankNodePropertyList\" : {\n \"[\": [\"[\",\"propertyListNotEmpty\",\"]\"]}, \n \"blankNodePropertyListPath\" : {\n \"[\": [\"[\",\"propertyListPathNotEmpty\",\"]\"]}, \n \"booleanLiteral\" : {\n \"TRUE\": [\"TRUE\"], \n \"FALSE\": [\"FALSE\"]}, \n \"brackettedExpression\" : {\n \"(\": [\"(\",\"expression\",\")\"]}, \n \"builtInCall\" : {\n \"STR\": [\"STR\",\"(\",\"expression\",\")\"], \n \"LANG\": [\"LANG\",\"(\",\"expression\",\")\"], \n \"LANGMATCHES\": [\"LANGMATCHES\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"DATATYPE\": [\"DATATYPE\",\"(\",\"expression\",\")\"], \n \"BOUND\": [\"BOUND\",\"(\",\"var\",\")\"], \n \"IRI\": [\"IRI\",\"(\",\"expression\",\")\"], \n \"URI\": [\"URI\",\"(\",\"expression\",\")\"], \n \"BNODE\": [\"BNODE\",\"or([[ (,expression,)],NIL])\"], \n \"RAND\": [\"RAND\",\"NIL\"], \n \"ABS\": [\"ABS\",\"(\",\"expression\",\")\"], \n \"CEIL\": [\"CEIL\",\"(\",\"expression\",\")\"], \n \"FLOOR\": [\"FLOOR\",\"(\",\"expression\",\")\"], \n \"ROUND\": [\"ROUND\",\"(\",\"expression\",\")\"], \n \"CONCAT\": [\"CONCAT\",\"expressionList\"], \n \"SUBSTR\": [\"substringExpression\"], \n \"STRLEN\": [\"STRLEN\",\"(\",\"expression\",\")\"], \n \"REPLACE\": [\"strReplaceExpression\"], \n \"UCASE\": [\"UCASE\",\"(\",\"expression\",\")\"], \n \"LCASE\": [\"LCASE\",\"(\",\"expression\",\")\"], \n \"ENCODE_FOR_URI\": [\"ENCODE_FOR_URI\",\"(\",\"expression\",\")\"], \n \"CONTAINS\": [\"CONTAINS\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"STRSTARTS\": [\"STRSTARTS\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"STRENDS\": [\"STRENDS\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"STRBEFORE\": [\"STRBEFORE\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"STRAFTER\": [\"STRAFTER\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"YEAR\": [\"YEAR\",\"(\",\"expression\",\")\"], \n \"MONTH\": [\"MONTH\",\"(\",\"expression\",\")\"], \n \"DAY\": [\"DAY\",\"(\",\"expression\",\")\"], \n \"HOURS\": [\"HOURS\",\"(\",\"expression\",\")\"], \n \"MINUTES\": [\"MINUTES\",\"(\",\"expression\",\")\"], \n \"SECONDS\": [\"SECONDS\",\"(\",\"expression\",\")\"], \n \"TIMEZONE\": [\"TIMEZONE\",\"(\",\"expression\",\")\"], \n \"TZ\": [\"TZ\",\"(\",\"expression\",\")\"], \n \"NOW\": [\"NOW\",\"NIL\"], \n \"UUID\": [\"UUID\",\"NIL\"], \n \"STRUUID\": [\"STRUUID\",\"NIL\"], \n \"MD5\": [\"MD5\",\"(\",\"expression\",\")\"], \n \"SHA1\": [\"SHA1\",\"(\",\"expression\",\")\"], \n \"SHA256\": [\"SHA256\",\"(\",\"expression\",\")\"], \n \"SHA384\": [\"SHA384\",\"(\",\"expression\",\")\"], \n \"SHA512\": [\"SHA512\",\"(\",\"expression\",\")\"], \n \"COALESCE\": [\"COALESCE\",\"expressionList\"], \n \"IF\": [\"IF\",\"(\",\"expression\",\",\",\"expression\",\",\",\"expression\",\")\"], \n \"STRLANG\": [\"STRLANG\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"STRDT\": [\"STRDT\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"SAMETERM\": [\"SAMETERM\",\"(\",\"expression\",\",\",\"expression\",\")\"], \n \"ISIRI\": [\"ISIRI\",\"(\",\"expression\",\")\"], \n \"ISURI\": [\"ISURI\",\"(\",\"expression\",\")\"], \n \"ISBLANK\": [\"ISBLANK\",\"(\",\"expression\",\")\"], \n \"ISLITERAL\": [\"ISLITERAL\",\"(\",\"expression\",\")\"], \n \"ISNUMERIC\": [\"ISNUMERIC\",\"(\",\"expression\",\")\"], \n \"REGEX\": [\"regexExpression\"], \n \"EXISTS\": [\"existsFunc\"], \n \"NOT\": [\"notExistsFunc\"]}, \n \"clear\" : {\n \"CLEAR\": [\"CLEAR\",\"?SILENT_2\",\"graphRefAll\"]}, \n \"collection\" : {\n \"(\": [\"(\",\"+graphNode\",\")\"]}, \n \"collectionPath\" : {\n \"(\": [\"(\",\"+graphNodePath\",\")\"]}, \n \"conditionalAndExpression\" : {\n \"!\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"+\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"-\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"VAR1\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"VAR2\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"(\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STR\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"LANG\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"LANGMATCHES\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DATATYPE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"BOUND\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"IRI\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"URI\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"BNODE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"RAND\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ABS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"CEIL\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"FLOOR\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ROUND\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"CONCAT\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRLEN\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"UCASE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"LCASE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ENCODE_FOR_URI\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"CONTAINS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRSTARTS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRENDS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRBEFORE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRAFTER\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"YEAR\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"MONTH\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DAY\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"HOURS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"MINUTES\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SECONDS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"TIMEZONE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"TZ\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"NOW\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"UUID\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRUUID\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"MD5\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SHA1\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SHA256\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SHA384\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SHA512\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"COALESCE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"IF\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRLANG\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRDT\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SAMETERM\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ISIRI\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ISURI\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ISBLANK\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ISLITERAL\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"ISNUMERIC\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"TRUE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"FALSE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"COUNT\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SUM\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"MIN\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"MAX\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"AVG\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SAMPLE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"GROUP_CONCAT\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"SUBSTR\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"REPLACE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"REGEX\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"EXISTS\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"NOT\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"IRI_REF\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRING_LITERAL1\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRING_LITERAL2\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRING_LITERAL_LONG1\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"STRING_LITERAL_LONG2\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"INTEGER\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DECIMAL\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DOUBLE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"INTEGER_POSITIVE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DECIMAL_POSITIVE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DOUBLE_POSITIVE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"INTEGER_NEGATIVE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DECIMAL_NEGATIVE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"DOUBLE_NEGATIVE\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"PNAME_LN\": [\"valueLogical\",\"*[&&,valueLogical]\"], \n \"PNAME_NS\": [\"valueLogical\",\"*[&&,valueLogical]\"]}, \n \"conditionalOrExpression\" : {\n \"!\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"+\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"-\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"VAR1\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"VAR2\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"(\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STR\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"LANG\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"LANGMATCHES\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DATATYPE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"BOUND\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"IRI\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"URI\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"BNODE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"RAND\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ABS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"CEIL\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"FLOOR\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ROUND\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"CONCAT\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRLEN\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"UCASE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"LCASE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ENCODE_FOR_URI\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"CONTAINS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRSTARTS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRENDS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRBEFORE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRAFTER\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"YEAR\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"MONTH\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DAY\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"HOURS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"MINUTES\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SECONDS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"TIMEZONE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"TZ\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"NOW\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"UUID\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRUUID\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"MD5\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SHA1\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SHA256\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SHA384\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SHA512\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"COALESCE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"IF\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRLANG\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRDT\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SAMETERM\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ISIRI\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ISURI\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ISBLANK\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ISLITERAL\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"ISNUMERIC\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"TRUE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"FALSE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"COUNT\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SUM\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"MIN\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"MAX\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"AVG\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SAMPLE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"GROUP_CONCAT\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"SUBSTR\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"REPLACE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"REGEX\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"EXISTS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"NOT\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"IRI_REF\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRING_LITERAL1\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRING_LITERAL2\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRING_LITERAL_LONG1\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"STRING_LITERAL_LONG2\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"INTEGER\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DECIMAL\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DOUBLE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"INTEGER_POSITIVE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DECIMAL_POSITIVE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DOUBLE_POSITIVE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"INTEGER_NEGATIVE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DECIMAL_NEGATIVE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"DOUBLE_NEGATIVE\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"PNAME_LN\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"], \n \"PNAME_NS\": [\"conditionalAndExpression\",\"*[||,conditionalAndExpression]\"]}, \n \"constraint\" : {\n \"(\": [\"brackettedExpression\"], \n \"STR\": [\"builtInCall\"], \n \"LANG\": [\"builtInCall\"], \n \"LANGMATCHES\": [\"builtInCall\"], \n \"DATATYPE\": [\"builtInCall\"], \n \"BOUND\": [\"builtInCall\"], \n \"IRI\": [\"builtInCall\"], \n \"URI\": [\"builtInCall\"], \n \"BNODE\": [\"builtInCall\"], \n \"RAND\": [\"builtInCall\"], \n \"ABS\": [\"builtInCall\"], \n \"CEIL\": [\"builtInCall\"], \n \"FLOOR\": [\"builtInCall\"], \n \"ROUND\": [\"builtInCall\"], \n \"CONCAT\": [\"builtInCall\"], \n \"STRLEN\": [\"builtInCall\"], \n \"UCASE\": [\"builtInCall\"], \n \"LCASE\": [\"builtInCall\"], \n \"ENCODE_FOR_URI\": [\"builtInCall\"], \n \"CONTAINS\": [\"builtInCall\"], \n \"STRSTARTS\": [\"builtInCall\"], \n \"STRENDS\": [\"builtInCall\"], \n \"STRBEFORE\": [\"builtInCall\"], \n \"STRAFTER\": [\"builtInCall\"], \n \"YEAR\": [\"builtInCall\"], \n \"MONTH\": [\"builtInCall\"], \n \"DAY\": [\"builtInCall\"], \n \"HOURS\": [\"builtInCall\"], \n \"MINUTES\": [\"builtInCall\"], \n \"SECONDS\": [\"builtInCall\"], \n \"TIMEZONE\": [\"builtInCall\"], \n \"TZ\": [\"builtInCall\"], \n \"NOW\": [\"builtInCall\"], \n \"UUID\": [\"builtInCall\"], \n \"STRUUID\": [\"builtInCall\"], \n \"MD5\": [\"builtInCall\"], \n \"SHA1\": [\"builtInCall\"], \n \"SHA256\": [\"builtInCall\"], \n \"SHA384\": [\"builtInCall\"], \n \"SHA512\": [\"builtInCall\"], \n \"COALESCE\": [\"builtInCall\"], \n \"IF\": [\"builtInCall\"], \n \"STRLANG\": [\"builtInCall\"], \n \"STRDT\": [\"builtInCall\"], \n \"SAMETERM\": [\"builtInCall\"], \n \"ISIRI\": [\"builtInCall\"], \n \"ISURI\": [\"builtInCall\"], \n \"ISBLANK\": [\"builtInCall\"], \n \"ISLITERAL\": [\"builtInCall\"], \n \"ISNUMERIC\": [\"builtInCall\"], \n \"SUBSTR\": [\"builtInCall\"], \n \"REPLACE\": [\"builtInCall\"], \n \"REGEX\": [\"builtInCall\"], \n \"EXISTS\": [\"builtInCall\"], \n \"NOT\": [\"builtInCall\"], \n \"IRI_REF\": [\"functionCall\"], \n \"PNAME_LN\": [\"functionCall\"], \n \"PNAME_NS\": [\"functionCall\"]}, \n \"constructQuery\" : {\n \"CONSTRUCT\": [\"CONSTRUCT\",\"or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])\"]}, \n \"constructTemplate\" : {\n \"{\": [\"{\",\"?constructTriples\",\"}\"]}, \n \"constructTriples\" : {\n \"VAR1\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"VAR2\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"NIL\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"(\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"[\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"IRI_REF\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"TRUE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"FALSE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"BLANK_NODE_LABEL\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"ANON\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"PNAME_LN\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"PNAME_NS\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"STRING_LITERAL1\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"STRING_LITERAL2\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"STRING_LITERAL_LONG1\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"STRING_LITERAL_LONG2\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"INTEGER\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"DECIMAL\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"DOUBLE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"INTEGER_POSITIVE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"DECIMAL_POSITIVE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"DOUBLE_POSITIVE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"INTEGER_NEGATIVE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"DECIMAL_NEGATIVE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"], \n \"DOUBLE_NEGATIVE\": [\"triplesSameSubject\",\"?[.,?constructTriples]\"]}, \n \"copy\" : {\n \"COPY\": [\"COPY\",\"?SILENT_4\",\"graphOrDefault\",\"TO\",\"graphOrDefault\"]}, \n \"create\" : {\n \"CREATE\": [\"CREATE\",\"?SILENT_3\",\"graphRef\"]}, \n \"dataBlock\" : {\n \"NIL\": [\"or([inlineDataOneVar,inlineDataFull])\"], \n \"(\": [\"or([inlineDataOneVar,inlineDataFull])\"], \n \"VAR1\": [\"or([inlineDataOneVar,inlineDataFull])\"], \n \"VAR2\": [\"or([inlineDataOneVar,inlineDataFull])\"]}, \n \"dataBlockValue\" : {\n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"], \n \"STRING_LITERAL1\": [\"rdfLiteral\"], \n \"STRING_LITERAL2\": [\"rdfLiteral\"], \n \"STRING_LITERAL_LONG1\": [\"rdfLiteral\"], \n \"STRING_LITERAL_LONG2\": [\"rdfLiteral\"], \n \"INTEGER\": [\"numericLiteral\"], \n \"DECIMAL\": [\"numericLiteral\"], \n \"DOUBLE\": [\"numericLiteral\"], \n \"INTEGER_POSITIVE\": [\"numericLiteral\"], \n \"DECIMAL_POSITIVE\": [\"numericLiteral\"], \n \"DOUBLE_POSITIVE\": [\"numericLiteral\"], \n \"INTEGER_NEGATIVE\": [\"numericLiteral\"], \n \"DECIMAL_NEGATIVE\": [\"numericLiteral\"], \n \"DOUBLE_NEGATIVE\": [\"numericLiteral\"], \n \"TRUE\": [\"booleanLiteral\"], \n \"FALSE\": [\"booleanLiteral\"], \n \"UNDEF\": [\"UNDEF\"]}, \n \"datasetClause\" : {\n \"FROM\": [\"FROM\",\"or([defaultGraphClause,namedGraphClause])\"]}, \n \"defaultGraphClause\" : {\n \"IRI_REF\": [\"sourceSelector\"], \n \"PNAME_LN\": [\"sourceSelector\"], \n \"PNAME_NS\": [\"sourceSelector\"]}, \n \"delete1\" : {\n \"DATA\": [\"DATA\",\"quadDataNoBnodes\"], \n \"WHERE\": [\"WHERE\",\"quadPatternNoBnodes\"], \n \"{\": [\"quadPatternNoBnodes\",\"?insertClause\",\"*usingClause\",\"WHERE\",\"groupGraphPattern\"]}, \n \"deleteClause\" : {\n \"DELETE\": [\"DELETE\",\"quadPattern\"]}, \n \"describeDatasetClause\" : {\n \"FROM\": [\"FROM\",\"or([defaultGraphClause,namedGraphClause])\"]}, \n \"describeQuery\" : {\n \"DESCRIBE\": [\"DESCRIBE\",\"or([+varOrIRIref,*])\",\"*describeDatasetClause\",\"?whereClause\",\"solutionModifier\"]}, \n \"disallowBnodes\" : {\n \"}\": [], \n \"GRAPH\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"(\": [], \n \"[\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": []}, \n \"disallowVars\" : {\n \"}\": [], \n \"GRAPH\": [], \n \"VAR1\": [], \n \"VAR2\": [], \n \"NIL\": [], \n \"(\": [], \n \"[\": [], \n \"IRI_REF\": [], \n \"TRUE\": [], \n \"FALSE\": [], \n \"BLANK_NODE_LABEL\": [], \n \"ANON\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"STRING_LITERAL1\": [], \n \"STRING_LITERAL2\": [], \n \"STRING_LITERAL_LONG1\": [], \n \"STRING_LITERAL_LONG2\": [], \n \"INTEGER\": [], \n \"DECIMAL\": [], \n \"DOUBLE\": [], \n \"INTEGER_POSITIVE\": [], \n \"DECIMAL_POSITIVE\": [], \n \"DOUBLE_POSITIVE\": [], \n \"INTEGER_NEGATIVE\": [], \n \"DECIMAL_NEGATIVE\": [], \n \"DOUBLE_NEGATIVE\": []}, \n \"drop\" : {\n \"DROP\": [\"DROP\",\"?SILENT_2\",\"graphRefAll\"]}, \n \"existsFunc\" : {\n \"EXISTS\": [\"EXISTS\",\"groupGraphPattern\"]}, \n \"expression\" : {\n \"!\": [\"conditionalOrExpression\"], \n \"+\": [\"conditionalOrExpression\"], \n \"-\": [\"conditionalOrExpression\"], \n \"VAR1\": [\"conditionalOrExpression\"], \n \"VAR2\": [\"conditionalOrExpression\"], \n \"(\": [\"conditionalOrExpression\"], \n \"STR\": [\"conditionalOrExpression\"], \n \"LANG\": [\"conditionalOrExpression\"], \n \"LANGMATCHES\": [\"conditionalOrExpression\"], \n \"DATATYPE\": [\"conditionalOrExpression\"], \n \"BOUND\": [\"conditionalOrExpression\"], \n \"IRI\": [\"conditionalOrExpression\"], \n \"URI\": [\"conditionalOrExpression\"], \n \"BNODE\": [\"conditionalOrExpression\"], \n \"RAND\": [\"conditionalOrExpression\"], \n \"ABS\": [\"conditionalOrExpression\"], \n \"CEIL\": [\"conditionalOrExpression\"], \n \"FLOOR\": [\"conditionalOrExpression\"], \n \"ROUND\": [\"conditionalOrExpression\"], \n \"CONCAT\": [\"conditionalOrExpression\"], \n \"STRLEN\": [\"conditionalOrExpression\"], \n \"UCASE\": [\"conditionalOrExpression\"], \n \"LCASE\": [\"conditionalOrExpression\"], \n \"ENCODE_FOR_URI\": [\"conditionalOrExpression\"], \n \"CONTAINS\": [\"conditionalOrExpression\"], \n \"STRSTARTS\": [\"conditionalOrExpression\"], \n \"STRENDS\": [\"conditionalOrExpression\"], \n \"STRBEFORE\": [\"conditionalOrExpression\"], \n \"STRAFTER\": [\"conditionalOrExpression\"], \n \"YEAR\": [\"conditionalOrExpression\"], \n \"MONTH\": [\"conditionalOrExpression\"], \n \"DAY\": [\"conditionalOrExpression\"], \n \"HOURS\": [\"conditionalOrExpression\"], \n \"MINUTES\": [\"conditionalOrExpression\"], \n \"SECONDS\": [\"conditionalOrExpression\"], \n \"TIMEZONE\": [\"conditionalOrExpression\"], \n \"TZ\": [\"conditionalOrExpression\"], \n \"NOW\": [\"conditionalOrExpression\"], \n \"UUID\": [\"conditionalOrExpression\"], \n \"STRUUID\": [\"conditionalOrExpression\"], \n \"MD5\": [\"conditionalOrExpression\"], \n \"SHA1\": [\"conditionalOrExpression\"], \n \"SHA256\": [\"conditionalOrExpression\"], \n \"SHA384\": [\"conditionalOrExpression\"], \n \"SHA512\": [\"conditionalOrExpression\"], \n \"COALESCE\": [\"conditionalOrExpression\"], \n \"IF\": [\"conditionalOrExpression\"], \n \"STRLANG\": [\"conditionalOrExpression\"], \n \"STRDT\": [\"conditionalOrExpression\"], \n \"SAMETERM\": [\"conditionalOrExpression\"], \n \"ISIRI\": [\"conditionalOrExpression\"], \n \"ISURI\": [\"conditionalOrExpression\"], \n \"ISBLANK\": [\"conditionalOrExpression\"], \n \"ISLITERAL\": [\"conditionalOrExpression\"], \n \"ISNUMERIC\": [\"conditionalOrExpression\"], \n \"TRUE\": [\"conditionalOrExpression\"], \n \"FALSE\": [\"conditionalOrExpression\"], \n \"COUNT\": [\"conditionalOrExpression\"], \n \"SUM\": [\"conditionalOrExpression\"], \n \"MIN\": [\"conditionalOrExpression\"], \n \"MAX\": [\"conditionalOrExpression\"], \n \"AVG\": [\"conditionalOrExpression\"], \n \"SAMPLE\": [\"conditionalOrExpression\"], \n \"GROUP_CONCAT\": [\"conditionalOrExpression\"], \n \"SUBSTR\": [\"conditionalOrExpression\"], \n \"REPLACE\": [\"conditionalOrExpression\"], \n \"REGEX\": [\"conditionalOrExpression\"], \n \"EXISTS\": [\"conditionalOrExpression\"], \n \"NOT\": [\"conditionalOrExpression\"], \n \"IRI_REF\": [\"conditionalOrExpression\"], \n \"STRING_LITERAL1\": [\"conditionalOrExpression\"], \n \"STRING_LITERAL2\": [\"conditionalOrExpression\"], \n \"STRING_LITERAL_LONG1\": [\"conditionalOrExpression\"], \n \"STRING_LITERAL_LONG2\": [\"conditionalOrExpression\"], \n \"INTEGER\": [\"conditionalOrExpression\"], \n \"DECIMAL\": [\"conditionalOrExpression\"], \n \"DOUBLE\": [\"conditionalOrExpression\"], \n \"INTEGER_POSITIVE\": [\"conditionalOrExpression\"], \n \"DECIMAL_POSITIVE\": [\"conditionalOrExpression\"], \n \"DOUBLE_POSITIVE\": [\"conditionalOrExpression\"], \n \"INTEGER_NEGATIVE\": [\"conditionalOrExpression\"], \n \"DECIMAL_NEGATIVE\": [\"conditionalOrExpression\"], \n \"DOUBLE_NEGATIVE\": [\"conditionalOrExpression\"], \n \"PNAME_LN\": [\"conditionalOrExpression\"], \n \"PNAME_NS\": [\"conditionalOrExpression\"]}, \n \"expressionList\" : {\n \"NIL\": [\"NIL\"], \n \"(\": [\"(\",\"expression\",\"*[,,expression]\",\")\"]}, \n \"filter\" : {\n \"FILTER\": [\"FILTER\",\"constraint\"]}, \n \"functionCall\" : {\n \"IRI_REF\": [\"iriRef\",\"argList\"], \n \"PNAME_LN\": [\"iriRef\",\"argList\"], \n \"PNAME_NS\": [\"iriRef\",\"argList\"]}, \n \"graphGraphPattern\" : {\n \"GRAPH\": [\"GRAPH\",\"varOrIRIref\",\"groupGraphPattern\"]}, \n \"graphNode\" : {\n \"VAR1\": [\"varOrTerm\"], \n \"VAR2\": [\"varOrTerm\"], \n \"NIL\": [\"varOrTerm\"], \n \"IRI_REF\": [\"varOrTerm\"], \n \"TRUE\": [\"varOrTerm\"], \n \"FALSE\": [\"varOrTerm\"], \n \"BLANK_NODE_LABEL\": [\"varOrTerm\"], \n \"ANON\": [\"varOrTerm\"], \n \"PNAME_LN\": [\"varOrTerm\"], \n \"PNAME_NS\": [\"varOrTerm\"], \n \"STRING_LITERAL1\": [\"varOrTerm\"], \n \"STRING_LITERAL2\": [\"varOrTerm\"], \n \"STRING_LITERAL_LONG1\": [\"varOrTerm\"], \n \"STRING_LITERAL_LONG2\": [\"varOrTerm\"], \n \"INTEGER\": [\"varOrTerm\"], \n \"DECIMAL\": [\"varOrTerm\"], \n \"DOUBLE\": [\"varOrTerm\"], \n \"INTEGER_POSITIVE\": [\"varOrTerm\"], \n \"DECIMAL_POSITIVE\": [\"varOrTerm\"], \n \"DOUBLE_POSITIVE\": [\"varOrTerm\"], \n \"INTEGER_NEGATIVE\": [\"varOrTerm\"], \n \"DECIMAL_NEGATIVE\": [\"varOrTerm\"], \n \"DOUBLE_NEGATIVE\": [\"varOrTerm\"], \n \"(\": [\"triplesNode\"], \n \"[\": [\"triplesNode\"]}, \n \"graphNodePath\" : {\n \"VAR1\": [\"varOrTerm\"], \n \"VAR2\": [\"varOrTerm\"], \n \"NIL\": [\"varOrTerm\"], \n \"IRI_REF\": [\"varOrTerm\"], \n \"TRUE\": [\"varOrTerm\"], \n \"FALSE\": [\"varOrTerm\"], \n \"BLANK_NODE_LABEL\": [\"varOrTerm\"], \n \"ANON\": [\"varOrTerm\"], \n \"PNAME_LN\": [\"varOrTerm\"], \n \"PNAME_NS\": [\"varOrTerm\"], \n \"STRING_LITERAL1\": [\"varOrTerm\"], \n \"STRING_LITERAL2\": [\"varOrTerm\"], \n \"STRING_LITERAL_LONG1\": [\"varOrTerm\"], \n \"STRING_LITERAL_LONG2\": [\"varOrTerm\"], \n \"INTEGER\": [\"varOrTerm\"], \n \"DECIMAL\": [\"varOrTerm\"], \n \"DOUBLE\": [\"varOrTerm\"], \n \"INTEGER_POSITIVE\": [\"varOrTerm\"], \n \"DECIMAL_POSITIVE\": [\"varOrTerm\"], \n \"DOUBLE_POSITIVE\": [\"varOrTerm\"], \n \"INTEGER_NEGATIVE\": [\"varOrTerm\"], \n \"DECIMAL_NEGATIVE\": [\"varOrTerm\"], \n \"DOUBLE_NEGATIVE\": [\"varOrTerm\"], \n \"(\": [\"triplesNodePath\"], \n \"[\": [\"triplesNodePath\"]}, \n \"graphOrDefault\" : {\n \"DEFAULT\": [\"DEFAULT\"], \n \"IRI_REF\": [\"?GRAPH\",\"iriRef\"], \n \"PNAME_LN\": [\"?GRAPH\",\"iriRef\"], \n \"PNAME_NS\": [\"?GRAPH\",\"iriRef\"], \n \"GRAPH\": [\"?GRAPH\",\"iriRef\"]}, \n \"graphPatternNotTriples\" : {\n \"{\": [\"groupOrUnionGraphPattern\"], \n \"OPTIONAL\": [\"optionalGraphPattern\"], \n \"MINUS\": [\"minusGraphPattern\"], \n \"GRAPH\": [\"graphGraphPattern\"], \n \"SERVICE\": [\"serviceGraphPattern\"], \n \"FILTER\": [\"filter\"], \n \"BIND\": [\"bind\"], \n \"VALUES\": [\"inlineData\"]}, \n \"graphRef\" : {\n \"GRAPH\": [\"GRAPH\",\"iriRef\"]}, \n \"graphRefAll\" : {\n \"GRAPH\": [\"graphRef\"], \n \"DEFAULT\": [\"DEFAULT\"], \n \"NAMED\": [\"NAMED\"], \n \"ALL\": [\"ALL\"]}, \n \"graphTerm\" : {\n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"], \n \"STRING_LITERAL1\": [\"rdfLiteral\"], \n \"STRING_LITERAL2\": [\"rdfLiteral\"], \n \"STRING_LITERAL_LONG1\": [\"rdfLiteral\"], \n \"STRING_LITERAL_LONG2\": [\"rdfLiteral\"], \n \"INTEGER\": [\"numericLiteral\"], \n \"DECIMAL\": [\"numericLiteral\"], \n \"DOUBLE\": [\"numericLiteral\"], \n \"INTEGER_POSITIVE\": [\"numericLiteral\"], \n \"DECIMAL_POSITIVE\": [\"numericLiteral\"], \n \"DOUBLE_POSITIVE\": [\"numericLiteral\"], \n \"INTEGER_NEGATIVE\": [\"numericLiteral\"], \n \"DECIMAL_NEGATIVE\": [\"numericLiteral\"], \n \"DOUBLE_NEGATIVE\": [\"numericLiteral\"], \n \"TRUE\": [\"booleanLiteral\"], \n \"FALSE\": [\"booleanLiteral\"], \n \"BLANK_NODE_LABEL\": [\"blankNode\"], \n \"ANON\": [\"blankNode\"], \n \"NIL\": [\"NIL\"]}, \n \"groupClause\" : {\n \"GROUP\": [\"GROUP\",\"BY\",\"+groupCondition\"]}, \n \"groupCondition\" : {\n \"STR\": [\"builtInCall\"], \n \"LANG\": [\"builtInCall\"], \n \"LANGMATCHES\": [\"builtInCall\"], \n \"DATATYPE\": [\"builtInCall\"], \n \"BOUND\": [\"builtInCall\"], \n \"IRI\": [\"builtInCall\"], \n \"URI\": [\"builtInCall\"], \n \"BNODE\": [\"builtInCall\"], \n \"RAND\": [\"builtInCall\"], \n \"ABS\": [\"builtInCall\"], \n \"CEIL\": [\"builtInCall\"], \n \"FLOOR\": [\"builtInCall\"], \n \"ROUND\": [\"builtInCall\"], \n \"CONCAT\": [\"builtInCall\"], \n \"STRLEN\": [\"builtInCall\"], \n \"UCASE\": [\"builtInCall\"], \n \"LCASE\": [\"builtInCall\"], \n \"ENCODE_FOR_URI\": [\"builtInCall\"], \n \"CONTAINS\": [\"builtInCall\"], \n \"STRSTARTS\": [\"builtInCall\"], \n \"STRENDS\": [\"builtInCall\"], \n \"STRBEFORE\": [\"builtInCall\"], \n \"STRAFTER\": [\"builtInCall\"], \n \"YEAR\": [\"builtInCall\"], \n \"MONTH\": [\"builtInCall\"], \n \"DAY\": [\"builtInCall\"], \n \"HOURS\": [\"builtInCall\"], \n \"MINUTES\": [\"builtInCall\"], \n \"SECONDS\": [\"builtInCall\"], \n \"TIMEZONE\": [\"builtInCall\"], \n \"TZ\": [\"builtInCall\"], \n \"NOW\": [\"builtInCall\"], \n \"UUID\": [\"builtInCall\"], \n \"STRUUID\": [\"builtInCall\"], \n \"MD5\": [\"builtInCall\"], \n \"SHA1\": [\"builtInCall\"], \n \"SHA256\": [\"builtInCall\"], \n \"SHA384\": [\"builtInCall\"], \n \"SHA512\": [\"builtInCall\"], \n \"COALESCE\": [\"builtInCall\"], \n \"IF\": [\"builtInCall\"], \n \"STRLANG\": [\"builtInCall\"], \n \"STRDT\": [\"builtInCall\"], \n \"SAMETERM\": [\"builtInCall\"], \n \"ISIRI\": [\"builtInCall\"], \n \"ISURI\": [\"builtInCall\"], \n \"ISBLANK\": [\"builtInCall\"], \n \"ISLITERAL\": [\"builtInCall\"], \n \"ISNUMERIC\": [\"builtInCall\"], \n \"SUBSTR\": [\"builtInCall\"], \n \"REPLACE\": [\"builtInCall\"], \n \"REGEX\": [\"builtInCall\"], \n \"EXISTS\": [\"builtInCall\"], \n \"NOT\": [\"builtInCall\"], \n \"IRI_REF\": [\"functionCall\"], \n \"PNAME_LN\": [\"functionCall\"], \n \"PNAME_NS\": [\"functionCall\"], \n \"(\": [\"(\",\"expression\",\"?[AS,var]\",\")\"], \n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"]}, \n \"groupGraphPattern\" : {\n \"{\": [\"{\",\"or([subSelect,groupGraphPatternSub])\",\"}\"]}, \n \"groupGraphPatternSub\" : {\n \"{\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"OPTIONAL\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"MINUS\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"GRAPH\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"SERVICE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"FILTER\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"BIND\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"VALUES\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"VAR1\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"VAR2\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"NIL\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"(\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"[\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"IRI_REF\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"TRUE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"FALSE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"BLANK_NODE_LABEL\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"ANON\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"PNAME_LN\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"PNAME_NS\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"STRING_LITERAL1\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"STRING_LITERAL2\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"STRING_LITERAL_LONG1\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"STRING_LITERAL_LONG2\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"INTEGER\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"DECIMAL\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"DOUBLE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"INTEGER_POSITIVE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"DECIMAL_POSITIVE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"DOUBLE_POSITIVE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"INTEGER_NEGATIVE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"DECIMAL_NEGATIVE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"DOUBLE_NEGATIVE\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"], \n \"}\": [\"?triplesBlock\",\"*[graphPatternNotTriples,?.,?triplesBlock]\"]}, \n \"groupOrUnionGraphPattern\" : {\n \"{\": [\"groupGraphPattern\",\"*[UNION,groupGraphPattern]\"]}, \n \"havingClause\" : {\n \"HAVING\": [\"HAVING\",\"+havingCondition\"]}, \n \"havingCondition\" : {\n \"(\": [\"constraint\"], \n \"STR\": [\"constraint\"], \n \"LANG\": [\"constraint\"], \n \"LANGMATCHES\": [\"constraint\"], \n \"DATATYPE\": [\"constraint\"], \n \"BOUND\": [\"constraint\"], \n \"IRI\": [\"constraint\"], \n \"URI\": [\"constraint\"], \n \"BNODE\": [\"constraint\"], \n \"RAND\": [\"constraint\"], \n \"ABS\": [\"constraint\"], \n \"CEIL\": [\"constraint\"], \n \"FLOOR\": [\"constraint\"], \n \"ROUND\": [\"constraint\"], \n \"CONCAT\": [\"constraint\"], \n \"STRLEN\": [\"constraint\"], \n \"UCASE\": [\"constraint\"], \n \"LCASE\": [\"constraint\"], \n \"ENCODE_FOR_URI\": [\"constraint\"], \n \"CONTAINS\": [\"constraint\"], \n \"STRSTARTS\": [\"constraint\"], \n \"STRENDS\": [\"constraint\"], \n \"STRBEFORE\": [\"constraint\"], \n \"STRAFTER\": [\"constraint\"], \n \"YEAR\": [\"constraint\"], \n \"MONTH\": [\"constraint\"], \n \"DAY\": [\"constraint\"], \n \"HOURS\": [\"constraint\"], \n \"MINUTES\": [\"constraint\"], \n \"SECONDS\": [\"constraint\"], \n \"TIMEZONE\": [\"constraint\"], \n \"TZ\": [\"constraint\"], \n \"NOW\": [\"constraint\"], \n \"UUID\": [\"constraint\"], \n \"STRUUID\": [\"constraint\"], \n \"MD5\": [\"constraint\"], \n \"SHA1\": [\"constraint\"], \n \"SHA256\": [\"constraint\"], \n \"SHA384\": [\"constraint\"], \n \"SHA512\": [\"constraint\"], \n \"COALESCE\": [\"constraint\"], \n \"IF\": [\"constraint\"], \n \"STRLANG\": [\"constraint\"], \n \"STRDT\": [\"constraint\"], \n \"SAMETERM\": [\"constraint\"], \n \"ISIRI\": [\"constraint\"], \n \"ISURI\": [\"constraint\"], \n \"ISBLANK\": [\"constraint\"], \n \"ISLITERAL\": [\"constraint\"], \n \"ISNUMERIC\": [\"constraint\"], \n \"SUBSTR\": [\"constraint\"], \n \"REPLACE\": [\"constraint\"], \n \"REGEX\": [\"constraint\"], \n \"EXISTS\": [\"constraint\"], \n \"NOT\": [\"constraint\"], \n \"IRI_REF\": [\"constraint\"], \n \"PNAME_LN\": [\"constraint\"], \n \"PNAME_NS\": [\"constraint\"]}, \n \"inlineData\" : {\n \"VALUES\": [\"VALUES\",\"dataBlock\"]}, \n \"inlineDataFull\" : {\n \"NIL\": [\"or([NIL,[ (,*var,)]])\",\"{\",\"*or([[ (,*dataBlockValue,)],NIL])\",\"}\"], \n \"(\": [\"or([NIL,[ (,*var,)]])\",\"{\",\"*or([[ (,*dataBlockValue,)],NIL])\",\"}\"]}, \n \"inlineDataOneVar\" : {\n \"VAR1\": [\"var\",\"{\",\"*dataBlockValue\",\"}\"], \n \"VAR2\": [\"var\",\"{\",\"*dataBlockValue\",\"}\"]}, \n \"insert1\" : {\n \"DATA\": [\"DATA\",\"quadData\"], \n \"{\": [\"quadPattern\",\"*usingClause\",\"WHERE\",\"groupGraphPattern\"]}, \n \"insertClause\" : {\n \"INSERT\": [\"INSERT\",\"quadPattern\"]}, \n \"integer\" : {\n \"INTEGER\": [\"INTEGER\"]}, \n \"iriRef\" : {\n \"IRI_REF\": [\"IRI_REF\"], \n \"PNAME_LN\": [\"prefixedName\"], \n \"PNAME_NS\": [\"prefixedName\"]}, \n \"iriRefOrFunction\" : {\n \"IRI_REF\": [\"iriRef\",\"?argList\"], \n \"PNAME_LN\": [\"iriRef\",\"?argList\"], \n \"PNAME_NS\": [\"iriRef\",\"?argList\"]}, \n \"limitClause\" : {\n \"LIMIT\": [\"LIMIT\",\"INTEGER\"]}, \n \"limitOffsetClauses\" : {\n \"LIMIT\": [\"limitClause\",\"?offsetClause\"], \n \"OFFSET\": [\"offsetClause\",\"?limitClause\"]}, \n \"load\" : {\n \"LOAD\": [\"LOAD\",\"?SILENT_1\",\"iriRef\",\"?[INTO,graphRef]\"]}, \n \"minusGraphPattern\" : {\n \"MINUS\": [\"MINUS\",\"groupGraphPattern\"]}, \n \"modify\" : {\n \"WITH\": [\"WITH\",\"iriRef\",\"or([[deleteClause,?insertClause],insertClause])\",\"*usingClause\",\"WHERE\",\"groupGraphPattern\"]}, \n \"move\" : {\n \"MOVE\": [\"MOVE\",\"?SILENT_4\",\"graphOrDefault\",\"TO\",\"graphOrDefault\"]}, \n \"multiplicativeExpression\" : {\n \"!\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"+\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"-\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"VAR1\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"VAR2\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"(\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STR\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"LANG\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"LANGMATCHES\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DATATYPE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"BOUND\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"IRI\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"URI\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"BNODE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"RAND\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ABS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"CEIL\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"FLOOR\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ROUND\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"CONCAT\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRLEN\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"UCASE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"LCASE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ENCODE_FOR_URI\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"CONTAINS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRSTARTS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRENDS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRBEFORE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRAFTER\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"YEAR\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"MONTH\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DAY\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"HOURS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"MINUTES\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SECONDS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"TIMEZONE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"TZ\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"NOW\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"UUID\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRUUID\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"MD5\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SHA1\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SHA256\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SHA384\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SHA512\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"COALESCE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"IF\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRLANG\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRDT\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SAMETERM\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ISIRI\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ISURI\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ISBLANK\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ISLITERAL\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"ISNUMERIC\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"TRUE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"FALSE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"COUNT\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SUM\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"MIN\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"MAX\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"AVG\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SAMPLE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"GROUP_CONCAT\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"SUBSTR\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"REPLACE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"REGEX\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"EXISTS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"NOT\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"IRI_REF\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRING_LITERAL1\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRING_LITERAL2\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRING_LITERAL_LONG1\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"STRING_LITERAL_LONG2\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"INTEGER\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DECIMAL\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DOUBLE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"INTEGER_POSITIVE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DECIMAL_POSITIVE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DOUBLE_POSITIVE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"INTEGER_NEGATIVE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DECIMAL_NEGATIVE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"DOUBLE_NEGATIVE\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"PNAME_LN\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"], \n \"PNAME_NS\": [\"unaryExpression\",\"*or([[*,unaryExpression],[/,unaryExpression]])\"]}, \n \"namedGraphClause\" : {\n \"NAMED\": [\"NAMED\",\"sourceSelector\"]}, \n \"notExistsFunc\" : {\n \"NOT\": [\"NOT\",\"EXISTS\",\"groupGraphPattern\"]}, \n \"numericExpression\" : {\n \"!\": [\"additiveExpression\"], \n \"+\": [\"additiveExpression\"], \n \"-\": [\"additiveExpression\"], \n \"VAR1\": [\"additiveExpression\"], \n \"VAR2\": [\"additiveExpression\"], \n \"(\": [\"additiveExpression\"], \n \"STR\": [\"additiveExpression\"], \n \"LANG\": [\"additiveExpression\"], \n \"LANGMATCHES\": [\"additiveExpression\"], \n \"DATATYPE\": [\"additiveExpression\"], \n \"BOUND\": [\"additiveExpression\"], \n \"IRI\": [\"additiveExpression\"], \n \"URI\": [\"additiveExpression\"], \n \"BNODE\": [\"additiveExpression\"], \n \"RAND\": [\"additiveExpression\"], \n \"ABS\": [\"additiveExpression\"], \n \"CEIL\": [\"additiveExpression\"], \n \"FLOOR\": [\"additiveExpression\"], \n \"ROUND\": [\"additiveExpression\"], \n \"CONCAT\": [\"additiveExpression\"], \n \"STRLEN\": [\"additiveExpression\"], \n \"UCASE\": [\"additiveExpression\"], \n \"LCASE\": [\"additiveExpression\"], \n \"ENCODE_FOR_URI\": [\"additiveExpression\"], \n \"CONTAINS\": [\"additiveExpression\"], \n \"STRSTARTS\": [\"additiveExpression\"], \n \"STRENDS\": [\"additiveExpression\"], \n \"STRBEFORE\": [\"additiveExpression\"], \n \"STRAFTER\": [\"additiveExpression\"], \n \"YEAR\": [\"additiveExpression\"], \n \"MONTH\": [\"additiveExpression\"], \n \"DAY\": [\"additiveExpression\"], \n \"HOURS\": [\"additiveExpression\"], \n \"MINUTES\": [\"additiveExpression\"], \n \"SECONDS\": [\"additiveExpression\"], \n \"TIMEZONE\": [\"additiveExpression\"], \n \"TZ\": [\"additiveExpression\"], \n \"NOW\": [\"additiveExpression\"], \n \"UUID\": [\"additiveExpression\"], \n \"STRUUID\": [\"additiveExpression\"], \n \"MD5\": [\"additiveExpression\"], \n \"SHA1\": [\"additiveExpression\"], \n \"SHA256\": [\"additiveExpression\"], \n \"SHA384\": [\"additiveExpression\"], \n \"SHA512\": [\"additiveExpression\"], \n \"COALESCE\": [\"additiveExpression\"], \n \"IF\": [\"additiveExpression\"], \n \"STRLANG\": [\"additiveExpression\"], \n \"STRDT\": [\"additiveExpression\"], \n \"SAMETERM\": [\"additiveExpression\"], \n \"ISIRI\": [\"additiveExpression\"], \n \"ISURI\": [\"additiveExpression\"], \n \"ISBLANK\": [\"additiveExpression\"], \n \"ISLITERAL\": [\"additiveExpression\"], \n \"ISNUMERIC\": [\"additiveExpression\"], \n \"TRUE\": [\"additiveExpression\"], \n \"FALSE\": [\"additiveExpression\"], \n \"COUNT\": [\"additiveExpression\"], \n \"SUM\": [\"additiveExpression\"], \n \"MIN\": [\"additiveExpression\"], \n \"MAX\": [\"additiveExpression\"], \n \"AVG\": [\"additiveExpression\"], \n \"SAMPLE\": [\"additiveExpression\"], \n \"GROUP_CONCAT\": [\"additiveExpression\"], \n \"SUBSTR\": [\"additiveExpression\"], \n \"REPLACE\": [\"additiveExpression\"], \n \"REGEX\": [\"additiveExpression\"], \n \"EXISTS\": [\"additiveExpression\"], \n \"NOT\": [\"additiveExpression\"], \n \"IRI_REF\": [\"additiveExpression\"], \n \"STRING_LITERAL1\": [\"additiveExpression\"], \n \"STRING_LITERAL2\": [\"additiveExpression\"], \n \"STRING_LITERAL_LONG1\": [\"additiveExpression\"], \n \"STRING_LITERAL_LONG2\": [\"additiveExpression\"], \n \"INTEGER\": [\"additiveExpression\"], \n \"DECIMAL\": [\"additiveExpression\"], \n \"DOUBLE\": [\"additiveExpression\"], \n \"INTEGER_POSITIVE\": [\"additiveExpression\"], \n \"DECIMAL_POSITIVE\": [\"additiveExpression\"], \n \"DOUBLE_POSITIVE\": [\"additiveExpression\"], \n \"INTEGER_NEGATIVE\": [\"additiveExpression\"], \n \"DECIMAL_NEGATIVE\": [\"additiveExpression\"], \n \"DOUBLE_NEGATIVE\": [\"additiveExpression\"], \n \"PNAME_LN\": [\"additiveExpression\"], \n \"PNAME_NS\": [\"additiveExpression\"]}, \n \"numericLiteral\" : {\n \"INTEGER\": [\"numericLiteralUnsigned\"], \n \"DECIMAL\": [\"numericLiteralUnsigned\"], \n \"DOUBLE\": [\"numericLiteralUnsigned\"], \n \"INTEGER_POSITIVE\": [\"numericLiteralPositive\"], \n \"DECIMAL_POSITIVE\": [\"numericLiteralPositive\"], \n \"DOUBLE_POSITIVE\": [\"numericLiteralPositive\"], \n \"INTEGER_NEGATIVE\": [\"numericLiteralNegative\"], \n \"DECIMAL_NEGATIVE\": [\"numericLiteralNegative\"], \n \"DOUBLE_NEGATIVE\": [\"numericLiteralNegative\"]}, \n \"numericLiteralNegative\" : {\n \"INTEGER_NEGATIVE\": [\"INTEGER_NEGATIVE\"], \n \"DECIMAL_NEGATIVE\": [\"DECIMAL_NEGATIVE\"], \n \"DOUBLE_NEGATIVE\": [\"DOUBLE_NEGATIVE\"]}, \n \"numericLiteralPositive\" : {\n \"INTEGER_POSITIVE\": [\"INTEGER_POSITIVE\"], \n \"DECIMAL_POSITIVE\": [\"DECIMAL_POSITIVE\"], \n \"DOUBLE_POSITIVE\": [\"DOUBLE_POSITIVE\"]}, \n \"numericLiteralUnsigned\" : {\n \"INTEGER\": [\"INTEGER\"], \n \"DECIMAL\": [\"DECIMAL\"], \n \"DOUBLE\": [\"DOUBLE\"]}, \n \"object\" : {\n \"(\": [\"graphNode\"], \n \"[\": [\"graphNode\"], \n \"VAR1\": [\"graphNode\"], \n \"VAR2\": [\"graphNode\"], \n \"NIL\": [\"graphNode\"], \n \"IRI_REF\": [\"graphNode\"], \n \"TRUE\": [\"graphNode\"], \n \"FALSE\": [\"graphNode\"], \n \"BLANK_NODE_LABEL\": [\"graphNode\"], \n \"ANON\": [\"graphNode\"], \n \"PNAME_LN\": [\"graphNode\"], \n \"PNAME_NS\": [\"graphNode\"], \n \"STRING_LITERAL1\": [\"graphNode\"], \n \"STRING_LITERAL2\": [\"graphNode\"], \n \"STRING_LITERAL_LONG1\": [\"graphNode\"], \n \"STRING_LITERAL_LONG2\": [\"graphNode\"], \n \"INTEGER\": [\"graphNode\"], \n \"DECIMAL\": [\"graphNode\"], \n \"DOUBLE\": [\"graphNode\"], \n \"INTEGER_POSITIVE\": [\"graphNode\"], \n \"DECIMAL_POSITIVE\": [\"graphNode\"], \n \"DOUBLE_POSITIVE\": [\"graphNode\"], \n \"INTEGER_NEGATIVE\": [\"graphNode\"], \n \"DECIMAL_NEGATIVE\": [\"graphNode\"], \n \"DOUBLE_NEGATIVE\": [\"graphNode\"]}, \n \"objectList\" : {\n \"(\": [\"object\",\"*[,,object]\"], \n \"[\": [\"object\",\"*[,,object]\"], \n \"VAR1\": [\"object\",\"*[,,object]\"], \n \"VAR2\": [\"object\",\"*[,,object]\"], \n \"NIL\": [\"object\",\"*[,,object]\"], \n \"IRI_REF\": [\"object\",\"*[,,object]\"], \n \"TRUE\": [\"object\",\"*[,,object]\"], \n \"FALSE\": [\"object\",\"*[,,object]\"], \n \"BLANK_NODE_LABEL\": [\"object\",\"*[,,object]\"], \n \"ANON\": [\"object\",\"*[,,object]\"], \n \"PNAME_LN\": [\"object\",\"*[,,object]\"], \n \"PNAME_NS\": [\"object\",\"*[,,object]\"], \n \"STRING_LITERAL1\": [\"object\",\"*[,,object]\"], \n \"STRING_LITERAL2\": [\"object\",\"*[,,object]\"], \n \"STRING_LITERAL_LONG1\": [\"object\",\"*[,,object]\"], \n \"STRING_LITERAL_LONG2\": [\"object\",\"*[,,object]\"], \n \"INTEGER\": [\"object\",\"*[,,object]\"], \n \"DECIMAL\": [\"object\",\"*[,,object]\"], \n \"DOUBLE\": [\"object\",\"*[,,object]\"], \n \"INTEGER_POSITIVE\": [\"object\",\"*[,,object]\"], \n \"DECIMAL_POSITIVE\": [\"object\",\"*[,,object]\"], \n \"DOUBLE_POSITIVE\": [\"object\",\"*[,,object]\"], \n \"INTEGER_NEGATIVE\": [\"object\",\"*[,,object]\"], \n \"DECIMAL_NEGATIVE\": [\"object\",\"*[,,object]\"], \n \"DOUBLE_NEGATIVE\": [\"object\",\"*[,,object]\"]}, \n \"objectListPath\" : {\n \"(\": [\"objectPath\",\"*[,,objectPath]\"], \n \"[\": [\"objectPath\",\"*[,,objectPath]\"], \n \"VAR1\": [\"objectPath\",\"*[,,objectPath]\"], \n \"VAR2\": [\"objectPath\",\"*[,,objectPath]\"], \n \"NIL\": [\"objectPath\",\"*[,,objectPath]\"], \n \"IRI_REF\": [\"objectPath\",\"*[,,objectPath]\"], \n \"TRUE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"FALSE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"BLANK_NODE_LABEL\": [\"objectPath\",\"*[,,objectPath]\"], \n \"ANON\": [\"objectPath\",\"*[,,objectPath]\"], \n \"PNAME_LN\": [\"objectPath\",\"*[,,objectPath]\"], \n \"PNAME_NS\": [\"objectPath\",\"*[,,objectPath]\"], \n \"STRING_LITERAL1\": [\"objectPath\",\"*[,,objectPath]\"], \n \"STRING_LITERAL2\": [\"objectPath\",\"*[,,objectPath]\"], \n \"STRING_LITERAL_LONG1\": [\"objectPath\",\"*[,,objectPath]\"], \n \"STRING_LITERAL_LONG2\": [\"objectPath\",\"*[,,objectPath]\"], \n \"INTEGER\": [\"objectPath\",\"*[,,objectPath]\"], \n \"DECIMAL\": [\"objectPath\",\"*[,,objectPath]\"], \n \"DOUBLE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"INTEGER_POSITIVE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"DECIMAL_POSITIVE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"DOUBLE_POSITIVE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"INTEGER_NEGATIVE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"DECIMAL_NEGATIVE\": [\"objectPath\",\"*[,,objectPath]\"], \n \"DOUBLE_NEGATIVE\": [\"objectPath\",\"*[,,objectPath]\"]}, \n \"objectPath\" : {\n \"(\": [\"graphNodePath\"], \n \"[\": [\"graphNodePath\"], \n \"VAR1\": [\"graphNodePath\"], \n \"VAR2\": [\"graphNodePath\"], \n \"NIL\": [\"graphNodePath\"], \n \"IRI_REF\": [\"graphNodePath\"], \n \"TRUE\": [\"graphNodePath\"], \n \"FALSE\": [\"graphNodePath\"], \n \"BLANK_NODE_LABEL\": [\"graphNodePath\"], \n \"ANON\": [\"graphNodePath\"], \n \"PNAME_LN\": [\"graphNodePath\"], \n \"PNAME_NS\": [\"graphNodePath\"], \n \"STRING_LITERAL1\": [\"graphNodePath\"], \n \"STRING_LITERAL2\": [\"graphNodePath\"], \n \"STRING_LITERAL_LONG1\": [\"graphNodePath\"], \n \"STRING_LITERAL_LONG2\": [\"graphNodePath\"], \n \"INTEGER\": [\"graphNodePath\"], \n \"DECIMAL\": [\"graphNodePath\"], \n \"DOUBLE\": [\"graphNodePath\"], \n \"INTEGER_POSITIVE\": [\"graphNodePath\"], \n \"DECIMAL_POSITIVE\": [\"graphNodePath\"], \n \"DOUBLE_POSITIVE\": [\"graphNodePath\"], \n \"INTEGER_NEGATIVE\": [\"graphNodePath\"], \n \"DECIMAL_NEGATIVE\": [\"graphNodePath\"], \n \"DOUBLE_NEGATIVE\": [\"graphNodePath\"]}, \n \"offsetClause\" : {\n \"OFFSET\": [\"OFFSET\",\"INTEGER\"]}, \n \"optionalGraphPattern\" : {\n \"OPTIONAL\": [\"OPTIONAL\",\"groupGraphPattern\"]}, \n \"or([*,expression])\" : {\n \"*\": [\"*\"], \n \"!\": [\"expression\"], \n \"+\": [\"expression\"], \n \"-\": [\"expression\"], \n \"VAR1\": [\"expression\"], \n \"VAR2\": [\"expression\"], \n \"(\": [\"expression\"], \n \"STR\": [\"expression\"], \n \"LANG\": [\"expression\"], \n \"LANGMATCHES\": [\"expression\"], \n \"DATATYPE\": [\"expression\"], \n \"BOUND\": [\"expression\"], \n \"IRI\": [\"expression\"], \n \"URI\": [\"expression\"], \n \"BNODE\": [\"expression\"], \n \"RAND\": [\"expression\"], \n \"ABS\": [\"expression\"], \n \"CEIL\": [\"expression\"], \n \"FLOOR\": [\"expression\"], \n \"ROUND\": [\"expression\"], \n \"CONCAT\": [\"expression\"], \n \"STRLEN\": [\"expression\"], \n \"UCASE\": [\"expression\"], \n \"LCASE\": [\"expression\"], \n \"ENCODE_FOR_URI\": [\"expression\"], \n \"CONTAINS\": [\"expression\"], \n \"STRSTARTS\": [\"expression\"], \n \"STRENDS\": [\"expression\"], \n \"STRBEFORE\": [\"expression\"], \n \"STRAFTER\": [\"expression\"], \n \"YEAR\": [\"expression\"], \n \"MONTH\": [\"expression\"], \n \"DAY\": [\"expression\"], \n \"HOURS\": [\"expression\"], \n \"MINUTES\": [\"expression\"], \n \"SECONDS\": [\"expression\"], \n \"TIMEZONE\": [\"expression\"], \n \"TZ\": [\"expression\"], \n \"NOW\": [\"expression\"], \n \"UUID\": [\"expression\"], \n \"STRUUID\": [\"expression\"], \n \"MD5\": [\"expression\"], \n \"SHA1\": [\"expression\"], \n \"SHA256\": [\"expression\"], \n \"SHA384\": [\"expression\"], \n \"SHA512\": [\"expression\"], \n \"COALESCE\": [\"expression\"], \n \"IF\": [\"expression\"], \n \"STRLANG\": [\"expression\"], \n \"STRDT\": [\"expression\"], \n \"SAMETERM\": [\"expression\"], \n \"ISIRI\": [\"expression\"], \n \"ISURI\": [\"expression\"], \n \"ISBLANK\": [\"expression\"], \n \"ISLITERAL\": [\"expression\"], \n \"ISNUMERIC\": [\"expression\"], \n \"TRUE\": [\"expression\"], \n \"FALSE\": [\"expression\"], \n \"COUNT\": [\"expression\"], \n \"SUM\": [\"expression\"], \n \"MIN\": [\"expression\"], \n \"MAX\": [\"expression\"], \n \"AVG\": [\"expression\"], \n \"SAMPLE\": [\"expression\"], \n \"GROUP_CONCAT\": [\"expression\"], \n \"SUBSTR\": [\"expression\"], \n \"REPLACE\": [\"expression\"], \n \"REGEX\": [\"expression\"], \n \"EXISTS\": [\"expression\"], \n \"NOT\": [\"expression\"], \n \"IRI_REF\": [\"expression\"], \n \"STRING_LITERAL1\": [\"expression\"], \n \"STRING_LITERAL2\": [\"expression\"], \n \"STRING_LITERAL_LONG1\": [\"expression\"], \n \"STRING_LITERAL_LONG2\": [\"expression\"], \n \"INTEGER\": [\"expression\"], \n \"DECIMAL\": [\"expression\"], \n \"DOUBLE\": [\"expression\"], \n \"INTEGER_POSITIVE\": [\"expression\"], \n \"DECIMAL_POSITIVE\": [\"expression\"], \n \"DOUBLE_POSITIVE\": [\"expression\"], \n \"INTEGER_NEGATIVE\": [\"expression\"], \n \"DECIMAL_NEGATIVE\": [\"expression\"], \n \"DOUBLE_NEGATIVE\": [\"expression\"], \n \"PNAME_LN\": [\"expression\"], \n \"PNAME_NS\": [\"expression\"]}, \n \"or([+or([var,[ (,expression,AS,var,)]]),*])\" : {\n \"(\": [\"+or([var,[ (,expression,AS,var,)]])\"], \n \"VAR1\": [\"+or([var,[ (,expression,AS,var,)]])\"], \n \"VAR2\": [\"+or([var,[ (,expression,AS,var,)]])\"], \n \"*\": [\"*\"]}, \n \"or([+varOrIRIref,*])\" : {\n \"VAR1\": [\"+varOrIRIref\"], \n \"VAR2\": [\"+varOrIRIref\"], \n \"IRI_REF\": [\"+varOrIRIref\"], \n \"PNAME_LN\": [\"+varOrIRIref\"], \n \"PNAME_NS\": [\"+varOrIRIref\"], \n \"*\": [\"*\"]}, \n \"or([ASC,DESC])\" : {\n \"ASC\": [\"ASC\"], \n \"DESC\": [\"DESC\"]}, \n \"or([DISTINCT,REDUCED])\" : {\n \"DISTINCT\": [\"DISTINCT\"], \n \"REDUCED\": [\"REDUCED\"]}, \n \"or([LANGTAG,[^^,iriRef]])\" : {\n \"LANGTAG\": [\"LANGTAG\"], \n \"^^\": [\"[^^,iriRef]\"]}, \n \"or([NIL,[ (,*var,)]])\" : {\n \"NIL\": [\"NIL\"], \n \"(\": [\"[ (,*var,)]\"]}, \n \"or([[ (,*dataBlockValue,)],NIL])\" : {\n \"(\": [\"[ (,*dataBlockValue,)]\"], \n \"NIL\": [\"NIL\"]}, \n \"or([[ (,expression,)],NIL])\" : {\n \"(\": [\"[ (,expression,)]\"], \n \"NIL\": [\"NIL\"]}, \n \"or([[*,unaryExpression],[/,unaryExpression]])\" : {\n \"*\": [\"[*,unaryExpression]\"], \n \"/\": [\"[/,unaryExpression]\"]}, \n \"or([[+,multiplicativeExpression],[-,multiplicativeExpression],[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]])\" : {\n \"+\": [\"[+,multiplicativeExpression]\"], \n \"-\": [\"[-,multiplicativeExpression]\"], \n \"INTEGER_POSITIVE\": [\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"], \n \"DECIMAL_POSITIVE\": [\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"], \n \"DOUBLE_POSITIVE\": [\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"], \n \"INTEGER_NEGATIVE\": [\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"], \n \"DECIMAL_NEGATIVE\": [\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"], \n \"DOUBLE_NEGATIVE\": [\"[or([numericLiteralPositive,numericLiteralNegative]),?or([[*,unaryExpression],[/,unaryExpression]])]\"]}, \n \"or([[,,or([},[integer,}]])],}])\" : {\n \",\": [\"[,,or([},[integer,}]])]\"], \n \"}\": [\"}\"]}, \n \"or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\" : {\n \"=\": [\"[=,numericExpression]\"], \n \"!=\": [\"[!=,numericExpression]\"], \n \"<\": [\"[<,numericExpression]\"], \n \">\": [\"[>,numericExpression]\"], \n \"<=\": [\"[<=,numericExpression]\"], \n \">=\": [\"[>=,numericExpression]\"], \n \"IN\": [\"[IN,expressionList]\"], \n \"NOT\": [\"[NOT,IN,expressionList]\"]}, \n \"or([[constructTemplate,*datasetClause,whereClause,solutionModifier],[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]])\" : {\n \"{\": [\"[constructTemplate,*datasetClause,whereClause,solutionModifier]\"], \n \"WHERE\": [\"[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]\"], \n \"FROM\": [\"[*datasetClause,WHERE,{,?triplesTemplate,},solutionModifier]\"]}, \n \"or([[deleteClause,?insertClause],insertClause])\" : {\n \"DELETE\": [\"[deleteClause,?insertClause]\"], \n \"INSERT\": [\"insertClause\"]}, \n \"or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])\" : {\n \"INTEGER\": [\"[integer,or([[,,or([},[integer,}]])],}])]\"], \n \",\": [\"[,,integer,}]\"]}, \n \"or([baseDecl,prefixDecl])\" : {\n \"BASE\": [\"baseDecl\"], \n \"PREFIX\": [\"prefixDecl\"]}, \n \"or([defaultGraphClause,namedGraphClause])\" : {\n \"IRI_REF\": [\"defaultGraphClause\"], \n \"PNAME_LN\": [\"defaultGraphClause\"], \n \"PNAME_NS\": [\"defaultGraphClause\"], \n \"NAMED\": [\"namedGraphClause\"]}, \n \"or([inlineDataOneVar,inlineDataFull])\" : {\n \"VAR1\": [\"inlineDataOneVar\"], \n \"VAR2\": [\"inlineDataOneVar\"], \n \"NIL\": [\"inlineDataFull\"], \n \"(\": [\"inlineDataFull\"]}, \n \"or([iriRef,[NAMED,iriRef]])\" : {\n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"], \n \"NAMED\": [\"[NAMED,iriRef]\"]}, \n \"or([iriRef,a])\" : {\n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"], \n \"a\": [\"a\"]}, \n \"or([numericLiteralPositive,numericLiteralNegative])\" : {\n \"INTEGER_POSITIVE\": [\"numericLiteralPositive\"], \n \"DECIMAL_POSITIVE\": [\"numericLiteralPositive\"], \n \"DOUBLE_POSITIVE\": [\"numericLiteralPositive\"], \n \"INTEGER_NEGATIVE\": [\"numericLiteralNegative\"], \n \"DECIMAL_NEGATIVE\": [\"numericLiteralNegative\"], \n \"DOUBLE_NEGATIVE\": [\"numericLiteralNegative\"]}, \n \"or([queryAll,updateAll])\" : {\n \"CONSTRUCT\": [\"queryAll\"], \n \"DESCRIBE\": [\"queryAll\"], \n \"ASK\": [\"queryAll\"], \n \"SELECT\": [\"queryAll\"], \n \"INSERT\": [\"updateAll\"], \n \"DELETE\": [\"updateAll\"], \n \"LOAD\": [\"updateAll\"], \n \"CLEAR\": [\"updateAll\"], \n \"DROP\": [\"updateAll\"], \n \"ADD\": [\"updateAll\"], \n \"MOVE\": [\"updateAll\"], \n \"COPY\": [\"updateAll\"], \n \"CREATE\": [\"updateAll\"], \n \"WITH\": [\"updateAll\"], \n \"$\": [\"updateAll\"]}, \n \"or([selectQuery,constructQuery,describeQuery,askQuery])\" : {\n \"SELECT\": [\"selectQuery\"], \n \"CONSTRUCT\": [\"constructQuery\"], \n \"DESCRIBE\": [\"describeQuery\"], \n \"ASK\": [\"askQuery\"]}, \n \"or([subSelect,groupGraphPatternSub])\" : {\n \"SELECT\": [\"subSelect\"], \n \"{\": [\"groupGraphPatternSub\"], \n \"OPTIONAL\": [\"groupGraphPatternSub\"], \n \"MINUS\": [\"groupGraphPatternSub\"], \n \"GRAPH\": [\"groupGraphPatternSub\"], \n \"SERVICE\": [\"groupGraphPatternSub\"], \n \"FILTER\": [\"groupGraphPatternSub\"], \n \"BIND\": [\"groupGraphPatternSub\"], \n \"VALUES\": [\"groupGraphPatternSub\"], \n \"VAR1\": [\"groupGraphPatternSub\"], \n \"VAR2\": [\"groupGraphPatternSub\"], \n \"NIL\": [\"groupGraphPatternSub\"], \n \"(\": [\"groupGraphPatternSub\"], \n \"[\": [\"groupGraphPatternSub\"], \n \"IRI_REF\": [\"groupGraphPatternSub\"], \n \"TRUE\": [\"groupGraphPatternSub\"], \n \"FALSE\": [\"groupGraphPatternSub\"], \n \"BLANK_NODE_LABEL\": [\"groupGraphPatternSub\"], \n \"ANON\": [\"groupGraphPatternSub\"], \n \"PNAME_LN\": [\"groupGraphPatternSub\"], \n \"PNAME_NS\": [\"groupGraphPatternSub\"], \n \"STRING_LITERAL1\": [\"groupGraphPatternSub\"], \n \"STRING_LITERAL2\": [\"groupGraphPatternSub\"], \n \"STRING_LITERAL_LONG1\": [\"groupGraphPatternSub\"], \n \"STRING_LITERAL_LONG2\": [\"groupGraphPatternSub\"], \n \"INTEGER\": [\"groupGraphPatternSub\"], \n \"DECIMAL\": [\"groupGraphPatternSub\"], \n \"DOUBLE\": [\"groupGraphPatternSub\"], \n \"INTEGER_POSITIVE\": [\"groupGraphPatternSub\"], \n \"DECIMAL_POSITIVE\": [\"groupGraphPatternSub\"], \n \"DOUBLE_POSITIVE\": [\"groupGraphPatternSub\"], \n \"INTEGER_NEGATIVE\": [\"groupGraphPatternSub\"], \n \"DECIMAL_NEGATIVE\": [\"groupGraphPatternSub\"], \n \"DOUBLE_NEGATIVE\": [\"groupGraphPatternSub\"], \n \"}\": [\"groupGraphPatternSub\"]}, \n \"or([var,[ (,expression,AS,var,)]])\" : {\n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"], \n \"(\": [\"[ (,expression,AS,var,)]\"]}, \n \"or([verbPath,verbSimple])\" : {\n \"^\": [\"verbPath\"], \n \"a\": [\"verbPath\"], \n \"!\": [\"verbPath\"], \n \"(\": [\"verbPath\"], \n \"IRI_REF\": [\"verbPath\"], \n \"PNAME_LN\": [\"verbPath\"], \n \"PNAME_NS\": [\"verbPath\"], \n \"VAR1\": [\"verbSimple\"], \n \"VAR2\": [\"verbSimple\"]}, \n \"or([},[integer,}]])\" : {\n \"}\": [\"}\"], \n \"INTEGER\": [\"[integer,}]\"]}, \n \"orderClause\" : {\n \"ORDER\": [\"ORDER\",\"BY\",\"+orderCondition\"]}, \n \"orderCondition\" : {\n \"ASC\": [\"or([ASC,DESC])\",\"brackettedExpression\"], \n \"DESC\": [\"or([ASC,DESC])\",\"brackettedExpression\"], \n \"(\": [\"constraint\"], \n \"STR\": [\"constraint\"], \n \"LANG\": [\"constraint\"], \n \"LANGMATCHES\": [\"constraint\"], \n \"DATATYPE\": [\"constraint\"], \n \"BOUND\": [\"constraint\"], \n \"IRI\": [\"constraint\"], \n \"URI\": [\"constraint\"], \n \"BNODE\": [\"constraint\"], \n \"RAND\": [\"constraint\"], \n \"ABS\": [\"constraint\"], \n \"CEIL\": [\"constraint\"], \n \"FLOOR\": [\"constraint\"], \n \"ROUND\": [\"constraint\"], \n \"CONCAT\": [\"constraint\"], \n \"STRLEN\": [\"constraint\"], \n \"UCASE\": [\"constraint\"], \n \"LCASE\": [\"constraint\"], \n \"ENCODE_FOR_URI\": [\"constraint\"], \n \"CONTAINS\": [\"constraint\"], \n \"STRSTARTS\": [\"constraint\"], \n \"STRENDS\": [\"constraint\"], \n \"STRBEFORE\": [\"constraint\"], \n \"STRAFTER\": [\"constraint\"], \n \"YEAR\": [\"constraint\"], \n \"MONTH\": [\"constraint\"], \n \"DAY\": [\"constraint\"], \n \"HOURS\": [\"constraint\"], \n \"MINUTES\": [\"constraint\"], \n \"SECONDS\": [\"constraint\"], \n \"TIMEZONE\": [\"constraint\"], \n \"TZ\": [\"constraint\"], \n \"NOW\": [\"constraint\"], \n \"UUID\": [\"constraint\"], \n \"STRUUID\": [\"constraint\"], \n \"MD5\": [\"constraint\"], \n \"SHA1\": [\"constraint\"], \n \"SHA256\": [\"constraint\"], \n \"SHA384\": [\"constraint\"], \n \"SHA512\": [\"constraint\"], \n \"COALESCE\": [\"constraint\"], \n \"IF\": [\"constraint\"], \n \"STRLANG\": [\"constraint\"], \n \"STRDT\": [\"constraint\"], \n \"SAMETERM\": [\"constraint\"], \n \"ISIRI\": [\"constraint\"], \n \"ISURI\": [\"constraint\"], \n \"ISBLANK\": [\"constraint\"], \n \"ISLITERAL\": [\"constraint\"], \n \"ISNUMERIC\": [\"constraint\"], \n \"SUBSTR\": [\"constraint\"], \n \"REPLACE\": [\"constraint\"], \n \"REGEX\": [\"constraint\"], \n \"EXISTS\": [\"constraint\"], \n \"NOT\": [\"constraint\"], \n \"IRI_REF\": [\"constraint\"], \n \"PNAME_LN\": [\"constraint\"], \n \"PNAME_NS\": [\"constraint\"], \n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"]}, \n \"path\" : {\n \"^\": [\"pathAlternative\"], \n \"a\": [\"pathAlternative\"], \n \"!\": [\"pathAlternative\"], \n \"(\": [\"pathAlternative\"], \n \"IRI_REF\": [\"pathAlternative\"], \n \"PNAME_LN\": [\"pathAlternative\"], \n \"PNAME_NS\": [\"pathAlternative\"]}, \n \"pathAlternative\" : {\n \"^\": [\"pathSequence\",\"*[|,pathSequence]\"], \n \"a\": [\"pathSequence\",\"*[|,pathSequence]\"], \n \"!\": [\"pathSequence\",\"*[|,pathSequence]\"], \n \"(\": [\"pathSequence\",\"*[|,pathSequence]\"], \n \"IRI_REF\": [\"pathSequence\",\"*[|,pathSequence]\"], \n \"PNAME_LN\": [\"pathSequence\",\"*[|,pathSequence]\"], \n \"PNAME_NS\": [\"pathSequence\",\"*[|,pathSequence]\"]}, \n \"pathElt\" : {\n \"a\": [\"pathPrimary\",\"?pathMod\"], \n \"!\": [\"pathPrimary\",\"?pathMod\"], \n \"(\": [\"pathPrimary\",\"?pathMod\"], \n \"IRI_REF\": [\"pathPrimary\",\"?pathMod\"], \n \"PNAME_LN\": [\"pathPrimary\",\"?pathMod\"], \n \"PNAME_NS\": [\"pathPrimary\",\"?pathMod\"]}, \n \"pathEltOrInverse\" : {\n \"a\": [\"pathElt\"], \n \"!\": [\"pathElt\"], \n \"(\": [\"pathElt\"], \n \"IRI_REF\": [\"pathElt\"], \n \"PNAME_LN\": [\"pathElt\"], \n \"PNAME_NS\": [\"pathElt\"], \n \"^\": [\"^\",\"pathElt\"]}, \n \"pathMod\" : {\n \"*\": [\"*\"], \n \"?\": [\"?\"], \n \"+\": [\"+\"], \n \"{\": [\"{\",\"or([[integer,or([[,,or([},[integer,}]])],}])],[,,integer,}]])\"]}, \n \"pathNegatedPropertySet\" : {\n \"a\": [\"pathOneInPropertySet\"], \n \"^\": [\"pathOneInPropertySet\"], \n \"IRI_REF\": [\"pathOneInPropertySet\"], \n \"PNAME_LN\": [\"pathOneInPropertySet\"], \n \"PNAME_NS\": [\"pathOneInPropertySet\"], \n \"(\": [\"(\",\"?[pathOneInPropertySet,*[|,pathOneInPropertySet]]\",\")\"]}, \n \"pathOneInPropertySet\" : {\n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"], \n \"a\": [\"a\"], \n \"^\": [\"^\",\"or([iriRef,a])\"]}, \n \"pathPrimary\" : {\n \"IRI_REF\": [\"storeProperty\",\"iriRef\"], \n \"PNAME_LN\": [\"storeProperty\",\"iriRef\"], \n \"PNAME_NS\": [\"storeProperty\",\"iriRef\"], \n \"a\": [\"storeProperty\",\"a\"], \n \"!\": [\"!\",\"pathNegatedPropertySet\"], \n \"(\": [\"(\",\"path\",\")\"]}, \n \"pathSequence\" : {\n \"^\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"], \n \"a\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"], \n \"!\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"], \n \"(\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"], \n \"IRI_REF\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"], \n \"PNAME_LN\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"], \n \"PNAME_NS\": [\"pathEltOrInverse\",\"*[/,pathEltOrInverse]\"]}, \n \"prefixDecl\" : {\n \"PREFIX\": [\"PREFIX\",\"PNAME_NS\",\"IRI_REF\"]}, \n \"prefixedName\" : {\n \"PNAME_LN\": [\"PNAME_LN\"], \n \"PNAME_NS\": [\"PNAME_NS\"]}, \n \"primaryExpression\" : {\n \"(\": [\"brackettedExpression\"], \n \"STR\": [\"builtInCall\"], \n \"LANG\": [\"builtInCall\"], \n \"LANGMATCHES\": [\"builtInCall\"], \n \"DATATYPE\": [\"builtInCall\"], \n \"BOUND\": [\"builtInCall\"], \n \"IRI\": [\"builtInCall\"], \n \"URI\": [\"builtInCall\"], \n \"BNODE\": [\"builtInCall\"], \n \"RAND\": [\"builtInCall\"], \n \"ABS\": [\"builtInCall\"], \n \"CEIL\": [\"builtInCall\"], \n \"FLOOR\": [\"builtInCall\"], \n \"ROUND\": [\"builtInCall\"], \n \"CONCAT\": [\"builtInCall\"], \n \"STRLEN\": [\"builtInCall\"], \n \"UCASE\": [\"builtInCall\"], \n \"LCASE\": [\"builtInCall\"], \n \"ENCODE_FOR_URI\": [\"builtInCall\"], \n \"CONTAINS\": [\"builtInCall\"], \n \"STRSTARTS\": [\"builtInCall\"], \n \"STRENDS\": [\"builtInCall\"], \n \"STRBEFORE\": [\"builtInCall\"], \n \"STRAFTER\": [\"builtInCall\"], \n \"YEAR\": [\"builtInCall\"], \n \"MONTH\": [\"builtInCall\"], \n \"DAY\": [\"builtInCall\"], \n \"HOURS\": [\"builtInCall\"], \n \"MINUTES\": [\"builtInCall\"], \n \"SECONDS\": [\"builtInCall\"], \n \"TIMEZONE\": [\"builtInCall\"], \n \"TZ\": [\"builtInCall\"], \n \"NOW\": [\"builtInCall\"], \n \"UUID\": [\"builtInCall\"], \n \"STRUUID\": [\"builtInCall\"], \n \"MD5\": [\"builtInCall\"], \n \"SHA1\": [\"builtInCall\"], \n \"SHA256\": [\"builtInCall\"], \n \"SHA384\": [\"builtInCall\"], \n \"SHA512\": [\"builtInCall\"], \n \"COALESCE\": [\"builtInCall\"], \n \"IF\": [\"builtInCall\"], \n \"STRLANG\": [\"builtInCall\"], \n \"STRDT\": [\"builtInCall\"], \n \"SAMETERM\": [\"builtInCall\"], \n \"ISIRI\": [\"builtInCall\"], \n \"ISURI\": [\"builtInCall\"], \n \"ISBLANK\": [\"builtInCall\"], \n \"ISLITERAL\": [\"builtInCall\"], \n \"ISNUMERIC\": [\"builtInCall\"], \n \"SUBSTR\": [\"builtInCall\"], \n \"REPLACE\": [\"builtInCall\"], \n \"REGEX\": [\"builtInCall\"], \n \"EXISTS\": [\"builtInCall\"], \n \"NOT\": [\"builtInCall\"], \n \"IRI_REF\": [\"iriRefOrFunction\"], \n \"PNAME_LN\": [\"iriRefOrFunction\"], \n \"PNAME_NS\": [\"iriRefOrFunction\"], \n \"STRING_LITERAL1\": [\"rdfLiteral\"], \n \"STRING_LITERAL2\": [\"rdfLiteral\"], \n \"STRING_LITERAL_LONG1\": [\"rdfLiteral\"], \n \"STRING_LITERAL_LONG2\": [\"rdfLiteral\"], \n \"INTEGER\": [\"numericLiteral\"], \n \"DECIMAL\": [\"numericLiteral\"], \n \"DOUBLE\": [\"numericLiteral\"], \n \"INTEGER_POSITIVE\": [\"numericLiteral\"], \n \"DECIMAL_POSITIVE\": [\"numericLiteral\"], \n \"DOUBLE_POSITIVE\": [\"numericLiteral\"], \n \"INTEGER_NEGATIVE\": [\"numericLiteral\"], \n \"DECIMAL_NEGATIVE\": [\"numericLiteral\"], \n \"DOUBLE_NEGATIVE\": [\"numericLiteral\"], \n \"TRUE\": [\"booleanLiteral\"], \n \"FALSE\": [\"booleanLiteral\"], \n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"], \n \"COUNT\": [\"aggregate\"], \n \"SUM\": [\"aggregate\"], \n \"MIN\": [\"aggregate\"], \n \"MAX\": [\"aggregate\"], \n \"AVG\": [\"aggregate\"], \n \"SAMPLE\": [\"aggregate\"], \n \"GROUP_CONCAT\": [\"aggregate\"]}, \n \"prologue\" : {\n \"BASE\": [\"*or([baseDecl,prefixDecl])\"], \n \"PREFIX\": [\"*or([baseDecl,prefixDecl])\"], \n \"$\": [\"*or([baseDecl,prefixDecl])\"], \n \"CONSTRUCT\": [\"*or([baseDecl,prefixDecl])\"], \n \"DESCRIBE\": [\"*or([baseDecl,prefixDecl])\"], \n \"ASK\": [\"*or([baseDecl,prefixDecl])\"], \n \"INSERT\": [\"*or([baseDecl,prefixDecl])\"], \n \"DELETE\": [\"*or([baseDecl,prefixDecl])\"], \n \"SELECT\": [\"*or([baseDecl,prefixDecl])\"], \n \"LOAD\": [\"*or([baseDecl,prefixDecl])\"], \n \"CLEAR\": [\"*or([baseDecl,prefixDecl])\"], \n \"DROP\": [\"*or([baseDecl,prefixDecl])\"], \n \"ADD\": [\"*or([baseDecl,prefixDecl])\"], \n \"MOVE\": [\"*or([baseDecl,prefixDecl])\"], \n \"COPY\": [\"*or([baseDecl,prefixDecl])\"], \n \"CREATE\": [\"*or([baseDecl,prefixDecl])\"], \n \"WITH\": [\"*or([baseDecl,prefixDecl])\"]}, \n \"propertyList\" : {\n \"a\": [\"propertyListNotEmpty\"], \n \"VAR1\": [\"propertyListNotEmpty\"], \n \"VAR2\": [\"propertyListNotEmpty\"], \n \"IRI_REF\": [\"propertyListNotEmpty\"], \n \"PNAME_LN\": [\"propertyListNotEmpty\"], \n \"PNAME_NS\": [\"propertyListNotEmpty\"], \n \".\": [], \n \"}\": [], \n \"GRAPH\": []}, \n \"propertyListNotEmpty\" : {\n \"a\": [\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"], \n \"VAR1\": [\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"], \n \"VAR2\": [\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"], \n \"IRI_REF\": [\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"], \n \"PNAME_LN\": [\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"], \n \"PNAME_NS\": [\"verb\",\"objectList\",\"*[;,?[verb,objectList]]\"]}, \n \"propertyListPath\" : {\n \"a\": [\"propertyListNotEmpty\"], \n \"VAR1\": [\"propertyListNotEmpty\"], \n \"VAR2\": [\"propertyListNotEmpty\"], \n \"IRI_REF\": [\"propertyListNotEmpty\"], \n \"PNAME_LN\": [\"propertyListNotEmpty\"], \n \"PNAME_NS\": [\"propertyListNotEmpty\"], \n \".\": [], \n \"{\": [], \n \"OPTIONAL\": [], \n \"MINUS\": [], \n \"GRAPH\": [], \n \"SERVICE\": [], \n \"FILTER\": [], \n \"BIND\": [], \n \"VALUES\": [], \n \"}\": []}, \n \"propertyListPathNotEmpty\" : {\n \"VAR1\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"VAR2\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"^\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"a\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"!\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"(\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"IRI_REF\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"PNAME_LN\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"], \n \"PNAME_NS\": [\"or([verbPath,verbSimple])\",\"objectListPath\",\"*[;,?[or([verbPath,verbSimple]),objectList]]\"]}, \n \"quadData\" : {\n \"{\": [\"{\",\"disallowVars\",\"quads\",\"allowVars\",\"}\"]}, \n \"quadDataNoBnodes\" : {\n \"{\": [\"{\",\"disallowBnodes\",\"disallowVars\",\"quads\",\"allowVars\",\"allowBnodes\",\"}\"]}, \n \"quadPattern\" : {\n \"{\": [\"{\",\"quads\",\"}\"]}, \n \"quadPatternNoBnodes\" : {\n \"{\": [\"{\",\"disallowBnodes\",\"quads\",\"allowBnodes\",\"}\"]}, \n \"quads\" : {\n \"GRAPH\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"VAR1\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"VAR2\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"NIL\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"(\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"[\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"IRI_REF\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"TRUE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"FALSE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"BLANK_NODE_LABEL\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"ANON\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"PNAME_LN\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"PNAME_NS\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"STRING_LITERAL1\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"STRING_LITERAL2\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"STRING_LITERAL_LONG1\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"STRING_LITERAL_LONG2\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"INTEGER\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"DECIMAL\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"DOUBLE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"INTEGER_POSITIVE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"DECIMAL_POSITIVE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"DOUBLE_POSITIVE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"INTEGER_NEGATIVE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"DECIMAL_NEGATIVE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"DOUBLE_NEGATIVE\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"], \n \"}\": [\"?triplesTemplate\",\"*[quadsNotTriples,?.,?triplesTemplate]\"]}, \n \"quadsNotTriples\" : {\n \"GRAPH\": [\"GRAPH\",\"varOrIRIref\",\"{\",\"?triplesTemplate\",\"}\"]}, \n \"queryAll\" : {\n \"CONSTRUCT\": [\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"], \n \"DESCRIBE\": [\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"], \n \"ASK\": [\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"], \n \"SELECT\": [\"or([selectQuery,constructQuery,describeQuery,askQuery])\",\"valuesClause\"]}, \n \"rdfLiteral\" : {\n \"STRING_LITERAL1\": [\"string\",\"?or([LANGTAG,[^^,iriRef]])\"], \n \"STRING_LITERAL2\": [\"string\",\"?or([LANGTAG,[^^,iriRef]])\"], \n \"STRING_LITERAL_LONG1\": [\"string\",\"?or([LANGTAG,[^^,iriRef]])\"], \n \"STRING_LITERAL_LONG2\": [\"string\",\"?or([LANGTAG,[^^,iriRef]])\"]}, \n \"regexExpression\" : {\n \"REGEX\": [\"REGEX\",\"(\",\"expression\",\",\",\"expression\",\"?[,,expression]\",\")\"]}, \n \"relationalExpression\" : {\n \"!\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"+\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"-\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"VAR1\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"VAR2\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"(\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STR\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"LANG\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"LANGMATCHES\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DATATYPE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"BOUND\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"IRI\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"URI\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"BNODE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"RAND\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ABS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"CEIL\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"FLOOR\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ROUND\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"CONCAT\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRLEN\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"UCASE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"LCASE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ENCODE_FOR_URI\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"CONTAINS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRSTARTS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRENDS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRBEFORE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRAFTER\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"YEAR\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"MONTH\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DAY\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"HOURS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"MINUTES\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SECONDS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"TIMEZONE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"TZ\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"NOW\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"UUID\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRUUID\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"MD5\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SHA1\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SHA256\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SHA384\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SHA512\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"COALESCE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"IF\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRLANG\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRDT\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SAMETERM\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ISIRI\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ISURI\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ISBLANK\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ISLITERAL\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"ISNUMERIC\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"TRUE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"FALSE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"COUNT\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SUM\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"MIN\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"MAX\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"AVG\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SAMPLE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"GROUP_CONCAT\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"SUBSTR\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"REPLACE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"REGEX\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"EXISTS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"NOT\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"IRI_REF\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRING_LITERAL1\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRING_LITERAL2\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRING_LITERAL_LONG1\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"STRING_LITERAL_LONG2\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"INTEGER\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DECIMAL\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DOUBLE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"INTEGER_POSITIVE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DECIMAL_POSITIVE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DOUBLE_POSITIVE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"INTEGER_NEGATIVE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DECIMAL_NEGATIVE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"DOUBLE_NEGATIVE\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"PNAME_LN\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"], \n \"PNAME_NS\": [\"numericExpression\",\"?or([[=,numericExpression],[!=,numericExpression],[<,numericExpression],[>,numericExpression],[<=,numericExpression],[>=,numericExpression],[IN,expressionList],[NOT,IN,expressionList]])\"]}, \n \"selectClause\" : {\n \"SELECT\": [\"SELECT\",\"?or([DISTINCT,REDUCED])\",\"or([+or([var,[ (,expression,AS,var,)]]),*])\"]}, \n \"selectQuery\" : {\n \"SELECT\": [\"selectClause\",\"*datasetClause\",\"whereClause\",\"solutionModifier\"]}, \n \"serviceGraphPattern\" : {\n \"SERVICE\": [\"SERVICE\",\"?SILENT\",\"varOrIRIref\",\"groupGraphPattern\"]}, \n \"solutionModifier\" : {\n \"LIMIT\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"OFFSET\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"ORDER\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"HAVING\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"GROUP\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"VALUES\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"$\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"], \n \"}\": [\"?groupClause\",\"?havingClause\",\"?orderClause\",\"?limitOffsetClauses\"]}, \n \"sourceSelector\" : {\n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"]}, \n \"sparql11\" : {\n \"$\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"CONSTRUCT\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"DESCRIBE\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"ASK\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"INSERT\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"DELETE\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"SELECT\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"LOAD\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"CLEAR\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"DROP\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"ADD\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"MOVE\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"COPY\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"CREATE\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"WITH\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"BASE\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"], \n \"PREFIX\": [\"prologue\",\"or([queryAll,updateAll])\",\"$\"]}, \n \"storeProperty\" : {\n \"VAR1\": [], \n \"VAR2\": [], \n \"IRI_REF\": [], \n \"PNAME_LN\": [], \n \"PNAME_NS\": [], \n \"a\": []}, \n \"strReplaceExpression\" : {\n \"REPLACE\": [\"REPLACE\",\"(\",\"expression\",\",\",\"expression\",\",\",\"expression\",\"?[,,expression]\",\")\"]}, \n \"string\" : {\n \"STRING_LITERAL1\": [\"STRING_LITERAL1\"], \n \"STRING_LITERAL2\": [\"STRING_LITERAL2\"], \n \"STRING_LITERAL_LONG1\": [\"STRING_LITERAL_LONG1\"], \n \"STRING_LITERAL_LONG2\": [\"STRING_LITERAL_LONG2\"]}, \n \"subSelect\" : {\n \"SELECT\": [\"selectClause\",\"whereClause\",\"solutionModifier\",\"valuesClause\"]}, \n \"substringExpression\" : {\n \"SUBSTR\": [\"SUBSTR\",\"(\",\"expression\",\",\",\"expression\",\"?[,,expression]\",\")\"]}, \n \"triplesBlock\" : {\n \"VAR1\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"VAR2\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"NIL\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"(\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"[\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"IRI_REF\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"TRUE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"FALSE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"BLANK_NODE_LABEL\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"ANON\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"PNAME_LN\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"PNAME_NS\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"STRING_LITERAL1\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"STRING_LITERAL2\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"STRING_LITERAL_LONG1\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"STRING_LITERAL_LONG2\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"INTEGER\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"DECIMAL\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"DOUBLE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"INTEGER_POSITIVE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"DECIMAL_POSITIVE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"DOUBLE_POSITIVE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"INTEGER_NEGATIVE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"DECIMAL_NEGATIVE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"], \n \"DOUBLE_NEGATIVE\": [\"triplesSameSubjectPath\",\"?[.,?triplesBlock]\"]}, \n \"triplesNode\" : {\n \"(\": [\"collection\"], \n \"[\": [\"blankNodePropertyList\"]}, \n \"triplesNodePath\" : {\n \"(\": [\"collectionPath\"], \n \"[\": [\"blankNodePropertyListPath\"]}, \n \"triplesSameSubject\" : {\n \"VAR1\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"VAR2\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"NIL\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"IRI_REF\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"TRUE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"FALSE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"BLANK_NODE_LABEL\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"ANON\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"PNAME_LN\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"PNAME_NS\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"STRING_LITERAL1\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"STRING_LITERAL2\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"STRING_LITERAL_LONG1\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"STRING_LITERAL_LONG2\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"INTEGER\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"DECIMAL\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"DOUBLE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"INTEGER_POSITIVE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"DECIMAL_POSITIVE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"DOUBLE_POSITIVE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"INTEGER_NEGATIVE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"DECIMAL_NEGATIVE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"DOUBLE_NEGATIVE\": [\"varOrTerm\",\"propertyListNotEmpty\"], \n \"(\": [\"triplesNode\",\"propertyList\"], \n \"[\": [\"triplesNode\",\"propertyList\"]}, \n \"triplesSameSubjectPath\" : {\n \"VAR1\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"VAR2\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"NIL\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"IRI_REF\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"TRUE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"FALSE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"BLANK_NODE_LABEL\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"ANON\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"PNAME_LN\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"PNAME_NS\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"STRING_LITERAL1\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"STRING_LITERAL2\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"STRING_LITERAL_LONG1\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"STRING_LITERAL_LONG2\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"INTEGER\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"DECIMAL\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"DOUBLE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"INTEGER_POSITIVE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"DECIMAL_POSITIVE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"DOUBLE_POSITIVE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"INTEGER_NEGATIVE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"DECIMAL_NEGATIVE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"DOUBLE_NEGATIVE\": [\"varOrTerm\",\"propertyListPathNotEmpty\"], \n \"(\": [\"triplesNodePath\",\"propertyListPath\"], \n \"[\": [\"triplesNodePath\",\"propertyListPath\"]}, \n \"triplesTemplate\" : {\n \"VAR1\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"VAR2\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"NIL\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"(\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"[\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"IRI_REF\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"TRUE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"FALSE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"BLANK_NODE_LABEL\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"ANON\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"PNAME_LN\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"PNAME_NS\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"STRING_LITERAL1\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"STRING_LITERAL2\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"STRING_LITERAL_LONG1\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"STRING_LITERAL_LONG2\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"INTEGER\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"DECIMAL\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"DOUBLE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"INTEGER_POSITIVE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"DECIMAL_POSITIVE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"DOUBLE_POSITIVE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"INTEGER_NEGATIVE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"DECIMAL_NEGATIVE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"], \n \"DOUBLE_NEGATIVE\": [\"triplesSameSubject\",\"?[.,?triplesTemplate]\"]}, \n \"unaryExpression\" : {\n \"!\": [\"!\",\"primaryExpression\"], \n \"+\": [\"+\",\"primaryExpression\"], \n \"-\": [\"-\",\"primaryExpression\"], \n \"VAR1\": [\"primaryExpression\"], \n \"VAR2\": [\"primaryExpression\"], \n \"(\": [\"primaryExpression\"], \n \"STR\": [\"primaryExpression\"], \n \"LANG\": [\"primaryExpression\"], \n \"LANGMATCHES\": [\"primaryExpression\"], \n \"DATATYPE\": [\"primaryExpression\"], \n \"BOUND\": [\"primaryExpression\"], \n \"IRI\": [\"primaryExpression\"], \n \"URI\": [\"primaryExpression\"], \n \"BNODE\": [\"primaryExpression\"], \n \"RAND\": [\"primaryExpression\"], \n \"ABS\": [\"primaryExpression\"], \n \"CEIL\": [\"primaryExpression\"], \n \"FLOOR\": [\"primaryExpression\"], \n \"ROUND\": [\"primaryExpression\"], \n \"CONCAT\": [\"primaryExpression\"], \n \"STRLEN\": [\"primaryExpression\"], \n \"UCASE\": [\"primaryExpression\"], \n \"LCASE\": [\"primaryExpression\"], \n \"ENCODE_FOR_URI\": [\"primaryExpression\"], \n \"CONTAINS\": [\"primaryExpression\"], \n \"STRSTARTS\": [\"primaryExpression\"], \n \"STRENDS\": [\"primaryExpression\"], \n \"STRBEFORE\": [\"primaryExpression\"], \n \"STRAFTER\": [\"primaryExpression\"], \n \"YEAR\": [\"primaryExpression\"], \n \"MONTH\": [\"primaryExpression\"], \n \"DAY\": [\"primaryExpression\"], \n \"HOURS\": [\"primaryExpression\"], \n \"MINUTES\": [\"primaryExpression\"], \n \"SECONDS\": [\"primaryExpression\"], \n \"TIMEZONE\": [\"primaryExpression\"], \n \"TZ\": [\"primaryExpression\"], \n \"NOW\": [\"primaryExpression\"], \n \"UUID\": [\"primaryExpression\"], \n \"STRUUID\": [\"primaryExpression\"], \n \"MD5\": [\"primaryExpression\"], \n \"SHA1\": [\"primaryExpression\"], \n \"SHA256\": [\"primaryExpression\"], \n \"SHA384\": [\"primaryExpression\"], \n \"SHA512\": [\"primaryExpression\"], \n \"COALESCE\": [\"primaryExpression\"], \n \"IF\": [\"primaryExpression\"], \n \"STRLANG\": [\"primaryExpression\"], \n \"STRDT\": [\"primaryExpression\"], \n \"SAMETERM\": [\"primaryExpression\"], \n \"ISIRI\": [\"primaryExpression\"], \n \"ISURI\": [\"primaryExpression\"], \n \"ISBLANK\": [\"primaryExpression\"], \n \"ISLITERAL\": [\"primaryExpression\"], \n \"ISNUMERIC\": [\"primaryExpression\"], \n \"TRUE\": [\"primaryExpression\"], \n \"FALSE\": [\"primaryExpression\"], \n \"COUNT\": [\"primaryExpression\"], \n \"SUM\": [\"primaryExpression\"], \n \"MIN\": [\"primaryExpression\"], \n \"MAX\": [\"primaryExpression\"], \n \"AVG\": [\"primaryExpression\"], \n \"SAMPLE\": [\"primaryExpression\"], \n \"GROUP_CONCAT\": [\"primaryExpression\"], \n \"SUBSTR\": [\"primaryExpression\"], \n \"REPLACE\": [\"primaryExpression\"], \n \"REGEX\": [\"primaryExpression\"], \n \"EXISTS\": [\"primaryExpression\"], \n \"NOT\": [\"primaryExpression\"], \n \"IRI_REF\": [\"primaryExpression\"], \n \"STRING_LITERAL1\": [\"primaryExpression\"], \n \"STRING_LITERAL2\": [\"primaryExpression\"], \n \"STRING_LITERAL_LONG1\": [\"primaryExpression\"], \n \"STRING_LITERAL_LONG2\": [\"primaryExpression\"], \n \"INTEGER\": [\"primaryExpression\"], \n \"DECIMAL\": [\"primaryExpression\"], \n \"DOUBLE\": [\"primaryExpression\"], \n \"INTEGER_POSITIVE\": [\"primaryExpression\"], \n \"DECIMAL_POSITIVE\": [\"primaryExpression\"], \n \"DOUBLE_POSITIVE\": [\"primaryExpression\"], \n \"INTEGER_NEGATIVE\": [\"primaryExpression\"], \n \"DECIMAL_NEGATIVE\": [\"primaryExpression\"], \n \"DOUBLE_NEGATIVE\": [\"primaryExpression\"], \n \"PNAME_LN\": [\"primaryExpression\"], \n \"PNAME_NS\": [\"primaryExpression\"]}, \n \"update\" : {\n \"INSERT\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"DELETE\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"LOAD\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"CLEAR\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"DROP\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"ADD\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"MOVE\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"COPY\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"CREATE\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"WITH\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"BASE\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"PREFIX\": [\"prologue\",\"?[update1,?[;,update]]\"], \n \"$\": [\"prologue\",\"?[update1,?[;,update]]\"]}, \n \"update1\" : {\n \"LOAD\": [\"load\"], \n \"CLEAR\": [\"clear\"], \n \"DROP\": [\"drop\"], \n \"ADD\": [\"add\"], \n \"MOVE\": [\"move\"], \n \"COPY\": [\"copy\"], \n \"CREATE\": [\"create\"], \n \"INSERT\": [\"INSERT\",\"insert1\"], \n \"DELETE\": [\"DELETE\",\"delete1\"], \n \"WITH\": [\"modify\"]}, \n \"updateAll\" : {\n \"INSERT\": [\"?[update1,?[;,update]]\"], \n \"DELETE\": [\"?[update1,?[;,update]]\"], \n \"LOAD\": [\"?[update1,?[;,update]]\"], \n \"CLEAR\": [\"?[update1,?[;,update]]\"], \n \"DROP\": [\"?[update1,?[;,update]]\"], \n \"ADD\": [\"?[update1,?[;,update]]\"], \n \"MOVE\": [\"?[update1,?[;,update]]\"], \n \"COPY\": [\"?[update1,?[;,update]]\"], \n \"CREATE\": [\"?[update1,?[;,update]]\"], \n \"WITH\": [\"?[update1,?[;,update]]\"], \n \"$\": [\"?[update1,?[;,update]]\"]}, \n \"usingClause\" : {\n \"USING\": [\"USING\",\"or([iriRef,[NAMED,iriRef]])\"]}, \n \"valueLogical\" : {\n \"!\": [\"relationalExpression\"], \n \"+\": [\"relationalExpression\"], \n \"-\": [\"relationalExpression\"], \n \"VAR1\": [\"relationalExpression\"], \n \"VAR2\": [\"relationalExpression\"], \n \"(\": [\"relationalExpression\"], \n \"STR\": [\"relationalExpression\"], \n \"LANG\": [\"relationalExpression\"], \n \"LANGMATCHES\": [\"relationalExpression\"], \n \"DATATYPE\": [\"relationalExpression\"], \n \"BOUND\": [\"relationalExpression\"], \n \"IRI\": [\"relationalExpression\"], \n \"URI\": [\"relationalExpression\"], \n \"BNODE\": [\"relationalExpression\"], \n \"RAND\": [\"relationalExpression\"], \n \"ABS\": [\"relationalExpression\"], \n \"CEIL\": [\"relationalExpression\"], \n \"FLOOR\": [\"relationalExpression\"], \n \"ROUND\": [\"relationalExpression\"], \n \"CONCAT\": [\"relationalExpression\"], \n \"STRLEN\": [\"relationalExpression\"], \n \"UCASE\": [\"relationalExpression\"], \n \"LCASE\": [\"relationalExpression\"], \n \"ENCODE_FOR_URI\": [\"relationalExpression\"], \n \"CONTAINS\": [\"relationalExpression\"], \n \"STRSTARTS\": [\"relationalExpression\"], \n \"STRENDS\": [\"relationalExpression\"], \n \"STRBEFORE\": [\"relationalExpression\"], \n \"STRAFTER\": [\"relationalExpression\"], \n \"YEAR\": [\"relationalExpression\"], \n \"MONTH\": [\"relationalExpression\"], \n \"DAY\": [\"relationalExpression\"], \n \"HOURS\": [\"relationalExpression\"], \n \"MINUTES\": [\"relationalExpression\"], \n \"SECONDS\": [\"relationalExpression\"], \n \"TIMEZONE\": [\"relationalExpression\"], \n \"TZ\": [\"relationalExpression\"], \n \"NOW\": [\"relationalExpression\"], \n \"UUID\": [\"relationalExpression\"], \n \"STRUUID\": [\"relationalExpression\"], \n \"MD5\": [\"relationalExpression\"], \n \"SHA1\": [\"relationalExpression\"], \n \"SHA256\": [\"relationalExpression\"], \n \"SHA384\": [\"relationalExpression\"], \n \"SHA512\": [\"relationalExpression\"], \n \"COALESCE\": [\"relationalExpression\"], \n \"IF\": [\"relationalExpression\"], \n \"STRLANG\": [\"relationalExpression\"], \n \"STRDT\": [\"relationalExpression\"], \n \"SAMETERM\": [\"relationalExpression\"], \n \"ISIRI\": [\"relationalExpression\"], \n \"ISURI\": [\"relationalExpression\"], \n \"ISBLANK\": [\"relationalExpression\"], \n \"ISLITERAL\": [\"relationalExpression\"], \n \"ISNUMERIC\": [\"relationalExpression\"], \n \"TRUE\": [\"relationalExpression\"], \n \"FALSE\": [\"relationalExpression\"], \n \"COUNT\": [\"relationalExpression\"], \n \"SUM\": [\"relationalExpression\"], \n \"MIN\": [\"relationalExpression\"], \n \"MAX\": [\"relationalExpression\"], \n \"AVG\": [\"relationalExpression\"], \n \"SAMPLE\": [\"relationalExpression\"], \n \"GROUP_CONCAT\": [\"relationalExpression\"], \n \"SUBSTR\": [\"relationalExpression\"], \n \"REPLACE\": [\"relationalExpression\"], \n \"REGEX\": [\"relationalExpression\"], \n \"EXISTS\": [\"relationalExpression\"], \n \"NOT\": [\"relationalExpression\"], \n \"IRI_REF\": [\"relationalExpression\"], \n \"STRING_LITERAL1\": [\"relationalExpression\"], \n \"STRING_LITERAL2\": [\"relationalExpression\"], \n \"STRING_LITERAL_LONG1\": [\"relationalExpression\"], \n \"STRING_LITERAL_LONG2\": [\"relationalExpression\"], \n \"INTEGER\": [\"relationalExpression\"], \n \"DECIMAL\": [\"relationalExpression\"], \n \"DOUBLE\": [\"relationalExpression\"], \n \"INTEGER_POSITIVE\": [\"relationalExpression\"], \n \"DECIMAL_POSITIVE\": [\"relationalExpression\"], \n \"DOUBLE_POSITIVE\": [\"relationalExpression\"], \n \"INTEGER_NEGATIVE\": [\"relationalExpression\"], \n \"DECIMAL_NEGATIVE\": [\"relationalExpression\"], \n \"DOUBLE_NEGATIVE\": [\"relationalExpression\"], \n \"PNAME_LN\": [\"relationalExpression\"], \n \"PNAME_NS\": [\"relationalExpression\"]}, \n \"valuesClause\" : {\n \"VALUES\": [\"VALUES\",\"dataBlock\"], \n \"$\": [], \n \"}\": []}, \n \"var\" : {\n \"VAR1\": [\"VAR1\"], \n \"VAR2\": [\"VAR2\"]}, \n \"varOrIRIref\" : {\n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"], \n \"IRI_REF\": [\"iriRef\"], \n \"PNAME_LN\": [\"iriRef\"], \n \"PNAME_NS\": [\"iriRef\"]}, \n \"varOrTerm\" : {\n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"], \n \"NIL\": [\"graphTerm\"], \n \"IRI_REF\": [\"graphTerm\"], \n \"TRUE\": [\"graphTerm\"], \n \"FALSE\": [\"graphTerm\"], \n \"BLANK_NODE_LABEL\": [\"graphTerm\"], \n \"ANON\": [\"graphTerm\"], \n \"PNAME_LN\": [\"graphTerm\"], \n \"PNAME_NS\": [\"graphTerm\"], \n \"STRING_LITERAL1\": [\"graphTerm\"], \n \"STRING_LITERAL2\": [\"graphTerm\"], \n \"STRING_LITERAL_LONG1\": [\"graphTerm\"], \n \"STRING_LITERAL_LONG2\": [\"graphTerm\"], \n \"INTEGER\": [\"graphTerm\"], \n \"DECIMAL\": [\"graphTerm\"], \n \"DOUBLE\": [\"graphTerm\"], \n \"INTEGER_POSITIVE\": [\"graphTerm\"], \n \"DECIMAL_POSITIVE\": [\"graphTerm\"], \n \"DOUBLE_POSITIVE\": [\"graphTerm\"], \n \"INTEGER_NEGATIVE\": [\"graphTerm\"], \n \"DECIMAL_NEGATIVE\": [\"graphTerm\"], \n \"DOUBLE_NEGATIVE\": [\"graphTerm\"]}, \n \"verb\" : {\n \"VAR1\": [\"storeProperty\",\"varOrIRIref\"], \n \"VAR2\": [\"storeProperty\",\"varOrIRIref\"], \n \"IRI_REF\": [\"storeProperty\",\"varOrIRIref\"], \n \"PNAME_LN\": [\"storeProperty\",\"varOrIRIref\"], \n \"PNAME_NS\": [\"storeProperty\",\"varOrIRIref\"], \n \"a\": [\"storeProperty\",\"a\"]}, \n \"verbPath\" : {\n \"^\": [\"path\"], \n \"a\": [\"path\"], \n \"!\": [\"path\"], \n \"(\": [\"path\"], \n \"IRI_REF\": [\"path\"], \n \"PNAME_LN\": [\"path\"], \n \"PNAME_NS\": [\"path\"]}, \n \"verbSimple\" : {\n \"VAR1\": [\"var\"], \n \"VAR2\": [\"var\"]}, \n \"whereClause\" : {\n \"{\": [\"?WHERE\",\"groupGraphPattern\"], \n \"WHERE\": [\"?WHERE\",\"groupGraphPattern\"]}\n},\n\nkeywords:/^(GROUP_CONCAT|DATATYPE|BASE|PREFIX|SELECT|CONSTRUCT|DESCRIBE|ASK|FROM|NAMED|ORDER|BY|LIMIT|ASC|DESC|OFFSET|DISTINCT|REDUCED|WHERE|GRAPH|OPTIONAL|UNION|FILTER|GROUP|HAVING|AS|VALUES|LOAD|CLEAR|DROP|CREATE|MOVE|COPY|SILENT|INSERT|DELETE|DATA|WITH|TO|USING|NAMED|MINUS|BIND|LANGMATCHES|LANG|BOUND|SAMETERM|ISIRI|ISURI|ISBLANK|ISLITERAL|REGEX|TRUE|FALSE|UNDEF|ADD|DEFAULT|ALL|SERVICE|INTO|IN|NOT|IRI|URI|BNODE|RAND|ABS|CEIL|FLOOR|ROUND|CONCAT|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|NOW|UUID|STRUUID|MD5|SHA1|SHA256|SHA384|SHA512|COALESCE|IF|STRLANG|STRDT|ISNUMERIC|SUBSTR|REPLACE|EXISTS|COUNT|SUM|MIN|MAX|AVG|SAMPLE|SEPARATOR|STR)/i ,\n\npunct:/^(\\*|a|\\.|\\{|\\}|,|\\(|\\)|;|\\[|\\]|\\|\\||&&|=|!=|!|<=|>=|<|>|\\+|-|\\/|\\^\\^|\\?|\\||\\^)/ ,\n\nstartSymbol:\"sparql11\",\nacceptEmpty:true,\n}","\"use strict\";\nvar CodeMirror = (function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})();\nCodeMirror.defineMode(\"sparql11\", function(config, parserConfig) {\n\n\tvar indentUnit = config.indentUnit;\n\n\tvar grammar = require('./_tokenizer-table.js');\n\tvar ll1_table = grammar.table;\n\n\tvar IRI_REF = '<[^<>\\\"\\'\\|\\{\\}\\^\\\\\\x00-\\x20]*>';\n\t/*\n\t * PN_CHARS_BASE =\n\t * '[A-Z]|[a-z]|[\\\\u00C0-\\\\u00D6]|[\\\\u00D8-\\\\u00F6]|[\\\\u00F8-\\\\u02FF]|[\\\\u0370-\\\\u037D]|[\\\\u037F-\\\\u1FFF]|[\\\\u200C-\\\\u200D]|[\\\\u2070-\\\\u218F]|[\\\\u2C00-\\\\u2FEF]|[\\\\u3001-\\\\uD7FF]|[\\\\uF900-\\\\uFDCF]|[\\\\uFDF0-\\\\uFFFD]|[\\\\u10000-\\\\uEFFFF]';\n\t */\n\n\tvar PN_CHARS_BASE =\n\t\t'[A-Za-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD]';\n\tvar PN_CHARS_U = PN_CHARS_BASE+'|_';\n\n\tvar PN_CHARS= '('+PN_CHARS_U+'|-|[0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040])';\n\tvar VARNAME = '('+PN_CHARS_U+'|[0-9])'+\n\t\t'('+PN_CHARS_U+'|[0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040])*';\n\tvar VAR1 = '\\\\?'+VARNAME;\n\tvar VAR2 = '\\\\$'+VARNAME;\n\n\tvar PN_PREFIX= '('+PN_CHARS_BASE+')((('+PN_CHARS+')|\\\\.)*('+PN_CHARS+'))?';\n\n\tvar HEX= '[0-9A-Fa-f]';\n\tvar PERCENT='(%'+HEX+HEX+')';\n\tvar PN_LOCAL_ESC='(\\\\\\\\[_~\\\\.\\\\-!\\\\$&\\'\\\\(\\\\)\\\\*\\\\+,;=/\\\\?#@%])';\n\tvar PLX= '('+PERCENT+'|'+PN_LOCAL_ESC+')';\n\tvar PN_LOCAL= '('+PN_CHARS_U+'|:|[0-9]|'+PLX+')(('+PN_CHARS+'|\\\\.|:|'+PLX+')*('+PN_CHARS+'|:|'+PLX+'))?';\n\tvar BLANK_NODE_LABEL = '_:('+PN_CHARS_U+'|[0-9])(('+PN_CHARS+'|\\\\.)*'+PN_CHARS+')?';\n\tvar PNAME_NS = '('+PN_PREFIX+')?:';\n\tvar PNAME_LN = PNAME_NS+PN_LOCAL;\n\tvar LANGTAG = '@[a-zA-Z]+(-[a-zA-Z0-9]+)*';\n\n\tvar EXPONENT = '[eE][\\\\+-]?[0-9]+';\n\tvar INTEGER = '[0-9]+';\n\tvar DECIMAL = '(([0-9]+\\\\.[0-9]*)|(\\\\.[0-9]+))';\n\tvar DOUBLE =\n\t\t'(([0-9]+\\\\.[0-9]*'+EXPONENT+')|'+\n\t\t'(\\\\.[0-9]+'+EXPONENT+')|'+\n\t\t'([0-9]+'+EXPONENT+'))';\n\n\tvar INTEGER_POSITIVE = '\\\\+' + INTEGER;\n\tvar DECIMAL_POSITIVE = '\\\\+' + DECIMAL;\n\tvar DOUBLE_POSITIVE = '\\\\+' + DOUBLE;\n\tvar INTEGER_NEGATIVE = '-' + INTEGER;\n\tvar DECIMAL_NEGATIVE = '-' + DECIMAL;\n\tvar DOUBLE_NEGATIVE = '-' + DOUBLE;\n\n\tvar ECHAR = '\\\\\\\\[tbnrf\\\\\\\\\"\\']';\n\t\n\t\n\t //IMPORTANT: this unicode rule is not in the official grammar.\n //Reason: https://github.com/YASGUI/YASQE/issues/49\n //unicode escape sequences (which the sparql spec considers part of the pre-processing of sparql queries)\n //are marked as invalid. We have little choice (other than adding a layer of complixity) than to modify the grammar accordingly\n //however, for now only allow these escape sequences in literals (where actually, this should be allows in e.g. prefixes as well)\n\tvar hex4 = HEX + '{4}'\n\tvar unicode = '(\\\\\\\\u' + hex4 +'|\\\\\\\\U00(10|0' + HEX + ')'+ hex4 + ')';\n\tvar LINE_BREAK = \"\\n\";\n\tvar STRING_LITERAL1 = \"'(([^\\\\x27\\\\x5C\\\\x0A\\\\x0D])|\"+ECHAR+\"|\" + unicode + \")*'\";\n\tvar STRING_LITERAL2 = '\"(([^\\\\x22\\\\x5C\\\\x0A\\\\x0D])|'+ECHAR+'|' + unicode + ')*\"';\n\t\n\tvar STRING_LITERAL_LONG = {\n\t\tSINGLE: {\n\t\t\tCAT: \"STRING_LITERAL_LONG1\",\n\t\t\tQUOTES: \"'''\",\n\t\t\tCONTENTS: \"(('|'')?([^'\\\\\\\\]|\"+ECHAR+\"|\"+unicode+\"))*\",\n\t\t\t\n\t\t},\n\t\tDOUBLE: {\n\t\t\tCAT: \"STRING_LITERAL_LONG2\",\n\t\t\tQUOTES: '\"\"\"',\n\t\t\tCONTENTS: '((\"|\"\")?([^\"\\\\\\\\]|'+ECHAR+'|'+unicode+'))*',\n\t\t}\n\t};\n\tfor (var key in STRING_LITERAL_LONG) {\n\t\tSTRING_LITERAL_LONG[key].COMPLETE = STRING_LITERAL_LONG[key].QUOTES + STRING_LITERAL_LONG[key].CONTENTS + STRING_LITERAL_LONG[key].QUOTES;\n\t}\n//\tvar STRING_LITERAL_LONG_QUOTES = {\n//\t\t\"STRING_LITERAL_LONG_QUOTES1\": \"'''\",\n//\t\t\"STRING_LITERAL_LONG_QUOTES2\": '\"\"\"',\n//\t}\n//\tvar STRING_LITERAL_LONG_CONTENTS = {\n//\t\t\"STRING_LITERAL_LONG_QUOTES1\": \"(('|'')?([^'\\\\\\\\]|\"+ECHAR+\"|\"+unicode+\"))*\",\n//\t\t\"STRING_LITERAL_LONG_QUOTES2\": '((\"|\"\")?([^\"\\\\\\\\]|'+ECHAR+'|'+unicode+'))*'\n//\t};\n//\tvar STRING_LITERAL_LONG1 = STRING_LITERAL_LONG['SINGLE'].QUOTES + STRING_LITERAL_LONG['SINGLE'].CONTENTS + STRING_LITERAL_LONG['SINGLE'].QUOTES;\n//\tvar STRING_LITERAL_LONG2 = STRING_LITERAL_LONG['DOUBLE'].QUOTES + STRING_LITERAL_LONG['DOUBLE'].CONTENTS + STRING_LITERAL_LONG['DOUBLE'].QUOTES;\n\t\n//\tvar stringLiteralLongContentTerminals = {};\n//\tfor (var key in STRING_LITERAL_LONG) {\n//\t\tstringLiteralLongContentTerminals[key] = {\n//\t\t\tname: key,\n//\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL_LONG_CONTENTS[key]),\n//\t\t\tstyle:\"string\"\n//\t\t};\n//\t}\n\t//some regular expressions not used in regular terminals, because this is used accross lines\n\tvar stringLiteralLongRegex = {};\n\tfor (var key in STRING_LITERAL_LONG) {\n\t\tstringLiteralLongRegex[key] = {\n\t\t\tcomplete: {\n\t\t\t\tname: \"STRING_LITERAL_LONG_\" + key,\n\t\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL_LONG[key].COMPLETE),\n\t\t\t\tstyle:\"string\"\n\t\t\t},\n\t\t\tcontents: {\n\t\t\t\tname: \"STRING_LITERAL_LONG_\" + key,\n\t\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL_LONG[key].CONTENTS),\n\t\t\t\tstyle:\"string\"\n\t\t\t},\n\t\t\tclosing: {\n\t\t\t\tname: \"STRING_LITERAL_LONG_\" + key,\n\t\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL_LONG[key].CONTENTS + STRING_LITERAL_LONG[key].QUOTES),\n\t\t\t\tstyle:\"string\"\n\t\t\t},\n\t\t\tquotes: {\n\t\t\t\tname: \"STRING_LITERAL_LONG_QUOTES_\" + key,\n\t\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL_LONG[key].QUOTES),\n\t\t\t\tstyle:\"string\"\n\t\t\t},\n\t\t\n\t\t}\n\t}\n\t\n\tvar WS = '[\\\\x20\\\\x09\\\\x0D\\\\x0A]';\n\t// Careful! Code mirror feeds one line at a time with no \\n\n\t// ... but otherwise comment is terminated by \\n\n\tvar COMMENT = '#([^\\\\n\\\\r]*[\\\\n\\\\r]|[^\\\\n\\\\r]*$)';\n\tvar WS_OR_COMMENT_STAR = '('+WS+'|('+COMMENT+'))*';\n\tvar NIL = '\\\\('+WS_OR_COMMENT_STAR+'\\\\)';\n\tvar ANON = '\\\\['+WS_OR_COMMENT_STAR+'\\\\]';\n\tvar terminals= [\n\t\t{ name: \"WS\",\n\t\t\tregex:new RegExp(\"^\"+WS+\"+\"),\n\t\t\tstyle:\"ws\" },\n\n\t\t{ name: \"COMMENT\",\n\t\t\tregex:new RegExp(\"^\"+COMMENT),\n\t\t\tstyle:\"comment\" },\n\n\t\t{ name: \"IRI_REF\",\n\t\t\tregex:new RegExp(\"^\"+IRI_REF),\n\t\t\tstyle:\"variable-3\" },\n\n\t\t{ name: \"VAR1\",\n\t\t\tregex:new RegExp(\"^\"+VAR1),\n\t\t\tstyle:\"atom\"},\n\n\t\t{ name: \"VAR2\",\n\t\t\tregex:new RegExp(\"^\"+VAR2),\n\t\t\tstyle:\"atom\"},\n\n\t\t{ name: \"LANGTAG\",\n\t\t\tregex:new RegExp(\"^\"+LANGTAG),\n\t\t\tstyle:\"meta\"},\n\n\t\t{ name: \"DOUBLE\",\n\t\t\tregex:new RegExp(\"^\"+DOUBLE),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"DECIMAL\",\n\t\t\tregex:new RegExp(\"^\"+DECIMAL),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"INTEGER\",\n\t\t\tregex:new RegExp(\"^\"+INTEGER),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"DOUBLE_POSITIVE\",\n\t\t\tregex:new RegExp(\"^\"+DOUBLE_POSITIVE),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"DECIMAL_POSITIVE\",\n\t\t\tregex:new RegExp(\"^\"+DECIMAL_POSITIVE),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"INTEGER_POSITIVE\",\n\t\t\tregex:new RegExp(\"^\"+INTEGER_POSITIVE),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"DOUBLE_NEGATIVE\",\n\t\t\tregex:new RegExp(\"^\"+DOUBLE_NEGATIVE),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"DECIMAL_NEGATIVE\",\n\t\t\tregex:new RegExp(\"^\"+DECIMAL_NEGATIVE),\n\t\t\tstyle:\"number\" },\n\n\t\t{ name: \"INTEGER_NEGATIVE\",\n\t\t\tregex:new RegExp(\"^\"+INTEGER_NEGATIVE),\n\t\t\tstyle:\"number\" },\n//\t\tstringLiteralLongRegex.SINGLE.complete,\n//\t\tstringLiteralLongRegex.DOUBLE.complete,\n//\t\tstringLiteralLongRegex.SINGLE.quotes,\n//\t\tstringLiteralLongRegex.DOUBLE.quotes,\n\t\t\n\t\t{ name: \"STRING_LITERAL1\",\n\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL1),\n\t\t\tstyle:\"string\" },\n\n\t\t{ name: \"STRING_LITERAL2\",\n\t\t\tregex:new RegExp(\"^\"+STRING_LITERAL2),\n\t\t\tstyle:\"string\" },\n\n\t\t// Enclosed comments won't be highlighted\n\t\t{ name: \"NIL\",\n\t\t\tregex:new RegExp(\"^\"+NIL),\n\t\t\tstyle:\"punc\" },\n\n\t\t// Enclosed comments won't be highlighted\n\t\t{ name: \"ANON\",\n\t\t\tregex:new RegExp(\"^\"+ANON),\n\t\t\tstyle:\"punc\" },\n\n\t\t{ name: \"PNAME_LN\",\n\t\t\tregex:new RegExp(\"^\"+PNAME_LN),\n\t\t\tstyle:\"string-2\" },\n\n\t\t{ name: \"PNAME_NS\",\n\t\t\tregex:new RegExp(\"^\"+PNAME_NS),\n\t\t\tstyle:\"string-2\" },\n\n\t\t{ name: \"BLANK_NODE_LABEL\",\n\t\t\tregex:new RegExp(\"^\"+BLANK_NODE_LABEL),\n\t\t\tstyle:\"string-2\" }\n\t];\n\n\tfunction getPossibles(symbol) {\n\t\tvar possibles=[], possiblesOb=ll1_table[symbol];\n\t\tif (possiblesOb!=undefined) {\n\t\t\tfor (var property in possiblesOb) {\n\t\t\t\tpossibles.push(property.toString());\n\t\t\t}\n\t\t} else {\n\t\t\tpossibles.push(symbol);\n\t\t}\n\t\treturn possibles;\n\t}\n\n\n\tfunction tokenBase(stream, state) {\n\n\t\tfunction nextToken() {\n\t\t\tvar consumed=null;\n\t\t\tif (state.inLiteral) {\n\t\t\t\t\n\t\t\t\tvar closingQuotes = false;\n\t\t\t\t//multi-line literal. try to parse contents.\n\t\t\t\tconsumed = stream.match(stringLiteralLongRegex[state.inLiteral].contents.regex, true, false);\n\t\t\t\tif (consumed && consumed[0].length == 0) {\n\t\t\t\t\t//try seeing whether we can consume closing quotes, to avoid stopping\n\t\t\t\t\tconsumed = stream.match(stringLiteralLongRegex[state.inLiteral].closing.regex, true, false);\n\t\t\t\t\tclosingQuotes = true;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (consumed && consumed[0].length > 0) {\n\t\t\t\t\t//some string content here. \n\t\t\t\t\t var returnObj = {\n\t\t\t\t\t\tquotePos: (closingQuotes? 'end': 'content'),\n\t\t\t\t\t\tcat: STRING_LITERAL_LONG[state.inLiteral].CAT,\n\t\t\t\t\t\tstyle: stringLiteralLongRegex[state.inLiteral].complete.style,\n\t\t\t\t\t\ttext: consumed[0],\n\t\t\t\t\t\tstart: stream.start\n\t\t\t\t\t};\n\t\t\t\t\t if (closingQuotes) state.inLiteral = false;\n\t\t\t\t\t return returnObj;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t//Multiline literals\n\t\t\tfor (var quoteType in stringLiteralLongRegex) {\n\t\t\t\tconsumed= stream.match(stringLiteralLongRegex[quoteType].quotes.regex,true,false);\n\t\t\t\tif (consumed) {\n\t\t\t\t\tvar quotePos;\n\t\t\t\t\tif (state.inLiteral) {\n\t\t\t\t\t\t//end of literal. everything is fine\n\t\t\t\t\t\tstate.inLiteral = false;\n\t\t\t\t\t\tquotePos = 'end';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.inLiteral = quoteType;\n\t\t\t\t\t\tquotePos = 'start';\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcat: STRING_LITERAL_LONG[quoteType].CAT,\n\t\t\t\t\t\tstyle: stringLiteralLongRegex[quoteType].quotes.style,\n\t\t\t\t\t\ttext: consumed[0],\n\t\t\t\t\t\tquotePos: quotePos,\n\t\t\t\t\t\tstart: stream.start\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t// Tokens defined by individual regular expressions\n\t\t\tfor (var i=0; i\",\n\t\t\t\t\t\t\t style: \"error\",\n\t\t\t\t\t\t\t text: consumed[0],\n\t\t\t\t\t\t\t start: stream.start\n\t\t\t\t\t\t };\n\t\t}\n\n\t\tfunction recordFailurePos() {\n\t\t\t// tokenOb.style= \"sp-invalid\";\n\t\t\tvar col= stream.column();\n\t\t\tstate.errorStartPos= col;\n\t\t\tstate.errorEndPos= col+tokenOb.text.length;\n\t\t};\n\n\t\tfunction setQueryType(s) {\n\t\t\tif (state.queryType==null) {\n\t\t\t\tif (s ==\"SELECT\" || s==\"CONSTRUCT\" || s==\"ASK\" || s==\"DESCRIBE\" || s==\"INSERT\" || s==\"DELETE\" || s==\"LOAD\" || s==\"CLEAR\" || s==\"CREATE\" || s==\"DROP\" || s==\"COPY\" || s==\"MOVE\" || s==\"ADD\")\n\t\t\t\t\tstate.queryType=s;\n\t\t\t}\n\t\t}\n\n\t\t// Some fake non-terminals are just there to have side-effect on state\n\t\t// - i.e. allow or disallow variables and bnodes in certain non-nesting\n\t\t// contexts\n\t\tfunction setSideConditions(topSymbol) {\n\t\t\tif (topSymbol==\"disallowVars\") state.allowVars=false;\n\t\t\telse if (topSymbol==\"allowVars\") state.allowVars=true;\n\t\t\telse if (topSymbol==\"disallowBnodes\") state.allowBnodes=false;\n\t\t\telse if (topSymbol==\"allowBnodes\") state.allowBnodes=true;\n\t\t\telse if (topSymbol==\"storeProperty\") state.storeProperty=true;\n\t\t}\n\n\t\tfunction checkSideConditions(topSymbol) {\n\t\t\treturn(\n\t\t\t\t(state.allowVars || topSymbol!=\"var\") &&\n\t\t\t\t\t(state.allowBnodes ||\n\t\t\t\t\t (topSymbol!=\"blankNode\" &&\n\t\t\t\t\t\ttopSymbol!=\"blankNodePropertyList\" &&\n\t\t\t\t\t\ttopSymbol!=\"blankNodePropertyListPath\")));\n\t\t}\n\n\t\t// CodeMirror works with one line at a time,\n\t\t// but newline should behave like whitespace\n\t\t// - i.e. a definite break between tokens (for autocompleter)\n\t\tif (stream.pos==0)\n\t\t\tstate.possibleCurrent= state.possibleNext;\n\n\t\tvar tokenOb= nextToken();\n\n\n\t\tif (tokenOb.cat==\"\") {\n\t\t\t// set error state, and\n\t\t\tif (state.OK==true) {\n\t\t\t\tstate.OK=false;\n\t\t\t\trecordFailurePos();\n\t\t\t}\n\t\t\tstate.complete=false;\n\t\t\t// alert(\"Invalid:\"+tokenOb.text);\n\t\t\treturn tokenOb.style;\n\t\t}\n\n\t\tif (tokenOb.cat == \"WS\" || tokenOb.cat == \"COMMENT\" || (tokenOb.quotePos && tokenOb.quotePos != 'end')) {\n\t\t\tstate.possibleCurrent = state.possibleNext;\n\t\t\treturn(tokenOb.style);\n\t\t}\n\t\t// Otherwise, run the parser until the token is digested\n\t\t// or failure\n\t\tvar finished= false;\n\t\tvar topSymbol;\n\t\tvar token= tokenOb.cat;\n\t\t\n\t\tif (!tokenOb.quotePos || tokenOb.quotePos == 'end') {\n\t\t// Incremental LL1 parse\n\t\t\twhile(state.stack.length>0 && token && state.OK && !finished ) {\n\t\t\t\ttopSymbol= state.stack.pop();\n\t\n\t\t\t\tif (!ll1_table[topSymbol]) {\n\t\t\t\t\t// Top symbol is a terminal\n\t\t\t\t\tif (topSymbol == token) {\n\t\t\t\t\t\t// Matching terminals\n\t\t\t\t\t\t// - consume token from input stream\n\t\t\t\t\t\tfinished=true;\n\t\t\t\t\t\tsetQueryType(topSymbol);\n\t\t\t\t\t\t// Check whether $ (end of input token) is poss next\n\t\t\t\t\t\t// for everything on stack\n\t\t\t\t\t\tvar allNillable=true;\n\t\t\t\t\t\tfor(var sp=state.stack.length;sp>0;--sp) {\n\t\t\t\t\t\t\tvar item=ll1_table[state.stack[sp-1]];\n\t\t\t\t\t\t\tif (!item || !item[\"$\"])\n\t\t\t\t\t\t\t\tallNillable=false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.complete= allNillable;\n\t\t\t\t\t\tif (state.storeProperty && token.cat != \"punc\") {\n\t\t\t\t\t\t\tstate.lastProperty = tokenOb.text;\n\t\t\t\t\t\t\tstate.storeProperty = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.OK=false;\n\t\t\t\t\t\tstate.complete=false;\n\t\t\t\t\t\trecordFailurePos();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// topSymbol is nonterminal\n\t\t\t\t\t// - see if there is an entry for topSymbol\n\t\t\t\t\t// and nextToken in table\n\t\t\t\t\tvar nextSymbols= ll1_table[topSymbol][token];\n\t\t\t\t\tif (nextSymbols!=undefined && checkSideConditions(topSymbol)) {\n\t\t\t\t\t\t// Match - copy RHS of rule to stack\n\t\t\t\t\t\tfor (var i=nextSymbols.length-1; i>=0; --i) {\n\t\t\t\t\t\t\tstate.stack.push(nextSymbols[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Peform any non-grammatical side-effects\n\t\t\t\t\t\tsetSideConditions(topSymbol);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No match in table - fail\n\t\t\t\t\t\tstate.OK=false;\n\t\t\t\t\t\tstate.complete=false;\n\t\t\t\t\t\trecordFailurePos();\n\t\t\t\t\t\tstate.stack.push(topSymbol); // Shove topSymbol back on stack\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!finished && state.OK) { \n\t\t\tstate.OK=false; state.complete=false; recordFailurePos(); \n\t\t}\n\t\t\n\t\tif (state.possibleCurrent.indexOf('a') >= 0){\n\t\t\tstate.lastPredicateOffset = tokenOb.start;\n\t\t}\n\t\tstate.possibleCurrent = state.possibleNext;\n\t\t\n\t\tstate.possibleNext = getPossibles(state.stack[state.stack.length-1]);\n\n\t\treturn tokenOb.style;\n\t}\n\n\tvar indentTop={\n\t\t\"*[,, object]\": 3,\n\t\t\"*[(,),object]\": 3,\n\t\t\"*[(,),objectPath]\": 3,\n\t\t\"*[/,pathEltOrInverse]\": 2,\n\t\t\"object\": 2,\n\t\t\"objectPath\": 2,\n\t\t\"objectList\": 2,\n\t\t\"objectListPath\": 2,\n\t\t\"storeProperty\": 2,\n\t\t\"pathMod\": 2,\n\t\t\"?pathMod\": 2,\n\t\t\"propertyListNotEmpty\": 1,\n\t\t\"propertyList\": 1,\n\t\t\"propertyListPath\": 1,\n\t\t\"propertyListPathNotEmpty\": 1,\n\t\t\"?[verb,objectList]\": 1,\n//\t\t\"?[or([verbPath, verbSimple]),objectList]\": 1,\n\t};\n\n\tvar indentTable={\n\t\t\"}\":1,\n\t\t\"]\":0,\n\t\t\")\":1,\n\t\t\"{\":-1,\n\t\t\"(\":-1,\n//\t\t\"*[;,?[or([verbPath,verbSimple]),objectList]]\": 1,\n\t};\n\t\n\n\tfunction indent(state, textAfter) {\n\t\t//just avoid we don't indent multi-line literals\n\t\tif (state.inLiteral) return 0;\n\t\tif (state.stack.length && state.stack[state.stack.length-1] == \"?[or([verbPath,verbSimple]),objectList]\") {\n\t\t\t//we are after a semi-colon. I.e., nicely align this line with predicate position of previous line\n\t\t\treturn state.lastPredicateOffset;\n\t\t} else {\n\t\t\tvar n = 0; // indent level\n\t\t\tvar i = state.stack.length-1;\n\t\t\tif (/^[\\}\\]\\)]/.test(textAfter)) {\n\t\t\t\t// Skip stack items until after matching bracket\n\t\t\t\tvar closeBracket=textAfter.substr(0,1);\n\t\t\t\tfor( ;i>=0;--i)\t{\n\t\t\t\t\tif (state.stack[i]==closeBracket) {\n\t\t\t\t\t\t--i; \n\t\t\t\t\t\tbreak;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Consider nullable non-terminals if at top of stack\n\t\t\t\tvar dn = indentTop[state.stack[i]];\n\t\t\t\tif (dn) { \n\t\t\t\t\tn += dn; \n\t\t\t\t\t--i;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor( ;i>=0;--i)\t{\n\t\t\t\tvar dn = indentTable[state.stack[i]];\n\t\t\t\tif (dn) {\n\t\t\t\t\tn+=dn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn n * config.indentUnit;\n\t\t}\n\t};\n\n\treturn {\n\t\ttoken: tokenBase,\n\t\tstartState: function(base) {\n\t\t\treturn {\n\t\t\t\ttokenize: tokenBase,\n\t\t\t\tOK: true,\n\t\t\t\tcomplete: grammar.acceptEmpty,\n\t\t\t\terrorStartPos: null,\n\t\t\t\terrorEndPos: null,\n\t\t\t\tqueryType: null,\n\t\t\t\tpossibleCurrent: getPossibles(grammar.startSymbol),\n\t\t\t\tpossibleNext: getPossibles(grammar.startSymbol),\n\t\t\t\tallowVars : true,\n\t\t\t\tallowBnodes : true,\n\t\t\t\tstoreProperty : false,\n\t\t\t\tlastProperty : \"\",\n\t\t\t\tinLiteral: false,\n\t\t\t\tstack: [grammar.startSymbol],\n\t\t\t\tlastPredicateOffset: config.indentUnit,\n\t\t\t}; \n\t\t},\n\t\tindent: indent,\n\t\telectricChars: \"}])\"\n\t};\n}\n);\nCodeMirror.defineMIME(\"application/x-sparql-query\", \"sparql11\");\n","/*\n* TRIE implementation in Javascript\n* Copyright (c) 2010 Saurabh Odhyan | http://odhyan.com\n* \n* Permission is hereby granted, free of charge, to any person obtaining a copy\n* of this software and associated documentation files (the \"Software\"), to deal\n* in the Software without restriction, including without limitation the rights\n* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the Software is\n* furnished to do so, subject to the following conditions:\n* \n* The above copyright notice and this permission notice shall be included in\n* all copies or substantial portions of the Software.\n* \n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n* THE SOFTWARE.\n*\n* Date: Nov 7, 2010\n*/\n\n/*\n* A trie, or prefix tree, is a multi-way tree structure useful for storing strings over an alphabet. \n* It has been used to store large dictionaries of English (say) words in spell-checking programs \n* and in natural-language \"understanding\" programs. \n* @see http://en.wikipedia.org/wiki/Trie\n* @see http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Tree/Trie/\n/*\n\n* @class Trie\n* @constructor\n*/ \nvar Trie = module.exports = function() {\n this.words = 0;\n this.prefixes = 0;\n this.children = [];\n};\n\nTrie.prototype = {\n \n /*\n * Insert a word into the dictionary. \n * Recursively traverse through the trie nodes, and create new node if does not already exist.\n *\n * @method insert\n * @param {String} str Word to insert in the dictionary\n * @param {Integer} pos Current index of the string to be inserted\n * @return {Void}\n */\n insert: function(str, pos) {\n if(str.length == 0) { //blank string cannot be inserted\n return;\n }\n \n var T = this,\n k,\n child;\n \n if(pos === undefined) {\n pos = 0;\n }\n if(pos === str.length) {\n T.words ++;\n return;\n }\n T.prefixes ++;\n k = str[pos];\n if(T.children[k] === undefined) { //if node for this char doesn't exist, create one\n T.children[k] = new Trie();\n }\n child = T.children[k];\n child.insert(str, pos + 1);\n },\n \n /*\n * Remove a word from the dictionary.\n *\n * @method remove\n * @param {String} str Word to be removed\n * @param {Integer} pos Current index of the string to be removed\n * @return {Void}\n */\n remove: function(str, pos) {\n if(str.length == 0) {\n return;\n }\n \n var T = this,\n k,\n child;\n \n if(pos === undefined) {\n pos = 0;\n } \n if(T === undefined) {\n return;\n }\n if(pos === str.length) {\n T.words --;\n return;\n }\n T.prefixes --;\n k = str[pos];\n child = T.children[k];\n child.remove(str, pos + 1);\n },\n \n /*\n * Update an existing word in the dictionary. \n * This method removes the old word from the dictionary and inserts the new word.\n *\n * @method update\n * @param {String} strOld The old word to be replaced\n * @param {String} strNew The new word to be inserted\n * @return {Void}\n */\n update: function(strOld, strNew) {\n if(strOld.length == 0 || strNew.length == 0) {\n return;\n }\n this.remove(strOld);\n this.insert(strNew);\n },\n \n /*\n * Count the number of times a given word has been inserted into the dictionary\n *\n * @method countWord\n * @param {String} str Word to get count of\n * @param {Integer} pos Current index of the given word\n * @return {Integer} The number of times a given word exists in the dictionary\n */\n countWord: function(str, pos) {\n if(str.length == 0) {\n return 0;\n }\n \n var T = this,\n k,\n child,\n ret = 0;\n \n if(pos === undefined) {\n pos = 0;\n } \n if(pos === str.length) {\n return T.words;\n }\n k = str[pos];\n child = T.children[k];\n if(child !== undefined) { //node exists\n ret = child.countWord(str, pos + 1);\n }\n return ret;\n },\n \n /*\n * Count the number of times a given prefix exists in the dictionary\n *\n * @method countPrefix\n * @param {String} str Prefix to get count of\n * @param {Integer} pos Current index of the given prefix\n * @return {Integer} The number of times a given prefix exists in the dictionary\n */\n countPrefix: function(str, pos) {\n if(str.length == 0) {\n return 0;\n }\n \n var T = this,\n k,\n child,\n ret = 0;\n\n if(pos === undefined) {\n pos = 0;\n }\n if(pos === str.length) {\n return T.prefixes;\n }\n var k = str[pos];\n child = T.children[k];\n if(child !== undefined) { //node exists\n ret = child.countPrefix(str, pos + 1); \n }\n return ret; \n },\n \n /*\n * Find a word in the dictionary\n *\n * @method find\n * @param {String} str The word to find in the dictionary\n * @return {Boolean} True if the word exists in the dictionary, else false\n */\n find: function(str) {\n if(str.length == 0) {\n return false;\n }\n \n if(this.countWord(str) > 0) {\n return true;\n } else {\n return false;\n }\n },\n \n /*\n * Get all words in the dictionary\n *\n * @method getAllWords\n * @param {String} str Prefix of current word\n * @return {Array} Array of words in the dictionary\n */\n getAllWords: function(str) {\n var T = this,\n k,\n child,\n ret = [];\n if(str === undefined) {\n str = \"\";\n }\n if(T === undefined) {\n return [];\n }\n if(T.words > 0) {\n ret.push(str);\n }\n for(k in T.children) {\n child = T.children[k];\n ret = ret.concat(child.getAllWords(str + k));\n }\n return ret;\n },\n \n /*\n * Autocomplete a given prefix\n *\n * @method autoComplete\n * @param {String} str Prefix to be completed based on dictionary entries\n * @param {Integer} pos Current index of the prefix\n * @return {Array} Array of possible suggestions\n */\n autoComplete: function(str, pos) {\n \n \n var T = this,\n k,\n child;\n if(str.length == 0) {\n\t\t\tif (pos === undefined) {\n\t\t\t\treturn T.getAllWords(str);\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n }\n if(pos === undefined) {\n pos = 0;\n } \n k = str[pos];\n child = T.children[k];\n if(child === undefined) { //node doesn't exist\n return [];\n }\n if(pos === str.length - 1) {\n return child.getAllWords(str);\n }\n return child.autoComplete(str, pos + 1);\n }\n};\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"fullScreen\", false, function(cm, val, old) {\n if (old == CodeMirror.Init) old = false;\n if (!old == !val) return;\n if (val) setFullscreen(cm);\n else setNormal(cm);\n });\n\n function setFullscreen(cm) {\n var wrap = cm.getWrapperElement();\n cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset,\n width: wrap.style.width, height: wrap.style.height};\n wrap.style.width = \"\";\n wrap.style.height = \"auto\";\n wrap.className += \" CodeMirror-fullscreen\";\n document.documentElement.style.overflow = \"hidden\";\n cm.refresh();\n }\n\n function setNormal(cm) {\n var wrap = cm.getWrapperElement();\n wrap.className = wrap.className.replace(/\\s*CodeMirror-fullscreen\\b/, \"\");\n document.documentElement.style.overflow = \"\";\n var info = cm.state.fullScreenRestore;\n wrap.style.width = info.width; wrap.style.height = info.height;\n window.scrollTo(info.scrollLeft, info.scrollTop);\n cm.refresh();\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\"};\n\n function findMatchingBracket(cm, where, strict, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var match = (pos >= 0 && matching[line.text.charAt(pos)]) || matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style || null, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = config && config.bracketRegex ? config.bracketRegex : /[(){}[\\]]/;\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined || cm.getTokenTypeAt(Pos(lineNo, pos + 1)) == style)) {\n var match = matching[ch];\n if ((match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, false, config);\n if (match && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textare whever this fires.\n if (ie_lt8 && cm.state.focused) cm.display.input.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n var currentlyHighlighted = null;\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (currentlyHighlighted) {currentlyHighlighted(); currentlyHighlighted = null;}\n currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init)\n cm.off(\"cursorActivity\", doMatchBrackets);\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, strict, config){\n return findMatchingBracket(this, pos, strict, config);\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.registerHelper(\"fold\", \"brace\", function(cm, start) {\n var line = start.line, lineText = cm.getLine(line);\n var startCh, tokenType;\n\n function findOpening(openCh) {\n for (var at = start.ch, pass = 0;;) {\n var found = at <= 0 ? -1 : lineText.lastIndexOf(openCh, at - 1);\n if (found == -1) {\n if (pass == 1) break;\n pass = 1;\n at = lineText.length;\n continue;\n }\n if (pass == 1 && found < start.ch) break;\n tokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n if (!/^(comment|string)/.test(tokenType)) return found + 1;\n at = found - 1;\n }\n }\n\n var startToken = \"{\", endToken = \"}\", startCh = findOpening(\"{\");\n if (startCh == null) {\n startToken = \"[\", endToken = \"]\";\n startCh = findOpening(\"[\");\n }\n\n if (startCh == null) return;\n var count = 1, lastLine = cm.lastLine(), end, endCh;\n outer: for (var i = line; i <= lastLine; ++i) {\n var text = cm.getLine(i), pos = i == line ? startCh : 0;\n for (;;) {\n var nextOpen = text.indexOf(startToken, pos), nextClose = text.indexOf(endToken, pos);\n if (nextOpen < 0) nextOpen = text.length;\n if (nextClose < 0) nextClose = text.length;\n pos = Math.min(nextOpen, nextClose);\n if (pos == text.length) break;\n if (cm.getTokenTypeAt(CodeMirror.Pos(i, pos + 1)) == tokenType) {\n if (pos == nextOpen) ++count;\n else if (!--count) { end = i; endCh = pos; break outer; }\n }\n ++pos;\n }\n }\n if (end == null || line == end && endCh == startCh) return;\n return {from: CodeMirror.Pos(line, startCh),\n to: CodeMirror.Pos(end, endCh)};\n});\n\nCodeMirror.registerHelper(\"fold\", \"import\", function(cm, start) {\n function hasImport(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type != \"keyword\" || start.string != \"import\") return null;\n // Now find closing semicolon, return its position\n for (var i = line, e = Math.min(cm.lastLine(), line + 10); i <= e; ++i) {\n var text = cm.getLine(i), semi = text.indexOf(\";\");\n if (semi != -1) return {startCh: start.end, end: CodeMirror.Pos(i, semi)};\n }\n }\n\n var start = start.line, has = hasImport(start), prev;\n if (!has || hasImport(start - 1) || ((prev = hasImport(start - 2)) && prev.end.line == start - 1))\n return null;\n for (var end = has.end;;) {\n var next = hasImport(end.line + 1);\n if (next == null) break;\n end = next.end;\n }\n return {from: cm.clipPos(CodeMirror.Pos(start, has.startCh + 1)), to: end};\n});\n\nCodeMirror.registerHelper(\"fold\", \"include\", function(cm, start) {\n function hasInclude(line) {\n if (line < cm.firstLine() || line > cm.lastLine()) return null;\n var start = cm.getTokenAt(CodeMirror.Pos(line, 1));\n if (!/\\S/.test(start.string)) start = cm.getTokenAt(CodeMirror.Pos(line, start.end + 1));\n if (start.type == \"meta\" && start.string.slice(0, 8) == \"#include\") return start.start + 8;\n }\n\n var start = start.line, has = hasInclude(start);\n if (has == null || hasInclude(start - 1) != null) return null;\n for (var end = start;;) {\n var next = hasInclude(end + 1);\n if (next == null) break;\n ++end;\n }\n return {from: CodeMirror.Pos(start, has + 1),\n to: cm.clipPos(CodeMirror.Pos(end))};\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n function doFold(cm, pos, options, force) {\n if (options && options.call) {\n var finder = options;\n options = null;\n } else {\n var finder = getOption(cm, options, \"rangeFinder\");\n }\n if (typeof pos == \"number\") pos = CodeMirror.Pos(pos, 0);\n var minSize = getOption(cm, options, \"minFoldSize\");\n\n function getRange(allowFolded) {\n var range = finder(cm, pos);\n if (!range || range.to.line - range.from.line < minSize) return null;\n var marks = cm.findMarksAt(range.from);\n for (var i = 0; i < marks.length; ++i) {\n if (marks[i].__isFold && force !== \"fold\") {\n if (!allowFolded) return null;\n range.cleared = true;\n marks[i].clear();\n }\n }\n return range;\n }\n\n var range = getRange(true);\n if (getOption(cm, options, \"scanUp\")) while (!range && pos.line > cm.firstLine()) {\n pos = CodeMirror.Pos(pos.line - 1, 0);\n range = getRange(false);\n }\n if (!range || range.cleared || force === \"unfold\") return;\n\n var myWidget = makeWidget(cm, options);\n CodeMirror.on(myWidget, \"mousedown\", function(e) {\n myRange.clear();\n CodeMirror.e_preventDefault(e);\n });\n var myRange = cm.markText(range.from, range.to, {\n replacedWith: myWidget,\n clearOnEnter: true,\n __isFold: true\n });\n myRange.on(\"clear\", function(from, to) {\n CodeMirror.signal(cm, \"unfold\", cm, from, to);\n });\n CodeMirror.signal(cm, \"fold\", cm, range.from, range.to);\n }\n\n function makeWidget(cm, options) {\n var widget = getOption(cm, options, \"widget\");\n if (typeof widget == \"string\") {\n var text = document.createTextNode(widget);\n widget = document.createElement(\"span\");\n widget.appendChild(text);\n widget.className = \"CodeMirror-foldmarker\";\n }\n return widget;\n }\n\n // Clumsy backwards-compatible interface\n CodeMirror.newFoldFunction = function(rangeFinder, widget) {\n return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); };\n };\n\n // New-style interface\n CodeMirror.defineExtension(\"foldCode\", function(pos, options, force) {\n doFold(this, pos, options, force);\n });\n\n CodeMirror.defineExtension(\"isFolded\", function(pos) {\n var marks = this.findMarksAt(pos);\n for (var i = 0; i < marks.length; ++i)\n if (marks[i].__isFold) return true;\n });\n\n CodeMirror.commands.toggleFold = function(cm) {\n cm.foldCode(cm.getCursor());\n };\n CodeMirror.commands.fold = function(cm) {\n cm.foldCode(cm.getCursor(), null, \"fold\");\n };\n CodeMirror.commands.unfold = function(cm) {\n cm.foldCode(cm.getCursor(), null, \"unfold\");\n };\n CodeMirror.commands.foldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), null, \"fold\");\n });\n };\n CodeMirror.commands.unfoldAll = function(cm) {\n cm.operation(function() {\n for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++)\n cm.foldCode(CodeMirror.Pos(i, 0), null, \"unfold\");\n });\n };\n\n CodeMirror.registerHelper(\"fold\", \"combine\", function() {\n var funcs = Array.prototype.slice.call(arguments, 0);\n return function(cm, start) {\n for (var i = 0; i < funcs.length; ++i) {\n var found = funcs[i](cm, start);\n if (found) return found;\n }\n };\n });\n\n CodeMirror.registerHelper(\"fold\", \"auto\", function(cm, start) {\n var helpers = cm.getHelpers(start, \"fold\");\n for (var i = 0; i < helpers.length; i++) {\n var cur = helpers[i](cm, start);\n if (cur) return cur;\n }\n });\n\n var defaultOptions = {\n rangeFinder: CodeMirror.fold.auto,\n widget: \"\\u2194\",\n minFoldSize: 0,\n scanUp: false\n };\n\n CodeMirror.defineOption(\"foldOptions\", null);\n\n function getOption(cm, options, name) {\n if (options && options[name] !== undefined)\n return options[name];\n var editorOptions = cm.options.foldOptions;\n if (editorOptions && editorOptions[name] !== undefined)\n return editorOptions[name];\n return defaultOptions[name];\n }\n\n CodeMirror.defineExtension(\"foldOption\", function(options, name) {\n return getOption(this, options, name);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})(), require(\"./foldcode\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"./foldcode\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineOption(\"foldGutter\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.clearGutter(cm.state.foldGutter.options.gutter);\n cm.state.foldGutter = null;\n cm.off(\"gutterClick\", onGutterClick);\n cm.off(\"change\", onChange);\n cm.off(\"viewportChange\", onViewportChange);\n cm.off(\"fold\", onFold);\n cm.off(\"unfold\", onFold);\n cm.off(\"swapDoc\", updateInViewport);\n }\n if (val) {\n cm.state.foldGutter = new State(parseOptions(val));\n updateInViewport(cm);\n cm.on(\"gutterClick\", onGutterClick);\n cm.on(\"change\", onChange);\n cm.on(\"viewportChange\", onViewportChange);\n cm.on(\"fold\", onFold);\n cm.on(\"unfold\", onFold);\n cm.on(\"swapDoc\", updateInViewport);\n }\n });\n\n var Pos = CodeMirror.Pos;\n\n function State(options) {\n this.options = options;\n this.from = this.to = 0;\n }\n\n function parseOptions(opts) {\n if (opts === true) opts = {};\n if (opts.gutter == null) opts.gutter = \"CodeMirror-foldgutter\";\n if (opts.indicatorOpen == null) opts.indicatorOpen = \"CodeMirror-foldgutter-open\";\n if (opts.indicatorFolded == null) opts.indicatorFolded = \"CodeMirror-foldgutter-folded\";\n return opts;\n }\n\n function isFolded(cm, line) {\n var marks = cm.findMarksAt(Pos(line));\n for (var i = 0; i < marks.length; ++i)\n if (marks[i].__isFold && marks[i].find().from.line == line) return true;\n }\n\n function marker(spec) {\n if (typeof spec == \"string\") {\n var elt = document.createElement(\"div\");\n elt.className = spec + \" CodeMirror-guttermarker-subtle\";\n return elt;\n } else {\n return spec.cloneNode(true);\n }\n }\n\n function updateFoldInfo(cm, from, to) {\n var opts = cm.state.foldGutter.options, cur = from;\n var minSize = cm.foldOption(opts, \"minFoldSize\");\n var func = cm.foldOption(opts, \"rangeFinder\");\n cm.eachLine(from, to, function(line) {\n var mark = null;\n if (isFolded(cm, cur)) {\n mark = marker(opts.indicatorFolded);\n } else {\n var pos = Pos(cur, 0);\n var range = func && func(cm, pos);\n if (range && range.to.line - range.from.line >= minSize)\n mark = marker(opts.indicatorOpen);\n }\n cm.setGutterMarker(line, opts.gutter, mark);\n ++cur;\n });\n }\n\n function updateInViewport(cm) {\n var vp = cm.getViewport(), state = cm.state.foldGutter;\n if (!state) return;\n cm.operation(function() {\n updateFoldInfo(cm, vp.from, vp.to);\n });\n state.from = vp.from; state.to = vp.to;\n }\n\n function onGutterClick(cm, line, gutter) {\n var opts = cm.state.foldGutter.options;\n if (gutter != opts.gutter) return;\n cm.foldCode(Pos(line, 0), opts.rangeFinder);\n }\n\n function onChange(cm) {\n var state = cm.state.foldGutter, opts = cm.state.foldGutter.options;\n state.from = state.to = 0;\n clearTimeout(state.changeUpdate);\n state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600);\n }\n\n function onViewportChange(cm) {\n var state = cm.state.foldGutter, opts = cm.state.foldGutter.options;\n clearTimeout(state.changeUpdate);\n state.changeUpdate = setTimeout(function() {\n var vp = cm.getViewport();\n if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) {\n updateInViewport(cm);\n } else {\n cm.operation(function() {\n if (vp.from < state.from) {\n updateFoldInfo(cm, vp.from, state.from);\n state.from = vp.from;\n }\n if (vp.to > state.to) {\n updateFoldInfo(cm, state.to, vp.to);\n state.to = vp.to;\n }\n });\n }\n }, opts.updateViewportTimeSpan || 400);\n }\n\n function onFold(cm, from) {\n var state = cm.state.foldGutter, line = from.line;\n if (line >= state.from && line < state.to)\n updateFoldInfo(cm, line, line + 1);\n }\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var Pos = CodeMirror.Pos;\n function cmp(a, b) { return a.line - b.line || a.ch - b.ch; }\n\n var nameStartChar = \"A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n var nameChar = nameStartChar + \"\\-\\:\\.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n var xmlTagStart = new RegExp(\"<(/?)([\" + nameStartChar + \"][\" + nameChar + \"]*)\", \"g\");\n\n function Iter(cm, line, ch, range) {\n this.line = line; this.ch = ch;\n this.cm = cm; this.text = cm.getLine(line);\n this.min = range ? range.from : cm.firstLine();\n this.max = range ? range.to - 1 : cm.lastLine();\n }\n\n function tagAt(iter, ch) {\n var type = iter.cm.getTokenTypeAt(Pos(iter.line, ch));\n return type && /\\btag\\b/.test(type);\n }\n\n function nextLine(iter) {\n if (iter.line >= iter.max) return;\n iter.ch = 0;\n iter.text = iter.cm.getLine(++iter.line);\n return true;\n }\n function prevLine(iter) {\n if (iter.line <= iter.min) return;\n iter.text = iter.cm.getLine(--iter.line);\n iter.ch = iter.text.length;\n return true;\n }\n\n function toTagEnd(iter) {\n for (;;) {\n var gt = iter.text.indexOf(\">\", iter.ch);\n if (gt == -1) { if (nextLine(iter)) continue; else return; }\n if (!tagAt(iter, gt + 1)) { iter.ch = gt + 1; continue; }\n var lastSlash = iter.text.lastIndexOf(\"/\", gt);\n var selfClose = lastSlash > -1 && !/\\S/.test(iter.text.slice(lastSlash + 1, gt));\n iter.ch = gt + 1;\n return selfClose ? \"selfClose\" : \"regular\";\n }\n }\n function toTagStart(iter) {\n for (;;) {\n var lt = iter.ch ? iter.text.lastIndexOf(\"<\", iter.ch - 1) : -1;\n if (lt == -1) { if (prevLine(iter)) continue; else return; }\n if (!tagAt(iter, lt + 1)) { iter.ch = lt; continue; }\n xmlTagStart.lastIndex = lt;\n iter.ch = lt;\n var match = xmlTagStart.exec(iter.text);\n if (match && match.index == lt) return match;\n }\n }\n\n function toNextTag(iter) {\n for (;;) {\n xmlTagStart.lastIndex = iter.ch;\n var found = xmlTagStart.exec(iter.text);\n if (!found) { if (nextLine(iter)) continue; else return; }\n if (!tagAt(iter, found.index + 1)) { iter.ch = found.index + 1; continue; }\n iter.ch = found.index + found[0].length;\n return found;\n }\n }\n function toPrevTag(iter) {\n for (;;) {\n var gt = iter.ch ? iter.text.lastIndexOf(\">\", iter.ch - 1) : -1;\n if (gt == -1) { if (prevLine(iter)) continue; else return; }\n if (!tagAt(iter, gt + 1)) { iter.ch = gt; continue; }\n var lastSlash = iter.text.lastIndexOf(\"/\", gt);\n var selfClose = lastSlash > -1 && !/\\S/.test(iter.text.slice(lastSlash + 1, gt));\n iter.ch = gt + 1;\n return selfClose ? \"selfClose\" : \"regular\";\n }\n }\n\n function findMatchingClose(iter, tag) {\n var stack = [];\n for (;;) {\n var next = toNextTag(iter), end, startLine = iter.line, startCh = iter.ch - (next ? next[0].length : 0);\n if (!next || !(end = toTagEnd(iter))) return;\n if (end == \"selfClose\") continue;\n if (next[1]) { // closing tag\n for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == next[2]) {\n stack.length = i;\n break;\n }\n if (i < 0 && (!tag || tag == next[2])) return {\n tag: next[2],\n from: Pos(startLine, startCh),\n to: Pos(iter.line, iter.ch)\n };\n } else { // opening tag\n stack.push(next[2]);\n }\n }\n }\n function findMatchingOpen(iter, tag) {\n var stack = [];\n for (;;) {\n var prev = toPrevTag(iter);\n if (!prev) return;\n if (prev == \"selfClose\") { toTagStart(iter); continue; }\n var endLine = iter.line, endCh = iter.ch;\n var start = toTagStart(iter);\n if (!start) return;\n if (start[1]) { // closing tag\n stack.push(start[2]);\n } else { // opening tag\n for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == start[2]) {\n stack.length = i;\n break;\n }\n if (i < 0 && (!tag || tag == start[2])) return {\n tag: start[2],\n from: Pos(iter.line, iter.ch),\n to: Pos(endLine, endCh)\n };\n }\n }\n }\n\n CodeMirror.registerHelper(\"fold\", \"xml\", function(cm, start) {\n var iter = new Iter(cm, start.line, 0);\n for (;;) {\n var openTag = toNextTag(iter), end;\n if (!openTag || iter.line != start.line || !(end = toTagEnd(iter))) return;\n if (!openTag[1] && end != \"selfClose\") {\n var start = Pos(iter.line, iter.ch);\n var close = findMatchingClose(iter, openTag[2]);\n return close && {from: start, to: close.from};\n }\n }\n });\n CodeMirror.findMatchingTag = function(cm, pos, range) {\n var iter = new Iter(cm, pos.line, pos.ch, range);\n if (iter.text.indexOf(\">\") == -1 && iter.text.indexOf(\"<\") == -1) return;\n var end = toTagEnd(iter), to = end && Pos(iter.line, iter.ch);\n var start = end && toTagStart(iter);\n if (!end || !start || cmp(iter, pos) > 0) return;\n var here = {from: Pos(iter.line, iter.ch), to: to, tag: start[2]};\n if (end == \"selfClose\") return {open: here, close: null, at: \"open\"};\n\n if (start[1]) { // closing tag\n return {open: findMatchingOpen(iter, start[2]), close: here, at: \"close\"};\n } else { // opening tag\n iter = new Iter(cm, to.line, to.ch, range);\n return {open: here, close: findMatchingClose(iter, start[2]), at: \"open\"};\n }\n };\n\n CodeMirror.findEnclosingTag = function(cm, pos, range) {\n var iter = new Iter(cm, pos.line, pos.ch, range);\n for (;;) {\n var open = findMatchingOpen(iter);\n if (!open) break;\n var forward = new Iter(cm, pos.line, pos.ch, range);\n var close = findMatchingClose(forward, open.tag);\n if (close) return {open: open, close: close};\n }\n };\n\n // Used by addon/edit/closetag.js\n CodeMirror.scanForClosingTag = function(cm, pos, name, end) {\n var iter = new Iter(cm, pos.line, pos.ch, end ? {from: 0, to: end} : null);\n return findMatchingClose(iter, name);\n };\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var HINT_ELEMENT_CLASS = \"CodeMirror-hint\";\n var ACTIVE_HINT_ELEMENT_CLASS = \"CodeMirror-hint-active\";\n\n // This is the old interface, kept around for now to stay\n // backwards-compatible.\n CodeMirror.showHint = function(cm, getHints, options) {\n if (!getHints) return cm.showHint(options);\n if (options && options.async) getHints.async = true;\n var newOpts = {hint: getHints};\n if (options) for (var prop in options) newOpts[prop] = options[prop];\n return cm.showHint(newOpts);\n };\n\n CodeMirror.defineExtension(\"showHint\", function(options) {\n // We want a single cursor position.\n if (this.listSelections().length > 1 || this.somethingSelected()) return;\n\n if (this.state.completionActive) this.state.completionActive.close();\n var completion = this.state.completionActive = new Completion(this, options);\n var getHints = completion.options.hint;\n if (!getHints) return;\n\n CodeMirror.signal(this, \"startCompletion\", this);\n if (getHints.async)\n getHints(this, function(hints) { completion.showHints(hints); }, completion.options);\n else\n return completion.showHints(getHints(this, completion.options));\n });\n\n function Completion(cm, options) {\n this.cm = cm;\n this.options = this.buildOptions(options);\n this.widget = this.onClose = null;\n }\n\n Completion.prototype = {\n close: function() {\n if (!this.active()) return;\n this.cm.state.completionActive = null;\n\n if (this.widget) this.widget.close();\n if (this.onClose) this.onClose();\n CodeMirror.signal(this.cm, \"endCompletion\", this.cm);\n },\n\n active: function() {\n return this.cm.state.completionActive == this;\n },\n\n pick: function(data, i) {\n var completion = data.list[i];\n if (completion.hint) completion.hint(this.cm, data, completion);\n else this.cm.replaceRange(getText(completion), completion.from || data.from,\n completion.to || data.to, \"complete\");\n CodeMirror.signal(data, \"pick\", completion);\n this.close();\n },\n\n showHints: function(data) {\n if (!data || !data.list.length || !this.active()) return this.close();\n\n if (this.options.completeSingle && data.list.length == 1)\n this.pick(data, 0);\n else\n this.showWidget(data);\n },\n\n showWidget: function(data) {\n this.widget = new Widget(this, data);\n CodeMirror.signal(data, \"shown\");\n\n var debounce = 0, completion = this, finished;\n var closeOn = this.options.closeCharacters;\n var startPos = this.cm.getCursor(), startLen = this.cm.getLine(startPos.line).length;\n\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\n return setTimeout(fn, 1000/60);\n };\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\n\n function done() {\n if (finished) return;\n finished = true;\n completion.close();\n completion.cm.off(\"cursorActivity\", activity);\n if (data) CodeMirror.signal(data, \"close\");\n }\n\n function update() {\n if (finished) return;\n CodeMirror.signal(data, \"update\");\n var getHints = completion.options.hint;\n if (getHints.async)\n getHints(completion.cm, finishUpdate, completion.options);\n else\n finishUpdate(getHints(completion.cm, completion.options));\n }\n function finishUpdate(data_) {\n data = data_;\n if (finished) return;\n if (!data || !data.list.length) return done();\n if (completion.widget) completion.widget.close();\n completion.widget = new Widget(completion, data);\n }\n\n function clearDebounce() {\n if (debounce) {\n cancelAnimationFrame(debounce);\n debounce = 0;\n }\n }\n\n function activity() {\n clearDebounce();\n var pos = completion.cm.getCursor(), line = completion.cm.getLine(pos.line);\n if (pos.line != startPos.line || line.length - pos.ch != startLen - startPos.ch ||\n pos.ch < startPos.ch || completion.cm.somethingSelected() ||\n (pos.ch && closeOn.test(line.charAt(pos.ch - 1)))) {\n completion.close();\n } else {\n debounce = requestAnimationFrame(update);\n if (completion.widget) completion.widget.close();\n }\n }\n this.cm.on(\"cursorActivity\", activity);\n this.onClose = done;\n },\n\n buildOptions: function(options) {\n var editor = this.cm.options.hintOptions;\n var out = {};\n for (var prop in defaultOptions) out[prop] = defaultOptions[prop];\n if (editor) for (var prop in editor)\n if (editor[prop] !== undefined) out[prop] = editor[prop];\n if (options) for (var prop in options)\n if (options[prop] !== undefined) out[prop] = options[prop];\n return out;\n }\n };\n\n function getText(completion) {\n if (typeof completion == \"string\") return completion;\n else return completion.text;\n }\n\n function buildKeyMap(completion, handle) {\n var baseMap = {\n Up: function() {handle.moveFocus(-1);},\n Down: function() {handle.moveFocus(1);},\n PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},\n PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},\n Home: function() {handle.setFocus(0);},\n End: function() {handle.setFocus(handle.length - 1);},\n Enter: handle.pick,\n Tab: handle.pick,\n Esc: handle.close\n };\n var custom = completion.options.customKeys;\n var ourMap = custom ? {} : baseMap;\n function addBinding(key, val) {\n var bound;\n if (typeof val != \"string\")\n bound = function(cm) { return val(cm, handle); };\n // This mechanism is deprecated\n else if (baseMap.hasOwnProperty(val))\n bound = baseMap[val];\n else\n bound = val;\n ourMap[key] = bound;\n }\n if (custom)\n for (var key in custom) if (custom.hasOwnProperty(key))\n addBinding(key, custom[key]);\n var extra = completion.options.extraKeys;\n if (extra)\n for (var key in extra) if (extra.hasOwnProperty(key))\n addBinding(key, extra[key]);\n return ourMap;\n }\n\n function getHintElement(hintsElement, el) {\n while (el && el != hintsElement) {\n if (el.nodeName.toUpperCase() === \"LI\" && el.parentNode == hintsElement) return el;\n el = el.parentNode;\n }\n }\n\n function Widget(completion, data) {\n this.completion = completion;\n this.data = data;\n var widget = this, cm = completion.cm;\n\n var hints = this.hints = document.createElement(\"ul\");\n hints.className = \"CodeMirror-hints\";\n this.selectedHint = data.selectedHint || 0;\n\n var completions = data.list;\n for (var i = 0; i < completions.length; ++i) {\n var elt = hints.appendChild(document.createElement(\"li\")), cur = completions[i];\n var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? \"\" : \" \" + ACTIVE_HINT_ELEMENT_CLASS);\n if (cur.className != null) className = cur.className + \" \" + className;\n elt.className = className;\n if (cur.render) cur.render(elt, data, cur);\n else elt.appendChild(document.createTextNode(cur.displayText || getText(cur)));\n elt.hintId = i;\n }\n\n var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);\n var left = pos.left, top = pos.bottom, below = true;\n hints.style.left = left + \"px\";\n hints.style.top = top + \"px\";\n // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.\n var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);\n var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);\n (completion.options.container || document.body).appendChild(hints);\n var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH;\n if (overlapY > 0) {\n var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);\n if (curTop - height > 0) { // Fits above cursor\n hints.style.top = (top = pos.top - height) + \"px\";\n below = false;\n } else if (height > winH) {\n hints.style.height = (winH - 5) + \"px\";\n hints.style.top = (top = pos.bottom - box.top) + \"px\";\n var cursor = cm.getCursor();\n if (data.from.ch != cursor.ch) {\n pos = cm.cursorCoords(cursor);\n hints.style.left = (left = pos.left) + \"px\";\n box = hints.getBoundingClientRect();\n }\n }\n }\n var overlapX = box.right - winW;\n if (overlapX > 0) {\n if (box.right - box.left > winW) {\n hints.style.width = (winW - 5) + \"px\";\n overlapX -= (box.right - box.left) - winW;\n }\n hints.style.left = (left = pos.left - overlapX) + \"px\";\n }\n\n cm.addKeyMap(this.keyMap = buildKeyMap(completion, {\n moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },\n setFocus: function(n) { widget.changeActive(n); },\n menuSize: function() { return widget.screenAmount(); },\n length: completions.length,\n close: function() { completion.close(); },\n pick: function() { widget.pick(); },\n data: data\n }));\n\n if (completion.options.closeOnUnfocus) {\n var closingOnBlur;\n cm.on(\"blur\", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });\n cm.on(\"focus\", this.onFocus = function() { clearTimeout(closingOnBlur); });\n }\n\n var startScroll = cm.getScrollInfo();\n cm.on(\"scroll\", this.onScroll = function() {\n var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();\n var newTop = top + startScroll.top - curScroll.top;\n var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop);\n if (!below) point += hints.offsetHeight;\n if (point <= editor.top || point >= editor.bottom) return completion.close();\n hints.style.top = newTop + \"px\";\n hints.style.left = (left + startScroll.left - curScroll.left) + \"px\";\n });\n\n CodeMirror.on(hints, \"dblclick\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}\n });\n\n CodeMirror.on(hints, \"click\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {\n widget.changeActive(t.hintId);\n if (completion.options.completeOnSingleClick) widget.pick();\n }\n });\n\n CodeMirror.on(hints, \"mousedown\", function() {\n setTimeout(function(){cm.focus();}, 20);\n });\n\n CodeMirror.signal(data, \"select\", completions[0], hints.firstChild);\n return true;\n }\n\n Widget.prototype = {\n close: function() {\n if (this.completion.widget != this) return;\n this.completion.widget = null;\n this.hints.parentNode.removeChild(this.hints);\n this.completion.cm.removeKeyMap(this.keyMap);\n\n var cm = this.completion.cm;\n if (this.completion.options.closeOnUnfocus) {\n cm.off(\"blur\", this.onBlur);\n cm.off(\"focus\", this.onFocus);\n }\n cm.off(\"scroll\", this.onScroll);\n },\n\n pick: function() {\n this.completion.pick(this.data, this.selectedHint);\n },\n\n changeActive: function(i, avoidWrap) {\n if (i >= this.data.list.length)\n i = avoidWrap ? this.data.list.length - 1 : 0;\n else if (i < 0)\n i = avoidWrap ? 0 : this.data.list.length - 1;\n if (this.selectedHint == i) return;\n var node = this.hints.childNodes[this.selectedHint];\n node.className = node.className.replace(\" \" + ACTIVE_HINT_ELEMENT_CLASS, \"\");\n node = this.hints.childNodes[this.selectedHint = i];\n node.className += \" \" + ACTIVE_HINT_ELEMENT_CLASS;\n if (node.offsetTop < this.hints.scrollTop)\n this.hints.scrollTop = node.offsetTop - 3;\n else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)\n this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3;\n CodeMirror.signal(this.data, \"select\", this.data.list[this.selectedHint], node);\n },\n\n screenAmount: function() {\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;\n }\n };\n\n CodeMirror.registerHelper(\"hint\", \"auto\", function(cm, options) {\n var helpers = cm.getHelpers(cm.getCursor(), \"hint\"), words;\n if (helpers.length) {\n for (var i = 0; i < helpers.length; i++) {\n var cur = helpers[i](cm, options);\n if (cur && cur.list.length) return cur;\n }\n } else if (words = cm.getHelper(cm.getCursor(), \"hintWords\")) {\n if (words) return CodeMirror.hint.fromList(cm, {words: words});\n } else if (CodeMirror.hint.anyword) {\n return CodeMirror.hint.anyword(cm, options);\n }\n });\n\n CodeMirror.registerHelper(\"hint\", \"fromList\", function(cm, options) {\n var cur = cm.getCursor(), token = cm.getTokenAt(cur);\n var found = [];\n for (var i = 0; i < options.words.length; i++) {\n var word = options.words[i];\n if (word.slice(0, token.string.length) == token.string)\n found.push(word);\n }\n\n if (found.length) return {\n list: found,\n from: CodeMirror.Pos(cur.line, token.start),\n to: CodeMirror.Pos(cur.line, token.end)\n };\n });\n\n CodeMirror.commands.autocomplete = CodeMirror.showHint;\n\n var defaultOptions = {\n hint: CodeMirror.hint.auto,\n completeSingle: true,\n alignWithWord: true,\n closeCharacters: /[\\s()\\[\\]{};:>,]/,\n closeOnUnfocus: true,\n completeOnSingleClick: false,\n container: null,\n customKeys: null,\n extraKeys: null\n };\n\n CodeMirror.defineOption(\"hintOptions\", null);\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.runMode = function(string, modespec, callback, options) {\n var mode = CodeMirror.getMode(CodeMirror.defaults, modespec);\n var ie = /MSIE \\d/.test(navigator.userAgent);\n var ie_lt9 = ie && (document.documentMode == null || document.documentMode < 9);\n\n if (callback.nodeType == 1) {\n var tabSize = (options && options.tabSize) || CodeMirror.defaults.tabSize;\n var node = callback, col = 0;\n node.innerHTML = \"\";\n callback = function(text, style) {\n if (text == \"\\n\") {\n // Emitting LF or CRLF on IE8 or earlier results in an incorrect display.\n // Emitting a carriage return makes everything ok.\n node.appendChild(document.createTextNode(ie_lt9 ? '\\r' : text));\n col = 0;\n return;\n }\n var content = \"\";\n // replace tabs\n for (var pos = 0;;) {\n var idx = text.indexOf(\"\\t\", pos);\n if (idx == -1) {\n content += text.slice(pos);\n col += text.length - pos;\n break;\n } else {\n col += idx - pos;\n content += text.slice(pos, idx);\n var size = tabSize - col % tabSize;\n col += size;\n for (var i = 0; i < size; ++i) content += \" \";\n pos = idx + 1;\n }\n }\n\n if (style) {\n var sp = node.appendChild(document.createElement(\"span\"));\n sp.className = \"cm-\" + style.replace(/ +/g, \" cm-\");\n sp.appendChild(document.createTextNode(content));\n } else {\n node.appendChild(document.createTextNode(content));\n }\n };\n }\n\n var lines = CodeMirror.splitLines(string), state = (options && options.state) || CodeMirror.startState(mode);\n for (var i = 0, e = lines.length; i < e; ++i) {\n if (i) callback(\"\\n\");\n var stream = new CodeMirror.StringStream(lines[i]);\n if (!stream.string && mode.blankLine) mode.blankLine(state);\n while (!stream.eol()) {\n var style = mode.token(stream, state);\n callback(stream.current(), style, i, stream.start, state);\n stream.start = stream.pos;\n }\n }\n};\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod((function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})());\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n var Pos = CodeMirror.Pos;\n\n function SearchCursor(doc, query, pos, caseFold) {\n this.atOccurrence = false; this.doc = doc;\n if (caseFold == null && typeof query == \"string\") caseFold = false;\n\n pos = pos ? doc.clipPos(pos) : Pos(0, 0);\n this.pos = {from: pos, to: pos};\n\n // The matches method is filled in based on the type of query.\n // It takes a position and a direction, and returns an object\n // describing the next occurrence of the query, or null if no\n // more matches were found.\n if (typeof query != \"string\") { // Regexp match\n if (!query.global) query = new RegExp(query.source, query.ignoreCase ? \"ig\" : \"g\");\n this.matches = function(reverse, pos) {\n if (reverse) {\n query.lastIndex = 0;\n var line = doc.getLine(pos.line).slice(0, pos.ch), cutOff = 0, match, start;\n for (;;) {\n query.lastIndex = cutOff;\n var newMatch = query.exec(line);\n if (!newMatch) break;\n match = newMatch;\n start = match.index;\n cutOff = match.index + (match[0].length || 1);\n if (cutOff == line.length) break;\n }\n var matchLen = (match && match[0].length) || 0;\n if (!matchLen) {\n if (start == 0 && line.length == 0) {match = undefined;}\n else if (start != doc.getLine(pos.line).length) {\n matchLen++;\n }\n }\n } else {\n query.lastIndex = pos.ch;\n var line = doc.getLine(pos.line), match = query.exec(line);\n var matchLen = (match && match[0].length) || 0;\n var start = match && match.index;\n if (start + matchLen != line.length && !matchLen) matchLen = 1;\n }\n if (match && matchLen)\n return {from: Pos(pos.line, start),\n to: Pos(pos.line, start + matchLen),\n match: match};\n };\n } else { // String query\n var origQuery = query;\n if (caseFold) query = query.toLowerCase();\n var fold = caseFold ? function(str){return str.toLowerCase();} : function(str){return str;};\n var target = query.split(\"\\n\");\n // Different methods for single-line and multi-line queries\n if (target.length == 1) {\n if (!query.length) {\n // Empty string would match anything and never progress, so\n // we define it to match nothing instead.\n this.matches = function() {};\n } else {\n this.matches = function(reverse, pos) {\n if (reverse) {\n var orig = doc.getLine(pos.line).slice(0, pos.ch), line = fold(orig);\n var match = line.lastIndexOf(query);\n if (match > -1) {\n match = adjustPos(orig, line, match);\n return {from: Pos(pos.line, match), to: Pos(pos.line, match + origQuery.length)};\n }\n } else {\n var orig = doc.getLine(pos.line).slice(pos.ch), line = fold(orig);\n var match = line.indexOf(query);\n if (match > -1) {\n match = adjustPos(orig, line, match) + pos.ch;\n return {from: Pos(pos.line, match), to: Pos(pos.line, match + origQuery.length)};\n }\n }\n };\n }\n } else {\n var origTarget = origQuery.split(\"\\n\");\n this.matches = function(reverse, pos) {\n var last = target.length - 1;\n if (reverse) {\n if (pos.line - (target.length - 1) < doc.firstLine()) return;\n if (fold(doc.getLine(pos.line).slice(0, origTarget[last].length)) != target[target.length - 1]) return;\n var to = Pos(pos.line, origTarget[last].length);\n for (var ln = pos.line - 1, i = last - 1; i >= 1; --i, --ln)\n if (target[i] != fold(doc.getLine(ln))) return;\n var line = doc.getLine(ln), cut = line.length - origTarget[0].length;\n if (fold(line.slice(cut)) != target[0]) return;\n return {from: Pos(ln, cut), to: to};\n } else {\n if (pos.line + (target.length - 1) > doc.lastLine()) return;\n var line = doc.getLine(pos.line), cut = line.length - origTarget[0].length;\n if (fold(line.slice(cut)) != target[0]) return;\n var from = Pos(pos.line, cut);\n for (var ln = pos.line + 1, i = 1; i < last; ++i, ++ln)\n if (target[i] != fold(doc.getLine(ln))) return;\n if (fold(doc.getLine(ln).slice(0, origTarget[last].length)) != target[last]) return;\n return {from: from, to: Pos(ln, origTarget[last].length)};\n }\n };\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false);},\n findPrevious: function() {return this.find(true);},\n\n find: function(reverse) {\n var self = this, pos = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n function savePosAndFail(line) {\n var pos = Pos(line, 0);\n self.pos = {from: pos, to: pos};\n self.atOccurrence = false;\n return false;\n }\n\n for (;;) {\n if (this.pos = this.matches(reverse, pos)) {\n this.atOccurrence = true;\n return this.pos.match || true;\n }\n if (reverse) {\n if (!pos.line) return savePosAndFail(0);\n pos = Pos(pos.line-1, this.doc.getLine(pos.line-1).length);\n }\n else {\n var maxLine = this.doc.lineCount();\n if (pos.line == maxLine - 1) return savePosAndFail(maxLine);\n pos = Pos(pos.line + 1, 0);\n }\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from;},\n to: function() {if (this.atOccurrence) return this.pos.to;},\n\n replace: function(newText) {\n if (!this.atOccurrence) return;\n var lines = CodeMirror.splitLines(newText);\n this.doc.replaceRange(lines, this.pos.from, this.pos.to);\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0));\n }\n };\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos) {\n if (orig.length == folded.length) return pos;\n for (var pos1 = Math.min(pos, orig.length);;) {\n var len1 = orig.slice(0, pos1).toLowerCase().length;\n if (len1 < pos) ++pos1;\n else if (len1 > pos) --pos1;\n else return pos1;\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold);\n });\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold);\n });\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = [], next;\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold);\n while (next = cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break;\n ranges.push({anchor: cur.from(), head: cur.to()});\n }\n if (ranges.length)\n this.setSelections(ranges, 0);\n });\n});\n",";(function(win){\n\tvar store = {},\n\t\tdoc = win.document,\n\t\tlocalStorageName = 'localStorage',\n\t\tscriptTag = 'script',\n\t\tstorage\n\n\tstore.disabled = false\n\tstore.version = '1.3.17'\n\tstore.set = function(key, value) {}\n\tstore.get = function(key, defaultVal) {}\n\tstore.has = function(key) { return store.get(key) !== undefined }\n\tstore.remove = function(key) {}\n\tstore.clear = function() {}\n\tstore.transact = function(key, defaultVal, transactionFn) {\n\t\tif (transactionFn == null) {\n\t\t\ttransactionFn = defaultVal\n\t\t\tdefaultVal = null\n\t\t}\n\t\tif (defaultVal == null) {\n\t\t\tdefaultVal = {}\n\t\t}\n\t\tvar val = store.get(key, defaultVal)\n\t\ttransactionFn(val)\n\t\tstore.set(key, val)\n\t}\n\tstore.getAll = function() {}\n\tstore.forEach = function() {}\n\n\tstore.serialize = function(value) {\n\t\treturn JSON.stringify(value)\n\t}\n\tstore.deserialize = function(value) {\n\t\tif (typeof value != 'string') { return undefined }\n\t\ttry { return JSON.parse(value) }\n\t\tcatch(e) { return value || undefined }\n\t}\n\n\t// Functions to encapsulate questionable FireFox 3.6.13 behavior\n\t// when about.config::dom.storage.enabled === false\n\t// See https://github.com/marcuswestin/store.js/issues#issue/13\n\tfunction isLocalStorageNameSupported() {\n\t\ttry { return (localStorageName in win && win[localStorageName]) }\n\t\tcatch(err) { return false }\n\t}\n\n\tif (isLocalStorageNameSupported()) {\n\t\tstorage = win[localStorageName]\n\t\tstore.set = function(key, val) {\n\t\t\tif (val === undefined) { return store.remove(key) }\n\t\t\tstorage.setItem(key, store.serialize(val))\n\t\t\treturn val\n\t\t}\n\t\tstore.get = function(key, defaultVal) {\n\t\t\tvar val = store.deserialize(storage.getItem(key))\n\t\t\treturn (val === undefined ? defaultVal : val)\n\t\t}\n\t\tstore.remove = function(key) { storage.removeItem(key) }\n\t\tstore.clear = function() { storage.clear() }\n\t\tstore.getAll = function() {\n\t\t\tvar ret = {}\n\t\t\tstore.forEach(function(key, val) {\n\t\t\t\tret[key] = val\n\t\t\t})\n\t\t\treturn ret\n\t\t}\n\t\tstore.forEach = function(callback) {\n\t\t\tfor (var i=0; idocument.w=window')\n\t\t\tstorageContainer.close()\n\t\t\tstorageOwner = storageContainer.w.frames[0].document\n\t\t\tstorage = storageOwner.createElement('div')\n\t\t} catch(e) {\n\t\t\t// somehow ActiveXObject instantiation failed (perhaps some special\n\t\t\t// security settings or otherwse), fall back to per-path storage\n\t\t\tstorage = doc.createElement('div')\n\t\t\tstorageOwner = doc.body\n\t\t}\n\t\tvar withIEStorage = function(storeFunction) {\n\t\t\treturn function() {\n\t\t\t\tvar args = Array.prototype.slice.call(arguments, 0)\n\t\t\t\targs.unshift(storage)\n\t\t\t\t// See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx\n\t\t\t\t// and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx\n\t\t\t\tstorageOwner.appendChild(storage)\n\t\t\t\tstorage.addBehavior('#default#userData')\n\t\t\t\tstorage.load(localStorageName)\n\t\t\t\tvar result = storeFunction.apply(store, args)\n\t\t\t\tstorageOwner.removeChild(storage)\n\t\t\t\treturn result\n\t\t\t}\n\t\t}\n\n\t\t// In IE7, keys cannot start with a digit or contain certain chars.\n\t\t// See https://github.com/marcuswestin/store.js/issues/40\n\t\t// See https://github.com/marcuswestin/store.js/issues/83\n\t\tvar forbiddenCharsRegex = new RegExp(\"[!\\\"#$%&'()*+,/\\\\\\\\:;<=>?@[\\\\]^`{|}~]\", \"g\")\n\t\tfunction ieKeyFix(key) {\n\t\t\treturn key.replace(/^d/, '___$&').replace(forbiddenCharsRegex, '___')\n\t\t}\n\t\tstore.set = withIEStorage(function(storage, key, val) {\n\t\t\tkey = ieKeyFix(key)\n\t\t\tif (val === undefined) { return store.remove(key) }\n\t\t\tstorage.setAttribute(key, store.serialize(val))\n\t\t\tstorage.save(localStorageName)\n\t\t\treturn val\n\t\t})\n\t\tstore.get = withIEStorage(function(storage, key, defaultVal) {\n\t\t\tkey = ieKeyFix(key)\n\t\t\tvar val = store.deserialize(storage.getAttribute(key))\n\t\t\treturn (val === undefined ? defaultVal : val)\n\t\t})\n\t\tstore.remove = withIEStorage(function(storage, key) {\n\t\t\tkey = ieKeyFix(key)\n\t\t\tstorage.removeAttribute(key)\n\t\t\tstorage.save(localStorageName)\n\t\t})\n\t\tstore.clear = withIEStorage(function(storage) {\n\t\t\tvar attributes = storage.XMLDocument.documentElement.attributes\n\t\t\tstorage.load(localStorageName)\n\t\t\tfor (var i=0, attr; attr=attributes[i]; i++) {\n\t\t\t\tstorage.removeAttribute(attr.name)\n\t\t\t}\n\t\t\tstorage.save(localStorageName)\n\t\t})\n\t\tstore.getAll = function(storage) {\n\t\t\tvar ret = {}\n\t\t\tstore.forEach(function(key, val) {\n\t\t\t\tret[key] = val\n\t\t\t})\n\t\t\treturn ret\n\t\t}\n\t\tstore.forEach = withIEStorage(function(storage, callback) {\n\t\t\tvar attributes = storage.XMLDocument.documentElement.attributes\n\t\t\tfor (var i=0, attr; attr=attributes[i]; ++i) {\n\t\t\t\tcallback(attr.name, store.deserialize(storage.getAttribute(attr.name)))\n\t\t\t}\n\t\t})\n\t}\n\n\ttry {\n\t\tvar testKey = '__storejs__'\n\t\tstore.set(testKey, testKey)\n\t\tif (store.get(testKey) != testKey) { store.disabled = true }\n\t\tstore.remove(testKey)\n\t} catch(e) {\n\t\tstore.disabled = true\n\t}\n\tstore.enabled = !store.disabled\n\n\tif (typeof module != 'undefined' && module.exports && this.module !== module) { module.exports = store }\n\telse if (typeof define === 'function' && define.amd) { define(store) }\n\telse { win.store = store }\n\n})(Function('return this')());\n","module.exports={\n \"name\": \"yasgui-utils\",\n \"version\": \"1.6.0\",\n \"description\": \"Utils for YASGUI libs\",\n \"main\": \"src/main.js\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git://github.com/YASGUI/Utils.git\"\n },\n \"licenses\": [\n {\n \"type\": \"MIT\",\n \"url\": \"http://yasgui.github.io/license.txt\"\n }\n ],\n \"author\": \"Laurens Rietveld\",\n \"maintainers\": [\n {\n \"name\": \"Laurens Rietveld\",\n \"email\": \"laurens.rietveld@gmail.com\",\n \"web\": \"http://laurensrietveld.nl\"\n }\n ],\n \"bugs\": {\n \"url\": \"https://github.com/YASGUI/Utils/issues\"\n },\n \"homepage\": \"https://github.com/YASGUI/Utils\",\n \"dependencies\": {\n \"store\": \"^1.3.14\"\n }\n}\n","window.console = window.console || {\"log\":function(){}};//make sure any console statements don't break IE\nmodule.exports = {\n\tstorage: require(\"./storage.js\"),\n\tsvg: require(\"./svg.js\"),\n\tversion: {\n\t\t\"yasgui-utils\" : require(\"../package.json\").version,\n\t},\n\tnestedExists : function(obj) {\n\t\tvar args = Array.prototype.slice.call(arguments, 1);\n\n\t\tfor (var i = 0; i < args.length; i++) {\n\t\t\tif (!obj || !obj.hasOwnProperty(args[i])) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tobj = obj[args[i]];\n\t\t}\n\t\treturn true;\n\t}\n};\n","var store = require(\"store\");\nvar times = {\n\tday: function() {\n\t\treturn 1000 * 3600 * 24;//millis to day\n\t},\n\tmonth: function() {\n\t\ttimes.day() * 30;\n\t},\n\tyear: function() {\n\t\ttimes.month() * 12;\n\t}\n};\n\nvar root = module.exports = {\n\tset : function(key, val, exp) {\n if (!store.enabled) return;//this is probably in private mode. Don't run, as we might get Js errors\n\t\tif (key && val !== undefined) {\n\t\t\tif (typeof exp == \"string\") {\n\t\t\t\texp = times[exp]();\n\t\t\t}\n\t\t\t//try to store string for dom objects (e.g. XML result). Otherwise, we might get a circular reference error when stringifying this\n\t\t\tif (val.documentElement) val = new XMLSerializer().serializeToString(val.documentElement);\n\t\t\tstore.set(key, {\n\t\t\t\tval : val,\n\t\t\t\texp : exp,\n\t\t\t\ttime : new Date().getTime()\n\t\t\t});\n\t\t}\n\t},\n\tremove: function(key) {\n\t\tif (!store.enabled) return;//this is probably in private mode. Don't run, as we might get Js errors\n\t\tif (key) store.remove(key)\n\t},\n\tremoveAll: function(filter) {\n\t\tif (!store.enabled) return;//this is probably in private mode. Don't run, as we might get Js errors\n\t\tif (typeof filter === 'function') {\n\t\t\tfor (var key in store.getAll()) {\n\t\t\t\tif (filter(key, root.get(key))) root.remove(key);\n\t\t\t}\n\t\t}\n\t},\n\tget : function(key) {\n if (!store.enabled) return null;//this is probably in private mode. Don't run, as we might get Js errors\n\t\tif (key) {\n\t\t\tvar info = store.get(key);\n\t\t\tif (!info) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (info.exp && new Date().getTime() - info.time > info.exp) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn info.val;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n};\n","module.exports = {\n\tdraw: function(parent, svgString) {\n\t\tif (!parent) return;\n\t\tvar el = module.exports.getElement(svgString);\n\t\tif (el) {\n\t\t\tif (parent.append) {\n\t\t\t\tparent.append(el);\n\t\t\t} else {\n\t\t\t\t//regular dom doc\n\t\t\t\tparent.appendChild(el);\n\t\t\t}\n\t\t}\n\t},\n\tgetElement: function(svgString) {\n\t\tif (svgString && svgString.indexOf(\" 0) {\n\t\t\t//position completion notifications\n\t\t\tvar scrollBar = $(yasqe.getWrapperElement()).find(\".CodeMirror-vscrollbar\");\n\t\t\tvar offset = 0;\n\t\t\tif (scrollBar.is(\":visible\")) {\n\t\t\t\toffset = scrollBar.outerWidth();\n\t\t\t}\n\t\t\tneedPossibleAdjustment.forEach(function(notification) {\n\t\t\t\tnotification.css(\"right\", offset)\n\t\t\t});\n\t\t}\n\t});\n\n\n\n\t/**\n\t * Store bulk completions in memory as trie, and store these in localstorage as well (if enabled)\n\t * \n\t * @method doc.storeBulkCompletions\n\t * @param completions {array}\n\t */\n\tvar storeBulkCompletions = function(completer, completions) {\n\t\t// store array as trie\n\t\ttries[completer.name] = new Trie();\n\t\tfor (var i = 0; i < completions.length; i++) {\n\t\t\ttries[completer.name].insert(completions[i]);\n\t\t}\n\t\t// store in localstorage as well\n\t\tvar storageId = utils.getPersistencyId(yasqe, completer.persistent);\n\t\tif (storageId) yutils.storage.set(storageId, completions, \"month\");\n\t};\n\n\tvar initCompleter = function(name, completionInit) {\n\t\tvar completer = completers[name] = new completionInit(yasqe, name);\n\t\tcompleter.name = name;\n\t\tif (completer.bulk) {\n\t\t\tvar storeArrayAsBulk = function(suggestions) {\n\t\t\t\tif (suggestions && suggestions instanceof Array && suggestions.length > 0) {\n\t\t\t\t\tstoreBulkCompletions(completer, suggestions);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (completer.get instanceof Array) {\n\t\t\t\t// we don't care whether the completions are already stored in\n\t\t\t\t// localstorage. just use this one\n\t\t\t\tstoreArrayAsBulk(completer.get);\n\t\t\t} else {\n\t\t\t\t// if completions are defined in localstorage, use those! (calling the\n\t\t\t\t// function may come with overhead (e.g. async calls))\n\t\t\t\tvar completionsFromStorage = null;\n\t\t\t\tvar persistencyIdentifier = utils.getPersistencyId(yasqe, completer.persistent);\n\t\t\t\tif (persistencyIdentifier)\n\t\t\t\t\tcompletionsFromStorage = yutils.storage.get(persistencyIdentifier);\n\t\t\t\tif (completionsFromStorage && completionsFromStorage.length > 0) {\n\t\t\t\t\tstoreArrayAsBulk(completionsFromStorage);\n\t\t\t\t} else {\n\t\t\t\t\t// nothing in storage. check whether we have a function via which we\n\t\t\t\t\t// can get our prefixes\n\t\t\t\t\tif (completer.get instanceof Function) {\n\t\t\t\t\t\tif (completer.async) {\n\t\t\t\t\t\t\tcompleter.get(null, storeArrayAsBulk);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstoreArrayAsBulk(completer.get());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tvar autoComplete = function(fromAutoShow) {\n\t\tif (yasqe.somethingSelected())\n\t\t\treturn;\n\t\tvar tryHintType = function(completer) {\n\t\t\tif (fromAutoShow // from autoShow, i.e. this gets called each time the editor content changes\n\t\t\t\t&& (!completer.autoShow // autoshow for this particular type of autocompletion is -not- enabled\n\t\t\t\t\t|| (!completer.bulk && completer.async)) // async is enabled (don't want to re-do ajax-like request for every editor change)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar hintConfig = {\n\t\t\t\tcloseCharacters: /(?=a)b/,\n\t\t\t\tcompleteSingle: false\n\t\t\t};\n\t\t\tif (!completer.bulk && completer.async) {\n\t\t\t\thintConfig.async = true;\n\t\t\t}\n\t\t\tvar wrappedHintCallback = function(yasqe, callback) {\n\t\t\t\treturn getCompletionHintsObject(completer, callback);\n\t\t\t};\n\t\t\tvar result = YASQE.showHint(yasqe, wrappedHintCallback, hintConfig);\n\t\t\treturn true;\n\t\t};\n\t\tfor (var completerName in completers) {\n\t\t\tif ($.inArray(completerName, yasqe.options.autocompleters) == -1) continue; //this completer is disabled\n\t\t\tvar completer = completers[completerName];\n\t\t\tif (!completer.isValidCompletionPosition) continue; //no way to check whether we are in a valid position\n\n\t\t\tif (!completer.isValidCompletionPosition()) {\n\t\t\t\t//if needed, fire callbacks for when we are -not- in valid completion position\n\t\t\t\tif (completer.callbacks && completer.callbacks.invalidPosition) {\n\t\t\t\t\tcompleter.callbacks.invalidPosition(yasqe, completer);\n\t\t\t\t}\n\t\t\t\t//not in a valid position, so continue to next completion candidate type\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// run valid position handler, if there is one (if it returns false, stop the autocompletion!)\n\t\t\tif (completer.callbacks && completer.callbacks.validPosition) {\n\t\t\t\tif (completer.callbacks.validPosition(yasqe, completer) === false)\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvar success = tryHintType(completer);\n\t\t\tif (success)\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\n\n\tvar getCompletionHintsObject = function(completer, callback) {\n\t\tvar getSuggestionsFromToken = function(partialToken) {\n\t\t\tvar stringToAutocomplete = partialToken.autocompletionString || partialToken.string;\n\t\t\tvar suggestions = [];\n\t\t\tif (tries[completer.name]) {\n\t\t\t\tsuggestions = tries[completer.name].autoComplete(stringToAutocomplete);\n\t\t\t} else if (typeof completer.get == \"function\" && completer.async == false) {\n\t\t\t\tsuggestions = completer.get(stringToAutocomplete);\n\t\t\t} else if (typeof completer.get == \"object\") {\n\t\t\t\tvar partialTokenLength = stringToAutocomplete.length;\n\t\t\t\tfor (var i = 0; i < completer.get.length; i++) {\n\t\t\t\t\tvar completion = completer.get[i];\n\t\t\t\t\tif (completion.slice(0, partialTokenLength) == stringToAutocomplete) {\n\t\t\t\t\t\tsuggestions.push(completion);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn getSuggestionsAsHintObject(suggestions, completer, partialToken);\n\n\t\t};\n\n\n\t\tvar token = yasqe.getCompleteToken();\n\t\tif (completer.preProcessToken) {\n\t\t\ttoken = completer.preProcessToken(token);\n\t\t}\n\n\t\tif (token) {\n\t\t\t// use custom completionhint function, to avoid reaching a loop when the\n\t\t\t// completionhint is the same as the current token\n\t\t\t// regular behaviour would keep changing the codemirror dom, hence\n\t\t\t// constantly calling this callback\n\t\t\tif (!completer.bulk && completer.async) {\n\t\t\t\tvar wrappedCallback = function(suggestions) {\n\t\t\t\t\tcallback(getSuggestionsAsHintObject(suggestions, completer, token));\n\t\t\t\t};\n\t\t\t\tcompleter.get(token, wrappedCallback);\n\t\t\t} else {\n\t\t\t\treturn getSuggestionsFromToken(token);\n\n\t\t\t}\n\t\t}\n\t};\n\n\n\t/**\n\t * get our array of suggestions (strings) in the codemirror hint format\n\t */\n\tvar getSuggestionsAsHintObject = function(suggestions, completer, token) {\n\t\tvar hintList = [];\n\t\tfor (var i = 0; i < suggestions.length; i++) {\n\t\t\tvar suggestedString = suggestions[i];\n\t\t\tif (completer.postProcessToken) {\n\t\t\t\tsuggestedString = completer.postProcessToken(token, suggestedString);\n\t\t\t}\n\t\t\thintList.push({\n\t\t\t\ttext: suggestedString,\n\t\t\t\tdisplayText: suggestedString,\n\t\t\t\thint: selectHint,\n\t\t\t});\n\t\t}\n\n\t\tvar cur = yasqe.getCursor();\n\t\tvar returnObj = {\n\t\t\tcompletionToken: token.string,\n\t\t\tlist: hintList,\n\t\t\tfrom: {\n\t\t\t\tline: cur.line,\n\t\t\t\tch: token.start\n\t\t\t},\n\t\t\tto: {\n\t\t\t\tline: cur.line,\n\t\t\t\tch: token.end\n\t\t\t}\n\t\t};\n\t\t//if we have some autocompletion handlers specified, add these these to the object. Codemirror will take care of firing these\n\t\tif (completer.callbacks) {\n\t\t\tfor (var callbackName in completer.callbacks) {\n\t\t\t\tif (completer.callbacks[callbackName]) {\n\t\t\t\t\tYASQE.on(returnObj, callbackName, completer.callbacks[callbackName]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn returnObj;\n\t};\n\n\treturn {\n\t\tinit: initCompleter,\n\t\tcompleters: completers,\n\t\tnotifications: {\n\t\t\tgetEl: function(completer) {\n\t\t\t\treturn $(completionNotifications[completer.name]);\n\t\t\t},\n\t\t\tshow: function(yasqe, completer) {\n\t\t\t\t//only draw when the user needs to use a keypress to summon autocompletions\n\t\t\t\tif (!completer.autoshow) {\n\t\t\t\t\tif (!completionNotifications[completer.name]) completionNotifications[completer.name] = $(\"
\");\n\t\t\t\t\tcompletionNotifications[completer.name]\n\t\t\t\t\t\t.show()\n\t\t\t\t\t\t.text(\"Press \" + (navigator.userAgent.indexOf('Mac OS X') != -1 ? \"CMD\" : \"CTRL\") + \" - to autocomplete\")\n\t\t\t\t\t\t.appendTo($(yasqe.getWrapperElement()));\n\t\t\t\t}\n\t\t\t},\n\t\t\thide: function(yasqe, completer) {\n\t\t\t\tif (completionNotifications[completer.name]) {\n\t\t\t\t\tcompletionNotifications[completer.name].hide();\n\t\t\t\t}\n\t\t\t}\n\n\t\t},\n\t\tautoComplete: autoComplete,\n\t\tgetTrie: function(completer) {\n\t\t\treturn (typeof completer == \"string\" ? tries[completer] : tries[completer.name]);\n\t\t}\n\t}\n};\n\n\n\n\n\n\n\n\n\n/**\n * function which fires after the user selects a completion. this function checks whether we actually need to store this one (if completion is same as current token, don't do anything)\n */\nvar selectHint = function(yasqe, data, completion) {\n\tif (completion.text != yasqe.getTokenAt(yasqe.getCursor()).string) {\n\t\tyasqe.replaceRange(completion.text, data.from, data.to);\n\t}\n};\n\n\n\n\n\n//\n//module.exports = {\n//\tpreprocessPrefixTokenForCompletion: preprocessPrefixTokenForCompletion,\n//\tpostprocessResourceTokenForCompletion: postprocessResourceTokenForCompletion,\n//\tpreprocessResourceTokenForCompletion: preprocessResourceTokenForCompletion,\n//\tshowCompletionNotification: showCompletionNotification,\n//\thideCompletionNotification: hideCompletionNotification,\n//\tautoComplete: autoComplete,\n//\tautocompleteVariables: autocompleteVariables,\n//\tfetchFromPrefixCc: fetchFromPrefixCc,\n//\tfetchFromLov: fetchFromLov,\n////\tstoreBulkCompletions: storeBulkCompletions,\n//\tloadBulkCompletions: loadBulkCompletions,\n//};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\nmodule.exports = function(yasqe, name) {\n\treturn {\n\t\tisValidCompletionPosition: function() {\n\t\t\treturn module.exports.isValidCompletionPosition(yasqe);\n\t\t},\n\t\tget: function(token, callback) {\n\t\t\treturn require('./utils').fetchFromLov(yasqe, this, token, callback);\n\t\t},\n\t\tpreProcessToken: function(token) {\n\t\t\treturn module.exports.preProcessToken(yasqe, token)\n\t\t},\n\t\tpostProcessToken: function(token, suggestedString) {\n\t\t\treturn module.exports.postProcessToken(yasqe, token, suggestedString);\n\t\t},\n\t\tasync: true,\n\t\tbulk: false,\n\t\tautoShow: false,\n\t\tpersistent: name,\n\t\tcallbacks: {\n\t\t\tvalidPosition: yasqe.autocompleters.notifications.show,\n\t\t\tinvalidPosition: yasqe.autocompleters.notifications.hide,\n\t\t}\n\t}\n};\n\nmodule.exports.isValidCompletionPosition = function(yasqe) {\n\tvar token = yasqe.getCompleteToken();\n\tif (token.string.indexOf(\"?\") == 0)\n\t\treturn false;\n\tvar cur = yasqe.getCursor();\n\tvar previousToken = yasqe.getPreviousNonWsToken(cur.line, token);\n\tif (previousToken.string == \"a\")\n\t\treturn true;\n\tif (previousToken.string == \"rdf:type\")\n\t\treturn true;\n\tif (previousToken.string == \"rdfs:domain\")\n\t\treturn true;\n\tif (previousToken.string == \"rdfs:range\")\n\t\treturn true;\n\treturn false;\n};\nmodule.exports.preProcessToken = function(yasqe, token) {\n\treturn require('./utils.js').preprocessResourceTokenForCompletion(yasqe, token);\n};\nmodule.exports.postProcessToken = function(yasqe, token, suggestedString) {\n\treturn require('./utils.js').postprocessResourceTokenForCompletion(yasqe, token, suggestedString)\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\n//this is a mapping from the class names (generic ones, for compatability with codemirror themes), to what they -actually- represent\nvar tokenTypes = {\n\t\"string-2\": \"prefixed\",\n\t\"atom\": \"var\"\n};\n\nmodule.exports = function(yasqe, completerName) {\n\t//this autocompleter also fires on-change!\n\tyasqe.on(\"change\", function() {\n\t\tmodule.exports.appendPrefixIfNeeded(yasqe, completerName);\n\t});\n\n\n\treturn {\n\t\tisValidCompletionPosition: function() {\n\t\t\treturn module.exports.isValidCompletionPosition(yasqe);\n\t\t},\n\t\tget: function(token, callback) {\n\t\t\t$.get(\"http://prefix.cc/popular/all.file.json\", function(data) {\n\t\t\t\tvar prefixArray = [];\n\t\t\t\tfor (var prefix in data) {\n\t\t\t\t\tif (prefix == \"bif\")\n\t\t\t\t\t\tcontinue; // skip this one! see #231\n\t\t\t\t\tvar completeString = prefix + \": <\" + data[prefix] + \">\";\n\t\t\t\t\tprefixArray.push(completeString); // the array we want to store in localstorage\n\t\t\t\t}\n\n\t\t\t\tprefixArray.sort();\n\t\t\t\tcallback(prefixArray);\n\t\t\t});\n\t\t},\n\t\tpreProcessToken: function(token) {\n\t\t\treturn module.exports.preprocessPrefixTokenForCompletion(yasqe, token)\n\t\t},\n\t\tasync: true,\n\t\tbulk: true,\n\t\tautoShow: true,\n\t\tpersistent: completerName,\n\t\tcallbacks: {\n\t\t\tpick: function() {\n\t\t\t\tyasqe.collapsePrefixes(false);\n\t\t\t}\n\t\t}\n\t};\n};\nmodule.exports.isValidCompletionPosition = function(yasqe) {\n\tvar cur = yasqe.getCursor(),\n\t\ttoken = yasqe.getTokenAt(cur);\n\n\t// not at end of line\n\tif (yasqe.getLine(cur.line).length > cur.ch)\n\t\treturn false;\n\n\tif (token.type != \"ws\") {\n\t\t// we want to complete token, e.g. when the prefix starts with an a\n\t\t// (treated as a token in itself..)\n\t\t// but we to avoid including the PREFIX tag. So when we have just\n\t\t// typed a space after the prefix tag, don't get the complete token\n\t\ttoken = yasqe.getCompleteToken();\n\t}\n\n\t// we shouldnt be at the uri part the prefix declaration\n\t// also check whether current token isnt 'a' (that makes codemirror\n\t// thing a namespace is a possiblecurrent\n\tif (!token.string.indexOf(\"a\") == 0 && $.inArray(\"PNAME_NS\", token.state.possibleCurrent) == -1)\n\t\treturn false;\n\n\t// First token of line needs to be PREFIX,\n\t// there should be no trailing text (otherwise, text is wrongly inserted\n\t// in between)\n\tvar previousToken = yasqe.getPreviousNonWsToken(cur.line, token);\n\tif (!previousToken || previousToken.string.toUpperCase() != \"PREFIX\") return false;\n\treturn true;\n};\nmodule.exports.preprocessPrefixTokenForCompletion = function(yasqe, token) {\n\tvar previousToken = yasqe.getPreviousNonWsToken(yasqe.getCursor().line, token);\n\tif (previousToken && previousToken.string && previousToken.string.slice(-1) == \":\") {\n\t\t//combine both tokens! In this case we have the cursor at the end of line \"PREFIX bla: <\".\n\t\t//we want the token to be \"bla: <\", en not \"<\"\n\t\ttoken = {\n\t\t\tstart: previousToken.start,\n\t\t\tend: token.end,\n\t\t\tstring: previousToken.string + \" \" + token.string,\n\t\t\tstate: token.state\n\t\t};\n\t}\n\treturn token;\n};\n/**\n * Check whether typed prefix is declared. If not, automatically add declaration\n * using list from prefix.cc\n * \n * @param yasqe\n */\nmodule.exports.appendPrefixIfNeeded = function(yasqe, completerName) {\n\tif (!yasqe.autocompleters.getTrie(completerName))\n\t\treturn; // no prefixed defined. just stop\n\tif (!yasqe.options.autocompleters || yasqe.options.autocompleters.indexOf(completerName) == -1) return; //this autocompleter is disabled\n\tvar cur = yasqe.getCursor();\n\n\tvar token = yasqe.getTokenAt(cur);\n\tif (tokenTypes[token.type] == \"prefixed\") {\n\t\tvar colonIndex = token.string.indexOf(\":\");\n\t\tif (colonIndex !== -1) {\n\t\t\t// check previous token isnt PREFIX, or a '<'(which would mean we are in a uri)\n\t\t\t//\t\t\tvar firstTokenString = yasqe.getNextNonWsToken(cur.line).string.toUpperCase();\n\t\t\tvar lastNonWsTokenString = yasqe.getPreviousNonWsToken(cur.line, token).string.toUpperCase();\n\t\t\tvar previousToken = yasqe.getTokenAt({\n\t\t\t\tline: cur.line,\n\t\t\t\tch: token.start\n\t\t\t}); // needs to be null (beginning of line), or whitespace\n\t\t\tif (lastNonWsTokenString != \"PREFIX\" && (previousToken.type == \"ws\" || previousToken.type == null)) {\n\t\t\t\t// check whether it isnt defined already (saves us from looping\n\t\t\t\t// through the array)\n\t\t\t\tvar currentPrefix = token.string.substring(0, colonIndex + 1);\n\t\t\t\tvar queryPrefixes = yasqe.getPrefixesFromQuery();\n\t\t\t\tif (queryPrefixes[currentPrefix.slice(0, -1)] == null) {\n\t\t\t\t\t// ok, so it isnt added yet!\n\t\t\t\t\tvar completions = yasqe.autocompleters.getTrie(completerName).autoComplete(currentPrefix);\n\t\t\t\t\tif (completions.length > 0) {\n\t\t\t\t\t\tyasqe.addPrefixes(completions[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\nmodule.exports = function(yasqe, name) {\n\treturn {\n\t\tisValidCompletionPosition: function() {\n\t\t\treturn module.exports.isValidCompletionPosition(yasqe);\n\t\t},\n\t\tget: function(token, callback) {\n\t\t\treturn require('./utils').fetchFromLov(yasqe, this, token, callback);\n\t\t},\n\t\tpreProcessToken: function(token) {\n\t\t\treturn module.exports.preProcessToken(yasqe, token)\n\t\t},\n\t\tpostProcessToken: function(token, suggestedString) {\n\t\t\treturn module.exports.postProcessToken(yasqe, token, suggestedString);\n\t\t},\n\t\tasync: true,\n\t\tbulk: false,\n\t\tautoShow: false,\n\t\tpersistent: name,\n\t\tcallbacks: {\n\t\t\tvalidPosition: yasqe.autocompleters.notifications.show,\n\t\t\tinvalidPosition: yasqe.autocompleters.notifications.hide,\n\t\t}\n\t}\n};\n\nmodule.exports.isValidCompletionPosition = function(yasqe) {\n\tvar token = yasqe.getCompleteToken();\n\tif (token.string.length == 0)\n\t\treturn false; //we want -something- to autocomplete\n\tif (token.string.indexOf(\"?\") == 0)\n\t\treturn false; // we are typing a var\n\tif ($.inArray(\"a\", token.state.possibleCurrent) >= 0)\n\t\treturn true; // predicate pos\n\tvar cur = yasqe.getCursor();\n\tvar previousToken = yasqe.getPreviousNonWsToken(cur.line, token);\n\tif (previousToken.string == \"rdfs:subPropertyOf\")\n\t\treturn true;\n\n\t// hmm, we would like -better- checks here, e.g. checking whether we are\n\t// in a subject, and whether next item is a rdfs:subpropertyof.\n\t// difficult though... the grammar we use is unreliable when the query\n\t// is invalid (i.e. during typing), and often the predicate is not typed\n\t// yet, when we are busy writing the subject...\n\treturn false;\n};\nmodule.exports.preProcessToken = function(yasqe, token) {\n\treturn require('./utils.js').preprocessResourceTokenForCompletion(yasqe, token);\n};\nmodule.exports.postProcessToken = function(yasqe, token, suggestedString) {\n\treturn require('./utils.js').postprocessResourceTokenForCompletion(yasqe, token, suggestedString)\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})(),\n\tutils = require('./utils.js'),\n\tyutils = require('yasgui-utils');\n/**\n * Where the base class only contains functionality related to -all- completions, this class contains some utils used here and there in our autocompletions\n */\n\n\n\n/**\n * Converts rdf:type to http://.../type and converts to http://...\n * Stores additional info such as the used namespace and prefix in the token object\n */\nvar preprocessResourceTokenForCompletion = function(yasqe, token) {\n\tvar queryPrefixes = yasqe.getPrefixesFromQuery();\n\tif (!token.string.indexOf(\"<\") == 0) {\n\t\ttoken.tokenPrefix = token.string.substring(0, token.string.indexOf(\":\") + 1);\n\n\t\tif (queryPrefixes[token.tokenPrefix.slice(0, -1)] != null) {\n\t\t\ttoken.tokenPrefixUri = queryPrefixes[token.tokenPrefix.slice(0, -1)];\n\t\t}\n\t}\n\n\ttoken.autocompletionString = token.string.trim();\n\tif (!token.string.indexOf(\"<\") == 0 && token.string.indexOf(\":\") > -1) {\n\t\t// hmm, the token is prefixed. We still need the complete uri for autocompletions. generate this!\n\t\tfor (var prefix in queryPrefixes) {\n\t\t\tif (token.string.indexOf(prefix) == 0) {\n\t\t\t\ttoken.autocompletionString = queryPrefixes[prefix];\n\t\t\t\ttoken.autocompletionString += token.string.substring(prefix.length + 1);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (token.autocompletionString.indexOf(\"<\") == 0) token.autocompletionString = token.autocompletionString.substring(1);\n\tif (token.autocompletionString.indexOf(\">\", token.length - 1) !== -1) token.autocompletionString = token.autocompletionString.substring(0, token.autocompletionString.length - 1);\n\treturn token;\n};\n\nvar postprocessResourceTokenForCompletion = function(yasqe, token, suggestedString) {\n\tif (token.tokenPrefix && token.autocompletionString && token.tokenPrefixUri) {\n\t\t// we need to get the suggested string back to prefixed form\n\t\tsuggestedString = token.tokenPrefix + suggestedString.substring(token.tokenPrefixUri.length);\n\t} else {\n\t\t// it is a regular uri. add '<' and '>' to string\n\t\tsuggestedString = \"<\" + suggestedString + \">\";\n\t}\n\treturn suggestedString;\n};\n\nvar fetchFromLov = function(yasqe, completer, token, callback) {\n\tif (!token || !token.string || token.string.trim().length == 0) {\n\t\tyasqe.autocompleters.notifications.getEl(completer)\n\t\t\t.empty()\n\t\t\t.append(\"Nothing to autocomplete yet!\");\n\t\treturn false;\n\t}\n\tvar maxResults = 50;\n\n\tvar args = {\n\t\tq: token.autocompletionString,\n\t\tpage: 1\n\t};\n\tif (completer.name == \"classes\") {\n\t\targs.type = \"class\";\n\t} else {\n\t\targs.type = \"property\";\n\t}\n\tvar results = [];\n\tvar url = \"\";\n\tvar updateUrl = function() {\n\t\turl = \"http://lov.okfn.org/dataset/lov/api/v2/autocomplete/terms?\" + $.param(args);\n\t};\n\tupdateUrl();\n\tvar increasePage = function() {\n\t\targs.page++;\n\t\tupdateUrl();\n\t};\n\tvar doRequests = function() {\n\t\t$.get(\n\t\t\turl,\n\t\t\tfunction(data) {\n\t\t\t\tfor (var i = 0; i < data.results.length; i++) {\n\t\t\t\t\tif ($.isArray(data.results[i].uri) && data.results[i].uri.length > 0) {\n\t\t\t\t\t\tresults.push(data.results[i].uri[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresults.push(data.results[i].uri);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\tif (results.length < data.total_results && results.length < maxResults) {\n\t\t\t\t\tincreasePage();\n\t\t\t\t\tdoRequests();\n\t\t\t\t} else {\n\t\t\t\t\t//if notification bar is there, show feedback, or close\n\t\t\t\t\tif (results.length > 0) {\n\t\t\t\t\t\tyasqe.autocompleters.notifications.hide(yasqe, completer)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyasqe.autocompleters.notifications.getEl(completer).text(\"0 matches found...\");\n\t\t\t\t\t}\n\t\t\t\t\tcallback(results);\n\t\t\t\t\t// requests done! Don't call this function again\n\t\t\t\t}\n\t\t\t}).fail(function(jqXHR, textStatus, errorThrown) {\n\t\t\tyasqe.autocompleters.notifications.getEl(completer)\n\t\t\t\t.empty()\n\t\t\t\t.append(\"Failed fetching suggestions..\");\n\n\t\t});\n\t};\n\t//if notification bar is there, show a loader\n\tyasqe.autocompleters.notifications.getEl(completer)\n\t\t.empty()\n\t\t.append($(\"Fetchting autocompletions  \"))\n\t\t.append($(yutils.svg.getElement(require('../imgs.js').loader)).addClass(\"notificationLoader\"));\n\tdoRequests();\n};\n\n\n\nmodule.exports = {\n\tfetchFromLov: fetchFromLov,\n\tpreprocessResourceTokenForCompletion: preprocessResourceTokenForCompletion,\n\tpostprocessResourceTokenForCompletion: postprocessResourceTokenForCompletion,\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\nmodule.exports = function(yasqe) {\n\treturn {\n\t\tisValidCompletionPosition: function() {\n\t\t\tvar token = yasqe.getTokenAt(yasqe.getCursor());\n\t\t\tif (token.type != \"ws\") {\n\t\t\t\ttoken = yasqe.getCompleteToken(token);\n\t\t\t\tif (token && token.string.indexOf(\"?\") == 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function(token) {\n\t\t\tif (token.trim().length == 0) return []; //nothing to autocomplete\n\t\t\tvar distinctVars = {};\n\t\t\t//do this outside of codemirror. I expect jquery to be faster here (just finding dom elements with classnames)\n\t\t\t$(yasqe.getWrapperElement()).find(\".cm-atom\").each(function() {\n\t\t\t\tvar variable = this.innerHTML;\n\t\t\t\tif (variable.indexOf(\"?\") == 0) {\n\t\t\t\t\t//ok, lets check if the next element in the div is an atom as well. In that case, they belong together (may happen sometimes when query is not syntactically valid)\n\t\t\t\t\tvar nextEl = $(this).next();\n\t\t\t\t\tvar nextElClass = nextEl.attr('class');\n\t\t\t\t\tif (nextElClass && nextEl.attr('class').indexOf(\"cm-atom\") >= 0) {\n\t\t\t\t\t\tvariable += nextEl.text();\n\t\t\t\t\t}\n\n\t\t\t\t\t//skip single questionmarks\n\t\t\t\t\tif (variable.length <= 1) return;\n\n\t\t\t\t\t//it should match our token ofcourse\n\t\t\t\t\tif (variable.indexOf(token) !== 0) return;\n\n\t\t\t\t\t//skip exact matches\n\t\t\t\t\tif (variable == token) return;\n\n\t\t\t\t\t//store in map so we have a unique list \n\t\t\t\t\tdistinctVars[variable] = true;\n\n\n\t\t\t\t}\n\t\t\t});\n\t\t\tvar variables = [];\n\t\t\tfor (var variable in distinctVars) {\n\t\t\t\tvariables.push(variable);\n\t\t\t}\n\t\t\tvariables.sort();\n\t\t\treturn variables;\n\t\t},\n\t\tasync: false,\n\t\tbulk: false,\n\t\tautoShow: true,\n\t}\n};","var sparql = require('./sparql.js'),\n $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\nvar quote = function(string) {\n return \"'\" + string + \"'\";\n}\nmodule.exports = {\n createCurlString : function(yasqe, config) {\n var ajaxConfig = sparql.getAjaxConfig(yasqe, config);\n \n var url = yasqe.options.sparql.endpoint;\n if (yasqe.options.sparql.requestMethod == 'GET') {\n url += '?' + $.param(ajaxConfig.data);\n }\n var cmds = [\n 'curl', url,\n '-X', yasqe.options.sparql.requestMethod\n ];\n if (yasqe.options.sparql.requestMethod == 'POST') {\n cmds.push('--data ' + quote($.param(ajaxConfig.data)));\n }\n for (var header in ajaxConfig.headers) {\n cmds.push('-H ' + quote(header + ': ' + ajaxConfig.headers[header]));\n }\n return cmds.join(' ');\n\n\n\n\n }\n}\n","/**\n * The default options of YASQE (check the CodeMirror documentation for even\n * more options, such as disabling line numbers, or changing keyboard shortcut\n * keys). Either change the default options by setting YASQE.defaults, or by\n * passing your own options as second argument to the YASQE constructor\n */\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})(),\n\tYASQE = require('./main.js');\nYASQE.defaults = $.extend(true, {}, YASQE.defaults, {\n\tmode: \"sparql11\",\n\t/**\n\t * Query string\n\t */\n\tvalue: \"PREFIX rdf: \\nPREFIX rdfs: \\nSELECT * WHERE {\\n ?sub ?pred ?obj .\\n} \\nLIMIT 10\",\n\thighlightSelectionMatches: {\n\t\tshowToken: /\\w/\n\t},\n\ttabMode: \"indent\",\n\tlineNumbers: true,\n\tlineWrapping: true,\n\tbackdrop: false,\n\tfoldGutter: {\n\t\trangeFinder: new YASQE.fold.combine(YASQE.fold.brace, YASQE.fold.prefix)\n\t},\n\tcollapsePrefixesOnLoad: false,\n\tgutters: [\"gutterErrorBar\", \"CodeMirror-linenumbers\", \"CodeMirror-foldgutter\"],\n\tmatchBrackets: true,\n\tfixedGutter: true,\n\tsyntaxErrorCheck: true,\n\t/**\n\t * Extra shortcut keys. Check the CodeMirror manual on how to add your own\n\t *\n\t * @property extraKeys\n\t * @type object\n\t */\n\textraKeys: {\n\t\t//\t\t\t\t\t\"Ctrl-Space\" : function(yasqe) {\n\t\t//\t\t\t\t\t\tYASQE.autoComplete(yasqe);\n\t\t//\t\t\t\t\t},\n\t\t\"Ctrl-Space\": YASQE.autoComplete,\n\n\t\t\"Cmd-Space\": YASQE.autoComplete,\n\t\t\"Ctrl-D\": YASQE.deleteLine,\n\t\t\"Ctrl-K\": YASQE.deleteLine,\n\t\t\"Cmd-D\": YASQE.deleteLine,\n\t\t\"Cmd-K\": YASQE.deleteLine,\n\t\t\"Ctrl-/\": YASQE.commentLines,\n\t\t\"Cmd-/\": YASQE.commentLines,\n\t\t\"Ctrl-Alt-Down\": YASQE.copyLineDown,\n\t\t\"Ctrl-Alt-Up\": YASQE.copyLineUp,\n\t\t\"Cmd-Alt-Down\": YASQE.copyLineDown,\n\t\t\"Cmd-Alt-Up\": YASQE.copyLineUp,\n\t\t\"Shift-Ctrl-F\": YASQE.doAutoFormat,\n\t\t\"Shift-Cmd-F\": YASQE.doAutoFormat,\n\t\t\"Ctrl-]\": YASQE.indentMore,\n\t\t\"Cmd-]\": YASQE.indentMore,\n\t\t\"Ctrl-[\": YASQE.indentLess,\n\t\t\"Cmd-[\": YASQE.indentLess,\n\t\t\"Ctrl-S\": YASQE.storeQuery,\n\t\t\"Cmd-S\": YASQE.storeQuery,\n\t\t\"Ctrl-Enter\": YASQE.executeQuery,\n\t\t\"Cmd-Enter\": YASQE.executeQuery,\n\t\t\"F11\": function(yasqe) {\n\t\t\tyasqe.setOption(\"fullScreen\", !yasqe.getOption(\"fullScreen\"));\n\t\t},\n\t\t\"Esc\": function(yasqe) {\n\t\t\tif (yasqe.getOption(\"fullScreen\")) yasqe.setOption(\"fullScreen\", false);\n\t\t}\n\t},\n\tcursorHeight: 0.9,\n\n\n\t/**\n\t * Show a button with which users can create a link to this query. Set this value to null to disable this functionality.\n\t * By default, this feature is enabled, and the only the query value is appended to the link.\n\t * ps. This function should return an object which is parseable by jQuery.param (http://api.jquery.com/jQuery.param/)\n\t */\n\tcreateShareLink: YASQE.createShareLink,\n\n\tcreateShortLink: null,\n\n\t/**\n\t * Consume links shared by others, by checking the url for arguments coming from a query link. Defaults by only checking the 'query=' argument in the url\n\t */\n\tconsumeShareLink: YASQE.consumeShareLink,\n\n\n\n\n\t/**\n\t * Change persistency settings for the YASQE query value. Setting the values\n\t * to null, will disable persistancy: nothing is stored between browser\n\t * sessions Setting the values to a string (or a function which returns a\n\t * string), will store the query in localstorage using the specified string.\n\t * By default, the ID is dynamically generated using the closest dom ID, to avoid collissions when using multiple YASQE items on one\n\t * page\n\t *\n\t * @type function|string\n\t */\n\tpersistent: function(yasqe) {\n\t\treturn \"yasqe_\" + $(yasqe.getWrapperElement()).closest('[id]').attr('id') + \"_queryVal\";\n\t},\n\n\n\t/**\n\t * Settings for querying sparql endpoints\n\t */\n\tsparql: {\n\t\tshowQueryButton: false,\n\n\t\t/**f\n\t\t * Endpoint to query\n\t\t *\n\t\t * @property sparql.endpoint\n\t\t * @type String|function\n\t\t */\n\t\tendpoint: \"http://dbpedia.org/sparql\",\n\t\t/**\n\t\t * Request method via which to access SPARQL endpoint\n\t\t *\n\t\t * @property sparql.requestMethod\n\t\t * @type String|function\n\t\t */\n\t\trequestMethod: \"POST\",\n\n\t\t/**\n\t\t * @type String|function\n\t\t */\n\t\tacceptHeaderGraph: \"text/turtle,*/*;q=0.9\",\n\t\t/**\n\t\t * @type String|function\n\t\t */\n\t\tacceptHeaderSelect: \"application/sparql-results+json,*/*;q=0.9\",\n\t\t/**\n\t\t * @type String|function\n\t\t */\n\t\tacceptHeaderUpdate: \"text/plain,*/*;q=0.9\",\n\n\t\t/**\n\t\t * Named graphs to query.\n\t\t */\n\t\tnamedGraphs: [],\n\t\t/**\n\t\t * Default graphs to query.\n\t\t */\n\t\tdefaultGraphs: [],\n\n\t\t/**\n\t\t * Additional request arguments. Add them in the form: {name: \"name\", value: \"value\"}\n\t\t */\n\t\targs: [],\n\n\t\t/**\n\t\t * Additional request headers\n\t\t */\n\t\theaders: {},\n\n\t\tgetQueryForAjax: null,\n\t\t/**\n\t\t * Set of ajax callbacks\n\t\t */\n\t\tcallbacks: {\n\t\t\tbeforeSend: null,\n\t\t\tcomplete: null,\n\t\t\terror: null,\n\t\t\tsuccess: null\n\t\t},\n\t\thandlers: {} //keep here for backwards compatability\n\t},\n});\n","'use strict';\nmodule.exports = {\n\tquery: '\t',\n\tqueryInvalid: 'image/svg+xml',\n\tdownload: '\t',\n\tshare: '',\n\twarning: '',\n\tfullscreen: 'image/svg+xml',\n\tsmallscreen: 'image/svg+xml',\n};\n","'use strict';\n//make sure any console statements\nwindow.console = window.console || {\n\t\"log\": function() {}\n};\n\n/**\n * Load libraries\n */\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})(),\n\tCodeMirror = (function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})(),\n\tutils = require('./utils.js'),\n\tyutils = require('yasgui-utils'),\n\timgs = require('./imgs.js');\n\nrequire(\"../lib/deparam.js\");\nrequire('codemirror/addon/fold/foldcode.js');\nrequire('codemirror/addon/fold/foldgutter.js');\nrequire('codemirror/addon/fold/xml-fold.js');\nrequire('codemirror/addon/fold/brace-fold.js');\nrequire('./prefixFold.js');\nrequire('codemirror/addon/hint/show-hint.js');\nrequire('codemirror/addon/search/searchcursor.js');\nrequire('codemirror/addon/edit/matchbrackets.js');\nrequire('codemirror/addon/runmode/runmode.js');\nrequire('codemirror/addon/display/fullscreen.js');\nrequire('../lib/grammar/tokenizer.js');\n\n\n\n/**\n * Main YASQE constructor. Pass a DOM element as argument to append the editor to, and (optionally) pass along config settings (see the YASQE.defaults object below, as well as the regular CodeMirror documentation, for more information on configurability)\n *\n * @constructor\n * @param {DOM-Element} parent element to append editor to.\n * @param {object} settings\n * @class YASQE\n * @return {doc} YASQE document\n */\nvar root = module.exports = function(parent, config) {\n\tvar rootEl = $(\"
\", {\n\t\tclass: 'yasqe'\n\t}).appendTo($(parent));\n\tconfig = extendConfig(config);\n\tvar yasqe = extendCmInstance(CodeMirror(rootEl[0], config));\n\tpostProcessCmElement(yasqe);\n\treturn yasqe;\n};\n\n/**\n * Extend config object, which we will pass on to the CM constructor later on.\n * Need this, to make sure our own 'onBlur' etc events do not get overwritten by\n * people who add their own onblur events to the config Additionally, need this\n * to include the CM defaults ourselves. CodeMirror has a method for including\n * defaults, but we can't rely on that one: it assumes flat config object, where\n * we have nested objects (e.g. the persistency option)\n *\n * @private\n */\nvar extendConfig = function(config) {\n\tvar extendedConfig = $.extend(true, {}, root.defaults, config);\n\n\t// I know, codemirror deals with default options as well.\n\t//However, it does not do this recursively (i.e. the persistency option)\n\n\n\treturn extendedConfig;\n};\n/**\n * Add extra functions to the CM document (i.e. the codemirror instantiated\n * object)\n *\n * @private\n */\nvar extendCmInstance = function(yasqe) {\n\t//instantiate autocompleters\n\tyasqe.autocompleters = require('./autocompleters/autocompleterBase.js')(root, yasqe);\n\tif (yasqe.options.autocompleters) {\n\t\tyasqe.options.autocompleters.forEach(function(name) {\n\t\t\tif (root.Autocompleters[name]) yasqe.autocompleters.init(name, root.Autocompleters[name]);\n\t\t})\n\t}\n\tyasqe.lastQueryDuration = null;\n\tyasqe.getCompleteToken = function(token, cur) {\n\t\treturn require('./tokenUtils.js').getCompleteToken(yasqe, token, cur);\n\t};\n\tyasqe.getPreviousNonWsToken = function(line, token) {\n\t\treturn require('./tokenUtils.js').getPreviousNonWsToken(yasqe, line, token);\n\t};\n\tyasqe.getNextNonWsToken = function(lineNumber, charNumber) {\n\t\treturn require('./tokenUtils.js').getNextNonWsToken(yasqe, lineNumber, charNumber);\n\t};\n\tyasqe.collapsePrefixes = function(collapse) {\n\t\tyasqe.foldCode(require('./prefixFold.js').findFirstPrefixLine(yasqe), YASQE.fold.prefix, (collapse ? \"fold\" : \"unfold\"));\n\t};\n\tvar backdrop = null;\n\tvar animateSpeed = null;\n\tyasqe.setBackdrop = function(show) {\n\n\n\t\tif (yasqe.options.backdrop || yasqe.options.backdrop === 0 || yasqe.options.backdrop === '0') {\n\t\t\tif (animateSpeed === null) {\n\t\t\t\tanimateSpeed = +yasqe.options.backdrop;\n\t\t\t\tif (animateSpeed === 1) {\n\t\t\t\t\t//ah, yasqe.options.backdrop was 'true'. Set this to default animate speed 400\n\t\t\t\t\tanimateSpeed = 400;\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (!backdrop) {\n\t\t\t\tbackdrop = $('
', {\n\t\t\t\t\t\tclass: 'backdrop'\n\t\t\t\t\t})\n\t\t\t\t\t.click(function() {\n\t\t\t\t\t\t$(this).hide();\n\t\t\t\t\t})\n\t\t\t\t\t.insertAfter($(yasqe.getWrapperElement()));\n\t\t\t}\n\t\t\tif (show) {\n\t\t\t\tbackdrop.show(animateSpeed);\n\t\t\t} else {\n\t\t\t\tbackdrop.hide(animateSpeed);\n\t\t\t}\n\t\t}\n\t};\n\t/**\n\t * Execute query. Pass a callback function, or a configuration object (see\n\t * default settings below for possible values) I.e., you can change the\n\t * query configuration by either changing the default settings, changing the\n\t * settings of this document, or by passing query settings to this function\n\t *\n\t * @method doc.query\n\t * @param function|object\n\t */\n\tyasqe.query = function(callbackOrConfig) {\n\t\troot.executeQuery(yasqe, callbackOrConfig);\n\t};\n\n\tyasqe.getUrlArguments = function(config) {\n\t\treturn root.getUrlArguments(yasqe, config);\n\t};\n\n\t/**\n\t * Fetch defined prefixes from query string\n\t *\n\t * @method doc.getPrefixesFromQuery\n\t * @return object\n\t */\n\tyasqe.getPrefixesFromQuery = function() {\n\t\treturn require('./prefixUtils.js').getPrefixesFromQuery(yasqe);\n\t};\n\n\tyasqe.addPrefixes = function(prefixes) {\n\t\treturn require('./prefixUtils.js').addPrefixes(yasqe, prefixes);\n\t};\n\tyasqe.removePrefixes = function(prefixes) {\n\t\treturn require('./prefixUtils.js').removePrefixes(yasqe, prefixes);\n\t};\n\n\tyasqe.getValueWithoutComments = function() {\n\t\tvar cleanedQuery = \"\";\n\t\troot.runMode(yasqe.getValue(), \"sparql11\", function(stringVal, className) {\n\t\t\tif (className != \"comment\") {\n\t\t\t\tcleanedQuery += stringVal;\n\t\t\t}\n\t\t});\n\t\treturn cleanedQuery;\n\t};\n\t/**\n\t * Fetch the query type (e.g., SELECT||DESCRIBE||INSERT||DELETE||ASK||CONSTRUCT)\n\t *\n\t * @method doc.getQueryType\n\t * @return string\n\t *\n\t */\n\tyasqe.getQueryType = function() {\n\t\treturn yasqe.queryType;\n\t};\n\t/**\n\t * Fetch the query mode: 'query' or 'update'\n\t *\n\t * @method doc.getQueryMode\n\t * @return string\n\t *\n\t */\n\tyasqe.getQueryMode = function() {\n\t\tvar type = yasqe.getQueryType();\n\t\tif (type == \"INSERT\" || type == \"DELETE\" || type == \"LOAD\" || type == \"CLEAR\" || type == \"CREATE\" || type == \"DROP\" || type == \"COPY\" || type == \"MOVE\" || type == \"ADD\") {\n\t\t\treturn \"update\";\n\t\t} else {\n\t\t\treturn \"query\";\n\t\t}\n\n\t};\n\n\tyasqe.setCheckSyntaxErrors = function(isEnabled) {\n\t\tyasqe.options.syntaxErrorCheck = isEnabled;\n\t\tcheckSyntax(yasqe);\n\t};\n\n\tyasqe.enableCompleter = function(name) {\n\t\taddCompleterToSettings(yasqe.options, name);\n\t\tif (root.Autocompleters[name]) yasqe.autocompleters.init(name, root.Autocompleters[name]);\n\t};\n\tyasqe.disableCompleter = function(name) {\n\t\tremoveCompleterFromSettings(yasqe.options, name);\n\t};\n\treturn yasqe;\n};\n\nvar addCompleterToSettings = function(settings, name) {\n\tif (!settings.autocompleters) settings.autocompleters = [];\n\tsettings.autocompleters.push(name);\n};\nvar removeCompleterFromSettings = function(settings, name) {\n\tif (typeof settings.autocompleters == \"object\") {\n\t\tvar index = $.inArray(name, settings.autocompleters);\n\t\tif (index >= 0) {\n\t\t\tsettings.autocompleters.splice(index, 1);\n\t\t\tremoveCompleterFromSettings(settings, name); //just in case. suppose 1 completer is listed twice\n\t\t}\n\t}\n};\nvar postProcessCmElement = function(yasqe) {\n\t/**\n\t * Set doc value\n\t */\n\tvar storageId = utils.getPersistencyId(yasqe, yasqe.options.persistent);\n\tif (storageId) {\n\t\tvar valueFromStorage = yutils.storage.get(storageId);\n\t\tif (valueFromStorage)\n\t\t\tyasqe.setValue(valueFromStorage);\n\t}\n\n\troot.drawButtons(yasqe);\n\n\t/**\n\t * Add event handlers\n\t */\n\tyasqe.on('blur', function(yasqe, eventInfo) {\n\t\troot.storeQuery(yasqe);\n\t});\n\tyasqe.on('change', function(yasqe, eventInfo) {\n\t\tcheckSyntax(yasqe);\n\t\troot.updateQueryButton(yasqe);\n\t\troot.positionButtons(yasqe);\n\t});\n\tyasqe.on('changes', function() {\n\t\t//e.g. on paste\n\t\tcheckSyntax(yasqe);\n\t\troot.updateQueryButton(yasqe);\n\t\troot.positionButtons(yasqe);\n\t});\n\n\tyasqe.on('cursorActivity', function(yasqe, eventInfo) {\n\t\tupdateButtonsTransparency(yasqe);\n\t});\n\tyasqe.prevQueryValid = false;\n\tcheckSyntax(yasqe); // on first load, check as well (our stored or default query might be incorrect)\n\troot.positionButtons(yasqe);\n\n\t$(yasqe.getWrapperElement()).on('mouseenter', '.cm-atom', function() {\n\t\tvar matchText = $(this).text();\n\t\t$(yasqe.getWrapperElement()).find('.cm-atom').filter(function() {\n\t\t\treturn $(this).text() === matchText;\n\t\t}).addClass('matchingVar');\n\t}).on('mouseleave', '.cm-atom', function() {\n\t\t$(yasqe.getWrapperElement()).find('.matchingVar').removeClass('matchingVar');\n\t});\n\t/**\n\t * check url args and modify yasqe settings if needed\n\t */\n\tif (yasqe.options.consumeShareLink) {\n\t\tyasqe.options.consumeShareLink(yasqe, getUrlParams());\n\t\t//and: add a hash listener!\n\t\twindow.addEventListener(\"hashchange\", function() {\n\t\t\tyasqe.options.consumeShareLink(yasqe, getUrlParams());\n\t\t});\n\t}\n\tif (yasqe.options.collapsePrefixesOnLoad) yasqe.collapsePrefixes(true);\n};\n\n/**\n * get url params. first try fetching using hash. If it fails, try the regular query parameters (for backwards compatability)\n */\nvar getUrlParams = function() {\n\t//first try hash\n\tvar urlParams = null;\n\tif (window.location.hash.length > 1) {\n\t\t//firefox does some decoding if we're using window.location.hash (e.g. the + sign in contentType settings)\n\t\t//Don't want this. So simply get the hash string ourselves\n\t\turlParams = $.deparam(location.href.split(\"#\")[1])\n\t}\n\tif ((!urlParams || !('query' in urlParams)) && window.location.search.length > 1) {\n\t\t//ok, then just try regular url params\n\t\turlParams = $.deparam(window.location.search.substring(1));\n\t}\n\treturn urlParams;\n};\n\n\n\n/**\n * Update transparency of buttons. Increase transparency when cursor is below buttons\n */\n\nvar updateButtonsTransparency = function(yasqe) {\n\tyasqe.cursor = $(\".CodeMirror-cursor\");\n\tif (yasqe.buttons && yasqe.buttons.is(\":visible\") && yasqe.cursor.length > 0) {\n\t\tif (utils.elementsOverlap(yasqe.cursor, yasqe.buttons)) {\n\t\t\tyasqe.buttons.find(\"svg\").attr(\"opacity\", \"0.2\");\n\t\t} else {\n\t\t\tyasqe.buttons.find(\"svg\").attr(\"opacity\", \"1.0\");\n\t\t}\n\t}\n};\n\n\n\n\n\n\n\n\n\nvar clearError = null;\nvar checkSyntax = function(yasqe, deepcheck) {\n\n\tyasqe.queryValid = true;\n\n\tyasqe.clearGutter(\"gutterErrorBar\");\n\n\tvar state = null;\n\tfor (var l = 0; l < yasqe.lineCount(); ++l) {\n\t\tvar precise = false;\n\t\tif (!yasqe.prevQueryValid) {\n\t\t\t// we don't want cached information in this case, otherwise the\n\t\t\t// previous error sign might still show up,\n\t\t\t// even though the syntax error might be gone already\n\t\t\tprecise = true;\n\t\t}\n\n\t\tvar token = yasqe.getTokenAt({\n\t\t\tline: l,\n\t\t\tch: yasqe.getLine(l).length\n\t\t}, precise);\n\t\tvar state = token.state;\n\t\tyasqe.queryType = state.queryType;\n\t\tif (state.OK == false) {\n\t\t\tif (!yasqe.options.syntaxErrorCheck) {\n\t\t\t\t//the library we use already marks everything as being an error. Overwrite this class attribute.\n\t\t\t\t$(yasqe.getWrapperElement).find(\".sp-error\").css(\"color\", \"black\");\n\t\t\t\t//we don't want to gutter error, so return\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar warningEl = yutils.svg.getElement(imgs.warning);\n\t\t\tif (state.possibleCurrent && state.possibleCurrent.length > 0) {\n\t\t\t\t//\t\t\t\twarningEl.style.zIndex = \"99999999\";\n\t\t\t\trequire('./tooltip')(yasqe, warningEl, function() {\n\t\t\t\t\tvar expectedEncoded = [];\n\t\t\t\t\tstate.possibleCurrent.forEach(function(expected) {\n\t\t\t\t\t\texpectedEncoded.push(\"\" + $(\"
\").text(expected).html() + \"\");\n\t\t\t\t\t});\n\t\t\t\t\treturn \"This line is invalid. Expected: \" + expectedEncoded.join(\", \");\n\t\t\t\t});\n\t\t\t}\n\t\t\twarningEl.style.marginTop = \"2px\";\n\t\t\twarningEl.style.marginLeft = \"2px\";\n\t\t\twarningEl.className = 'parseErrorIcon';\n\t\t\tyasqe.setGutterMarker(l, \"gutterErrorBar\", warningEl);\n\n\t\t\tyasqe.queryValid = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\tyasqe.prevQueryValid = yasqe.queryValid;\n\tif (deepcheck) {\n\t\tif (state != null && state.stack != undefined) {\n\t\t\tvar stack = state.stack,\n\t\t\t\tlen = state.stack.length;\n\t\t\t// Because incremental parser doesn't receive end-of-input\n\t\t\t// it can't clear stack, so we have to check that whatever\n\t\t\t// is left on the stack is nillable\n\t\t\tif (len > 1)\n\t\t\t\tyasqe.queryValid = false;\n\t\t\telse if (len == 1) {\n\t\t\t\tif (stack[0] != \"solutionModifier\" && stack[0] != \"?limitOffsetClauses\" && stack[0] != \"?offsetClause\")\n\t\t\t\t\tyasqe.queryValid = false;\n\t\t\t}\n\t\t}\n\t}\n};\n/**\n * Static Utils\n */\n// first take all CodeMirror references and store them in the YASQE object\n$.extend(root, CodeMirror);\n\n\n//add registrar for autocompleters\nroot.Autocompleters = {};\nroot.registerAutocompleter = function(name, constructor) {\n\troot.Autocompleters[name] = constructor;\n\taddCompleterToSettings(root.defaults, name);\n}\n\nroot.autoComplete = function(yasqe) {\n\t//this function gets called when pressing the keyboard shortcut. I.e., autoShow = false\n\tyasqe.autocompleters.autoComplete(false);\n};\n//include the autocompleters we provide out-of-the-box\nroot.registerAutocompleter(\"prefixes\", require(\"./autocompleters/prefixes.js\"));\nroot.registerAutocompleter(\"properties\", require(\"./autocompleters/properties.js\"));\nroot.registerAutocompleter(\"classes\", require(\"./autocompleters/classes.js\"));\nroot.registerAutocompleter(\"variables\", require(\"./autocompleters/variables.js\"));\n\n\nroot.positionButtons = function(yasqe) {\n\tvar scrollBar = $(yasqe.getWrapperElement()).find(\".CodeMirror-vscrollbar\");\n\tvar offset = 0;\n\tif (scrollBar.is(\":visible\")) {\n\t\toffset = scrollBar.outerWidth();\n\t}\n\tif (yasqe.buttons.is(\":visible\")) yasqe.buttons.css(\"right\", offset + 4);\n};\n\n/**\n * Create a share link\n *\n * @method YASQE.createShareLink\n * @param {doc} YASQE document\n * @default {query: doc.getValue()}\n * @return object\n */\nroot.createShareLink = function(yasqe) {\n\t//extend existing link, so first fetch current arguments\n\tvar urlParams = {};\n\tif (window.location.hash.length > 1) urlParams = $.deparam(window.location.hash.substring(1));\n\turlParams['query'] = yasqe.getValue();\n\treturn urlParams;\n};\nroot.getAsCurl = function(yasqe, ajaxConfig) {\n\tvar curl = require('./curl.js');\n\treturn curl.createCurlString(yasqe, ajaxConfig);\n};\n/**\n * Consume the share link, by parsing the document URL for possible yasqe arguments, and setting the appropriate values in the YASQE doc\n *\n * @method YASQE.consumeShareLink\n * @param {doc} YASQE document\n */\nroot.consumeShareLink = function(yasqe, urlParams) {\n\tif (urlParams && urlParams.query) {\n\t\tyasqe.setValue(urlParams.query);\n\t}\n};\nroot.drawButtons = function(yasqe) {\n\tyasqe.buttons = $(\"
\").appendTo($(yasqe.getWrapperElement()));\n\n\t/**\n\t * draw share link button\n\t */\n\tif (yasqe.options.createShareLink) {\n\n\t\tvar svgShare = $(yutils.svg.getElement(imgs.share));\n\t\tsvgShare.click(function(event) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tvar popup = $(\"
\").appendTo(yasqe.buttons);\n\t\t\t\t$('html').click(function() {\n\t\t\t\t\tif (popup) popup.remove();\n\t\t\t\t});\n\n\t\t\t\tpopup.click(function(event) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t});\n\t\t\t\tvar $input = $(\"\").val(location.protocol + '//' + location.host + location.pathname + location.search + \"#\" + $.param(yasqe.options.createShareLink(yasqe)));\n\n\t\t\t\t$input.focus(function() {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\t$this.select();\n\n\t\t\t\t\t// Work around Chrome's little problem\n\t\t\t\t\t$this.mouseup(function() {\n\t\t\t\t\t\t// Prevent further mouseup intervention\n\t\t\t\t\t\t$this.unbind(\"mouseup\");\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tpopup.empty().append($('
', {class:'inputWrapper'}).append($input));\n\t\t\t\tif (yasqe.options.createShortLink) {\n\t\t\t\t\tpopup.addClass('enableShort');\n\t\t\t\t\t$('')\n\t\t\t\t\t\t.addClass('yasqe_btn yasqe_btn-sm yasqe_btn-primary')\n\t\t\t\t\t\t.click(function() {\n\t\t\t\t\t\t\t$(this).parent().find('button').attr('disabled', 'disabled');\n\t\t\t\t\t\t\tyasqe.options.createShortLink($input.val(), function(errString, shortLink) {\n\t\t\t\t\t\t\t\tif (errString) {\n\t\t\t\t\t\t\t\t\t$input.remove();\n\t\t\t\t\t\t\t\t\tpopup.find('.inputWrapper').append($('', {class:\"shortlinkErr\"}).text(errString));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$input.val(shortLink).focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}).appendTo(popup);\n\t\t\t\t}\n\t\t\t\t$('')\n\t\t\t\t\t.addClass('yasqe_btn yasqe_btn-sm yasqe_btn-primary')\n\t\t\t\t\t.click(function() {\n\n\t\t\t\t\t\t$(this).parent().find('button').attr('disabled', 'disabled');\n\t\t\t\t\t\t$input.val(root.getAsCurl(yasqe)).focus();\n\t\t\t\t\t}).appendTo(popup);\n\t\t\t\tvar positions = svgShare.position();\n\t\t\t\tpopup.css(\"top\", (positions.top + svgShare.outerHeight() + parseInt(popup.css('padding-top')) ) + \"px\").css(\"left\", ((positions.left + svgShare.outerWidth()) - popup.outerWidth()) + \"px\");\n\t\t\t\t$input.focus();\n\t\t\t})\n\t\t\t.addClass(\"yasqe_share\")\n\t\t\t.attr(\"title\", \"Share your query\")\n\t\t\t.appendTo(yasqe.buttons);\n\n\t}\n\n\n\t/**\n\t * draw fullscreen button\n\t */\n\n\tvar toggleFullscreen = $('
', {\n\t\t\tclass: 'fullscreenToggleBtns'\n\t\t})\n\t\t.append($(yutils.svg.getElement(imgs.fullscreen))\n\t\t\t.addClass(\"yasqe_fullscreenBtn\")\n\t\t\t.attr(\"title\", \"Set editor full screen\")\n\t\t\t.click(function() {\n\t\t\t\tyasqe.setOption(\"fullScreen\", true);\n\t\t\t}))\n\t\t.append($(yutils.svg.getElement(imgs.smallscreen))\n\t\t\t.addClass(\"yasqe_smallscreenBtn\")\n\t\t\t.attr(\"title\", \"Set editor to normale size\")\n\t\t\t.click(function() {\n\t\t\t\tyasqe.setOption(\"fullScreen\", false);\n\t\t\t}))\n\tyasqe.buttons.append(toggleFullscreen);\n\n\n\tif (yasqe.options.sparql.showQueryButton) {\n\t\t$(\"
\", {\n\t\t\t\tclass: 'yasqe_queryButton'\n\t\t\t})\n\t\t\t.click(function() {\n\t\t\t\tif ($(this).hasClass(\"query_busy\")) {\n\t\t\t\t\tif (yasqe.xhr) yasqe.xhr.abort();\n\t\t\t\t\troot.updateQueryButton(yasqe);\n\t\t\t\t} else {\n\t\t\t\t\tyasqe.query();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.appendTo(yasqe.buttons);\n\t\troot.updateQueryButton(yasqe);\n\t}\n\n};\n\n\nvar queryButtonIds = {\n\t\"busy\": \"loader\",\n\t\"valid\": \"query\",\n\t\"error\": \"queryInvalid\"\n};\n\n/**\n * Update the query button depending on current query status. If no query status is passed via the parameter, it auto-detects the current query status\n *\n * @param {doc} YASQE document\n * @param status {string|null, \"busy\"|\"valid\"|\"error\"}\n */\nroot.updateQueryButton = function(yasqe, status) {\n\tvar queryButton = $(yasqe.getWrapperElement()).find(\".yasqe_queryButton\");\n\tif (queryButton.length == 0) return; //no query button drawn\n\n\t//detect status\n\tif (!status) {\n\t\tstatus = \"valid\";\n\t\tif (yasqe.queryValid === false) status = \"error\";\n\t}\n\n\tif (status != yasqe.queryStatus) {\n\t\tqueryButton\n\t\t\t.empty()\n\t\t\t.removeClass(function(index, classNames) {\n\t\t\t\treturn classNames.split(\" \").filter(function(c) {\n\t\t\t\t\t//remove classname from previous status\n\t\t\t\t\treturn c.indexOf(\"query_\") == 0;\n\t\t\t\t}).join(\" \");\n\t\t\t});\n\n\t\tif (status == \"busy\") {\n\t\t\tqueryButton.append($('
', {\n\t\t\t\tclass: 'loader',\n\t\t\t}));\n\t\t\tyasqe.queryStatus = status;\n\t\t} else if (status == \"valid\" || status == \"error\") {\n\t\t\tqueryButton.addClass(\"query_\" + status);\n\t\t\tyutils.svg.draw(queryButton, imgs[queryButtonIds[status]]);\n\t\t\tyasqe.queryStatus = status;\n\t\t}\n\t}\n};\n/**\n * Initialize YASQE from an existing text area (see http://codemirror.net/doc/manual.html#fromTextArea for more info)\n *\n * @method YASQE.fromTextArea\n * @param textArea {DOM element}\n * @param config {object}\n * @returns {doc} YASQE document\n */\nroot.fromTextArea = function(textAreaEl, config) {\n\tconfig = extendConfig(config);\n\t//add yasqe div as parent (needed for styles to be manageable and scoped).\n\t//In this case, I -also- put it as parent el of the text area. This is wrapped in a div now\n\tvar rootEl = $(\"
\", {\n\t\tclass: 'yasqe'\n\t}).insertBefore($(textAreaEl)).append($(textAreaEl));\n\tvar yasqe = extendCmInstance(CodeMirror.fromTextArea(textAreaEl, config));\n\tpostProcessCmElement(yasqe);\n\treturn yasqe;\n};\n\n\nroot.storeQuery = function(yasqe) {\n\tvar storageId = utils.getPersistencyId(yasqe, yasqe.options.persistent);\n\tif (storageId) {\n\t\tyutils.storage.set(storageId, yasqe.getValue(), \"month\");\n\t}\n};\nroot.commentLines = function(yasqe) {\n\tvar startLine = yasqe.getCursor(true).line;\n\tvar endLine = yasqe.getCursor(false).line;\n\tvar min = Math.min(startLine, endLine);\n\tvar max = Math.max(startLine, endLine);\n\n\t// if all lines start with #, remove this char. Otherwise add this char\n\tvar linesAreCommented = true;\n\tfor (var i = min; i <= max; i++) {\n\t\tvar line = yasqe.getLine(i);\n\t\tif (line.length == 0 || line.substring(0, 1) != \"#\") {\n\t\t\tlinesAreCommented = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor (var i = min; i <= max; i++) {\n\t\tif (linesAreCommented) {\n\t\t\t// lines are commented, so remove comments\n\t\t\tyasqe.replaceRange(\"\", {\n\t\t\t\tline: i,\n\t\t\t\tch: 0\n\t\t\t}, {\n\t\t\t\tline: i,\n\t\t\t\tch: 1\n\t\t\t});\n\t\t} else {\n\t\t\t// Not all lines are commented, so add comments\n\t\t\tyasqe.replaceRange(\"#\", {\n\t\t\t\tline: i,\n\t\t\t\tch: 0\n\t\t\t});\n\t\t}\n\n\t}\n};\n\nroot.copyLineUp = function(yasqe) {\n\tvar cursor = yasqe.getCursor();\n\tvar lineCount = yasqe.lineCount();\n\t// First create new empty line at end of text\n\tyasqe.replaceRange(\"\\n\", {\n\t\tline: lineCount - 1,\n\t\tch: yasqe.getLine(lineCount - 1).length\n\t});\n\t// Copy all lines to their next line\n\tfor (var i = lineCount; i > cursor.line; i--) {\n\t\tvar line = yasqe.getLine(i - 1);\n\t\tyasqe.replaceRange(line, {\n\t\t\tline: i,\n\t\t\tch: 0\n\t\t}, {\n\t\t\tline: i,\n\t\t\tch: yasqe.getLine(i).length\n\t\t});\n\t}\n};\nroot.copyLineDown = function(yasqe) {\n\troot.copyLineUp(yasqe);\n\t// Make sure cursor goes one down (we are copying downwards)\n\tvar cursor = yasqe.getCursor();\n\tcursor.line++;\n\tyasqe.setCursor(cursor);\n};\nroot.doAutoFormat = function(yasqe) {\n\tif (yasqe.somethingSelected()) {\n\t\tvar to = {\n\t\t\tline: yasqe.getCursor(false).line,\n\t\t\tch: yasqe.getSelection().length\n\t\t};\n\t\tautoFormatRange(yasqe, yasqe.getCursor(true), to);\n\t} else {\n\t\tvar totalLines = yasqe.lineCount();\n\t\tvar totalChars = yasqe.getTextArea().value.length;\n\t\tautoFormatRange(yasqe, {\n\t\t\tline: 0,\n\t\t\tch: 0\n\t\t}, {\n\t\t\tline: totalLines,\n\t\t\tch: totalChars\n\t\t});\n\t}\n\n};\n\n\nvar autoFormatRange = function(yasqe, from, to) {\n\tvar absStart = yasqe.indexFromPos(from);\n\tvar absEnd = yasqe.indexFromPos(to);\n\t// Insert additional line breaks where necessary according to the\n\t// mode's syntax\n\tvar res = autoFormatLineBreaks(yasqe.getValue(), absStart, absEnd);\n\n\t// Replace and auto-indent the range\n\tyasqe.operation(function() {\n\t\tyasqe.replaceRange(res, from, to);\n\t\tvar startLine = yasqe.posFromIndex(absStart).line;\n\t\tvar endLine = yasqe.posFromIndex(absStart + res.length).line;\n\t\tfor (var i = startLine; i <= endLine; i++) {\n\t\t\tyasqe.indentLine(i, \"smart\");\n\t\t}\n\t});\n};\n\nvar autoFormatLineBreaks = function(text, start, end) {\n\ttext = text.substring(start, end);\n\tvar breakAfterArray = [\n\t\t[\"keyword\", \"ws\", \"prefixed\", \"ws\", \"uri\"], // i.e. prefix declaration\n\t\t[\"keyword\", \"ws\", \"uri\"] // i.e. base\n\t];\n\tvar breakAfterCharacters = [\"{\", \".\", \";\"];\n\tvar breakBeforeCharacters = [\"}\"];\n\tvar getBreakType = function(stringVal, type) {\n\t\tfor (var i = 0; i < breakAfterArray.length; i++) {\n\t\t\tif (stackTrace.valueOf().toString() == breakAfterArray[i].valueOf()\n\t\t\t\t.toString()) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0; i < breakAfterCharacters.length; i++) {\n\t\t\tif (stringVal == breakAfterCharacters[i]) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0; i < breakBeforeCharacters.length; i++) {\n\t\t\t// don't want to issue 'breakbefore' AND 'breakafter', so check\n\t\t\t// current line\n\t\t\tif ($.trim(currentLine) != '' && stringVal == breakBeforeCharacters[i]) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t};\n\tvar formattedQuery = \"\";\n\tvar currentLine = \"\";\n\tvar stackTrace = [];\n\tCodeMirror.runMode(text, \"sparql11\", function(stringVal, type) {\n\t\tstackTrace.push(type);\n\t\tvar breakType = getBreakType(stringVal, type);\n\t\tif (breakType != 0) {\n\t\t\tif (breakType == 1) {\n\t\t\t\tformattedQuery += stringVal + \"\\n\";\n\t\t\t\tcurrentLine = \"\";\n\t\t\t} else { // (-1)\n\t\t\t\tformattedQuery += \"\\n\" + stringVal;\n\t\t\t\tcurrentLine = stringVal;\n\t\t\t}\n\t\t\tstackTrace = [];\n\t\t} else {\n\t\t\tcurrentLine += stringVal;\n\t\t\tformattedQuery += stringVal;\n\t\t}\n\t\tif (stackTrace.length == 1 && stackTrace[0] == \"sp-ws\")\n\t\t\tstackTrace = [];\n\t});\n\treturn $.trim(formattedQuery.replace(/\\n\\s*\\n/g, '\\n'));\n};\n\nrequire('./sparql.js'),\n\trequire('./defaults.js');\nroot.$ = $;\nroot.version = {\n\t\"CodeMirror\": CodeMirror.version,\n\t\"YASQE\": require(\"../package.json\").version,\n\t\"jquery\": $.fn.jquery,\n\t\"yasgui-utils\": yutils.version\n};\n","var CodeMirror = (function(){try{return require('codemirror')}catch(e){return window.CodeMirror}})(),\n\ttokenUtils = require('./tokenUtils.js');\n\n\"use strict\";\nvar lookFor = \"PREFIX\";\nmodule.exports = {\n\tfindFirstPrefixLine: function(cm) {\n\t\tvar lastLine = cm.lastLine();\n\t\tfor (var i = 0; i <= lastLine; ++i) {\n\t\t\tif (findFirstPrefix(cm, i) >= 0) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction findFirstPrefix(cm, line, ch, lineText) {\n\tif (!ch) ch = 0;\n\tif (!lineText) lineText = cm.getLine(line);\n\tlineText = lineText.toUpperCase();\n\tfor (var at = ch, pass = 0;;) {\n\t\tvar found = lineText.indexOf(lookFor, at);\n\t\tif (found == -1) {\n\t\t\tif (pass == 1)\n\t\t\t\tbreak;\n\t\t\tpass = 1;\n\t\t\tat = lineText.length;\n\t\t\tcontinue;\n\t\t}\n\t\tif (pass == 1 && found < ch)\n\t\t\tbreak;\n\t\ttokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n\t\tif (!/^(comment|string)/.test(tokenType))\n\t\t\treturn found + 1;\n\t\tat = found - 1;\n\t}\n}\n\nCodeMirror.registerHelper(\"fold\", \"prefix\", function(cm, start) {\n\tvar line = start.line,\n\t\tlineText = cm.getLine(line);\n\n\tvar startCh, tokenType;\n\n\tfunction hasPreviousPrefix() {\n\t\tvar hasPreviousPrefix = false;\n\t\tfor (var i = line - 1; i >= 0; i--) {\n\t\t\tif (cm.getLine(i).toUpperCase().indexOf(lookFor) >= 0) {\n\t\t\t\thasPreviousPrefix = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn hasPreviousPrefix;\n\t}\n\n\n\tfunction findOpening(openCh) {\n\t\tfor (var at = start.ch, pass = 0;;) {\n\t\t\tvar found = at <= 0 ? -1 : lineText.lastIndexOf(openCh, at - 1);\n\t\t\tif (found == -1) {\n\t\t\t\tif (pass == 1)\n\t\t\t\t\tbreak;\n\t\t\t\tpass = 1;\n\t\t\t\tat = lineText.length;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (pass == 1 && found < start.ch)\n\t\t\t\tbreak;\n\t\t\ttokenType = cm.getTokenTypeAt(CodeMirror.Pos(line, found + 1));\n\t\t\tif (!/^(comment|string)/.test(tokenType))\n\t\t\t\treturn found + 1;\n\t\t\tat = found - 1;\n\t\t}\n\t}\n\tvar getLastPrefixPos = function(line, ch) {\n\t\tvar prefixKeywordToken = cm.getTokenAt(CodeMirror.Pos(line, ch + 1));\n\t\tif (!prefixKeywordToken || prefixKeywordToken.type != \"keyword\") return -1;\n\t\tvar prefixShortname = tokenUtils.getNextNonWsToken(cm, line, prefixKeywordToken.end + 1);\n\t\tif (!prefixShortname || prefixShortname.type != \"string-2\") return -1; //missing prefix keyword shortname\n\t\tvar prefixUri = tokenUtils.getNextNonWsToken(cm, line, prefixShortname.end + 1);\n\t\tif (!prefixUri || prefixUri.type != \"variable-3\") return -1; //missing prefix uri\n\t\treturn prefixUri.end;\n\t}\n\n\t//only use opening prefix declaration\n\tif (hasPreviousPrefix())\n\t\treturn;\n\tvar prefixStart = findFirstPrefix(cm, line, start.ch, lineText);\n\n\tif (prefixStart == null)\n\t\treturn;\n\tvar stopAt = '{'; //if this char is there, we won't have a chance of finding more prefixes\n\tvar stopAtNextLine = false;\n\tvar count = 1,\n\t\tlastLine = cm.lastLine(),\n\t\tend, endCh;\n\tvar prefixEndChar = getLastPrefixPos(line, prefixStart);\n\tvar prefixEndLine = line;\n\n\touter: for (var i = line; i <= lastLine; ++i) {\n\t\tif (stopAtNextLine)\n\t\t\tbreak;\n\t\tvar text = cm.getLine(i),\n\t\t\tpos = i == line ? prefixStart + 1 : 0;\n\n\t\tfor (;;) {\n\t\t\tif (!stopAtNextLine && text.indexOf(stopAt) >= 0)\n\t\t\t\tstopAtNextLine = true;\n\n\t\t\tvar nextPrefixDeclaration = text.toUpperCase()\n\t\t\t\t.indexOf(lookFor, pos);\n\n\t\t\tif (nextPrefixDeclaration >= 0) {\n\t\t\t\tif ((endCh = getLastPrefixPos(i, nextPrefixDeclaration)) > 0) {\n\t\t\t\t\tprefixEndChar = endCh;\n\t\t\t\t\tprefixEndLine = i;\n\t\t\t\t\tpos = prefixEndChar;\n\t\t\t\t}\n\t\t\t\tpos++;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tfrom: CodeMirror.Pos(line, prefixStart + lookFor.length),\n\t\tto: CodeMirror.Pos(prefixEndLine, prefixEndChar)\n\t};\n});","'use strict';\n/**\n * Append prefix declaration to list of prefixes in query window.\n * \n * @param yasqe\n * @param prefix\n */\nvar addPrefixes = function(yasqe, prefixes) {\n\tvar existingPrefixes = yasqe.getPrefixesFromQuery();\n\t//for backwards compatability, we stil support prefixes value as string (e.g. 'rdf: '\n\tif (typeof prefixes == \"string\") {\n\t\taddPrefixAsString(yasqe, prefixes);\n\t} else {\n\t\tfor (var pref in prefixes) {\n\t\t\tif (!(pref in existingPrefixes))\n\t\t\t\taddPrefixAsString(yasqe, pref + \": <\" + prefixes[pref] + \">\");\n\t\t}\n\t}\n\tyasqe.collapsePrefixes(false);\n};\n\nvar addPrefixAsString = function(yasqe, prefixString) {\n\tvar lastPrefix = null;\n\tvar lastPrefixLine = 0;\n\tvar numLines = yasqe.lineCount();\n\tfor (var i = 0; i < numLines; i++) {\n\t\tvar firstToken = yasqe.getNextNonWsToken(i);\n\t\tif (firstToken != null && (firstToken.string == \"PREFIX\" || firstToken.string == \"BASE\")) {\n\t\t\tlastPrefix = firstToken;\n\t\t\tlastPrefixLine = i;\n\t\t}\n\t}\n\n\tif (lastPrefix == null) {\n\t\tyasqe.replaceRange(\"PREFIX \" + prefixString + \"\\n\", {\n\t\t\tline: 0,\n\t\t\tch: 0\n\t\t});\n\t} else {\n\t\tvar previousIndent = getIndentFromLine(yasqe, lastPrefixLine);\n\t\tyasqe.replaceRange(\"\\n\" + previousIndent + \"PREFIX \" + prefixString, {\n\t\t\tline: lastPrefixLine\n\t\t});\n\t}\n\tyasqe.collapsePrefixes(false);\n};\nvar removePrefixes = function(yasqe, prefixes) {\n\tvar escapeRegex = function(string) {\n\t\t//taken from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript/3561711#3561711\n\t\treturn string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t}\n\tfor (var pref in prefixes) {\n\t\tyasqe.setValue(yasqe.getValue().replace(new RegExp(\"PREFIX\\\\s*\" + pref + \":\\\\s*\" + escapeRegex(\"<\" + prefixes[pref] + \">\") + \"\\\\s*\", \"ig\"), ''));\n\t}\n\tyasqe.collapsePrefixes(false);\n\n};\n\n/**\n * Get defined prefixes from query as array, in format {\"prefix:\" \"uri\"}\n * \n * @param cm\n * @returns {Array}\n */\nvar getPrefixesFromQuery = function(yasqe) {\n\tvar queryPrefixes = {};\n\tvar shouldContinue = true;\n\tvar getPrefixesFromLine = function(lineOffset, colOffset) {\n\t\tif (!shouldContinue) return;\n\t\tif (!colOffset) colOffset = 1;\n\t\tvar token = yasqe.getNextNonWsToken(i, colOffset);\n\t\tif (token) {\n\t\t\tif (token.state.possibleCurrent.indexOf(\"PREFIX\") == -1 && token.state.possibleNext.indexOf(\"PREFIX\") == -1) shouldContinue = false; //we are beyond the place in the query where we can enter prefixes\n\t\t\tif (token.string.toUpperCase() == \"PREFIX\") {\n\t\t\t\tvar prefix = yasqe.getNextNonWsToken(i, token.end + 1);\n\t\t\t\tif (prefix) {\n\t\t\t\t\tvar uri = yasqe.getNextNonWsToken(i, prefix.end + 1);\n\t\t\t\t\tif (uri) {\n\t\t\t\t\t\tvar uriString = uri.string;\n\t\t\t\t\t\tif (uriString.indexOf(\"<\") == 0)\n\t\t\t\t\t\t\turiString = uriString.substring(1);\n\t\t\t\t\t\tif (uriString.slice(-1) == \">\")\n\t\t\t\t\t\t\turiString = uriString\n\t\t\t\t\t\t\t.substring(0, uriString.length - 1);\n\t\t\t\t\t\tqueryPrefixes[prefix.string.slice(0, -1)] = uriString;\n\n\t\t\t\t\t\tgetPrefixesFromLine(lineOffset, uri.end + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetPrefixesFromLine(lineOffset, prefix.end + 1);\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\tgetPrefixesFromLine(lineOffset, token.end + 1);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tgetPrefixesFromLine(lineOffset, token.end + 1);\n\t\t\t}\n\t\t}\n\t};\n\n\n\tvar numLines = yasqe.lineCount();\n\tfor (var i = 0; i < numLines; i++) {\n\t\tif (!shouldContinue) break;\n\t\tgetPrefixesFromLine(i);\n\n\t}\n\treturn queryPrefixes;\n};\n\n/**\n * Get the used indentation for a certain line\n * \n * @param yasqe\n * @param line\n * @param charNumber\n * @returns\n */\nvar getIndentFromLine = function(yasqe, line, charNumber) {\n\tif (charNumber == undefined)\n\t\tcharNumber = 1;\n\tvar token = yasqe.getTokenAt({\n\t\tline: line,\n\t\tch: charNumber\n\t});\n\tif (token == null || token == undefined || token.type != \"ws\") {\n\t\treturn \"\";\n\t} else {\n\t\treturn token.string + getIndentFromLine(yasqe, line, token.end + 1);\n\t};\n};\n\nmodule.exports = {\n\taddPrefixes: addPrefixes,\n\tgetPrefixesFromQuery: getPrefixesFromQuery,\n\tremovePrefixes: removePrefixes\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})(),\n\tYASQE = require('./main.js');\n\nYASQE.getAjaxConfig = function(yasqe, callbackOrConfig) {\n\tvar callback = (typeof callbackOrConfig == \"function\" ? callbackOrConfig : null);\n\tvar config = (typeof callbackOrConfig == \"object\" ? callbackOrConfig : {});\n\n\tif (yasqe.options.sparql)\n\t\tconfig = $.extend({}, yasqe.options.sparql, config);\n\n\t//for backwards compatability, make sure we copy sparql handlers to sparql callbacks\n\tif (config.handlers)\n\t\t$.extend(true, config.callbacks, config.handlers);\n\n\t\n\tif (!config.endpoint || config.endpoint.length == 0)\n\t\treturn; // nothing to query!\n\n\t/**\n\t * initialize ajax config\n\t */\n\tvar ajaxConfig = {\n\t\turl: (typeof config.endpoint == \"function\" ? config.endpoint(yasqe) : config.endpoint),\n\t\ttype: (typeof config.requestMethod == \"function\" ? config.requestMethod(yasqe) : config.requestMethod),\n\t\theaders: {\n\t\t\tAccept: getAcceptHeader(yasqe, config),\n\t\t}\n\t};\n\tif (config.xhrFields) ajaxConfig.xhrFields = config.xhrFields;\n\t/**\n\t * add complete, beforesend, etc callbacks (if specified)\n\t */\n\tvar handlerDefined = false;\n\tif (config.callbacks) {\n\t\tfor (var handler in config.callbacks) {\n\t\t\tif (config.callbacks[handler]) {\n\t\t\t\thandlerDefined = true;\n\t\t\t\tajaxConfig[handler] = config.callbacks[handler];\n\t\t\t}\n\t\t}\n\t}\n\tajaxConfig.data = yasqe.getUrlArguments(config);\n\tif (!handlerDefined && !callback)\n\t\treturn; // ok, we can query, but have no callbacks. just stop now\n\n\t// if only callback is passed as arg, add that on as 'onComplete' callback\n\tif (callback)\n\t\tajaxConfig.complete = callback;\n\n\n\n\t/**\n\t * merge additional request headers\n\t */\n\tif (config.headers && !$.isEmptyObject(config.headers))\n\t\t$.extend(ajaxConfig.headers, config.headers);\n\n\n\tvar queryStart = new Date();\n\tvar updateYasqe = function() {\n\t\tyasqe.lastQueryDuration = new Date() - queryStart;\n\t\tYASQE.updateQueryButton(yasqe);\n\t\tyasqe.setBackdrop(false);\n\t};\n\t//Make sure the query button is updated again on complete\n\tvar completeCallbacks = [\n\t\tfunction(){require('./main.js').signal(yasqe, 'queryFinish', arguments)},\n\t\tupdateYasqe\n\t];\n\n\tif (ajaxConfig.complete) {\n\t\tcompleteCallbacks.push(ajaxConfig.complete);\n\t}\n\tajaxConfig.complete = completeCallbacks;\n\treturn ajaxConfig;\n};\n\n\n\nYASQE.executeQuery = function(yasqe, callbackOrConfig) {\n\tYASQE.signal(yasqe, 'query', yasqe, callbackOrConfig);\n\tYASQE.updateQueryButton(yasqe, \"busy\");\n\tyasqe.setBackdrop(true);\n\tyasqe.xhr = $.ajax(YASQE.getAjaxConfig(yasqe, callbackOrConfig));\n};\n\n\nYASQE.getUrlArguments = function(yasqe, config) {\n\tvar queryMode = yasqe.getQueryMode();\n\tvar data = [{\n\t\tname: yasqe.getQueryMode(), //either 'update' or 'query'\n\t\tvalue: (config.getQueryForAjax? config.getQueryForAjax(yasqe): yasqe.getValue())\n\t}];\n\n\t/**\n\t * add named graphs to ajax config\n\t */\n\tif (config.namedGraphs && config.namedGraphs.length > 0) {\n\t\tvar argName = (queryMode == \"query\" ? \"named-graph-uri\" : \"using-named-graph-uri \");\n\t\tfor (var i = 0; i < config.namedGraphs.length; i++)\n\t\t\tdata.push({\n\t\t\t\tname: argName,\n\t\t\t\tvalue: config.namedGraphs[i]\n\t\t\t});\n\t}\n\t/**\n\t * add default graphs to ajax config\n\t */\n\tif (config.defaultGraphs && config.defaultGraphs.length > 0) {\n\t\tvar argName = (queryMode == \"query\" ? \"default-graph-uri\" : \"using-graph-uri \");\n\t\tfor (var i = 0; i < config.defaultGraphs.length; i++)\n\t\t\tdata.push({\n\t\t\t\tname: argName,\n\t\t\t\tvalue: config.defaultGraphs[i]\n\t\t\t});\n\t}\n\n\t/**\n\t * add additional request args\n\t */\n\tif (config.args && config.args.length > 0) $.merge(data, config.args);\n\n\treturn data;\n}\nvar getAcceptHeader = function(yasqe, config) {\n\tvar acceptHeader = null;\n\tif (config.acceptHeader && !config.acceptHeaderGraph && !config.acceptHeaderSelect && !config.acceptHeaderUpdate) {\n\t\t//this is the old config. For backwards compatability, keep supporting it\n\t\tif (typeof config.acceptHeader == \"function\") {\n\t\t\tacceptHeader = config.acceptHeader(yasqe);\n\t\t} else {\n\t\t\tacceptHeader = config.acceptHeader;\n\t\t}\n\t} else {\n\t\tif (yasqe.getQueryMode() == \"update\") {\n\t\t\tacceptHeader = (typeof config.acceptHeader == \"function\" ? config.acceptHeaderUpdate(yasqe) : config.acceptHeaderUpdate);\n\t\t} else {\n\t\t\tvar qType = yasqe.getQueryType();\n\t\t\tif (qType == \"DESCRIBE\" || qType == \"CONSTRUCT\") {\n\t\t\t\tacceptHeader = (typeof config.acceptHeaderGraph == \"function\" ? config.acceptHeaderGraph(yasqe) : config.acceptHeaderGraph);\n\t\t\t} else {\n\t\t\t\tacceptHeader = (typeof config.acceptHeaderSelect == \"function\" ? config.acceptHeaderSelect(yasqe) : config.acceptHeaderSelect);\n\t\t\t}\n\t\t}\n\t}\n\treturn acceptHeader;\n};\n\nmodule.exports = {\n\tgetAjaxConfig: YASQE.getAjaxConfig\n}\n","'use strict';\n/**\n * When typing a query, this query is sometimes syntactically invalid, causing\n * the current tokens to be incorrect This causes problem for autocompletion.\n * http://bla might result in two tokens: http:// and bla. We'll want to combine\n * these\n * \n * @param yasqe {doc}\n * @param token {object}\n * @param cursor {object}\n * @return token {object}\n * @method YASQE.getCompleteToken\n */\nvar getCompleteToken = function(yasqe, token, cur) {\n\tif (!cur) {\n\t\tcur = yasqe.getCursor();\n\t}\n\tif (!token) {\n\t\ttoken = yasqe.getTokenAt(cur);\n\t}\n\tvar prevToken = yasqe.getTokenAt({\n\t\tline: cur.line,\n\t\tch: token.start\n\t});\n\t// not start of line, and not whitespace\n\tif (\n\t\tprevToken.type != null && prevToken.type != \"ws\" && token.type != null && token.type != \"ws\"\n\t) {\n\t\ttoken.start = prevToken.start;\n\t\ttoken.string = prevToken.string + token.string;\n\t\treturn getCompleteToken(yasqe, token, {\n\t\t\tline: cur.line,\n\t\t\tch: prevToken.start\n\t\t}); // recursively, might have multiple tokens which it should include\n\t} else if (token.type != null && token.type == \"ws\") {\n\t\t//always keep 1 char of whitespace between tokens. Otherwise, autocompletions might end up next to the previous node, without whitespace between them\n\t\ttoken.start = token.start + 1;\n\t\ttoken.string = token.string.substring(1);\n\t\treturn token;\n\t} else {\n\t\treturn token;\n\t}\n};\nvar getPreviousNonWsToken = function(yasqe, line, token) {\n\tvar previousToken = yasqe.getTokenAt({\n\t\tline: line,\n\t\tch: token.start\n\t});\n\tif (previousToken != null && previousToken.type == \"ws\") {\n\t\tpreviousToken = getPreviousNonWsToken(yasqe, line, previousToken);\n\t}\n\treturn previousToken;\n}\nvar getNextNonWsToken = function(yasqe, lineNumber, charNumber) {\n\tif (charNumber == undefined)\n\t\tcharNumber = 1;\n\tvar token = yasqe.getTokenAt({\n\t\tline: lineNumber,\n\t\tch: charNumber\n\t});\n\tif (token == null || token == undefined || token.end < charNumber) {\n\t\treturn null;\n\t}\n\tif (token.type == \"ws\") {\n\t\treturn getNextNonWsToken(yasqe, lineNumber, token.end + 1);\n\t}\n\treturn token;\n};\n\nmodule.exports = {\n\tgetPreviousNonWsToken: getPreviousNonWsToken,\n\tgetCompleteToken: getCompleteToken,\n\tgetNextNonWsToken: getNextNonWsToken,\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})(),\n\tutils = require('./utils.js');\n\n/**\n * Write our own tooltip, to avoid loading another library for just this functionality. For now, we only use tooltip for showing parse errors, so this is quite a tailored solution\n * Requirements: \n * \t\tposition tooltip within codemirror frame as much as possible, to avoid z-index issues with external things on page\n * \t\tuse html as content\n */\nmodule.exports = function(yasqe, parent, html) {\n\tvar parent = $(parent);\n\tvar tooltip;\n\tparent.hover(function() {\n\t\t\tif (typeof html == \"function\") html = html();\n\t\t\ttooltip = $(\"
\").addClass('yasqe_tooltip').html(html).appendTo(parent);\n\t\t\trepositionTooltip();\n\t\t},\n\t\tfunction() {\n\t\t\t$(\".yasqe_tooltip\").remove();\n\t\t});\n\n\n\n\t/**\n\t * only need to take into account top and bottom offset for this usecase\n\t */\n\tvar repositionTooltip = function() {\n\t\tif ($(yasqe.getWrapperElement()).offset().top >= tooltip.offset().top) {\n\t\t\t//shit, move the tooltip down. The tooltip now hovers over the top edge of the yasqe instance\n\t\t\ttooltip.css('bottom', 'auto');\n\t\t\ttooltip.css('top', '26px');\n\t\t}\n\t};\n};","'use strict';\nvar $ = (function(){try{return require('jquery')}catch(e){return window.jQuery}})();\n\nvar keyExists = function(objectToTest, key) {\n\tvar exists = false;\n\ttry {\n\t\tif (objectToTest[key] !== undefined)\n\t\t\texists = true;\n\t} catch (e) {}\n\treturn exists;\n};\n\nvar getPersistencyId = function(yasqe, persistentIdCreator) {\n\tvar persistencyId = null;\n\n\tif (persistentIdCreator) {\n\t\tif (typeof persistentIdCreator == \"string\") {\n\t\t\tpersistencyId = persistentIdCreator;\n\t\t} else {\n\t\t\tpersistencyId = persistentIdCreator(yasqe);\n\t\t}\n\t}\n\treturn persistencyId;\n};\n\nvar elementsOverlap = (function() {\n\tfunction getPositions(elem) {\n\t\tvar pos, width, height;\n\t\tpos = $(elem).offset();\n\t\twidth = $(elem).width();\n\t\theight = $(elem).height();\n\t\treturn [\n\t\t\t[pos.left, pos.left + width],\n\t\t\t[pos.top, pos.top + height]\n\t\t];\n\t}\n\n\tfunction comparePositions(p1, p2) {\n\t\tvar r1, r2;\n\t\tr1 = p1[0] < p2[0] ? p1 : p2;\n\t\tr2 = p1[0] < p2[0] ? p2 : p1;\n\t\treturn r1[1] > r2[0] || r1[0] === r2[0];\n\t}\n\n\treturn function(a, b) {\n\t\tvar pos1 = getPositions(a),\n\t\t\tpos2 = getPositions(b);\n\t\treturn comparePositions(pos1[0], pos2[0]) && comparePositions(pos1[1], pos2[1]);\n\t};\n})();\n\nmodule.exports = {\n\tkeyExists: keyExists,\n\tgetPersistencyId: getPersistencyId,\n\telementsOverlap: elementsOverlap,\n};"],"sourceRoot":"/source/"}