Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/path-dirname/index.js b/node_modules/path-dirname/index.js
new file mode 100644
index 0000000..ed67817
--- /dev/null
+++ b/node_modules/path-dirname/index.js
@@ -0,0 +1,143 @@
+'use strict';
+
+var path = require('path');
+var inspect = require('util').inspect;
+
+function assertPath(path) {
+  if (typeof path !== 'string') {
+    throw new TypeError('Path must be a string. Received ' + inspect(path));
+  }
+}
+
+function posix(path) {
+  assertPath(path);
+  if (path.length === 0)
+    return '.';
+  var code = path.charCodeAt(0);
+  var hasRoot = (code === 47/*/*/);
+  var end = -1;
+  var matchedSlash = true;
+  for (var i = path.length - 1; i >= 1; --i) {
+    code = path.charCodeAt(i);
+    if (code === 47/*/*/) {
+      if (!matchedSlash) {
+        end = i;
+        break;
+      }
+    } else {
+      // We saw the first non-path separator
+      matchedSlash = false;
+    }
+  }
+
+  if (end === -1)
+    return hasRoot ? '/' : '.';
+  if (hasRoot && end === 1)
+    return '//';
+  return path.slice(0, end);
+}
+
+function win32(path) {
+  assertPath(path);
+  var len = path.length;
+  if (len === 0)
+    return '.';
+  var rootEnd = -1;
+  var end = -1;
+  var matchedSlash = true;
+  var offset = 0;
+  var code = path.charCodeAt(0);
+
+  // Try to match a root
+  if (len > 1) {
+    if (code === 47/*/*/ || code === 92/*\*/) {
+      // Possible UNC root
+
+      rootEnd = offset = 1;
+
+      code = path.charCodeAt(1);
+      if (code === 47/*/*/ || code === 92/*\*/) {
+        // Matched double path separator at beginning
+        var j = 2;
+        var last = j;
+        // Match 1 or more non-path separators
+        for (; j < len; ++j) {
+          code = path.charCodeAt(j);
+          if (code === 47/*/*/ || code === 92/*\*/)
+            break;
+        }
+        if (j < len && j !== last) {
+          // Matched!
+          last = j;
+          // Match 1 or more path separators
+          for (; j < len; ++j) {
+            code = path.charCodeAt(j);
+            if (code !== 47/*/*/ && code !== 92/*\*/)
+              break;
+          }
+          if (j < len && j !== last) {
+            // Matched!
+            last = j;
+            // Match 1 or more non-path separators
+            for (; j < len; ++j) {
+              code = path.charCodeAt(j);
+              if (code === 47/*/*/ || code === 92/*\*/)
+                break;
+            }
+            if (j === len) {
+              // We matched a UNC root only
+              return path;
+            }
+            if (j !== last) {
+              // We matched a UNC root with leftovers
+
+              // Offset by 1 to include the separator after the UNC root to
+              // treat it as a "normal root" on top of a (UNC) root
+              rootEnd = offset = j + 1;
+            }
+          }
+        }
+      }
+    } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||
+               (code >= 97/*a*/ && code <= 122/*z*/)) {
+      // Possible device root
+
+      code = path.charCodeAt(1);
+      if (path.charCodeAt(1) === 58/*:*/) {
+        rootEnd = offset = 2;
+        if (len > 2) {
+          code = path.charCodeAt(2);
+          if (code === 47/*/*/ || code === 92/*\*/)
+            rootEnd = offset = 3;
+        }
+      }
+    }
+  } else if (code === 47/*/*/ || code === 92/*\*/) {
+    return path[0];
+  }
+
+  for (var i = len - 1; i >= offset; --i) {
+    code = path.charCodeAt(i);
+    if (code === 47/*/*/ || code === 92/*\*/) {
+      if (!matchedSlash) {
+        end = i;
+        break;
+      }
+    } else {
+      // We saw the first non-path separator
+      matchedSlash = false;
+    }
+  }
+
+  if (end === -1) {
+    if (rootEnd === -1)
+      return '.';
+    else
+      end = rootEnd;
+  }
+  return path.slice(0, end);
+}
+
+module.exports = process.platform === 'win32' ? win32 : posix;
+module.exports.posix = posix;
+module.exports.win32 = win32;
diff --git a/node_modules/path-dirname/license b/node_modules/path-dirname/license
new file mode 100644
index 0000000..1981663
--- /dev/null
+++ b/node_modules/path-dirname/license
@@ -0,0 +1,22 @@
+
+The MIT License (MIT)
+
+Copyright (c) Elan Shanker and Node.js contributors. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
diff --git a/node_modules/path-dirname/package.json b/node_modules/path-dirname/package.json
new file mode 100644
index 0000000..834b16a
--- /dev/null
+++ b/node_modules/path-dirname/package.json
@@ -0,0 +1,63 @@
+{
+  "_from": "path-dirname@^1.0.0",
+  "_id": "path-dirname@1.0.2",
+  "_inBundle": false,
+  "_integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+  "_location": "/path-dirname",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "path-dirname@^1.0.0",
+    "name": "path-dirname",
+    "escapedName": "path-dirname",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/glob-parent"
+  ],
+  "_resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+  "_shasum": "cc33d24d525e099a5388c0336c6e32b9160609e0",
+  "_spec": "path-dirname@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\glob-parent",
+  "author": {
+    "name": "Elan Shanker"
+  },
+  "bugs": {
+    "url": "https://github.com/es128/path-dirname/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Node.js path.dirname() ponyfill",
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/es128/path-dirname#readme",
+  "keywords": [
+    "dirname",
+    "dir",
+    "path",
+    "paths",
+    "file",
+    "built-in",
+    "util",
+    "utils",
+    "core",
+    "stdlib",
+    "ponyfill",
+    "polyfill",
+    "shim"
+  ],
+  "license": "MIT",
+  "name": "path-dirname",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/es128/path-dirname.git"
+  },
+  "scripts": {
+    "test": "node test.js"
+  },
+  "version": "1.0.2"
+}
diff --git a/node_modules/path-dirname/readme.md b/node_modules/path-dirname/readme.md
new file mode 100644
index 0000000..652a562
--- /dev/null
+++ b/node_modules/path-dirname/readme.md
@@ -0,0 +1,53 @@
+# path-dirname [![Build Status](https://travis-ci.org/es128/path-dirname.svg?branch=master)](https://travis-ci.org/es128/path-dirname)
+
+> Node.js [`path.dirname()`](https://nodejs.org/api/path.html#path_path_dirname_path) [ponyfill](https://ponyfill.com)
+
+This was needed in order to expose `path.posix.dirname()` on Node.js v0.10
+
+## Install
+
+```
+$ npm install --save path-dirname
+```
+
+
+## Usage
+
+```js
+const pathDirname = require('path-dirname');
+
+pathDirname('/home/foo');
+//=> '/home'
+pathDirname('C:\\Users\\foo');
+//=> 'C:\\Users'
+pathDirname('foo');
+//=> '.'
+pathDirname('foo/bar');
+//=> 'foo'
+
+//Using posix version for consistent output when dealing with glob escape chars
+pathDirname.win32('C:\\Users\\foo/\\*bar');
+//=> 'C:\\Users\\foo/'
+pathDirname.posix('C:\\Users\\foo/\\*bar');
+//=> 'C:\\Users\\foo'
+```
+
+
+## API
+
+See the [`path.dirname()` docs](https://nodejs.org/api/path.html#path_path_dirname_path).
+
+### pathDirname(path)
+
+### pathDirname.posix(path)
+
+POSIX specific version.
+
+### pathDirname.win32(path)
+
+Windows specific version.
+
+
+## License
+
+MIT