diff --git a/docs/introduction/performance-tests/user-location.md b/docs/introduction/performance-tests/user-location.md
new file mode 100644
index 000000000..e78682926
--- /dev/null
+++ b/docs/introduction/performance-tests/user-location.md
@@ -0,0 +1,106 @@
+# Routr 1.0RC3 - User Location Lookup Performance Tests
+
+Author:
+ Pedro Sanders
+
+
+ - Overview
+ - User Location Performance Tests
+
+ - New registrations
+ - Update registrations
+ - User location lookup
+
+ - Conclusions
+ - Notes
+ - References
+
+
+## Overview
+### Scope
+
+These tests were intended to show the performances of the User Location implementation in Routr 1.0RC3.
+These can be useful to help you better dimension your Routr installation. For these test the login module
+was deactivated. The network configuration used during the test is depicted in the following image:
+
+[Talk or show graphical configuration of the network]
+
+### Software
+
+As load generator (UAC side) it was used [SIPp docker](URL) image.
+
+[Explain the version of additional software. Include profiler and datasource]
+
+All used SIP-related software was configured to use TCP as the transport protocol for SIP.
+
+### Platform
+
+[Explain the hardware used on the load generator and DUT]
+
+Description of the elements used:
+
+Equipment #1 - [Processor], [Memory] with [Operating system] testing.
+Equipment #2 - [Processor], [Memory] with [Operating system] testing.
+Equipment #x - [Processor], [Memory] with [Operating system] testing.
+
+## Performance Tests
+
+Routr running without any special
+
+SIPp was used to generate [# of interaction] MESSAGE requests via Routr.
+The results reflect the capacity [General or sub topic] and speed (average response time).
+
+Flow
+SIP entities definition:
+
+UAC - [UAC]:5070
+UAS - [UAS]:5070
+Proxy - [PROXY_IP]:5060
+
+SIP messages flow for one complete transaction:
+
+```
+UAC ---> MESSAGE ---> Routr ---> MESSAGE ---> UAS
+UAC <--- 200 OK <--- Routr <--- 200 OK <--- UAS
+```
+
+[How many UACs were used to generate the traffic]
+
+Configuration
+SIPP command:
+
+```bash
+[Used SIPp command config ]
+```
+
+**Results**
+
+Results reported by SIPp on the UAC servers:
+
+| Factor | Value | Note |
+|---|---|---|
+| Iterations | 200000 | |
+| Max concurrent requests | 70 | |
+| Max allowed Rate | 10000 | requests per second |
+| Average Request Rate | 8047.966 | requests per second |
+| Failures | 0 | |
+| Retransmissions | 0 | |
+| Timeout | 0 | |
+| Elapsed Time | 00:00:24:851 | 00:00:24:851 |
+
+
+
+
+
+
+Routr config file:
+
+```yaml
+[Whatever config applies]
+```
+
+[Graphical results]
+
+3. Conclusions
+4. Notes
+5. References
diff --git a/libs/accessors-smart-1.2.jar b/libs/accessors-smart-1.2.jar
new file mode 100644
index 000000000..f4505e91d
Binary files /dev/null and b/libs/accessors-smart-1.2.jar differ
diff --git a/libs/argparse4j-0.8.1.jar b/libs/argparse4j-0.8.1.jar
new file mode 100644
index 000000000..b3039f4a3
Binary files /dev/null and b/libs/argparse4j-0.8.1.jar differ
diff --git a/libs/asm-6.2.1.jar b/libs/asm-6.2.1.jar
new file mode 100644
index 000000000..cc0079266
Binary files /dev/null and b/libs/asm-6.2.1.jar differ
diff --git a/libs/asm-analysis-6.2.1.jar b/libs/asm-analysis-6.2.1.jar
new file mode 100644
index 000000000..4e0f764e6
Binary files /dev/null and b/libs/asm-analysis-6.2.1.jar differ
diff --git a/libs/asm-commons-6.2.1.jar b/libs/asm-commons-6.2.1.jar
new file mode 100644
index 000000000..42cdfeeec
Binary files /dev/null and b/libs/asm-commons-6.2.1.jar differ
diff --git a/libs/asm-tree-6.2.1.jar b/libs/asm-tree-6.2.1.jar
new file mode 100644
index 000000000..9b17711de
Binary files /dev/null and b/libs/asm-tree-6.2.1.jar differ
diff --git a/libs/asm-util-6.2.1.jar b/libs/asm-util-6.2.1.jar
new file mode 100644
index 000000000..4930a397e
Binary files /dev/null and b/libs/asm-util-6.2.1.jar differ
diff --git a/libs/bson-3.7.1.jar b/libs/bson-3.7.1.jar
new file mode 100644
index 000000000..e198801f6
Binary files /dev/null and b/libs/bson-3.7.1.jar differ
diff --git a/libs/caffeine-2.7.0.jar b/libs/caffeine-2.7.0.jar
new file mode 100644
index 000000000..d5b0bbd29
Binary files /dev/null and b/libs/caffeine-2.7.0.jar differ
diff --git a/libs/checker-qual-2.6.0.jar b/libs/checker-qual-2.6.0.jar
new file mode 100644
index 000000000..1113b33da
Binary files /dev/null and b/libs/checker-qual-2.6.0.jar differ
diff --git a/libs/commons-codec-1.11.jar b/libs/commons-codec-1.11.jar
new file mode 100644
index 000000000..22451206d
Binary files /dev/null and b/libs/commons-codec-1.11.jar differ
diff --git a/libs/commons-io-2.6.jar b/libs/commons-io-2.6.jar
new file mode 100644
index 000000000..00556b119
Binary files /dev/null and b/libs/commons-io-2.6.jar differ
diff --git a/libs/commons-lang-2.6.jar b/libs/commons-lang-2.6.jar
new file mode 100644
index 000000000..98467d3a6
Binary files /dev/null and b/libs/commons-lang-2.6.jar differ
diff --git a/libs/commons-lang3-3.5.jar b/libs/commons-lang3-3.5.jar
new file mode 100644
index 000000000..6328c8de4
Binary files /dev/null and b/libs/commons-lang3-3.5.jar differ
diff --git a/libs/commons-logging-1.2.jar b/libs/commons-logging-1.2.jar
new file mode 100644
index 000000000..93a3b9f6d
Binary files /dev/null and b/libs/commons-logging-1.2.jar differ
diff --git a/libs/commons-net-3.6.jar b/libs/commons-net-3.6.jar
new file mode 100644
index 000000000..4537623ee
Binary files /dev/null and b/libs/commons-net-3.6.jar differ
diff --git a/libs/commons-pool2-2.4.2.jar b/libs/commons-pool2-2.4.2.jar
new file mode 100644
index 000000000..fdf8b6faa
Binary files /dev/null and b/libs/commons-pool2-2.4.2.jar differ
diff --git a/libs/error_prone_annotations-2.3.3.jar b/libs/error_prone_annotations-2.3.3.jar
new file mode 100644
index 000000000..8fe4938d9
Binary files /dev/null and b/libs/error_prone_annotations-2.3.3.jar differ
diff --git a/libs/graal-sdk-19.0.0.jar b/libs/graal-sdk-19.0.0.jar
new file mode 100644
index 000000000..45247e7e9
Binary files /dev/null and b/libs/graal-sdk-19.0.0.jar differ
diff --git a/libs/hamcrest-core-1.3.jar b/libs/hamcrest-core-1.3.jar
new file mode 100644
index 000000000..9d5fe16e3
Binary files /dev/null and b/libs/hamcrest-core-1.3.jar differ
diff --git a/libs/httpasyncclient-4.1.1.jar b/libs/httpasyncclient-4.1.1.jar
new file mode 100644
index 000000000..cfb54cd9c
Binary files /dev/null and b/libs/httpasyncclient-4.1.1.jar differ
diff --git a/libs/httpclient-4.5.2.jar b/libs/httpclient-4.5.2.jar
new file mode 100644
index 000000000..701609fcc
Binary files /dev/null and b/libs/httpclient-4.5.2.jar differ
diff --git a/libs/httpcore-4.4.4.jar b/libs/httpcore-4.4.4.jar
new file mode 100644
index 000000000..ac4a87730
Binary files /dev/null and b/libs/httpcore-4.4.4.jar differ
diff --git a/libs/httpcore-nio-4.4.4.jar b/libs/httpcore-nio-4.4.4.jar
new file mode 100644
index 000000000..dfed583fe
Binary files /dev/null and b/libs/httpcore-nio-4.4.4.jar differ
diff --git a/libs/httpmime-4.5.2.jar b/libs/httpmime-4.5.2.jar
new file mode 100644
index 000000000..474670a65
Binary files /dev/null and b/libs/httpmime-4.5.2.jar differ
diff --git a/libs/icu4j-62.1.jar b/libs/icu4j-62.1.jar
new file mode 100644
index 000000000..c9f8fa227
Binary files /dev/null and b/libs/icu4j-62.1.jar differ
diff --git a/libs/inamik-text-tables-0.1.jar b/libs/inamik-text-tables-0.1.jar
new file mode 100644
index 000000000..d267e22de
Binary files /dev/null and b/libs/inamik-text-tables-0.1.jar differ
diff --git a/libs/jackson-annotations-2.9.0.jar b/libs/jackson-annotations-2.9.0.jar
new file mode 100644
index 000000000..c602d75d4
Binary files /dev/null and b/libs/jackson-annotations-2.9.0.jar differ
diff --git a/libs/jackson-core-2.9.5.jar b/libs/jackson-core-2.9.5.jar
new file mode 100644
index 000000000..b70d1ef1a
Binary files /dev/null and b/libs/jackson-core-2.9.5.jar differ
diff --git a/libs/jackson-databind-2.9.5.jar b/libs/jackson-databind-2.9.5.jar
new file mode 100644
index 000000000..7a9515098
Binary files /dev/null and b/libs/jackson-databind-2.9.5.jar differ
diff --git a/libs/jackson-dataformat-yaml-2.9.5.jar b/libs/jackson-dataformat-yaml-2.9.5.jar
new file mode 100644
index 000000000..c8042576f
Binary files /dev/null and b/libs/jackson-dataformat-yaml-2.9.5.jar differ
diff --git a/libs/jain-sip-ri-1.3.0-91.jar b/libs/jain-sip-ri-1.3.0-91.jar
new file mode 100644
index 000000000..1e1b6b2e0
Binary files /dev/null and b/libs/jain-sip-ri-1.3.0-91.jar differ
diff --git a/libs/javax.activation-api-1.2.0.jar b/libs/javax.activation-api-1.2.0.jar
new file mode 100644
index 000000000..986c36509
Binary files /dev/null and b/libs/javax.activation-api-1.2.0.jar differ
diff --git a/libs/javax.servlet-api-3.1.0.jar b/libs/javax.servlet-api-3.1.0.jar
new file mode 100644
index 000000000..6b14c3d26
Binary files /dev/null and b/libs/javax.servlet-api-3.1.0.jar differ
diff --git a/libs/jaxb-api-2.4.0-b180830.0359.jar b/libs/jaxb-api-2.4.0-b180830.0359.jar
new file mode 100644
index 000000000..dcd345cf5
Binary files /dev/null and b/libs/jaxb-api-2.4.0-b180830.0359.jar differ
diff --git a/libs/jedis-2.9.0.jar b/libs/jedis-2.9.0.jar
new file mode 100644
index 000000000..f4d27d370
Binary files /dev/null and b/libs/jedis-2.9.0.jar differ
diff --git a/libs/jetty-client-9.4.15.v20190215.jar b/libs/jetty-client-9.4.15.v20190215.jar
new file mode 100644
index 000000000..2cb94ae35
Binary files /dev/null and b/libs/jetty-client-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-http-9.4.15.v20190215.jar b/libs/jetty-http-9.4.15.v20190215.jar
new file mode 100644
index 000000000..73bac0dc0
Binary files /dev/null and b/libs/jetty-http-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-io-9.4.15.v20190215.jar b/libs/jetty-io-9.4.15.v20190215.jar
new file mode 100644
index 000000000..7aeca583e
Binary files /dev/null and b/libs/jetty-io-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-security-9.4.15.v20190215.jar b/libs/jetty-security-9.4.15.v20190215.jar
new file mode 100644
index 000000000..06c0047d1
Binary files /dev/null and b/libs/jetty-security-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-server-9.4.15.v20190215.jar b/libs/jetty-server-9.4.15.v20190215.jar
new file mode 100644
index 000000000..86d06d84a
Binary files /dev/null and b/libs/jetty-server-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-servlet-9.4.15.v20190215.jar b/libs/jetty-servlet-9.4.15.v20190215.jar
new file mode 100644
index 000000000..abfb8badc
Binary files /dev/null and b/libs/jetty-servlet-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-util-9.4.15.v20190215.jar b/libs/jetty-util-9.4.15.v20190215.jar
new file mode 100644
index 000000000..682313e75
Binary files /dev/null and b/libs/jetty-util-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-webapp-9.4.15.v20190215.jar b/libs/jetty-webapp-9.4.15.v20190215.jar
new file mode 100644
index 000000000..3118ef889
Binary files /dev/null and b/libs/jetty-webapp-9.4.15.v20190215.jar differ
diff --git a/libs/jetty-xml-9.4.15.v20190215.jar b/libs/jetty-xml-9.4.15.v20190215.jar
new file mode 100644
index 000000000..e91078089
Binary files /dev/null and b/libs/jetty-xml-9.4.15.v20190215.jar differ
diff --git a/libs/jjwt-0.9.0.jar b/libs/jjwt-0.9.0.jar
new file mode 100644
index 000000000..d1804656e
Binary files /dev/null and b/libs/jjwt-0.9.0.jar differ
diff --git a/libs/js-19.0.0.jar b/libs/js-19.0.0.jar
new file mode 100644
index 000000000..8d14ee852
Binary files /dev/null and b/libs/js-19.0.0.jar differ
diff --git a/libs/json-20160212.jar b/libs/json-20160212.jar
new file mode 100644
index 000000000..21e09dbc2
Binary files /dev/null and b/libs/json-20160212.jar differ
diff --git a/libs/json-path-2.4.0.jar b/libs/json-path-2.4.0.jar
new file mode 100644
index 000000000..6229306b8
Binary files /dev/null and b/libs/json-path-2.4.0.jar differ
diff --git a/libs/json-schema-validator-0.1.19.jar b/libs/json-schema-validator-0.1.19.jar
new file mode 100644
index 000000000..d5f7110c3
Binary files /dev/null and b/libs/json-schema-validator-0.1.19.jar differ
diff --git a/libs/json-smart-2.3.jar b/libs/json-smart-2.3.jar
new file mode 100644
index 000000000..0cd52ea4b
Binary files /dev/null and b/libs/json-smart-2.3.jar differ
diff --git a/libs/junit-4.13-beta-3.jar b/libs/junit-4.13-beta-3.jar
new file mode 100644
index 000000000..636106df5
Binary files /dev/null and b/libs/junit-4.13-beta-3.jar differ
diff --git a/libs/jvm-npm.js b/libs/jvm-npm.js
new file mode 100644
index 000000000..150e3b390
--- /dev/null
+++ b/libs/jvm-npm.js
@@ -0,0 +1,285 @@
+/**
+ * Copyright 2014-2016 Red Hat, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License")
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Since we intend to use the Function constructor.
+/* jshint evil: true */
+
+module = (typeof module === 'undefined') ? {} : module;
+
+(function () {
+ var System = java.lang.System;
+ var Scanner = java.util.Scanner;
+ var File = java.io.File;
+
+ NativeRequire = (typeof NativeRequire === 'undefined') ? {} : NativeRequire;
+ if (typeof require === 'function' && !NativeRequire.require) {
+ NativeRequire.require = require;
+ }
+
+ function Module (id, parent, core) {
+ this.id = id;
+ this.core = core;
+ this.parent = parent;
+ this.children = [];
+ this.filename = id;
+ this.loaded = false;
+
+ Object.defineProperty(this, 'exports', {
+ get: function () {
+ return this._exports;
+ }.bind(this),
+ set: function (val) {
+ Require.cache[this.filename] = val;
+ this._exports = val;
+ }.bind(this)
+ });
+ this.exports = {};
+
+ if (parent && parent.children) parent.children.push(this);
+
+ this.require = function (id) {
+ return Require(id, this);
+ }.bind(this);
+ }
+
+ Module._load = function _load (file, parent, core, main) {
+ var module = new Module(file, parent, core);
+ var body = readFile(module.filename, module.core);
+ var dir = new File(module.filename).getParent();
+ var args = ['exports', 'module', 'require', '__filename', '__dirname'];
+ var func = new Function(args, body);
+ func.apply(module,
+ [module.exports, module, module.require, module.filename, dir]);
+ module.loaded = true;
+ module.main = main;
+ return module.exports;
+ };
+
+ Module.runMain = function runMain (main) {
+ var file = Require.resolve(main);
+ Module._load(file, undefined, false, true);
+ };
+
+ function Require (id, parent) {
+ var core;
+ var native_;
+ var file = Require.resolve(id, parent);
+
+ if (!file) {
+ if (typeof NativeRequire.require === 'function') {
+ if (Require.debug) {
+ System.out.println(['Cannot resolve', id, 'defaulting to native'].join(' '));
+ }
+ native_ = NativeRequire.require(id);
+ if (native_) return native_;
+ }
+ System.err.println('Cannot find module ' + id);
+ throw new ModuleError('Cannot find module ' + id, 'MODULE_NOT_FOUND');
+ }
+
+ if (file.core) {
+ file = file.path;
+ core = true;
+ }
+ try {
+ if (Require.cache[file]) {
+ return Require.cache[file];
+ } else if (file.endsWith('.js')) {
+ return Module._load(file, parent, core);
+ } else if (file.endsWith('.json')) {
+ return loadJSON(file);
+ }
+ } catch (ex) {
+ if (ex instanceof java.lang.Exception) {
+ throw new ModuleError('Cannot load module ' + id, 'LOAD_ERROR', ex);
+ } else {
+ System.out.println('Cannot load module ' + id + ' LOAD_ERROR');
+ throw ex;
+ }
+ }
+ }
+
+ Require.resolve = function (id, parent) {
+ var roots = findRoots(parent);
+ for (var i = 0; i < roots.length; ++i) {
+ var root = roots[i];
+ var result = resolveCoreModule(id, root) ||
+ resolveAsFile(id, root, '.js') ||
+ resolveAsFile(id, root, '.json') ||
+ resolveAsDirectory(id, root) ||
+ resolveAsNodeModule(id, root);
+ if (result) {
+ return result;
+ }
+ }
+ return false;
+ };
+
+ Require.root = System.getProperty('user.dir');
+ Require.NODE_PATH = undefined;
+
+ function findRoots (parent) {
+ var r = [];
+ r.push(findRoot(parent));
+ return r.concat(Require.paths());
+ }
+
+ function parsePaths (paths) {
+ if (!paths) {
+ return [];
+ }
+ if (paths === '') {
+ return [];
+ }
+ var osName = java.lang.System.getProperty('os.name').toLowerCase();
+ var separator;
+
+ if (osName.indexOf('win') >= 0) {
+ separator = ';';
+ } else {
+ separator = ':';
+ }
+
+ return paths.split(separator);
+ }
+
+ Require.paths = function () {
+ var r = [];
+ r.push(java.lang.System.getProperty('user.home') + '/.node_modules');
+ r.push(java.lang.System.getProperty('user.home') + '/.node_libraries');
+
+ if (Require.NODE_PATH) {
+ r = r.concat(parsePaths(Require.NODE_PATH));
+ } else {
+ var NODE_PATH = java.lang.System.getenv().NODE_PATH;
+ if (NODE_PATH) {
+ r = r.concat(parsePaths(NODE_PATH));
+ }
+ }
+ // r.push( $PREFIX + "/node/library" )
+ return r;
+ };
+
+ function findRoot (parent) {
+ if (!parent || !parent.id) { return Require.root; }
+ var pathParts = parent.id.split(/[\/|\\,]+/g);
+ pathParts.pop();
+ return pathParts.join('/');
+ }
+
+ Require.debug = true;
+ Require.cache = {};
+ Require.extensions = {};
+ require = Require;
+
+ module.exports = Module;
+
+ function loadJSON (file) {
+ var json = JSON.parse(readFile(file));
+ Require.cache[file] = json;
+ return json;
+ }
+
+ function resolveAsNodeModule (id, root) {
+ var base = [root, 'node_modules'].join('/');
+ return resolveAsFile(id, base) ||
+ resolveAsDirectory(id, base) ||
+ (root ? resolveAsNodeModule(id, new File(root).getParent()) : false);
+ }
+
+ function resolveAsDirectory (id, root) {
+ var base = [root, id].join('/');
+ var file = new File([base, 'package.json'].join('/'));
+ if (file.exists()) {
+ try {
+ var body = readFile(file.getCanonicalPath());
+ var package_ = JSON.parse(body);
+ if (package_.main) {
+ return (resolveAsFile(package_.main, base) ||
+ resolveAsDirectory(package_.main, base));
+ }
+ // if no package.main exists, look for index.js
+ return resolveAsFile('index.js', base);
+ } catch (ex) {
+ throw new ModuleError('Cannot load JSON file', 'PARSE_ERROR', ex);
+ }
+ }
+ return resolveAsFile('index.js', base);
+ }
+
+ function resolveAsFile (id, root, ext) {
+ var file;
+ if (id.length > 0 && id[0] === '/') {
+ file = new File(normalizeName(id, ext || '.js'));
+ if (!file.exists()) {
+ return resolveAsDirectory(id);
+ }
+ } else {
+ file = new File([root, normalizeName(id, ext || '.js')].join('/'));
+ }
+ if (file.exists()) {
+ return file.getCanonicalPath();
+ }
+ }
+
+ function resolveCoreModule (id, root) {
+ var name = normalizeName(id);
+ var classloader = java.lang.Thread.currentThread().getContextClassLoader();
+ if (classloader.getResource(name)) {
+ return { path: name, core: true };
+ }
+ }
+
+ function normalizeName (fileName, ext) {
+ var extension = ext || '.js';
+ if (fileName.endsWith(extension)) {
+ return fileName;
+ }
+ return fileName + extension;
+ }
+
+ function readFile (filename, core) {
+ var input;
+ try {
+ if (core) {
+ var classloader = java.lang.Thread.currentThread().getContextClassLoader();
+ input = classloader.getResourceAsStream(filename);
+ } else {
+ input = new File(filename);
+ }
+ // TODO: I think this is not very efficient
+ return new Scanner(input).useDelimiter('\\A').next();
+ } catch (e) {
+ throw new ModuleError('Cannot read file [' + input + ']: ', 'IO_ERROR', e);
+ }
+ }
+
+ function ModuleError (message, code, cause) {
+ this.code = code || 'UNDEFINED';
+ this.message = message || 'Error loading module';
+ this.cause = cause;
+ }
+
+ // Helper function until ECMAScript 6 is complete
+ if (typeof String.prototype.endsWith !== 'function') {
+ String.prototype.endsWith = function (suffix) {
+ if (!suffix) return false;
+ return this.indexOf(suffix, this.length - suffix.length) !== -1;
+ };
+ }
+
+ ModuleError.prototype = new Error();
+ ModuleError.prototype.constructor = ModuleError;
+}());
diff --git a/libs/jvm-profiler-master-SNAPSHOT.jar b/libs/jvm-profiler-master-SNAPSHOT.jar
new file mode 100644
index 000000000..e024a5e5b
Binary files /dev/null and b/libs/jvm-profiler-master-SNAPSHOT.jar differ
diff --git a/libs/log4j-1.2-api-2.11.0.jar b/libs/log4j-1.2-api-2.11.0.jar
new file mode 100644
index 000000000..1ca54c5b8
Binary files /dev/null and b/libs/log4j-1.2-api-2.11.0.jar differ
diff --git a/libs/log4j-1.2.17.jar b/libs/log4j-1.2.17.jar
new file mode 100644
index 000000000..1d425cf7d
Binary files /dev/null and b/libs/log4j-1.2.17.jar differ
diff --git a/libs/log4j-api-2.11.0.jar b/libs/log4j-api-2.11.0.jar
new file mode 100644
index 000000000..ac408c6fa
Binary files /dev/null and b/libs/log4j-api-2.11.0.jar differ
diff --git a/libs/log4j-core-2.11.0.jar b/libs/log4j-core-2.11.0.jar
new file mode 100644
index 000000000..a0b39ef28
Binary files /dev/null and b/libs/log4j-core-2.11.0.jar differ
diff --git a/libs/nashorn-promise-0.1.1.jar b/libs/nashorn-promise-0.1.1.jar
new file mode 100644
index 000000000..099ace405
Binary files /dev/null and b/libs/nashorn-promise-0.1.1.jar differ
diff --git a/libs/regex-19.0.0.jar b/libs/regex-19.0.0.jar
new file mode 100644
index 000000000..9de454537
Binary files /dev/null and b/libs/regex-19.0.0.jar differ
diff --git a/libs/routr.jar b/libs/routr.jar
new file mode 100644
index 000000000..9481c646c
Binary files /dev/null and b/libs/routr.jar differ
diff --git a/libs/slf4j-api-1.7.25.jar b/libs/slf4j-api-1.7.25.jar
new file mode 100644
index 000000000..0143c0996
Binary files /dev/null and b/libs/slf4j-api-1.7.25.jar differ
diff --git a/libs/slf4j-ext-1.7.25.jar b/libs/slf4j-ext-1.7.25.jar
new file mode 100644
index 000000000..8ae6aaad7
Binary files /dev/null and b/libs/slf4j-ext-1.7.25.jar differ
diff --git a/libs/slf4j-nop-1.7.25.jar b/libs/slf4j-nop-1.7.25.jar
new file mode 100644
index 000000000..7b704fa26
Binary files /dev/null and b/libs/slf4j-nop-1.7.25.jar differ
diff --git a/libs/snakeyaml-1.18.jar b/libs/snakeyaml-1.18.jar
new file mode 100644
index 000000000..e3fac8e78
Binary files /dev/null and b/libs/snakeyaml-1.18.jar differ
diff --git a/libs/spark-authentication-1.4.jar b/libs/spark-authentication-1.4.jar
new file mode 100644
index 000000000..f724f5d56
Binary files /dev/null and b/libs/spark-authentication-1.4.jar differ
diff --git a/libs/spark-core-2.9.0.jar b/libs/spark-core-2.9.0.jar
new file mode 100644
index 000000000..a6619e2a2
Binary files /dev/null and b/libs/spark-core-2.9.0.jar differ
diff --git a/libs/truffle-api-19.0.0.jar b/libs/truffle-api-19.0.0.jar
new file mode 100644
index 000000000..4dc5eb519
Binary files /dev/null and b/libs/truffle-api-19.0.0.jar differ
diff --git a/libs/unirest-java-1.4.9.jar b/libs/unirest-java-1.4.9.jar
new file mode 100644
index 000000000..59bb35799
Binary files /dev/null and b/libs/unirest-java-1.4.9.jar differ
diff --git a/libs/websocket-api-9.4.15.v20190215.jar b/libs/websocket-api-9.4.15.v20190215.jar
new file mode 100644
index 000000000..7748a2700
Binary files /dev/null and b/libs/websocket-api-9.4.15.v20190215.jar differ
diff --git a/libs/websocket-client-9.4.15.v20190215.jar b/libs/websocket-client-9.4.15.v20190215.jar
new file mode 100644
index 000000000..83fa3553c
Binary files /dev/null and b/libs/websocket-client-9.4.15.v20190215.jar differ
diff --git a/libs/websocket-common-9.4.15.v20190215.jar b/libs/websocket-common-9.4.15.v20190215.jar
new file mode 100644
index 000000000..97bb254ff
Binary files /dev/null and b/libs/websocket-common-9.4.15.v20190215.jar differ
diff --git a/libs/websocket-server-9.4.15.v20190215.jar b/libs/websocket-server-9.4.15.v20190215.jar
new file mode 100644
index 000000000..5c5ab7301
Binary files /dev/null and b/libs/websocket-server-9.4.15.v20190215.jar differ
diff --git a/libs/websocket-servlet-9.4.15.v20190215.jar b/libs/websocket-servlet-9.4.15.v20190215.jar
new file mode 100644
index 000000000..061b5b468
Binary files /dev/null and b/libs/websocket-servlet-9.4.15.v20190215.jar differ
diff --git a/mkdocs.yml b/mkdocs.yml
index 8cbfd4d49..055477970 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -19,6 +19,8 @@ nav:
- FAQ: introduction/faq.md
- Roadmap: introduction/roadmap.md
- Media: introduction/media.md
+ - Performance Tests:
+ - User Location: introduction/performance-tests/user-location.md
- Glossary: introduction/glossary.md
- Concepts: concepts.md
- Configuration: