Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/buffer-equal/.travis.yml b/node_modules/buffer-equal/.travis.yml
new file mode 100644
index 0000000..dad2273
--- /dev/null
+++ b/node_modules/buffer-equal/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+  - 0.8
+  - "0.10"
diff --git a/node_modules/buffer-equal/LICENSE b/node_modules/buffer-equal/LICENSE
new file mode 100644
index 0000000..ee27ba4
--- /dev/null
+++ b/node_modules/buffer-equal/LICENSE
@@ -0,0 +1,18 @@
+This software is released under the MIT license:
+
+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/buffer-equal/README.markdown b/node_modules/buffer-equal/README.markdown
new file mode 100644
index 0000000..8c062fd
--- /dev/null
+++ b/node_modules/buffer-equal/README.markdown
@@ -0,0 +1,62 @@
+buffer-equal
+============
+
+Return whether two buffers are equal.
+
+[![build status](https://secure.travis-ci.org/substack/node-buffer-equal.png)](http://travis-ci.org/substack/node-buffer-equal)
+
+example
+=======
+
+``` js
+var bufferEqual = require('buffer-equal');
+
+console.dir(bufferEqual(
+    new Buffer([253,254,255]),
+    new Buffer([253,254,255])
+));
+console.dir(bufferEqual(
+    new Buffer('abc'),
+    new Buffer('abcd')
+));
+console.dir(bufferEqual(
+    new Buffer('abc'),
+    'abc'
+));
+```
+
+output:
+
+```
+true
+false
+undefined
+```
+
+methods
+=======
+
+``` js
+var bufferEqual = require('buffer-equal')
+```
+
+bufferEqual(a, b)
+-----------------
+
+Return whether the two buffers `a` and `b` are equal.
+
+If `a` or `b` is not a buffer, return `undefined`.
+
+install
+=======
+
+With [npm](http://npmjs.org) do:
+
+```
+npm install buffer-equal
+```
+
+license
+=======
+
+MIT
diff --git a/node_modules/buffer-equal/example/eq.js b/node_modules/buffer-equal/example/eq.js
new file mode 100644
index 0000000..1eb0509
--- /dev/null
+++ b/node_modules/buffer-equal/example/eq.js
@@ -0,0 +1,14 @@
+var bufferEqual = require('../');
+
+console.dir(bufferEqual(
+    new Buffer([253,254,255]),
+    new Buffer([253,254,255])
+));
+console.dir(bufferEqual(
+    new Buffer('abc'),
+    new Buffer('abcd')
+));
+console.dir(bufferEqual(
+    new Buffer('abc'),
+    'abc'
+));
diff --git a/node_modules/buffer-equal/index.js b/node_modules/buffer-equal/index.js
new file mode 100644
index 0000000..e640d4e
--- /dev/null
+++ b/node_modules/buffer-equal/index.js
@@ -0,0 +1,14 @@
+var Buffer = require('buffer').Buffer; // for use with browserify
+
+module.exports = function (a, b) {
+    if (!Buffer.isBuffer(a)) return undefined;
+    if (!Buffer.isBuffer(b)) return undefined;
+    if (typeof a.equals === 'function') return a.equals(b);
+    if (a.length !== b.length) return false;
+    
+    for (var i = 0; i < a.length; i++) {
+        if (a[i] !== b[i]) return false;
+    }
+    
+    return true;
+};
diff --git a/node_modules/buffer-equal/package.json b/node_modules/buffer-equal/package.json
new file mode 100644
index 0000000..e536d46
--- /dev/null
+++ b/node_modules/buffer-equal/package.json
@@ -0,0 +1,62 @@
+{
+  "_from": "buffer-equal@^1.0.0",
+  "_id": "buffer-equal@1.0.0",
+  "_inBundle": false,
+  "_integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
+  "_location": "/buffer-equal",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "buffer-equal@^1.0.0",
+    "name": "buffer-equal",
+    "escapedName": "buffer-equal",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/append-buffer"
+  ],
+  "_resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+  "_shasum": "59616b498304d556abd466966b22eeda3eca5fbe",
+  "_spec": "buffer-equal@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\append-buffer",
+  "author": {
+    "name": "James Halliday",
+    "email": "mail@substack.net",
+    "url": "http://substack.net"
+  },
+  "bugs": {
+    "url": "https://github.com/substack/node-buffer-equal/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "return whether two buffers are equal",
+  "devDependencies": {
+    "tap": "0.2.4"
+  },
+  "directories": {
+    "example": "example",
+    "test": "test"
+  },
+  "engines": {
+    "node": ">=0.4.0"
+  },
+  "homepage": "https://github.com/substack/node-buffer-equal#readme",
+  "keywords": [
+    "buffer",
+    "equal"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "buffer-equal",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/substack/node-buffer-equal.git"
+  },
+  "scripts": {
+    "test": "tap test/*.js"
+  },
+  "version": "1.0.0"
+}
diff --git a/node_modules/buffer-equal/test/eq.js b/node_modules/buffer-equal/test/eq.js
new file mode 100644
index 0000000..3d34006
--- /dev/null
+++ b/node_modules/buffer-equal/test/eq.js
@@ -0,0 +1,35 @@
+var bufferEqual = require('../');
+var test = require('tap').test;
+
+test('equal', function (t) {
+    var eq = bufferEqual(
+        new Buffer([253,254,255]),
+        new Buffer([253,254,255])
+    );
+    t.strictEqual(eq, true);
+    t.end();
+});
+
+test('not equal', function (t) {
+    var eq = bufferEqual(
+        new Buffer('abc'),
+        new Buffer('abcd')
+    );
+    t.strictEqual(eq, false);
+    t.end();
+});
+
+test('not equal not buffer', function (t) {
+    var eq = bufferEqual(
+        new Buffer('abc'),
+        'abc'
+    );
+    t.strictEqual(eq, undefined);
+    t.end();
+});
+
+test('equal not buffer', function (t) {
+    var eq = bufferEqual('abc', 'abc');
+    t.strictEqual(eq, undefined);
+    t.end();
+});