From bbf5aa6899863f93758940a8fee715b63e141e8e Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 22 Jul 2016 20:06:11 +0200 Subject: [PATCH 01/13] documents view, now able to remove first filter element --- .../frontend/js/templates/documentsView.ejs | 14 ++++++---- .../APP/frontend/js/views/documentsView.js | 28 ++++++++++++++++++- .../APP/frontend/scss/_documentsView.scss | 2 +- .../APP/frontend/scss/_dropdowns.scss | 3 +- .../APP/frontend/scss/_screenSizes.scss | 5 +++- 5 files changed, 42 insertions(+), 10 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/documentsView.ejs b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/documentsView.ejs index 2c8697dfce..8e0b1507ed 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/documentsView.ejs +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/documentsView.ejs @@ -57,7 +57,12 @@
-
+
+ + + +
+
- - - - -
+ +
'); + '
'); this.filters[num] = true; + + this.checkFilterState(); }, filterValueKeydown: function (e) { @@ -445,6 +447,29 @@ } }, + checkFilterState: function () { + var length = $('#filterHeader .queryline').length; + + if (length === 1) { + $('#filterHeader .removeFilterItem').remove(); + } else { + if ($('#filterHeader .queryline').first().find('.removeFilterItem').length === 0) { + var id = $('#filterHeader .queryline').first().children().first().attr('id'); + var num = id.substr(14, id.length); + + $('#filterHeader .queryline').first().find('.add-filter-item').after( + ' ' + + ''); + } + } + + if ($('#filterHeader .queryline').first().find('.add-filter-item').length === 0) { + $('#filterHeader .queryline').first().find('.filterValue').after( + '' + ); + } + }, + removeFilterItem: function (e) { // removes line from the filter widget var button = e.currentTarget; @@ -456,6 +481,7 @@ // remove the line from the DOM $(button.parentElement).remove(); + this.checkFilterState(); }, removeAllFilterItems: function () { diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_documentsView.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_documentsView.scss index d1c7eff386..c2017343d4 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_documentsView.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_documentsView.scss @@ -153,7 +153,7 @@ } .add-filter-item { - margin-left: 5px; + margin-left: 4px; i { margin-top: 0 !important; diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_dropdowns.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_dropdowns.scss index 500b8938da..9f6cd7c92a 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_dropdowns.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_dropdowns.scss @@ -137,7 +137,8 @@ div.queryline { } .removeFilterItem i { - margin-left: 5px !important; + font-size: 16pt; + margin-left: 4px !important; margin-top: 0 !important; } diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss index 64e80c6feb..c5ac3b087c 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss @@ -401,5 +401,8 @@ } } -@media (min-width: 1042px) and (max-width: 1284px) { +@media (max-width: 1024px) { + #docsSort { + display: none; + } } From 8519b203c74cb2c4adca2cd7c99c119d30723d0b Mon Sep 17 00:00:00 2001 From: Heiko Date: Fri, 22 Jul 2016 20:35:33 +0200 Subject: [PATCH 02/13] Update ISSUE_TEMPLATE.md --- ISSUE_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 5f4116e06a..d79e33d2a4 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -44,6 +44,7 @@ Please provide a way to create the dataset to run the above query on; either by I'm using the web interface with this browser: running on this OS: - [ ] authentication is enabled? - [ ] using the cluster? +- [ ] _system database? These are the steps to reproduce: 1) open the browser on http://127.0.0.1:8529 From b74437716b0665ff8d9a0687ba78e25832a1a3ac Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 22 Jul 2016 20:36:54 +0200 Subject: [PATCH 03/13] fixed issue: #1881 --- .../queryManagementCollectionActive.js | 18 ++++++++++++--- .../queryManagementCollectionSlow.js | 23 +++++++++++++++---- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionActive.js b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionActive.js index d0a8f10f88..ce93f3461c 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionActive.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionActive.js @@ -1,18 +1,30 @@ /* jshint browser: true */ /* jshint unused: false */ -/* global window, Backbone, $, frontendConfig */ +/* global window, Backbone, arangoHelper, $, frontendConfig */ (function () { 'use strict'; window.QueryManagementActive = Backbone.Collection.extend({ model: window.queryManagementModel, url: function () { - return frontendConfig.basePath + '/_api/query/current'; + var url = frontendConfig.basePath + '/_api/query/current'; + + if (window.frontendConfig.db !== '_system') { + url = arangoHelper.databaseUrl('/_api/query/current'); + } + + return url; }, killRunningQuery: function (id, callback) { + var url = frontendConfig.basePath + '/_api/query/' + encodeURIComponent(id); + + if (window.frontendConfig.db !== '_system') { + url = arangoHelper.databaseUrl('/_api/query/' + encodeURIComponent(id)); + } + $.ajax({ - url: frontendConfig.basePath + '/_api/query/' + encodeURIComponent(id), + url: url, type: 'DELETE', success: function (result) { callback(); diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionSlow.js b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionSlow.js index b87f009d18..4047e7cf93 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionSlow.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/collections/queryManagementCollectionSlow.js @@ -1,21 +1,36 @@ /* jshint browser: true */ /* jshint unused: false */ -/* global window, Backbone, $ */ +/* global window, Backbone, arangoHelper, frontendConfig, $ */ (function () { 'use strict'; window.QueryManagementSlow = Backbone.Collection.extend({ model: window.queryManagementModel, - url: '/_api/query/slow', + + url: function () { + var url = frontendConfig.basePath + '/_api/query/slow'; + + if (window.frontendConfig.db !== '_system') { + url = arangoHelper.databaseUrl('/_api/query/slow'); + } + + return url; + }, deleteSlowQueryHistory: function (callback) { - var self = this; + var url = frontendConfig.basePath + '/_api/query/slow'; + + if (window.frontendConfig.db !== '_system') { + url = arangoHelper.databaseUrl('/_api/query/slow'); + } + $.ajax({ - url: self.url, + url: url, type: 'DELETE', success: function (result) { callback(); } }); } + }); }()); From 7924ce27ab39257a7910ba15cac4c92a9ede832c Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 22 Jul 2016 21:06:45 +0200 Subject: [PATCH 04/13] version check improved --- .../aardvark/APP/frontend/js/routers/versionCheck.js | 4 +++- .../system/_admin/aardvark/APP/frontend/scss/_navbar.scss | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/routers/versionCheck.js b/js/apps/system/_admin/aardvark/APP/frontend/js/routers/versionCheck.js index 7d851f2f0d..6754bb7613 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/routers/versionCheck.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/routers/versionCheck.js @@ -137,7 +137,9 @@ success: function (data) { var currentVersion = window.versionHelper.fromString(data.version); - $('.navbar #currentVersion').text(' ' + data.version.substr(0, 3)); + $('.navbar #currentVersion').html( + ' ' + data.version.substr(0, 5) + '' + ); window.parseVersions = function (json) { if (_.isEmpty(json)) { diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_navbar.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_navbar.scss index 90e94a23a5..c18ae08272 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_navbar.scss +++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_navbar.scss @@ -175,6 +175,7 @@ $navbar-size: 150px; font-weight: 100; left: 0; padding-bottom: 10px; + padding-left: 5px; position: absolute; text-align: center; text-transform: uppercase; @@ -184,6 +185,13 @@ $navbar-size: 150px; color: $c-warning; font-weight: 400; + i { + font-size: 9pt; + margin-left: 5px; + margin-top: 3px; + position: absolute; + } + &:hover { cursor: pointer; } From b605b4b3951c4fabfc9bcb6d98d33b00be87d109 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Fri, 22 Jul 2016 21:32:42 +0200 Subject: [PATCH 05/13] updated font awesome to version 4.6.3 --- .../fonts/fontawesome/FontAwesome.otf | Bin 106260 -> 124988 bytes .../fonts/fontawesome/fontawesome-webfont.eot | Bin 68875 -> 76518 bytes .../fonts/fontawesome/fontawesome-webfont.svg | 101 +++++++++++++----- .../fonts/fontawesome/fontawesome-webfont.ttf | Bin 138204 -> 152796 bytes .../fontawesome/fontawesome-webfont.woff | Bin 81284 -> 90412 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 64464 -> 71896 bytes 6 files changed, 73 insertions(+), 28 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/FontAwesome.otf b/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/FontAwesome.otf index 681bdd4d4c8dddbaeb4d4f2a1f58c38cad92afe0..d4de13e832d567ff29c5b4e9561b8c370348cc9c 100644 GIT binary patch delta 65213 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 z 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

38I9jOPP;3oUARtQ}%u~s2Ssq;$J?I+ep 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%0DyT{kunD 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⋙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

7r8$?kb-D3z%-c} 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 F002TuuHFCu diff --git a/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.svg b/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.svg index 6fd19abcb9..8b66187fe0 100755 --- a/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.svg +++ b/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.svg @@ -1,6 +1,6 @@ - + @@ -169,7 +169,7 @@ - + @@ -178,7 +178,7 @@ - + @@ -219,8 +219,8 @@ - - + + @@ -362,8 +362,8 @@ - - + + @@ -410,7 +410,7 @@ - + @@ -454,7 +454,7 @@ - + @@ -484,7 +484,7 @@ - + @@ -555,7 +555,7 @@ - + @@ -600,11 +600,11 @@ - - + + - + @@ -621,20 +621,65 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.ttf b/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.ttf index d7994e13086b1ac1a216bd754c93e1bccd65f237..f221e50a2ef60738ba30932d834530cdfe55cb3e 100755 GIT binary patch delta 21287 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 delta 6618 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 fn2X|3He7Dq6OZnb*2f0)7dL#Sz$w8jTd diff --git a/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.woff b/js/apps/system/_admin/aardvark/APP/frontend/fonts/fontawesome/fontawesome-webfont.woff index 6fd4ede0f30f170eecb4156beb7235bf01fff00b..6e7483cf61b490c08ed644d6ef802c69472eb247 100755 GIT binary patch literal 90412 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%0Ded40&XED0GYFoIh+AV*?9!MR5pBW?X_8Bp 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 IH>08b4`|GD*#H0l literal 81284 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äY>7uxS6S37IVP_>DW-kg%dn+sFHLnFhvXTU%&ox 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≠dR0E9ICQ{-tcR;@{R^I5P#1GUH!p=-{c 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 literal 64464 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 o-IM%8o*ehr=#Iq=Q0BvwUBdJ3D Date: Fri, 22 Jul 2016 21:46:36 +0200 Subject: [PATCH 06/13] improved code modal output --- .../APP/frontend/js/templates/queryView.ejs | 14 +++++++------- .../_admin/aardvark/APP/frontend/scss/_modals.scss | 4 ++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/queryView.ejs b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/queryView.ejs index bf04fc64af..b2dc5a501c 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/queryView.ejs +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/queryView.ejs @@ -66,13 +66,13 @@ Format: -

JSON documents embedded into a list:

-

-

[{

-

"name": "Query Name",

-

"value": "Query Definition",

-

"parameter": "Query Bind Parameter as Object"

-

}]

+
JSON documents embedded into a list:
+
+[{
+  "name": "Query Name",
+  "value": "Query Definition",
+  "parameter": "Query Bind Parameter as Object"
+}]
             
           
           
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss
index 2e7d694acf..b726c663bb 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss
+++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_modals.scss
@@ -332,6 +332,10 @@
     width: 20px;
   }
 
+  pre {
+    margin-right: 20px;
+    margin-top: 20px;
+  }
 }
 
 .modal-text {

From fe4268b759477b0802c07cb3397ed9a4bb130ee8 Mon Sep 17 00:00:00 2001
From: hkernbach 
Date: Fri, 22 Jul 2016 22:12:27 +0200
Subject: [PATCH 07/13] fixed landscape smartphone navigation bug, improved
 login screen css

---
 .../_admin/aardvark/APP/frontend/js/routers/router.js    | 3 +++
 .../aardvark/APP/frontend/js/views/navigationView.js     | 9 +++++++++
 .../system/_admin/aardvark/APP/frontend/scss/_login.scss | 5 ++++-
 .../_admin/aardvark/APP/frontend/scss/_screenSizes.scss  | 5 +++++
 4 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/routers/router.js b/js/apps/system/_admin/aardvark/APP/frontend/js/routers/router.js
index 2b5c2621f6..f8d97a55d7 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/js/routers/router.js
+++ b/js/apps/system/_admin/aardvark/APP/frontend/js/routers/router.js
@@ -889,6 +889,9 @@
       if (this.queryView) {
         this.queryView.resize();
       }
+      if (this.naviView) {
+        this.naviView.resize();
+      }
       if (this.graphViewer2) {
         this.graphViewer2.resize();
       }
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/navigationView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/navigationView.js
index 529d1054c5..92089e5a42 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/navigationView.js
+++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/navigationView.js
@@ -105,9 +105,18 @@
         });
       }
 
+      self.resize();
+
       return this;
     },
 
+    resize: function () {
+      // set menu sizes - responsive
+      var height = $(window).height() - $('.subMenuEntries').first().height();
+      $('#navigationBar').css('min-height', height);
+      $('#navigationBar').css('height', height);
+    },
+
     navigateBySelect: function () {
       var navigateTo = $('#arangoCollectionSelect').find('option:selected').val();
       window.App.navigate(navigateTo, {trigger: true});
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_login.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_login.scss
index 875ec0288c..7197085c39 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_login.scss
+++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_login.scss
@@ -92,8 +92,11 @@
 
   .wrong-credentials {
     color: $c-negative;
-    margin-top: -30px;
+    margin-left: -20px;
+    margin-top: -24px;
+    position: absolute;
     text-align: center;
+    width: 100%;
   }
 
   .login-space {
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss
index c5ac3b087c..5d31db5939 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss
+++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_screenSizes.scss
@@ -4,6 +4,11 @@
   .social-icons {
     display: none;
   }
+
+  #navigationBar {
+    overflow: scroll;
+    overflow-x: hidden !important;
+  }
 }
 
 @media (max-height: 525px) {

From 2b0ce1b892c2de70582f667768707704243e0ea6 Mon Sep 17 00:00:00 2001
From: hkernbach 
Date: Fri, 22 Jul 2016 22:13:27 +0200
Subject: [PATCH 08/13] improved gv

---
 .../system/_admin/aardvark/APP/aardvark.js    | 22 +++++--
 .../js/templates/graphSettingsView.ejs        |  7 +-
 .../frontend/js/views/graphSettingsView.js    | 64 +++++++++++++------
 .../APP/frontend/js/views/graphViewer2.js     | 28 ++++++--
 .../APP/frontend/scss/_graphViewer2.scss      | 11 ++++
 5 files changed, 98 insertions(+), 34 deletions(-)

diff --git a/js/apps/system/_admin/aardvark/APP/aardvark.js b/js/apps/system/_admin/aardvark/APP/aardvark.js
index 39540f715f..37665297e8 100644
--- a/js/apps/system/_admin/aardvark/APP/aardvark.js
+++ b/js/apps/system/_admin/aardvark/APP/aardvark.js
@@ -385,12 +385,22 @@ authRouter.get('/graph/:name', function (req, res) {
 
     _.each(obj.edges, function (edge) {
       if (edge._to && edge._from) {
-        if (config.edgeLabel) {
+        if (config.edgeLabelByCollection === 'true') {
+          edgeLabel = edge._id.split('/')[0];
+        } else if (config.edgeLabel) {
           // configure edge labels
-          edgeLabel = edge[config.edgeLabel];
 
-          if (edgeLabel) {
-            edgeLabel = edgeLabel.toString();
+          if (config.edgeLabel.indexOf('.') > -1) {
+            edgeLabel = getAttributeByKey(edge, config.edgeLabel);
+            if (nodeLabel === undefined || nodeLabel === '') {
+              edgeLabel = edgeLabel._id;
+            }
+          } else {
+            edgeLabel = edge[config.edgeLabel];
+          }
+
+          if (typeof edgeLabel !== 'string') {
+            edgeLabel = JSON.stringify(edgeLabel);
           }
 
           if (!edgeLabel) {
@@ -437,7 +447,9 @@ authRouter.get('/graph/:name', function (req, res) {
     var nodeSize;
     var nodeObj;
     _.each(obj.vertices, function (node) {
-      if (config.nodeLabel) {
+      if (config.nodeLabelByCollection === 'true') {
+        nodeLabel = node._id.split('/')[0];
+      } else if (config.nodeLabel) {
         if (config.nodeLabel.indexOf('.') > -1) {
           nodeLabel = getAttributeByKey(node, config.nodeLabel);
           if (nodeLabel === undefined || nodeLabel === '') {
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/graphSettingsView.ejs b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/graphSettingsView.ejs
index 4b9e8d4f9a..7b7218842f 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/js/templates/graphSettingsView.ejs
+++ b/js/apps/system/_admin/aardvark/APP/frontend/js/templates/graphSettingsView.ejs
@@ -44,11 +44,11 @@
               <% } %>
 
               <% if (val.type === 'range') { %>
-                
+                
+                
               <% } %>
 
               <% if (val.type === 'color') { %>
-              <% console.log(VALUE); %>
                 
               <% } %>
 
@@ -95,7 +95,8 @@
                 <% } %>
 
                 <% if (val.type === 'range') { %>
-                  
+                  
+                  
                 <% } %>
 
                 <% if (val.type === 'select') { %>
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphSettingsView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphSettingsView.js
index 356aca1e8b..f1c9cc3b0a 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphSettingsView.js
+++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphSettingsView.js
@@ -73,6 +73,19 @@
         desc: 'Node label. Please choose a valid and available node attribute.',
         default: '_key'
       },
+      'nodeLabelByCollection': {
+        type: 'select',
+        name: 'Label by coll?',
+        desc: 'Set label text by collection. If activated node label attribute will be ignored.',
+        no: {
+          name: 'No',
+          val: 'false'
+        },
+        yes: {
+          name: 'Yes',
+          val: 'true'
+        }
+      },
       'nodeLabelThreshold': {
         type: 'range',
         name: 'Label threshold',
@@ -117,6 +130,19 @@
         name: 'Label',
         desc: 'Default edge label.'
       },
+      'edgeLabelByCollection': {
+        type: 'select',
+        name: 'Label by coll?',
+        desc: 'Set label text by collection. If activated edge label attribute will be ignored.',
+        no: {
+          name: 'No',
+          val: 'false'
+        },
+        yes: {
+          name: 'Yes',
+          val: 'true'
+        }
+      },
       'edgeLabelThreshold': {
         type: 'range',
         name: 'Label threshold',
@@ -248,25 +274,19 @@
       if (overwrite) {
         config[combinedName] = overwrite;
       } else {
-        config[combinedName] = {
-          layout: $('#g_layout').val(),
-          renderer: $('#g_renderer').val(),
-          depth: $('#g_depth').val(),
-          nodeColor: $('#g_nodeColor').val(),
-          nodeColorAttribute: $('#g_nodeColorAttribute').val(),
-          nodeColorByCollection: $('#g_nodeColorByCollection').val(),
-          nodeLabelThreshold: $('#g_nodeLabelThreshold').val(),
-          edgeColor: $('#g_edgeColor').val(),
-          edgeColorAttribute: $('#g_edgeColorAttribute').val(),
-          edgeColorByCollection: $('#g_edgeColorByCollection').val(),
-          edgeLabelThreshold: $('#g_edgeLabelThreshold').val(),
-          nodeLabel: $('#g_nodeLabel').val(),
-          edgeLabel: $('#g_edgeLabel').val(),
-          edgeType: $('#g_edgeType').val(),
-          nodeSize: $('#g_nodeSize').val(),
-          edgeEditable: $('#g_edgeEditable').val(),
-          nodeStart: $('#g_nodeStart').val()
-        };
+        var object = {};
+
+        var id;
+        $('#graphSettingsView select').each(function (key, elem) {
+          id = elem.id;
+          object[id.substr(2, elem.id.length)] = $(elem).val();
+        });
+        $('#graphSettingsView input').each(function (key, elem) {
+          id = elem.id;
+          object[id.substr(2, elem.id.length)] = $(elem).val();
+        });
+
+        config[combinedName] = object;
       }
 
       if (nodeStart) {
@@ -306,6 +326,8 @@
         edgeType: 'line',
         nodeSize: '',
         edgeEditable: 'false',
+        nodeLabelByCollection: 'false',
+        edgeLabelByCollection: 'false',
         nodeStart: ''
       };
       this.saveGraphSettings(null, null, null, obj);
@@ -345,6 +367,10 @@
         _.each(this.graphConfig, function (val, key) {
           $('#g_' + key).val(val);
         });
+
+        // range customization
+        $('#g_nodeLabelThreshold_label').text(this.graphConfig.nodeLabelThreshold);
+        $('#g_edgeLabelThreshold_label').text(this.graphConfig.edgeLabelThreshold);
       } else {
         this.setDefaults();
       }
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphViewer2.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphViewer2.js
index 68d0ef45f3..6c81f8f374 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphViewer2.js
+++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/graphViewer2.js
@@ -574,7 +574,11 @@
           }
 
           // rerender graph
-          sigma.canvas.edges.autoCurve(self.currentGraph);
+          if (this.graphConfig) {
+            if (this.graphConfig.edgeType === 'curve') {
+              sigma.canvas.edges.autoCurve(self.currentGraph);
+            }
+          }
           self.currentGraph.refresh();
         } else {
           arangoHelper.arangoError('Graph', 'Could not create edge.');
@@ -1070,6 +1074,10 @@
       if (this.graphConfig) {
         if (this.graphConfig.edgeType) {
           settings.defaultEdgeType = this.graphConfig.edgeType;
+
+          if (this.graphConfig.edgeType === 'arrow') {
+            settings.minArrowSize = 7;
+          }
         }
 
         if (this.graphConfig.nodeLabelThreshold) {
@@ -1140,7 +1148,11 @@
       // for canvas renderer allow graph editing
       if (renderer === 'canvas') {
         // render parallel edges
-        sigma.canvas.edges.autoCurve(s);
+        if (this.graphConfig) {
+          if (this.graphConfig.edgeType === 'curve') {
+            sigma.canvas.edges.autoCurve(s);
+          }
+        }
         s.refresh();
 
         if (!self.aqlMode) {
@@ -1218,11 +1230,13 @@
           });
         }
 
-        if (this.graphConfig.edgeEditable) {
-          s.bind('rightClickEdge', function (e) {
-            var edgeId = e.data.edge.id;
-            self.createEdgeContextMenu(edgeId, e);
-          });
+        if (this.graphConfig) {
+          if (this.graphConfig.edgeEditable) {
+            s.bind('rightClickEdge', function (e) {
+              var edgeId = e.data.edge.id;
+              self.createEdgeContextMenu(edgeId, e);
+            });
+          }
         }
 
         s.bind('doubleClickNode', function (e) {
diff --git a/js/apps/system/_admin/aardvark/APP/frontend/scss/_graphViewer2.scss b/js/apps/system/_admin/aardvark/APP/frontend/scss/_graphViewer2.scss
index b83bd9671b..92935e4db4 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/scss/_graphViewer2.scss
+++ b/js/apps/system/_admin/aardvark/APP/frontend/scss/_graphViewer2.scss
@@ -121,6 +121,10 @@
       height: 40px;
     }
 
+    .pure-u-1-3 {
+      line-height: 30px;
+    }
+
     .pure-u-2-3 {
       text-align: right;
     }
@@ -131,6 +135,13 @@
       margin-bottom: 15px;
     }
 
+    .rangeLabel {
+      float: left;
+      margin-left: 4px;
+      margin-top: 5px;
+      position: relative;
+    }
+
   }
 
   .pure-table {

From c4d623001ce19408dc4ba69982782375522d68c4 Mon Sep 17 00:00:00 2001
From: hkernbach 
Date: Fri, 22 Jul 2016 23:42:51 +0200
Subject: [PATCH 09/13] grunt build [ci skip]

---
 .../aardvark/APP/frontend/build/app.min.js    |  18 +++----
 .../aardvark/APP/frontend/build/app.min.js.gz | Bin 132868 -> 133355 bytes
 .../APP/frontend/build/index-min.html         |  44 ++++++++++--------
 .../APP/frontend/build/index-min.html.gz      | Bin 31750 -> 31731 bytes
 .../APP/frontend/build/style-minified.css     |   2 +-
 .../APP/frontend/build/style-minified.css.gz  | Bin 49049 -> 49124 bytes
 .../aardvark/APP/frontend/build/style.css.gz  | Bin 57658 -> 57847 bytes
 7 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js
index 5bbfbd0254..d94d07f217 100644
--- a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js
+++ b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js
@@ -3,12 +3,12 @@ url:j+"/edges/"+a,data:JSON.stringify(b),success:c});$.ajax(d)},del:function(a,b
 type:"decission",id:"collections",group:"loadtype",text:"Select existing collections",isDefault:void 0===b.getGraphName(),interior:[{type:"list",id:"node_collection",text:"Vertex collection",objects:f,selected:b.getNodeCollection()},{type:"list",id:"edge_collection",text:"Edge collection",objects:g,selected:b.getEdgeCollection()}]},{type:"decission",id:"graphs",group:"loadtype",text:"Select existing graph",isDefault:void 0!==b.getGraphName(),interior:[{type:"list",id:"graph",objects:h,selected:b.getGraphName()}]},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0},{type:"checkbox",id:"undirected",selected:"any"===b.getDirection()}],function(){var a=$("#"+e+"node_collection").children("option").filter(":selected").text(),d=$("#"+e+"edge_collection").children("option").filter(":selected").text(),f=$("#"+e+"graph").children("option").filter(":selected").text(),g=!!$("#"+e+"undirected").prop("checked"),h=!!$("#"+e+"random").prop("checked"),i=$("input[type='radio'][name='loadtype']:checked").prop("id");return i===e+"collections"?b.changeToCollections(a,d,g):b.changeToGraph(f,g),h?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e=(b.getPrioList(),"Group vertices");uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e,d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];a.each(function(a,b){var d=$(b).val();""!==d&&c.push(d)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeCollections(),this.addControlChangePriority()}}function ContextMenu(a){"use strict";if(void 0===a)throw"An id has to be given.";var b,c,d="#"+a,e=function(a,d){var e,f;e=document.createElement("div"),e.className="context-menu-item",f=document.createElement("div"),f.className="context-menu-item-inner",f.appendChild(document.createTextNode(a)),f.onclick=function(){d(d3.select(c.target).data()[0])},e.appendChild(f),b.appendChild(e)},f=function(a){c=$.contextMenu.create(d,{shadow:!1}),a.each(function(){$(this).bind("contextmenu",function(a){return c.show(this,a),!1})})},g=function(){return b=document.getElementById(a),b&&b.parentElement.removeChild(b),b=document.createElement("div"),b.className="context-menu context-menu-theme-osx",b.id=a,document.body.appendChild(b),b};g(),this.addEntry=e,this.bindMenu=f}function EdgeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The EdgeShaper has to be given.";var c=this;this.addControlOpticShapeNone=function(){var c="control_edge_none";uiComponentsHelper.createButton(a,"None",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.NONE}})})},this.addControlOpticShapeArrow=function(){var c="control_edge_arrow";uiComponentsHelper.createButton(a,"Arrow",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.ARROW}})})},this.addControlOpticLabel=function(){var c="control_edge_label",d=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalDialog("Switch Label Attribute",d,[{type:"text",id:"key",text:"Edge label attribute",value:b.getLabel()}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({label:a})})})},this.addControlOpticLabelList=function(){var d="control_edge_label",e=d+"_";uiComponentsHelper.createButton(a,"Configure Label",d,function(){modalDialogHelper.createModalDialog("Change Label Attribute",e,[{type:"extendable",id:"label",text:"Edge label attribute",objects:b.getLabel()}],function(){var a=$("input[id^="+e+"label_]"),d=[];a.each(function(a,b){var c=$(b).val();""!==c&&d.push(c)});var f={label:d};c.applyLocalStorage(f),b.changeTo(f)})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.hasOwnProperty("edgeShaper")||(b[e].viewer.edgeShaper={}),b[e].viewer.edgeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticSingleColour=function(){var c="control_edge_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"stroke"}],function(){var a=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",stroke:a}})})})},this.addControlOpticAttributeColour=function(){var c="control_edge_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticGradientColour=function(){var c="control_edge_gradientcolour",d=c+"_";uiComponentsHelper.createButton(a,"Gradient Colour",c,function(){modalDialogHelper.createModalDialog("Change colours for gradient",d,[{type:"text",id:"source"},{type:"text",id:"target"}],function(){var a=$("#"+d+"source").attr("value"),c=$("#"+d+"target").attr("value");b.changeTo({color:{type:"gradient",source:a,target:c}})})})},this.addAllOptics=function(){c.addControlOpticShapeNone(),c.addControlOpticShapeArrow(),c.addControlOpticLabel(),c.addControlOpticSingleColour(),c.addControlOpticAttributeColour(),c.addControlOpticGradientColour()},this.addAllActions=function(){},this.addAll=function(){c.addAllOptics(),c.addAllActions()}}function EventDispatcherControls(a,b,c,d,e){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";if(void 0===c)throw"The EdgeShaper has to be given.";if(void 0===d)throw"The Start callback has to be given.";var f=this,g={expand:{icon:"hand-pointer-o",title:"Expand a node."},add:{icon:"plus-square",title:"Add a node."},trash:{icon:"minus-square",title:"Remove a node/edge."},drag:{icon:"hand-rock-o",title:"Drag a node."},edge:{icon:"external-link-square",title:"Create an edge between two nodes."},edit:{icon:"pencil-square",title:"Edit attributes of a node."},view:{icon:"search",title:"View attributes of a node."}},h=new EventDispatcher(b,c,e),i=e.edgeEditor.adapter,j=!!i&&_.isFunction(i.useNodeCollection)&&_.isFunction(i.useEdgeCollection),k=function(b){a.appendChild(b)},l=function(a,b,c){var d=uiComponentsHelper.createIconButton(a,"control_event_"+b,c);k(d)},m=function(a){h.rebind("nodes",a)},n=function(a){h.rebind("edges",a)},o=function(a){h.rebind("svg",a)},p=function(a){var b=a||window.event,c={};return c.x=b.clientX,c.y=b.clientY,c.x+=document.body.scrollLeft,c.y+=document.body.scrollTop,c},q=function(a){var b,c,d,e=p(a),f=$("svg#graphViewerSVG").offset();return b=d3.select("svg#graphViewerSVG").node(),d=b.getBoundingClientRect(),$("svg#graphViewerSVG").height()<=d.height?{x:e.x-f.left,y:e.y-f.top}:(c=b.getBBox(),{x:e.x-(d.left-c.x),y:e.y-(d.top-c.y)})},r={nodes:{},edges:{},svg:{}},s=function(){var a="control_event_new_node",c=a+"_",e=function(a){var e=q(a);modalDialogHelper.createModalCreateDialog("Create New Node",c,{},function(a){h.events.CREATENODE(a,function(a){$("#"+c+"modal").modal("hide"),b.reshapeNodes(),d()},e.x,e.y)()})};r.nodes.newNode=e},t=function(){var a=function(a){modalDialogHelper.createModalViewDialog("View Node "+a._id,"control_event_node_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Node "+a._id,"control_event_node_edit_",a._data,function(b){h.events.PATCHNODE(a,b,function(){$("#control_event_node_edit_modal").modal("hide")})()})})},b=function(a){modalDialogHelper.createModalViewDialog("View Edge "+a._id,"control_event_edge_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Edge "+a._id,"control_event_edge_edit_",a._data,function(b){h.events.PATCHEDGE(a,b,function(){$("#control_event_edge_edit_modal").modal("hide")})()})})};r.nodes.view=a,r.edges.view=b},u=function(){var a=h.events.STARTCREATEEDGE(function(a,b){var d=q(b),e=c.addAnEdgeFollowingTheCursor(d.x,d.y);h.bind("svg","mousemove",function(a){var b=q(a);e(b.x,b.y)})}),b=h.events.FINISHCREATEEDGE(function(a){c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){}),d()}),e=function(){h.events.CANCELCREATEEDGE(),c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){})};r.nodes.startEdge=a,r.nodes.endEdge=b,r.svg.cancelEdge=e},v=function(){var a=function(a){arangoHelper.openDocEditor(a._id,"document")},b=function(a){arangoHelper.openDocEditor(a._id,"edge")};r.nodes.edit=a,r.edges.edit=b},w=function(){var a=function(a){modalDialogHelper.createModalDeleteDialog("Delete Node "+a._id,"control_event_node_delete_",a,function(a){h.events.DELETENODE(function(){$("#control_event_node_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})},e=function(a){modalDialogHelper.createModalDeleteDialog("Delete Edge "+a._id,"control_event_edge_delete_",a,function(a){h.events.DELETEEDGE(function(){$("#control_event_edge_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})};r.nodes.del=a,r.edges.del=e},x=function(){r.nodes.spot=h.events.EXPAND};s(),t(),u(),v(),w(),x(),this.dragRebinds=function(){return{nodes:{drag:h.events.DRAG}}},this.newNodeRebinds=function(){return{svg:{click:r.nodes.newNode}}},this.viewRebinds=function(){return{nodes:{click:r.nodes.view},edges:{click:r.edges.view}}},this.connectNodesRebinds=function(){return{nodes:{mousedown:r.nodes.startEdge,mouseup:r.nodes.endEdge},svg:{mouseup:r.svg.cancelEdge}}},this.editRebinds=function(){return{nodes:{click:r.nodes.edit},edges:{click:r.edges.edit}}},this.expandRebinds=function(){return{nodes:{click:r.nodes.spot}}},this.deleteRebinds=function(){return{nodes:{click:r.nodes.del},edges:{click:r.edges.del}}},this.rebindAll=function(a){m(a.nodes),n(a.edges),o(a.svg)},b.addMenuEntry("Edit",r.nodes.edit),b.addMenuEntry("Spot",r.nodes.spot),b.addMenuEntry("Trash",r.nodes.del),c.addMenuEntry("Edit",r.edges.edit),c.addMenuEntry("Trash",r.edges.del),this.addControlNewNode=function(){var a=g.add,b="select_node_collection",c=function(){j&&i.getNodeCollections().length>1&&modalDialogHelper.createModalDialog("Select Vertex Collection",b,[{type:"list",id:"vertex",objects:i.getNodeCollections(),text:"Select collection",selected:i.getSelectedNodeCollection()}],function(){var a=$("#"+b+"vertex").children("option").filter(":selected").text();i.useNodeCollection(a)},"Select"),f.rebindAll(f.newNodeRebinds())};l(a,"new_node",c)},this.addControlView=function(){var a=g.view,b=function(){f.rebindAll(f.viewRebinds())};l(a,"view",b)},this.addControlDrag=function(){var a=g.drag,b=function(){f.rebindAll(f.dragRebinds())};l(a,"drag",b)},this.addControlEdit=function(){var a=g.edit,b=function(){f.rebindAll(f.editRebinds())};l(a,"edit",b)},this.addControlExpand=function(){var a=g.expand,b=function(){f.rebindAll(f.expandRebinds())};l(a,"expand",b)},this.addControlDelete=function(){var a=g.trash,b=function(){f.rebindAll(f.deleteRebinds())};l(a,"delete",b)},this.addControlConnect=function(){var a=g.edge,b="select_edge_collection",c=function(){j&&i.getEdgeCollections().length>1&&modalDialogHelper.createModalDialog("Select Edge Collection",b,[{type:"list",id:"edge",objects:i.getEdgeCollections(),text:"Select collection",selected:i.getSelectedEdgeCollection()}],function(){var a=$("#"+b+"edge").children("option").filter(":selected").text();i.useEdgeCollection(a)},"Select"),f.rebindAll(f.connectNodesRebinds())};l(a,"connect",c)},this.addAll=function(){f.addControlExpand(),f.addControlDrag(),f.addControlEdit(),f.addControlConnect(),f.addControlNewNode(),f.addControlDelete()}}function GharialAdapterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The GharialAdapter has to be given.";this.addControlChangeGraph=function(c){var d="control_adapter_graph",e=d+"_";b.getGraphs(function(f){uiComponentsHelper.createButton(a,"Switch Graph",d,function(){modalDialogHelper.createModalDialog("Switch Graph",e,[{type:"list",id:"graph",objects:f,text:"Select graph",selected:b.getGraphName()},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0}],function(){var a=$("#"+e+"graph").children("option").filter(":selected").text(),d=!!$("#"+e+"undirected").prop("checked"),f=!!$("#"+e+"random").prop("checked");return b.changeToGraph(a,d),f?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e="Group vertices";uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e+" by attribute",d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];_.each(a,function(a){var b=$(a).val();""!==b&&c.push(b)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeGraph(),this.addControlChangePriority()}}function GraphViewerPreview(a,b){"use strict";var c,d,e,f,g,h,i,j=function(){return d3.select(a).append("svg").attr("id","graphViewerSVG").attr("width",d).attr("height",e).attr("class","graph-viewer").attr("style","width:"+d+"px;height:"+e+";")},k=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},l=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},m=function(a){if(a){var b={};a.drag&&l(b,i.dragRebinds()),a.create&&(l(b,i.newNodeRebinds()),l(b,i.connectNodesRebinds())),a.remove&&l(b,i.deleteRebinds()),a.expand&&l(b,i.expandRebinds()),a.edit&&l(b,i.editRebinds()),i.rebindAll(b)}},n=function(b){var c=document.createElement("div");i=new EventDispatcherControls(c,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig),c.id="toolbox",c.className="btn-group btn-group-vertical pull-left toolbox",a.appendChild(c),_.each(b,function(a,b){switch(b){case"expand":i.addControlExpand();break;case"create":i.addControlNewNode(),i.addControlConnect();break;case"drag":i.addControlDrag();break;case"edit":i.addControlEdit();break;case"remove":i.addControlDelete()}})},o=function(a){var b=document.createElement("div");i=new EventDispatcherControls(b,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig)},p=function(){b&&(b.nodeShaper&&(b.nodeShaper.label&&(b.nodeShaper.label="label"),b.nodeShaper.shape&&b.nodeShaper.shape.type===NodeShaper.shapes.IMAGE&&b.nodeShaper.shape.source&&(b.nodeShaper.shape.source="image")),b.edgeShaper&&b.edgeShaper.label&&(b.edgeShaper.label="label"))},q=function(){return p(),new GraphViewer(c,d,e,h,b)};d=a.getBoundingClientRect().width,e=a.getBoundingClientRect().height,h={type:"preview"},b=b||{},g=k(b.toolbox),g&&(d-=43),c=j(),f=q(),g?n(b.toolbox):o(),f.loadGraph("1"),m(b.actions)}function GraphViewerUI(a,b,c,d,e,f){"use strict";if(void 0===a)throw"A parent element has to be given.";if(!a.id)throw"The parent element needs an unique id.";if(void 0===b)throw"An adapter configuration has to be given";var g,h,i,j,k,l,m,n,o,p=c+20||a.getBoundingClientRect().width-81+20,q=d||a.getBoundingClientRect().height,r=document.createElement("ul"),s=document.createElement("div"),t=function(){g.adapter.NODES_TO_DISPLAYGraph too big. A random section is rendered.
'),$(".infoField .fa-info-circle").attr("title","You can display additional/other vertices by using the toolbar buttons.").tooltip())},u=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},n=function(){$(s).css("cursor","")},o=function(a){return n(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""===a.value||void 0===a.value?g.loadGraph(i.value,o):g.loadGraphWithAttributeValue(a.value,i.value,o)};b.id="filterDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),m=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",m.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(m),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(m).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Filter graph by attribute:",b.appendChild(q),b.appendChild(c),b},v=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},m=function(){$(s).css("cursor","")},o=function(a){return m(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""!==a.value&&g.loadGraphWithAdditionalNode(a.value,i.value,o)};b.id="nodeDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),n=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle2",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",n.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(n),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),C(n),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(n).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Add specific node by attribute:",b.appendChild(q),b.appendChild(c),b},w=function(){var a,b,c,d,e,f,g,h;return a=document.createElement("div"),a.id="configureDropdown",a.className="headerDropdown",b=document.createElement("div"),b.className="dropdownInner",c=document.createElement("ul"),d=document.createElement("li"),d.className="nav-header",d.appendChild(document.createTextNode("Vertices")),g=document.createElement("ul"),h=document.createElement("li"),h.className="nav-header",h.appendChild(document.createTextNode("Edges")),e=document.createElement("ul"),f=document.createElement("li"),f.className="nav-header",f.appendChild(document.createTextNode("Connection")),c.appendChild(d),g.appendChild(h),e.appendChild(f),b.appendChild(c),b.appendChild(g),b.appendChild(e),a.appendChild(b),{configure:a,nodes:c,edges:g,col:e}},x=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;return a.className="headerButtonBar",e=document.createElement("ul"),e.className="headerButtonList",a.appendChild(e),g=document.createElement("li"),g.className="enabled",h=document.createElement("a"),h.id=b,h.className="headerButton",i=document.createElement("span"),i.className="icon_arangodb_settings2",$(i).attr("title","Configure"),e.appendChild(g),g.appendChild(h),h.appendChild(i),j=document.createElement("li"),j.className="enabled",k=document.createElement("a"),k.id=d,k.className="headerButton",l=document.createElement("span"),l.className="fa fa-search-plus",$(l).attr("title","Show additional vertices"),e.appendChild(j),j.appendChild(k),k.appendChild(l),m=document.createElement("li"),m.className="enabled",n=document.createElement("a"),n.id=c,n.className="headerButton",o=document.createElement("span"),o.className="icon_arangodb_filter",$(o).attr("title","Filter"),e.appendChild(m),m.appendChild(n),n.appendChild(o),f=w(),f.filter=u(),f.node=v(),h.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#configuredropdown").toggleClass("activated"),$(f.configure).slideToggle(200),$(f.filter).hide(),$(f.node).hide()},k.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#configuredropdown").removeClass("activated"),$("#nodedropdown").toggleClass("activated"),$(f.node).slideToggle(200),$(f.filter).hide(),$(f.configure).hide()},n.onclick=function(){$("#configuredropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#filterdropdown").toggleClass("activated"),$(f.filter).slideToggle(200),$(f.node).hide(),$(f.configure).hide()},f},y=function(){return d3.select("#"+a.id+" #background").append("svg").attr("id","graphViewerSVG").attr("width",p).attr("height",q).attr("class","graph-viewer").style("width",p+"px").style("height",q+"px")},z=function(){var a=document.createElement("div"),b=document.createElement("div"),c=document.createElement("button"),d=document.createElement("button"),e=document.createElement("button"),f=document.createElement("button");a.className="gv_zoom_widget",b.className="gv_zoom_buttons_bg",c.className="btn btn-icon btn-zoom btn-zoom-top gv-zoom-btn pan-top",d.className="btn btn-icon btn-zoom btn-zoom-left gv-zoom-btn pan-left",e.className="btn btn-icon btn-zoom btn-zoom-right gv-zoom-btn pan-right",f.className="btn btn-icon btn-zoom btn-zoom-bottom gv-zoom-btn pan-bottom",c.onclick=function(){g.zoomManager.triggerTranslation(0,-10)},d.onclick=function(){g.zoomManager.triggerTranslation(-10,0)},e.onclick=function(){g.zoomManager.triggerTranslation(10,0)},f.onclick=function(){g.zoomManager.triggerTranslation(0,10)},b.appendChild(c),b.appendChild(d),b.appendChild(e),b.appendChild(f),l=document.createElement("div"),l.id="gv_zoom_slider",l.className="gv_zoom_slider",s.appendChild(a),s.insertBefore(a,o[0][0]),a.appendChild(b),a.appendChild(l),$("#gv_zoom_slider").slider({orientation:"vertical",min:g.zoomManager.getMinimalZoomFactor(),max:1,value:1,step:.01,slide:function(a,b){g.zoomManager.triggerScale(b.value)}}),g.zoomManager.registerSlider($("#gv_zoom_slider"))},A=function(){var a=document.createElement("div"),b=new EventDispatcherControls(a,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig);a.id="toolbox",a.className="btn-group btn-group-vertical toolbox",s.insertBefore(a,o[0][0]),b.addAll(),$("#control_event_expand").click()},B=function(){var a='
  • ';$(".headerBar .headerButtonList").prepend(a)},C=function(a){var b;b=a?$(a):$(m),b.innerHTML="";var c=document.createElement("li"),d=document.createElement("img");$(c).append(d),d.className="gv-throbber",b.append(c),g.adapter.getAttributeExamples(function(a){$(b).html(""),_.each(a,function(a){var c=document.createElement("li"),d=document.createElement("a"),e=document.createElement("label");$(c).append(d),$(d).append(e),$(e).append(document.createTextNode(a)),e.className="gv_dropdown_label",b.append(c),c.onclick=function(){b.value=a,$(b).parent().find("input").val(a),$(b).slideToggle(200)}})})},D=function(){var a=document.createElement("div"),b=document.createElement("div"),c=(document.createElement("a"),x(b,"configuredropdown","filterdropdown","nodedropdown"));i=new NodeShaperControls(c.nodes,g.nodeShaper),j=new EdgeShaperControls(c.edges,g.edgeShaper),k=new GharialAdapterControls(c.col,g.adapter),r.id="menubar",a.className="headerBar",b.id="modifiers",r.appendChild(a),r.appendChild(c.configure),r.appendChild(c.filter),r.appendChild(c.node),a.appendChild(b),k.addControlChangeGraph(function(){C(),g.start(!0)}),k.addControlChangePriority(),i.addControlOpticLabelAndColourList(g.adapter),j.addControlOpticLabelList(),C()},E=function(){h=i.createColourMappingList(),h.className="gv-colour-list",s.insertBefore(h,o[0][0])};a.appendChild(r),a.appendChild(s),s.className="contentDiv gv-background ",s.id="background",e=e||{},e.zoom=!0,$("#subNavigationBar .breadcrumb").html("Graph: "+b.graphName),o=y(),"undefined"!==Storage&&(this.graphSettings={},this.loadLocalStorage=function(){var a=b.baseUrl.split("/")[2],c=b.graphName+a;if(null===localStorage.getItem("graphSettings")||"null"===localStorage.getItem("graphSettings")){var d={};d[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(d))}else try{var f=JSON.parse(localStorage.getItem("graphSettings"));this.graphSettings=f,void 0!==f[c].viewer&&(e=f[c].viewer),void 0!==f[c].adapter&&(b=f[c].adapter)}catch(g){console.log("Could not load graph settings, resetting graph settings."),this.graphSettings[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(this.graphSettings))}},this.loadLocalStorage(),this.writeLocalStorage=function(){}),g=new GraphViewer(o,p,q,b,e),A(),z(),D(),E(),t(),B(),$("#graphSize").on("change",function(){var a=$("#graphSize").find(":selected").val();g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")},a)}),f&&("string"==typeof f?g.loadGraph(f):g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")})),this.changeWidth=function(a){g.changeWidth(a);var b=a-55;o.attr("width",b).style("width",b+"px")}}function GraphViewerWidget(a,b){"use strict";var c,d,e,f,g,h,i,j,k=function(){return d3.select(d).append("svg").attr("id","graphViewerSVG").attr("width",e).attr("height",f).attr("class","graph-viewer").attr("style","width:"+e+"px;height:"+f+"px;")},l=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},m=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},n=function(a){if(a){var b={};a.drag&&m(b,j.dragRebinds()),a.create&&(m(b,j.newNodeRebinds()),m(b,j.connectNodesRebinds())),a.remove&&m(b,j.deleteRebinds()),a.expand&&m(b,j.expandRebinds()),a.edit&&m(b,j.editRebinds()),j.rebindAll(b)}},o=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig),b.id="toolbox",b.className="btn-group btn-group-vertical pull-left toolbox",d.appendChild(b),_.each(a,function(a,b){switch(b){case"expand":j.addControlExpand();break;case"create":j.addControlNewNode(),j.addControlConnect();break;case"drag":j.addControlDrag();break;case"edit":j.addControlEdit();break;case"remove":j.addControlDelete()}})},p=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig)},q=function(){return new GraphViewer(c,e,f,i,a)};d=document.body,e=d.getBoundingClientRect().width,f=d.getBoundingClientRect().height,i={type:"foxx",route:"."},a=a||{},h=l(a.toolbox),h&&(e-=43),c=k(),g=q(),h?o(a.toolbox):p(),b&&g.loadGraph(b),n(a.actions)}function LayouterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The Layouter has to be given.";var c=this;this.addControlGravity=function(){var c="control_layout_gravity",d=c+"_";uiComponentsHelper.createButton(a,"Gravity",c,function(){modalDialogHelper.createModalDialog("Switch Gravity Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({gravity:a})})})},this.addControlCharge=function(){var c="control_layout_charge",d=c+"_";uiComponentsHelper.createButton(a,"Charge",c,function(){modalDialogHelper.createModalDialog("Switch Charge Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({charge:a})})})},this.addControlDistance=function(){var c="control_layout_distance",d=c+"_";uiComponentsHelper.createButton(a,"Distance",c,function(){modalDialogHelper.createModalDialog("Switch Distance Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({distance:a})})})},this.addAll=function(){c.addControlDistance(),c.addControlGravity(),c.addControlCharge()}}function NodeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";var c,d=this,e=function(a){for(;c.hasChildNodes();)c.removeChild(c.lastChild);var b=document.createElement("ul");c.appendChild(b),_.each(a,function(a,c){var d=document.createElement("ul"),e=a.list,f=a.front;d.style.backgroundColor=c,d.style.color=f,_.each(e,function(a){var b=document.createElement("li");b.appendChild(document.createTextNode(a)),d.appendChild(b)}),b.appendChild(d)})};this.addControlOpticShapeNone=function(){uiComponentsHelper.createButton(a,"None","control_node_none",function(){b.changeTo({shape:{type:NodeShaper.shapes.NONE}})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.nodeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticShapeCircle=function(){var c="control_node_circle",d=c+"_";uiComponentsHelper.createButton(a,"Circle",c,function(){modalDialogHelper.createModalDialog("Switch to Circle",d,[{type:"text",id:"radius"}],function(){var a=$("#"+d+"radius").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.CIRCLE,radius:a}})})})},this.addControlOpticShapeRect=function(){var c="control_node_rect",d=c+"_";uiComponentsHelper.createButton(a,"Rectangle",c,function(){modalDialogHelper.createModalDialog("Switch to Rectangle","control_node_rect_",[{type:"text",id:"width"},{type:"text",id:"height"}],function(){var a=$("#"+d+"width").attr("value"),c=$("#"+d+"height").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.RECT,width:a,height:c}})})})},this.addControlOpticLabel=function(){var c="control_node_label",e=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",e,[{type:"text",id:"key"}],function(){var a=$("#"+e+"key").attr("value"),c={label:a};d.applyLocalStorage(c),b.changeTo(c)})})},this.addControlOpticSingleColour=function(){var c="control_node_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"fill"},{type:"text",id:"stroke"}],function(){var a=$("#"+d+"fill").attr("value"),c=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",fill:a,stroke:c}})})})},this.addControlOpticAttributeColour=function(){var c="control_node_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{ type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticExpandColour=function(){var c="control_node_expandcolour",d=c+"_";uiComponentsHelper.createButton(a,"Expansion Colour",c,function(){modalDialogHelper.createModalDialog("Display colours for expansion",d,[{type:"text",id:"expanded"},{type:"text",id:"collapsed"}],function(){var a=$("#"+d+"expanded").attr("value"),c=$("#"+d+"collapsed").attr("value");b.changeTo({color:{type:"expand",expanded:a,collapsed:c}})})})},this.addControlOpticLabelAndColour=function(e){var f="control_node_labelandcolour",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"text",id:"label-attribute",text:"Vertex label attribute",value:b.getLabel()||""},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"text",id:"colour-attribute",text:"Color attribute",value:b.getColor()||""}]}],function(){var a=$("#"+g+"label-attribute").attr("value"),e=$("#"+g+"colour-attribute").attr("value"),f=$("input[type='radio'][name='colour']:checked").attr("id");f===g+"samecolour"&&(e=a);var h={label:a,color:{type:"attribute",key:e}};d.applyLocalStorage(h),b.changeTo(h),void 0===c&&(c=d.createColourMappingList())})})},this.addControlOpticLabelAndColourList=function(e){var f="control_node_labelandcolourlist",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"extendable",id:"label",text:"Vertex label attribute",objects:b.getLabel()},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"extendable",id:"colour",text:"Color attribute",objects:b.getColor()||""}]}],function(){var a=$("input[id^="+g+"label_]"),e=$("input[id^="+g+"colour_]"),f=$("input[type='radio'][name='colour']:checked").attr("id"),h=[],i=[];a.each(function(a,b){var c=$(b).val();""!==c&&h.push(c)}),e.each(function(a,b){var c=$(b).val();""!==c&&i.push(c)}),f===g+"samecolour"&&(i=h);var j={label:h,color:{type:"attribute",key:i}};d.applyLocalStorage(j),b.changeTo(j),void 0===c&&(c=d.createColourMappingList())})})},this.addAllOptics=function(){d.addControlOpticShapeNone(),d.addControlOpticShapeCircle(),d.addControlOpticShapeRect(),d.addControlOpticLabel(),d.addControlOpticSingleColour(),d.addControlOpticAttributeColour(),d.addControlOpticExpandColour()},this.addAllActions=function(){},this.addAll=function(){d.addAllOptics(),d.addAllActions()},this.createColourMappingList=function(){return void 0!==c?c:(c=document.createElement("div"),c.id="node_colour_list",e(b.getColourMapping()),b.setColourMappingListener(e),c)}}function GraphViewer(a,b,c,d,e){"use strict";if($("html").attr("xmlns:xlink","http://www.w3.org/1999/xlink"),void 0===a||void 0===a.append)throw"SVG has to be given and has to be selected using d3.select";if(void 0===b||0>=b)throw"A width greater 0 has to be given";if(void 0===c||0>=c)throw"A height greater 0 has to be given";if(void 0===d||void 0===d.type)throw"An adapter configuration has to be given";var f,g,h,i,j,k,l,m,n=this,o=[],p=[],q=function(a){if(!a)return a={},a.nodes=p,a.links=o,a.width=b,a.height=c,void(i=new ForceLayouter(a));switch(a.type.toLowerCase()){case"force":a.nodes=p,a.links=o,a.width=b,a.height=c,i=new ForceLayouter(a);break;default:throw"Sorry unknown layout type."}},r=function(a){f.setNodeLimit(a,n.start)},s=function(d){d&&(j=new ZoomManager(b,c,a,k,g,h,{},r))},t=function(a){var b=a.edgeShaper||{},c=a.nodeShaper||{},d=c.idfunc||void 0,e=a.zoom||!1;b.shape=b.shape||{type:EdgeShaper.shapes.ARROW},q(a.layouter),m=k.append("g"),h=new EdgeShaper(m,b),l=k.append("g"),g=new NodeShaper(l,c,d),i.setCombinedUpdateFunction(g,h),s(e)};switch(d.type.toLowerCase()){case"arango":d.width=b,d.height=c,f=new ArangoAdapter(p,o,this,d),f.setChildLimit(10);break;case"gharial":d.width=b,d.height=c,f=new GharialAdapter(p,o,this,d),f.setChildLimit(10);break;case"foxx":d.width=b,d.height=c,f=new FoxxAdapter(p,o,d.route,this,d);break;case"json":f=new JSONAdapter(d.path,p,o,this,b,c);break;case"preview":d.width=b,d.height=c,f=new PreviewAdapter(p,o,this,d);break;default:throw"Sorry unknown adapter type."}k=a.append("g"),t(e||{}),this.start=function(a){i.stop(),a&&(""!==$(".infoField").text()?_.each(p,function(a){_.each(f.randomNodes,function(b){a._id===b._id&&(a._expanded=!0)})}):_.each(p,function(a){a._expanded=!0})),g.drawNodes(p),h.drawEdges(o),i.start()},this.loadGraph=function(a,b){f.loadInitialNode(a,function(a){return a.errorCode?void b(a):(a._expanded=!0,n.start(),void(_.isFunction(b)&&b()))})},this.loadGraphWithRandomStart=function(a,b){f.loadRandomNode(function(b){return b.errorCode&&404===b.errorCode?void a(b):(b._expanded=!0,n.start(!0),void(_.isFunction(a)&&a()))},b)},this.loadGraphWithAdditionalNode=function(a,b,c){f.loadAdditionalNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.loadGraphWithAttributeValue=function(a,b,c){f.randomNodes=[],f.definedNodes=[],f.loadInitialNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.cleanUp=function(){g.resetColourMap(),h.resetColourMap()},this.changeWidth=function(a){i.changeWidth(a),j.changeWidth(a),f.setWidth(a)},this.dispatcherConfig={expand:{edges:o,nodes:p,startCallback:n.start,adapter:f,reshapeNodes:g.reshapeNodes},drag:{layouter:i},nodeEditor:{nodes:p,adapter:f},edgeEditor:{edges:o,adapter:f}},this.adapter=f,this.nodeShaper=g,this.edgeShaper=h,this.layouter=i,this.zoomManager=j}EdgeShaper.shapes=Object.freeze({NONE:0,ARROW:1}),NodeShaper.shapes=Object.freeze({NONE:0,CIRCLE:1,RECT:2,IMAGE:3});var modalDialogHelper=modalDialogHelper||{};!function(){"use strict";var a,b=function(a){$(document).bind("keypress.key13",function(b){b.which&&13===b.which&&$(a).click()})},c=function(){$(document).unbind("keypress.key13")},d=function(a,b,c,d,e){var f,g,h=function(){e(f)},i=modalDialogHelper.modalDivTemplate(a,b,c,h),j=document.createElement("tr"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("th"),n=document.createElement("button"),o=1;f=function(){var a={};return _.each($("#"+c+"table tr:not(#first_row)"),function(b){var c=$(".keyCell input",b).val(),d=$(".valueCell input",b).val();a[c]=d}),a},i.appendChild(j),j.id="first_row",j.appendChild(k),k.className="keyCell",j.appendChild(l),l.className="valueCell",j.appendChild(m),m.className="actionCell",m.appendChild(n),n.id=c+"new",n.className="graphViewer-icon-button gv-icon-small add",g=function(a,b){var d,e,f,g=/^_(id|rev|key|from|to)/,h=document.createElement("tr"),j=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th");g.test(b)||(i.appendChild(h),h.appendChild(k),k.className="keyCell",e=document.createElement("input"),e.type="text",e.id=c+b+"_key",e.value=b,k.appendChild(e),h.appendChild(l),l.className="valueCell",f=document.createElement("input"),f.type="text",f.id=c+b+"_value","object"==typeof a?f.value=JSON.stringify(a):f.value=a,l.appendChild(f),h.appendChild(j),j.className="actionCell",d=document.createElement("button"),d.id=c+b+"_delete",d.className="graphViewer-icon-button gv-icon-small delete",j.appendChild(d),d.onclick=function(){i.removeChild(h)})},n.onclick=function(){g("","new_"+o),o++},_.each(d,g),$("#"+c+"modal").modal("show")},e=function(a,b,c,d,e){var f=modalDialogHelper.modalDivTemplate(a,b,c,e),g=document.createElement("tr"),h=document.createElement("th"),i=document.createElement("pre");f.appendChild(g),g.appendChild(h),h.appendChild(i),i.className="gv-object-view",i.innerHTML=JSON.stringify(d,null,2),$("#"+c+"modal").modal("show")},f=function(a,b){var c=document.createElement("input");return c.type="text",c.id=a,c.value=b,c},g=function(a,b){var c=document.createElement("input");return c.type="checkbox",c.id=a,c.checked=b,c},h=function(a,b,c){var d=document.createElement("select");return d.id=a,_.each(_.sortBy(b,function(a){return a.toLowerCase()}),function(a){var b=document.createElement("option");b.value=a,b.selected=a===c,b.appendChild(document.createTextNode(a)),d.appendChild(b)}),d},i=function(a){var b=$(".decission_"+a),c=$("input[type='radio'][name='"+a+"']:checked").attr("id");b.each(function(){$(this).attr("decider")===c?$(this).css("display",""):$(this).css("display","none")})},j=function(b,c,d,e,f,g,h,j){var k=document.createElement("input"),l=b+c,m=document.createElement("label"),n=document.createElement("tbody");k.id=l,k.type="radio",k.name=d,k.className="gv-radio-button",m.className="radio",h.appendChild(m),m.appendChild(k),m.appendChild(document.createTextNode(e)),j.appendChild(n),$(n).toggleClass("decission_"+d,!0),$(n).attr("decider",l),_.each(g,function(c){a(n,b,c)}),f?k.checked=!0:k.checked=!1,m.onclick=function(a){i(d),a.stopPropagation()},i(d)},k=function(a,b,c,d,e,f){var g,h=[],i=a+b,j=1,k=document.createElement("th"),l=document.createElement("button"),m=document.createElement("input"),n=function(a){j++;var c,d=document.createElement("tr"),g=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("input"),n=document.createElement("button");m.type="text",m.id=i+"_"+j,m.value=a||"",c=0===h.length?$(f):$(h[h.length-1]),c.after(d),d.appendChild(g),g.className="collectionTh capitalize",g.appendChild(document.createTextNode(b+" "+j+":")),d.appendChild(k),k.className="collectionTh",k.appendChild(m),n.id=i+"_"+j+"_remove",n.className="graphViewer-icon-button gv-icon-small delete",n.onclick=function(){e.removeChild(d),h.splice(h.indexOf(d),1)},l.appendChild(n),d.appendChild(l),h.push(d)};for(m.type="text",m.id=i+"_1",d.appendChild(m),k.appendChild(l),f.appendChild(k),l.onclick=function(){n()},l.id=i+"_addLine",l.className="graphViewer-icon-button gv-icon-small add","string"==typeof c&&c.length>0&&(c=[c]),c.length>0&&(m.value=c[0]),g=1;g
    '+c+""),a.disabled||$("#subNavigationBar .bottom").children().last().bind("click",function(){window.App.navigate(a.route,{trigger:!0})})})},buildUserSubNav:function(a,b){var c={General:{route:"#user/"+encodeURIComponent(a)},Permissions:{route:"#user/"+encodeURIComponent(a)+"/permission"}};c[b].active=!0,this.buildSubNavBar(c)},buildGraphSubNav:function(a,b){var c={Content:{route:"#graph2/"+encodeURIComponent(a)},Settings:{route:"#graph2/"+encodeURIComponent(a)+"/settings"}};c[b].active=!0,this.buildSubNavBar(c)},buildNodeSubNav:function(a,b,c){var d={Dashboard:{route:"#node/"+encodeURIComponent(a)}};d[b].active=!0,d[c].disabled=!0,this.buildSubNavBar(d)},buildNodesSubNav:function(a,b){var c={Overview:{route:"#nodes"},Shards:{route:"#shards"}};c[a].active=!0,b&&(c[b].disabled=!0),this.buildSubNavBar(c)},scaleability:void 0,buildCollectionSubNav:function(a,b){var c="#collection/"+encodeURIComponent(a),d={Content:{route:c+"/documents/1"},Indices:{route:"#cIndices/"+encodeURIComponent(a)},Info:{route:"#cInfo/"+encodeURIComponent(a)},Settings:{route:"#cSettings/"+encodeURIComponent(a)}};d[b].active=!0,this.buildSubNavBar(d)},enableKeyboardHotkeys:function(a){var b=window.arangoHelper.hotkeysFunctions;a===!0&&($(document).on("keydown",null,"j",b.scrollDown),$(document).on("keydown",null,"k",b.scrollUp))},databaseAllowed:function(a){var b=function(b,c){b?arangoHelper.arangoError("",""):$.ajax({type:"GET",cache:!1,url:this.databaseUrl("/_api/database/",c),contentType:"application/json",processData:!1,success:function(){a(!1,!0)},error:function(){a(!0,!1)}})}.bind(this);this.currentDatabase(b)},arangoNotification:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"success"})},arangoError:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"error"})},arangoWarning:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"warning"})},arangoMessage:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"message"})},hideArangoNotifications:function(){$.noty.clearQueue(),$.noty.closeAll()},openDocEditor:function(a,b,c){var d=a.split("/"),e=this,f=new window.DocumentView({collection:window.App.arangoDocumentStore});f.breadcrumb=function(){},f.colid=d[0],f.docid=d[1],f.el=".arangoFrame .innerDiv",f.render(),f.setType(b),$(".arangoFrame .headerBar").remove(),$(".arangoFrame .outerDiv").prepend(''),$(".arangoFrame .outerDiv").click(function(){e.closeDocEditor()}),$(".arangoFrame .innerDiv").click(function(a){a.stopPropagation()}),$(".fa-times").click(function(){e.closeDocEditor()}),$(".arangoFrame").show(),f.customView=!0,f.customDeleteFunction=function(){window.modalView.hide(),$(".arangoFrame").hide()},$(".arangoFrame #deleteDocumentButton").click(function(){f.deleteDocumentModal()}),$(".arangoFrame #saveDocumentButton").click(function(){f.saveDocument()}),$(".arangoFrame #deleteDocumentButton").css("display","none")},closeDocEditor:function(){$(".arangoFrame .outerDiv .fa-times").remove(),$(".arangoFrame").hide()},addAardvarkJob:function(a,b){$.ajax({cache:!1,type:"POST",url:this.databaseUrl("/_admin/aardvark/job"),data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAardvarkJob:function(a,b){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAllAardvarkJobs:function(a){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getAardvarkJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getPendingJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_api/job/pending"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},syncAndReturnUninishedAardvarkJobs:function(a,b){var c=function(c,d){if(c)b(!0);else{var e=function(c,e){if(c)arangoHelper.arangoError("","");else{var f=[];e.length>0?_.each(d,function(b){if(b.type===a||void 0===b.type){var c=!1;_.each(e,function(a){b.id===a&&(c=!0)}),c?f.push({collection:b.collection,id:b.id,type:b.type,desc:b.desc}):window.arangoHelper.deleteAardvarkJob(b.id)}}):d.length>0&&this.deleteAllAardvarkJobs(),b(!1,f)}}.bind(this);this.getPendingJobs(e)}}.bind(this);this.getAardvarkJobs(c)},getRandomToken:function(){return Math.round((new Date).getTime())},isSystemAttribute:function(a){var b=this.systemAttributes();return b[a]},isSystemCollection:function(a){return"_"===a.name.substr(0,1)},setDocumentStore:function(a){this.arangoDocumentStore=a},collectionApiType:function(a,b,c){if(b||void 0===this.CollectionTypes[a]){var d=function(b,c,d){b?arangoHelper.arangoError("Error","Could not detect collection type"):(this.CollectionTypes[a]=c.type,3===this.CollectionTypes[a]?d(!1,"edge"):d(!1,"document"))}.bind(this);this.arangoDocumentStore.getCollectionInfo(a,d,c)}else c(!1,this.CollectionTypes[a])},collectionType:function(a){if(!a||""===a.name)return"-";var b;return b=2===a.type?"document":3===a.type?"edge":"unknown",this.isSystemCollection(a)&&(b+=" (system)"),b},formatDT:function(a){var b=function(a){return 10>a?"0"+a:a};return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+1)+"-"+b(a.getUTCDate())+" "+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())},escapeHtml:function(a){return String(a).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},backendUrl:function(a){return frontendConfig.basePath+a},databaseUrl:function(a,b){if("/_db/"===a.substr(0,5))throw new Error("Calling databaseUrl with a databased url ("+a+") doesn't make any sense");return b||(b="_system",frontendConfig.db&&(b=frontendConfig.db)),this.backendUrl("/_db/"+encodeURIComponent(b)+a)},showAuthDialog:function(){var a=!0,b=localStorage.getItem("authenticationNotification");return"false"===b&&(a=!1),a},doNotShowAgain:function(){localStorage.setItem("authenticationNotification",!1)},renderEmpty:function(a){$("#content").html('")},download:function(a,b){$.ajax(a).success(function(a,c,d){if(b)return void b(a);var e=new Blob([JSON.stringify(a)],{type:d.getResponseHeader("Content-Type")||"application/octet-stream"}),f=window.URL.createObjectURL(e),g=document.createElement("a");document.body.appendChild(g),g.style="display: none",g.href=f,g.download=d.getResponseHeader("Content-Disposition").replace(/.* filename="([^")]*)"/,"$1"),g.click(),window.URL.revokeObjectURL(f),document.body.removeChild(g)})}}}(),function(){"use strict";if(!window.hasOwnProperty("TEST_BUILD")){var a=function(){var a={};return a.createTemplate=function(a){var b=$("#"+a.replace(".","\\.")).html();return{render:function(a){var c=_.template(b);return c=c(a)}}},a};window.templateEngine=new a}}(),function(){"use strict";window.dygraphConfig={defaultFrame:12e5,zeropad:function(a){return 10>a?"0"+a:a},xAxisFormat:function(a){if(-1===a)return"";var b=new Date(a);return this.zeropad(b.getHours())+":"+this.zeropad(b.getMinutes())+":"+this.zeropad(b.getSeconds())},mergeObjects:function(a,b,c){c||(c=[]);var d,e={};return c.forEach(function(c){var d=a[c],f=b[c];void 0===d&&(d={}),void 0===f&&(f={}),e[c]=_.extend(d,f)}),d=_.extend(a,b),Object.keys(e).forEach(function(a){d[a]=e[a]}),d},mapStatToFigure:{pageFaults:["times","majorPageFaultsPerSecond","minorPageFaultsPerSecond"],systemUserTime:["times","systemTimePerSecond","userTimePerSecond"],totalTime:["times","avgQueueTime","avgRequestTime","avgIoTime"],dataTransfer:["times","bytesSentPerSecond","bytesReceivedPerSecond"],requests:["times","getsPerSecond","putsPerSecond","postsPerSecond","deletesPerSecond","patchesPerSecond","headsPerSecond","optionsPerSecond","othersPerSecond"]},colors:["rgb(95, 194, 135)","rgb(238, 190, 77)","#81ccd8","#7ca530","#3c3c3c","#aa90bd","#e1811d","#c7d4b2","#d0b2d4"],figureDependedOptions:{clusterRequestsPerSecond:{showLabelsOnHighlight:!0,title:"",header:"Cluster Requests per Second",stackedGraph:!0,div:"lineGraphLegend",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},pageFaults:{header:"Page Faults",visibility:[!0,!1],labels:["datetime","Major Page","Minor Page"],div:"pageFaultsChart",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},systemUserTime:{div:"systemUserTimeChart",header:"System and User Time",labels:["datetime","System Time","User Time"],stackedGraph:!0,labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},totalTime:{div:"totalTimeChart",header:"Total Time",labels:["datetime","Queue","Computation","I/O"],labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}},stackedGraph:!0},dataTransfer:{header:"Data Transfer",labels:["datetime","Bytes sent","Bytes received"],stackedGraph:!0,div:"dataTransferChart"},requests:{header:"Requests",labels:["datetime","Reads","Writes"],stackedGraph:!0,div:"requestsChart",axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}}},getDashBoardFigures:function(a){var b=[],c=this;return Object.keys(this.figureDependedOptions).forEach(function(d){"clusterRequestsPerSecond"!==d&&(c.figureDependedOptions[d].div||a)&&b.push(d)}),b},getDefaultConfig:function(a){var b=this,c={digitsAfterDecimal:1,drawGapPoints:!0,fillGraph:!0,fillAlpha:.85,showLabelsOnHighlight:!1,strokeWidth:0,lineWidth:0,strokeBorderWidth:0,includeZero:!0,highlightCircleSize:2.5,labelsSeparateLines:!0,strokeBorderColor:"rgba(0,0,0,0)",interactionModel:{},maxNumberWidth:10,colors:[this.colors[0]],xAxisLabelWidth:"50",rightGap:15,showRangeSelector:!1,rangeSelectorHeight:50,rangeSelectorPlotStrokeColor:"#365300",rangeSelectorPlotFillColor:"",pixelsPerLabel:50,labelsKMG2:!0,dateWindow:[(new Date).getTime()-this.defaultFrame,(new Date).getTime()],axes:{x:{valueFormatter:function(a){return b.xAxisFormat(a)}},y:{ticker:Dygraph.numericLinearTicks}}};return this.figureDependedOptions[a]&&(c=this.mergeObjects(c,this.figureDependedOptions[a],["axes"]),c.div&&c.labels&&(c.colors=this.getColors(c.labels),c.labelsDiv=document.getElementById(c.div+"Legend"),c.legend="always",c.showLabelsOnHighlight=!0)),c},getDetailChartConfig:function(a){var b=_.extend(this.getDefaultConfig(a),{showRangeSelector:!0,interactionModel:null,showLabelsOnHighlight:!0,highlightCircleSize:2.5,legend:"always",labelsDiv:"div#detailLegend.dashboard-legend-inner"});return"pageFaults"===a&&(b.visibility=[!0,!0]),b.labels||(b.labels=["datetime",b.header],b.colors=this.getColors(b.labels)),b},getColors:function(a){var b;return b=this.colors.concat([]),b.slice(0,a.length-1)}}}(),function(){"use strict";window.arangoCollectionModel=Backbone.Model.extend({idAttribute:"name",urlRoot:arangoHelper.databaseUrl("/_api/collection"),defaults:{id:"",name:"",status:"",type:"",isSystem:!1,picture:"",locked:!1,desc:void 0},getProperties:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+encodeURIComponent(this.get("id"))+"/properties"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getFigures:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/figures"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},getRevision:function(a,b){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/revision"),contentType:"application/json",processData:!1,success:function(c){a(!1,c,b)},error:function(){a(!0)}})},getIndex:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/index/?collection="+this.get("id")),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},createIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/index?collection="+c.get("id")),headers:{"x-arango-async":"store"},data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Creating Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}})},deleteIndex:function(a,b){ var c=this;$.ajax({cache:!1,type:"DELETE",url:arangoHelper.databaseUrl("/_api/index/"+this.get("name")+"/"+encodeURIComponent(a)),headers:{"x-arango-async":"store"},success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Removing Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}}),b()},truncateCollection:function(){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/truncate"),success:function(){arangoHelper.arangoNotification("Collection truncated.")},error:function(){arangoHelper.arangoError("Collection error.")}})},loadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/load"),success:function(){a(!1)},error:function(){a(!0)}}),a()},unloadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/unload?flush=true"),success:function(){a(!1)},error:function(){a(!0)}}),a()},renameCollection:function(a,b){var c=this;$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/rename"),data:JSON.stringify({name:a}),contentType:"application/json",processData:!1,success:function(){c.set("name",a),b(!1)},error:function(a){b(!0,a)}})},changeCollection:function(a,b,c,d){var e=!1;"true"===a?a=!0:"false"===a&&(a=!1);var f={waitForSync:a,journalSize:parseInt(b,10),indexBuckets:parseInt(c,10)};return $.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/properties"),data:JSON.stringify(f),contentType:"application/json",processData:!1,success:function(){d(!1)},error:function(a){d(!1,a)}}),e}})}(),window.DatabaseModel=Backbone.Model.extend({idAttribute:"name",initialize:function(){"use strict"},isNew:function(){"use strict";return!1},sync:function(a,b,c){"use strict";return"update"===a&&(a="create"),Backbone.sync(a,b,c)},url:arangoHelper.databaseUrl("/_api/database"),defaults:{}}),window.arangoDocumentModel=Backbone.Model.extend({initialize:function(){"use strict"},urlRoot:arangoHelper.databaseUrl("/_api/document"),defaults:{_id:"",_rev:"",_key:""},getSorted:function(){"use strict";var a=this,b=Object.keys(a.attributes).sort(function(a,b){var c=arangoHelper.isSystemAttribute(a),d=arangoHelper.isSystemAttribute(b);return c!==d?c?-1:1:b>a?-1:1}),c={};return _.each(b,function(b){c[b]=a.attributes[b]}),c}}),function(){"use strict";window.ArangoQuery=Backbone.Model.extend({urlRoot:arangoHelper.databaseUrl("/_api/user"),defaults:{name:"",type:"custom",value:""}})}(),window.Replication=Backbone.Model.extend({defaults:{state:{},server:{}},initialize:function(){}}),window.Statistics=Backbone.Model.extend({defaults:{},url:function(){"use strict";return"/_admin/statistics"}}),window.StatisticsDescription=Backbone.Model.extend({defaults:{figures:"",groups:""},url:function(){"use strict";return"/_admin/statistics-description"}}),window.Users=Backbone.Model.extend({defaults:{user:"",active:!1,extra:{}},idAttribute:"user",parse:function(a){return this.isNotNew=!0,a},isNew:function(){return!this.isNotNew},url:function(){return this.isNew()?arangoHelper.databaseUrl("/_api/user"):""!==this.get("user")?arangoHelper.databaseUrl("/_api/user/"+this.get("user")):arangoHelper.databaseUrl("/_api/user")},checkPassword:function(a,b){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})},setPassword:function(a){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1})},setExtras:function(a,b,c){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({extra:{name:a,img:b}}),contentType:"application/json",processData:!1,success:function(){c(!1)},error:function(){c(!0)}})}}),function(){"use strict";window.ClusterCoordinator=Backbone.Model.extend({defaults:{name:"",status:"ok",address:"",protocol:""},idAttribute:"name",forList:function(){return{name:this.get("name"),status:this.get("status"),url:this.get("url")}}})}(),function(){"use strict";window.ClusterServer=Backbone.Model.extend({defaults:{name:"",address:"",role:"",status:"ok"},idAttribute:"name",forList:function(){return{name:this.get("name"),address:this.get("address"),status:this.get("status")}}})}(),function(){"use strict";window.Coordinator=Backbone.Model.extend({defaults:{address:"",protocol:"",name:"",status:""}})}(),function(){"use strict";window.CurrentDatabase=Backbone.Model.extend({url:arangoHelper.databaseUrl("/_api/database/current",frontendConfig.db),parse:function(a){return a.result}})}(),function(){"use strict";var a=function(a,b,c,d,e,f){var g={contentType:"application/json",processData:!1,type:c};b=b||function(){},f=_.extend({mount:a.encodedMount()},f);var h=_.reduce(f,function(a,b,c){return a+encodeURIComponent(c)+"="+encodeURIComponent(b)+"&"},"?");g.url=arangoHelper.databaseUrl("/_admin/aardvark/foxxes"+(d?"/"+d:"")+h.slice(0,h.length-1)),void 0!==e&&(g.data=JSON.stringify(e)),$.ajax(g).then(function(a){b(null,a)},function(a){window.xhr=a,b(_.extend(a.status?new Error(a.responseJSON?a.responseJSON.errorMessage:a.responseText):new Error("Network Error"),{statusCode:a.status}))})};window.Foxx=Backbone.Model.extend({idAttribute:"mount",defaults:{author:"Unknown Author",name:"",version:"Unknown Version",description:"No description",license:"Unknown License",contributors:[],scripts:{},config:{},deps:{},git:"",system:!1,development:!1},isNew:function(){return!1},encodedMount:function(){return encodeURIComponent(this.get("mount"))},destroy:function(b,c){a(this,c,"DELETE",void 0,void 0,b)},isBroken:function(){return!1},needsAttention:function(){return this.isBroken()||this.needsConfiguration()||this.hasUnconfiguredDependencies()},needsConfiguration:function(){return _.any(this.get("config"),function(a){return void 0===a.current&&a.required!==!1})},hasUnconfiguredDependencies:function(){return _.any(this.get("deps"),function(a){return void 0===a.current&&a.definition.required!==!1})},getConfiguration:function(b){a(this,function(a,c){a||this.set("config",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","config")},setConfiguration:function(b,c){a(this,c,"PATCH","config",b)},getDependencies:function(b){a(this,function(a,c){a||this.set("deps",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","deps")},setDependencies:function(b,c){a(this,c,"PATCH","deps",b)},toggleDevelopment:function(b,c){a(this,function(a,d){a||this.set("development",b),"function"==typeof c&&c(a,d)}.bind(this),"PATCH","devel",b)},runScript:function(b,c,d){a(this,d,"POST","scripts/"+b,c)},runTests:function(b,c){a(this,function(a,b){"function"==typeof c&&c(a?a.responseJSON:a,b)},"POST","tests",b)},isSystem:function(){return this.get("system")},isDevelopment:function(){return this.get("development")},download:function(){a(this,function(a,b){return a?void console.error(a.responseJSON):void(window.location.href=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/download/zip?mount="+this.encodedMount()+"&nonce="+b.nonce))}.bind(this),"POST","download/nonce")},fetchThumbnail:function(a){var b=new XMLHttpRequest;b.responseType="blob",b.onload=function(){this.thumbnailUrl=URL.createObjectURL(b.response),a()}.bind(this),b.onerror=a,b.open("GET","foxxes/thumbnail?mount="+this.encodedMount()),window.arangoHelper.getCurrentJwt()&&b.setRequestHeader("Authorization","bearer "+window.arangoHelper.getCurrentJwt()),b.send()}})}(),function(){"use strict";window.Graph=Backbone.Model.extend({idAttribute:"_key",urlRoot:arangoHelper.databaseUrl("/_api/gharial"),isNew:function(){return!this.get("_id")},parse:function(a){return a.graph||a},addEdgeDefinition:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/edge",data:JSON.stringify(a)})},deleteEdgeDefinition:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a})},modifyEdgeDefinition:function(a){$.ajax({async:!1,type:"PUT",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a.collection,data:JSON.stringify(a)})},addVertexCollection:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/vertex",data:JSON.stringify({collection:a})})},deleteVertexCollection:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/vertex/"+a})},defaults:{name:"",edgeDefinitions:[],orphanCollections:[]}})}(),function(){"use strict";window.newArangoLog=Backbone.Model.extend({defaults:{lid:"",level:"",timestamp:"",text:"",totalAmount:""},getLogStatus:function(){switch(this.get("level")){case 1:return"Error";case 2:return"Warning";case 3:return"Info";case 4:return"Debug";default:return"Unknown"}}})}(),function(){"use strict";window.Notification=Backbone.Model.extend({defaults:{title:"",date:0,content:"",priority:"",tags:"",seen:!1}})}(),function(){"use strict";window.queryManagementModel=Backbone.Model.extend({defaults:{id:"",query:"",started:"",runTime:""}})}(),window.UserConfig=Backbone.Model.extend({defaults:{graphs:"",queries:[]},model:window.UserConfigModel,parse:function(a){return a.result},url:function(){return window.App.currentUser?this.username=window.App.currentUser:this.username="root",arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.username)+"/config")},setItem:function(a,b,c){var d=this;$.ajax({type:"PUT",cache:!1,url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.username)+"/config/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,data:JSON.stringify({value:b}),async:!0,success:function(){d.set(a,b),c&&c()},error:function(){arangoHelper.arangoError("User configuration","Could not update user configuration for key: "+a)}})},getItem:function(a,b){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.username)+"/config/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a)},error:function(){arangoHelper.arangoError("User configuration","Could not fetch user configuration for key: "+a)}})}}),function(){"use strict";window.workMonitorModel=Backbone.Model.extend({defaults:{name:"",number:"",status:"",type:""}})}(),function(){"use strict";window.AutomaticRetryCollection=Backbone.Collection.extend({_retryCount:0,checkRetries:function(){var a=this;return this.updateUrl(),this._retryCount>10?(window.setTimeout(function(){a._retryCount=0},1e4),window.App.clusterUnreachable(),!1):!0},successFullTry:function(){this._retryCount=0},failureTry:function(a,b,c){401===c.status?window.App.requestAuth():(window.App.clusterPlan.rotateCoordinator(),this._retryCount++,a())}})}(),function(){"use strict";window.PaginatedCollection=Backbone.Collection.extend({page:0,pagesize:10,totalAmount:0,getPage:function(){return this.page+1},setPage:function(a){return a>=this.getLastPageNumber()?void(this.page=this.getLastPageNumber()-1):1>a?void(this.page=0):void(this.page=a-1)},getLastPageNumber:function(){return Math.max(Math.ceil(this.totalAmount/this.pagesize),1)},getOffset:function(){return this.page*this.pagesize},getPageSize:function(){return this.pagesize},setPageSize:function(a){if("all"===a)this.pagesize="all";else try{a=parseInt(a,10),this.pagesize=a}catch(b){}},setToFirst:function(){this.page=0},setToLast:function(){this.setPage(this.getLastPageNumber())},setToPrev:function(){this.setPage(this.getPage()-1)},setToNext:function(){this.setPage(this.getPage()+1)},setTotal:function(a){this.totalAmount=a},getTotal:function(){return this.totalAmount},setTotalMinusOne:function(){this.totalAmount--}})}(),window.ClusterStatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics",updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host,window.App.registerForUpdate(this)}}),function(){"use strict";window.ArangoCollections=Backbone.Collection.extend({url:arangoHelper.databaseUrl("/_api/collection"),model:arangoCollectionModel,searchOptions:{searchPhrase:null,includeSystem:!1,includeDocument:!0,includeEdge:!0,includeLoaded:!0,includeUnloaded:!0,sortBy:"name",sortOrder:1},translateStatus:function(a){switch(a){case 0:return"corrupted";case 1:return"new born collection";case 2:return"unloaded";case 3:return"loaded";case 4:return"unloading";case 5:return"deleted";case 6:return"loading";default:return}},translateTypePicture:function(a){var b="";switch(a){case"document":b+="fa-file-text-o";break;case"edge":b+="fa-share-alt";break;case"unknown":b+="fa-question";break;default:b+="fa-cogs"}return b},parse:function(a){var b=this;return _.each(a.result,function(a){a.isSystem=arangoHelper.isSystemCollection(a),a.type=arangoHelper.collectionType(a),a.status=b.translateStatus(a.status),a.picture=b.translateTypePicture(a.type)}),a.result},getPosition:function(a){var b,c=this.getFiltered(this.searchOptions),d=null,e=null;for(b=0;b0&&(d=c[b-1]),b0){var e,f=d.get("name").toLowerCase();for(e=0;ed?-1:1):0}),b},newCollection:function(a,b){var c={};c.name=a.collName,c.waitForSync=a.wfs,a.journalSize>0&&(c.journalSize=a.journalSize),c.isSystem=a.isSystem,c.type=parseInt(a.collType,10),a.shards&&(c.numberOfShards=a.shards,c.shardKeys=a.keys),a.replicationFactor&&(c.replicationFactor=JSON.parse(a.replicationFactor)),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/collection"),data:JSON.stringify(c),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})}})}(),function(){"use strict";window.ArangoDatabase=Backbone.Collection.extend({model:window.DatabaseModel,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_api/database"),comparator:function(a,b){var c=a.get("name").toLowerCase(),d=b.get("name").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},parse:function(a){return a?_.map(a.result,function(a){return{name:a}}):void 0},initialize:function(){var a=this;this.fetch().done(function(){a.sort()})},setSortingDesc:function(a){this.sortOptions.desc=a},getDatabases:function(){var a=this;return this.fetch().done(function(){a.sort()}),this.models},getDatabasesForUser:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/user",contentType:"application/json",processData:!1,success:function(b){a(!1,b.result.sort())},error:function(){a(!0,[])}})},createDatabaseURL:function(a,b,c){var d=window.location,e=window.location.hash;b=b?"SSL"===b||"https:"===b?"https:":"http:":d.protocol,c=c||d.port;var f=b+"//"+window.location.hostname+":"+c+"/_db/"+encodeURIComponent(a)+"/_admin/aardvark/standalone.html";if(e){var g=e.split("/")[0];0===g.indexOf("#collection")&&(g="#collections"),0===g.indexOf("#service")&&(g="#services"),f+=g}return f},getCurrentDatabase:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/current",contentType:"application/json",processData:!1,success:function(b){200===b.code?a(!1,b.result.name):a(!1,b)},error:function(b){a(!0,b)}})},hasSystemAccess:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):a(!1,_.includes(c,"_system"))};this.getDatabasesForUser(b)}})}(),window.ArangoDocument=Backbone.Collection.extend({url:"/_api/document/",model:arangoDocumentModel,collectionInfo:{},deleteEdge:function(a,b,c){this.deleteDocument(a,b,c)},deleteDocument:function(a,b,c){$.ajax({cache:!1,type:"DELETE",contentType:"application/json",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),success:function(){c(!1)},error:function(){c(!0)}})},addDocument:function(a,b){var c=this;c.createTypeDocument(a,b)},createTypeEdge:function(a,b,c,d,e){var f;f=d?JSON.stringify({_key:d,_from:b,_to:c}):JSON.stringify({_from:b,_to:c}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:f,contentType:"application/json",processData:!1,success:function(a){e(!1,a)},error:function(a){e(!0,a)}})},createTypeDocument:function(a,b,c,d){var e;e=b?JSON.stringify({_key:b}):JSON.stringify({});var f=arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a));d&&(f+="?returnNew=true"),$.ajax({cache:!1,type:"POST",url:f,data:e,contentType:"application/json",processData:!1,success:function(a){d?c(!1,a):c(!1,a._id)},error:function(a){c(!0,a._id,a.responseJSON)}})},getCollectionInfo:function(a,b,c){var d=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+a+"?"+arangoHelper.getRandomToken()),contentType:"application/json",processData:!1,success:function(a){d.collectionInfo=a,b(!1,a,c)},error:function(a){b(!0,a,c)}})},getEdge:function(a,b,c){this.getDocument(a,b,c)},getDocument:function(a,b,c){var d=this;this.clearDocument(),$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),contentType:"application/json",processData:!1,success:function(a){d.add(a),c(!1,a,"document")},error:function(a){d.add(!0,a)}})},saveEdge:function(a,b,c,d,e,f){var g;try{g=JSON.parse(e),g._to=d,g._from=c}catch(h){arangoHelper.arangoError("Edge","Could not parsed document.")}$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b))+"#replaceEdge",data:JSON.stringify(g),contentType:"application/json",processData:!1,success:function(a){f(!1,a)},error:function(a){f(!0,a)}})},saveDocument:function(a,b,c,d){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),data:c,contentType:"application/json",processData:!1,success:function(a){d(!1,a)},error:function(a){d(!0,a)}})},updateLocalDocument:function(a){this.clearDocument(),this.add(a)},clearDocument:function(){this.reset()}}),function(){"use strict";window.ArangoDocuments=window.PaginatedCollection.extend({collectionID:1,filters:[],checkCursorTimer:void 0,MAX_SORT:12e3,lastQuery:{},sortAttribute:"",url:arangoHelper.databaseUrl("/_api/documents"),model:window.arangoDocumentModel,loadTotal:function(a){var b=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+this.collectionID+"/count"),contentType:"application/json",processData:!1,success:function(c){b.setTotal(c.count),a(!1)},error:function(){a(!0)}})},setCollection:function(a){var b=function(a){a&&arangoHelper.arangoError("Documents","Could not fetch documents count")};this.resetFilter(),this.collectionID=a,this.setPage(1),this.loadTotal(b)},setSort:function(a){this.sortAttribute=a},getSort:function(){return this.sortAttribute},addFilter:function(a,b,c){this.filters.push({attr:a,op:b,val:c})},setFiltersForQuery:function(a){if(0===this.filters.length)return"";var b=" FILTER",c="",d=_.map(this.filters,function(b,d){return"LIKE"===b.op?(c=" "+b.op+"(x.`"+b.attr+"`, @param",c+=d,c+=")"):(c="IN"===b.op||"NOT IN"===b.op?" ":" x.`",c+=b.attr,c+="IN"===b.op||"NOT IN"===b.op?" ":"` ",c+=b.op,c+="IN"===b.op||"NOT IN"===b.op?" x.@param":" @param",c+=d),a["param"+d]=b.val,c});return b+d.join(" &&")},setPagesize:function(a){this.setPageSize(a)},resetFilter:function(){this.filters=[]},moveDocument:function(a,b,c,d){var e,f,g,h,i={"@collection":b,filterid:a};e="FOR x IN @@collection",e+=" FILTER x._key == @filterid",e+=" INSERT x IN ",e+=c,f="FOR x in @@collection",f+=" FILTER x._key == @filterid",f+=" REMOVE x IN @@collection",g={query:e,bindVars:i},h={query:f,bindVars:i},window.progressView.show(),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(g),contentType:"application/json",success:function(){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(h),contentType:"application/json",success:function(){d&&d(),window.progressView.hide()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Documents inserted, but could not be removed.")}})},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Could not move selected documents.")}})},getDocuments:function(a){var b,c,d,e,f=this;c={"@collection":this.collectionID,offset:this.getOffset(),count:this.getPageSize()},b='FOR x IN @@collection LET att = APPEND(SLICE(ATTRIBUTES(x), 0, 25), "_key", true)',b+=this.setFiltersForQuery(c),this.getTotal()0&&(a+=" SORT x."+this.getSort()),a+=" RETURN x",b={query:a,bindVars:c}},uploadDocuments:function(a,b){$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/import?type=auto&collection="+encodeURIComponent(this.collectionID)+"&createCollection=false"),data:a,processData:!1,contentType:"json",dataType:"json",complete:function(a){if(4===a.readyState&&201===a.status)b(!1);else try{var c=JSON.parse(a.responseText);if(c.errors>0){var d="At least one error occurred during upload";b(!1,d)}}catch(e){console.log(e)}}})}})}(),function(){"use strict";window.ArangoLogs=window.PaginatedCollection.extend({upto:!1,loglevel:0,totalPages:0,parse:function(a){var b=[];return _.each(a.lid,function(c,d){b.push({level:a.level[d],lid:c,text:a.text[d],timestamp:a.timestamp[d],totalAmount:a.totalAmount})}),this.totalAmount=a.totalAmount,this.totalPages=Math.ceil(this.totalAmount/this.pagesize),b},initialize:function(a){a.upto===!0&&(this.upto=!0),this.loglevel=a.loglevel},model:window.newArangoLog,url:function(){var a,b,c,d=this.totalAmount-(this.page+1)*this.pagesize;return 0>d&&this.page===this.totalPages-1?(d=0,c=this.totalAmount%this.pagesize):c=this.pagesize,0===this.totalAmount&&(c=1),a=this.upto?"upto":"level",b="/_admin/log?"+a+"="+this.loglevel+"&size="+c+"&offset="+d,arangoHelper.databaseUrl(b)}})}(),function(){"use strict";window.ArangoQueries=Backbone.Collection.extend({initialize:function(a,b){var c=this;$.ajax("whoAmI?_="+Date.now(),{async:!0}).done(function(a){this.activeUser===!1||null===this.activeUser?c.activeUser="root":c.activeUser=a.user})},url:arangoHelper.databaseUrl("/_api/user/"),model:ArangoQuery,activeUser:null,parse:function(a){var b,c=this;return this.activeUser!==!1&&null!==this.activeUser||(this.activeUser="root"),_.each(a.result,function(a){if(a.user===c.activeUser)try{a.extra.queries&&(b=a.extra.queries)}catch(d){}}),b},saveCollectionQueries:function(a){if(this.activeUser===!1||null===this.activeUser)return!1;this.activeUser!==!1&&null!==this.activeUser||(this.activeUser="root");var b=[];this.each(function(a){b.push({value:a.attributes.value,parameter:a.attributes.parameter,name:a.attributes.name})}),$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.activeUser)),data:JSON.stringify({extra:{queries:b}}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},saveImportQueries:function(a,b){return 0===this.activeUser?!1:(window.progressView.show("Fetching documents..."),void $.ajax({cache:!1,type:"POST",url:"query/upload/"+encodeURIComponent(this.activeUser),data:a,contentType:"application/json",processData:!1,success:function(){window.progressView.hide(),arangoHelper.arangoNotification("Queries successfully imported."),b()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Query error","queries could not be imported")}}))}})}(),window.ArangoReplication=Backbone.Collection.extend({model:window.Replication,url:"../api/user",getLogState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/logger-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getApplyState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/applier-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})}}),window.StatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics"}),window.StatisticsDescriptionCollection=Backbone.Collection.extend({model:window.StatisticsDescription,url:"/_admin/statistics-description",parse:function(a){return a}}),window.ArangoUsers=Backbone.Collection.extend({model:window.Users,activeUser:null,activeUserSettings:{query:{},shell:{},testing:!0},sortOptions:{desc:!1},fetch:function(a){return window.App.currentUser&&"_system"!==window.App.currentDB.get("name")&&(this.url=frontendConfig.basePath+"/_api/user/"+encodeURIComponent(window.App.currentUser)),Backbone.Collection.prototype.fetch.call(this,a)},url:frontendConfig.basePath+"/_api/user",comparator:function(a,b){var c=a.get("user").toLowerCase(),d=b.get("user").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},login:function(a,b,c){var d=this;$.ajax({url:arangoHelper.databaseUrl("/_open/auth"),method:"POST",data:JSON.stringify({username:a,password:b}),dataType:"json"}).success(function(a){arangoHelper.setCurrentJwt(a.jwt);var b=a.jwt.split(".");if(!b[1])throw new Error("Invalid JWT");if(!window.atob)throw new Error("base64 support missing in browser");var e=JSON.parse(atob(b[1]));d.activeUser=e.preferred_username,c(!1,d.activeUser)}).error(function(){arangoHelper.setCurrentJwt(null),d.activeUser=null,c(!0,null)})},setSortingDesc:function(a){this.sortOptions.desc=a},logout:function(){arangoHelper.setCurrentJwt(null),this.activeUser=null,this.reset(),window.App.navigate(""),window.location.reload()},setUserSettings:function(a,b){this.activeUserSettings.identifier=b},loadUserSettings:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(b.activeUser)),contentType:"application/json",processData:!1,success:function(c){b.activeUserSettings=c.extra,a(!1,c)},error:function(b){a(!0,b)}})},saveUserSettings:function(a){var b=this;$.ajax({cache:!1,type:"PUT",url:frontendConfig.basePath+"/_api/user/"+encodeURIComponent(b.activeUser),data:JSON.stringify({extra:b.activeUserSettings}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},parse:function(a){var b=[];return a.result?_.each(a.result,function(a){b.push(a)}):b.push({user:a.user,active:a.active,extra:a.extra,changePassword:a.changePassword}),b},whoAmI:function(a){return this.activeUser?void a(!1,this.activeUser):void $.ajax("whoAmI?_="+Date.now()).success(function(b){a(!1,b.user)}).error(function(){a(!0,null)})}}),function(){"use strict";window.ClusterCoordinators=window.AutomaticRetryCollection.extend({model:window.ClusterCoordinator,url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/Coordinators"),updateUrl:function(){this.url=window.App.getNewRoute("Coordinators")},initialize:function(){},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.getStatuses.bind(c,a,b))}).done(function(){c.successFullTry(),c.forEach(function(b){a(c.statusClass(b.get("status")),b.get("address"))}),b()})}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].coords=a[c].coords||[],a[c].coords.push(b)}),b(a)})}},checkConnection:function(a){var b=this;this.checkRetries()&&this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.checkConnection.bind(b,a))}).done(function(){b.successFullTry(),a()})}})}(),function(){"use strict";window.ClusterServers=window.AutomaticRetryCollection.extend({model:window.ClusterServer,host:"",url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/DBServers"),updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a){if(this.checkRetries()){var b=this,c=function(){b.successFullTry(),b._retryCount=0,b.forEach(function(c){a(b.statusClass(c.get("status")),c.get("address"))})};this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.getStatuses.bind(b,a))}).done(c)}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].dbs=a[c].dbs||[],a[c].dbs.push(b)}),b(a)}).error(function(a){console.log("error"),console.log(a)})}},getList:function(){throw new Error("Do not use")},getOverview:function(){throw new Error("Do not use DbServer.getOverview")}})}(),function(){"use strict";window.CoordinatorCollection=Backbone.Collection.extend({model:window.Coordinator,url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/Coordinators") -})}(),function(){"use strict";window.FoxxCollection=Backbone.Collection.extend({model:window.Foxx,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_admin/aardvark/foxxes"),comparator:function(a,b){var c,d;return this.sortOptions.desc===!0?(c=a.get("mount"),d=b.get("mount"),d>c?1:c>d?-1:0):(c=a.get("mount"),d=b.get("mount"),c>d?1:d>c?-1:0)},setSortingDesc:function(a){this.sortOptions.desc=a},installFromGithub:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/git?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromStore:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/store?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromZip:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/zip?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify({zipFile:a}),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},generate:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/generate?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})}})}(),function(){"use strict";window.GraphCollection=Backbone.Collection.extend({model:window.Graph,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_api/gharial"),dropAndDeleteGraph:function(a,b){$.ajax({type:"DELETE",url:arangoHelper.databaseUrl("/_api/gharial/")+encodeURIComponent(a)+"?dropCollections=true",contentType:"application/json",processData:!0,success:function(){b(!0)},error:function(){b(!1)}})},comparator:function(a,b){var c=a.get("_key")||"",d=b.get("_key")||"";return c=c.toLowerCase(),d=d.toLowerCase(),this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},setSortingDesc:function(a){this.sortOptions.desc=a},parse:function(a){return a.error?void 0:a.graphs}})}(),function(){"use strict";window.NotificationCollection=Backbone.Collection.extend({model:window.Notification,url:""})}(),function(){"use strict";window.QueryManagementActive=Backbone.Collection.extend({model:window.queryManagementModel,url:function(){return frontendConfig.basePath+"/_api/query/current"},killRunningQuery:function(a,b){$.ajax({url:frontendConfig.basePath+"/_api/query/"+encodeURIComponent(a),type:"DELETE",success:function(a){b()}})}})}(),function(){"use strict";window.QueryManagementSlow=Backbone.Collection.extend({model:window.queryManagementModel,url:"/_api/query/slow",deleteSlowQueryHistory:function(a){var b=this;$.ajax({url:b.url,type:"DELETE",success:function(b){a()}})}})}(),function(){"use strict";window.WorkMonitorCollection=Backbone.Collection.extend({model:window.workMonitorModel,url:"/_admin/work-monitor",parse:function(a){return a.work}})}(),function(){"use strict";window.PaginationView=Backbone.View.extend({collection:null,paginationDiv:"",idPrefix:"",rerender:function(){},jumpTo:function(a){this.collection.setPage(a),this.rerender()},firstPage:function(){this.jumpTo(1)},lastPage:function(){this.jumpTo(this.collection.getLastPageNumber())},firstDocuments:function(){this.jumpTo(1)},lastDocuments:function(){this.jumpTo(this.collection.getLastPageNumber())},prevDocuments:function(){this.jumpTo(this.collection.getPage()-1)},nextDocuments:function(){this.jumpTo(this.collection.getPage()+1)},renderPagination:function(){$(this.paginationDiv).html("");var a=this,b=this.collection.getPage(),c=this.collection.getLastPageNumber(),d=$(this.paginationDiv),e={page:b,lastPage:c,click:function(b){var c=window.location.hash.split("/");"documents"===c[2]?(e.page=b,window.location.hash=c[0]+"/"+c[1]+"/"+c[2]+"/"+b):(a.jumpTo(b),e.page=b)}};d.html(""),d.pagination(e),$(this.paginationDiv).prepend('
    '),$(this.paginationDiv).append('
    ')}})}(),function(){"use strict";window.ApplicationDetailView=Backbone.View.extend({el:"#content",divs:["#readme","#swagger","#app-info","#sideinformation","#information","#settings"],navs:["#service-info","#service-api","#service-readme","#service-settings"],template:templateEngine.createTemplate("applicationDetailView.ejs"),events:{"click .open":"openApp","click .delete":"deleteApp","click #app-deps":"showDepsDialog","click #app-switch-mode":"toggleDevelopment","click #app-scripts [data-script]":"runScript","click #app-tests":"runTests","click #app-replace":"replaceApp","click #download-app":"downloadApp","click .subMenuEntries li":"changeSubview","click #jsonLink":"toggleSwagger","mouseenter #app-scripts":"showDropdown","mouseleave #app-scripts":"hideDropdown"},resize:function(a){a?$(".innerContent").css("height","auto"):($(".innerContent").height($(".centralRow").height()-150),$("#swagger iframe").height($(".centralRow").height()-150),$("#swagger #swaggerJsonContent").height($(".centralRow").height()-150))},toggleSwagger:function(){var a=function(a){$("#jsonLink").html("JSON"),this.jsonEditor.setValue(JSON.stringify(a,null," "),1),$("#swaggerJsonContent").show(),$("#swagger iframe").hide()}.bind(this);if("Swagger"===$("#jsonLink").html()){var b=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/docs/swagger.json?mount="+encodeURIComponent(this.model.get("mount")));arangoHelper.download(b,a)}else $("#swaggerJsonContent").hide(),$("#swagger iframe").show(),$("#jsonLink").html("Swagger")},changeSubview:function(a){_.each(this.navs,function(a){$(a).removeClass("active")}),$(a.currentTarget).addClass("active"),_.each(this.divs,function(a){$(".headerButtonBar").hide(),$(a).hide()}),"service-readme"===a.currentTarget.id?(this.resize(!0),$("#readme").show()):"service-api"===a.currentTarget.id?(this.resize(),$("#swagger").show()):"service-info"===a.currentTarget.id?(this.resize(!0),this.render(),$("#information").show(),$("#sideinformation").show()):"service-settings"===a.currentTarget.id&&(this.resize(!0),this.showConfigDialog(),$(".headerButtonBar").show(),$("#settings").show())},downloadApp:function(){this.model.isSystem()||this.model.download()},replaceApp:function(){var a=this.model.get("mount");window.foxxInstallView.upgrade(a,function(){window.App.applicationDetail(encodeURIComponent(a))}),$(".createModalDialog .arangoHeader").html("Replace Service"),$("#infoTab").click()},updateConfig:function(){this.model.getConfiguration(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-config")[this.model.needsConfiguration()?"show":"hide"](),this.model.needsConfiguration()?$("#app-config").addClass("error"):$("#app-config").removeClass("error")}.bind(this))},updateDeps:function(){this.model.getDependencies(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-deps")[this.model.hasUnconfiguredDependencies()?"show":"hide"](),this.model.hasUnconfiguredDependencies()?$("#app-deps").addClass("error"):$("#app-deps").removeClass("error")}.bind(this))},toggleDevelopment:function(){this.model.toggleDevelopment(!this.model.isDevelopment(),function(){this.model.isDevelopment()?($(".app-switch-mode").text("Set Production"),$("#app-development-indicator").css("display","inline"),$("#app-development-path").css("display","inline")):($(".app-switch-mode").text("Set Development"),$("#app-development-indicator").css("display","none"),$("#app-development-path").css("display","none"))}.bind(this))},runScript:function(a){a.preventDefault();var b=$(a.currentTarget).attr("data-script"),c=[window.modalView.createBlobEntry("app_script_arguments","Script arguments","",null,"optional",!1,[{rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty"}])],d=[window.modalView.createSuccessButton("Run script",function(){var a=$("#app_script_arguments").val();a=a&&JSON.parse(a),window.modalView.hide(),this.model.runScript(b,a,function(a,c){var d;d=a?"

    The script failed with an error"+(a.statusCode?" (HTTP "+a.statusCode+")":"")+":

    "+a.message+"
    ":c?"

    Script results:

    "+JSON.stringify(c,null,2)+"
    ":"

    The script ran successfully.

    ",window.modalView.show("modalTable.ejs",'Result of script "'+b+'"',void 0,void 0,void 0,d)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run script "'+b+'" on "'+this.model.get("mount")+'"',d,c)},showSwagger:function(a){a.preventDefault(),this.render("swagger")},showReadme:function(a){a.preventDefault(),this.render("readme")},runTests:function(a){a.preventDefault();var b="

    WARNING: Running tests may result in destructive side-effects including data loss. Please make sure not to run tests on a production database.

    ";this.model.isDevelopment()&&(b+="

    WARNING: This app is running in development mode. If any of the tests access the app's HTTP API they may become non-deterministic.

    ");var c=[window.modalView.createSuccessButton("Run tests",function(){window.modalView.hide(),this.model.runTests({reporter:"suite"},function(a,b){window.modalView.show("modalTestResults.ejs","Test results",void 0,void 0,void 0,a||b)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run tests for app "'+this.model.get("mount")+'"',c,void 0,void 0,b)},render:function(a){return this.resize(),this.model.fetchThumbnail(function(){var b=function(b,c){var d=this;b?arangoHelper.arangoError("DB","Could not get current database"):($(this.el).html(this.template.render({app:this.model,baseUrl:arangoHelper.databaseUrl("",c),mode:a})),d.jsonEditor=ace.edit("swaggerJsonEditor"),d.jsonEditor.setReadOnly(!0),d.jsonEditor.getSession().setMode("ace/mode/json"),$.ajax({url:this.appUrl(c),headers:{accept:"text/html,*/*;q=0.9"}}).success(function(){$(".open",this.el).prop("disabled",!1)}.bind(this)),this.updateConfig(),this.updateDeps(),"swagger"===a&&$.get("./foxxes/docs/swagger.json?mount="+encodeURIComponent(this.model.get("mount")),function(a){Object.keys(a.paths).length<1&&(d.render("readme"),$("#app-show-swagger").attr("disabled","true"))})),this.breadcrumb()}.bind(this);arangoHelper.currentDatabase(b),_.isEmpty(this.model.get("config"))&&$("#service-settings").attr("disabled",!0)}.bind(this)),$(this.el)},breadcrumb:function(){var a="Service: "+this.model.get("name")+'',b='

    Contributors:';this.model.get("contributors")&&this.model.get("contributors").length>0?_.each(this.model.get("contributors"),function(a){b+=''+a.name+""}):b+="No contributors",b+="

    ",$(".information").append(b),this.model.get("author")&&$(".information").append('

    Author:'+this.model.get("author")+"

    "),this.model.get("mount")&&$(".information").append('

    Mount:'+this.model.get("mount")+"

    "),this.model.get("development")&&this.model.get("path")&&$(".information").append('

    Path:'+this.model.get("path")+"

    "),$("#subNavigationBar .breadcrumb").html(a)},openApp:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current database"):window.open(this.appUrl(b),this.model.get("title")).focus()}.bind(this);arangoHelper.currentDatabase(a)},deleteApp:function(){var a=[window.modalView.createDeleteButton("Delete",function(){var a={teardown:$("#app_delete_run_teardown").is(":checked")};this.model.destroy(a,function(a,b){a||b.error!==!1||(window.modalView.hide(),window.App.navigate("services",{trigger:!0}))})}.bind(this))],b=[window.modalView.createCheckboxEntry("app_delete_run_teardown","Run teardown?",!0,"Should this app's teardown script be executed before removing the app?",!0)];window.modalView.show("modalTable.ejs",'Delete Foxx App mounted at "'+this.model.get("mount")+'"',a,b,void 0,"

    Are you sure? There is no way back...

    ",!0)},appUrl:function(a){return arangoHelper.databaseUrl(this.model.get("mount"),a)},applyConfig:function(){var a={};_.each(this.model.get("config"),function(b,c){var d=$("#app_config_"+c),e=d.val();if("boolean"===b.type||"bool"===b.type)return void(a[c]=d.is(":checked"));if(""===e&&b.hasOwnProperty("default"))return a[c]=b["default"],void("json"===b.type&&(a[c]=JSON.stringify(b["default"])));if("number"===b.type)a[c]=parseFloat(e);else if("integer"===b.type||"int"===b.type)a[c]=parseInt(e,10);else{if("json"!==b.type)return void(a[c]=window.arangoHelper.escapeHtml(e));a[c]=e&&JSON.stringify(JSON.parse(e))}}),this.model.setConfiguration(a,function(){this.updateConfig(),arangoHelper.arangoNotification(this.model.get("name"),"Settings applied.")}.bind(this))},showConfigDialog:function(){if(_.isEmpty(this.model.get("config")))return void $("#settings .buttons").html($("#hidden_buttons").html());var a=_.map(this.model.get("config"),function(a,b){var c=void 0===a["default"]?"":String(a["default"]),d=void 0===a.current?"":String(a.current),e="createTextEntry",f=!1,g=[];return"boolean"===a.type||"bool"===a.type?(e="createCheckboxEntry",a["default"]=a["default"]||!1,c=a["default"]||!1,d=a.current||!1):"json"===a.type?(e="createBlobEntry",c=void 0===a["default"]?"":JSON.stringify(a["default"]),d=void 0===a.current?"":a.current,g.push({rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty."})):"integer"===a.type||"int"===a.type?g.push({rule:Joi.number().integer().optional().allow(""),msg:"Has to be an integer."}):"number"===a.type?g.push({rule:Joi.number().optional().allow(""),msg:"Has to be a number."}):("password"===a.type&&(e="createPasswordEntry"),g.push({rule:Joi.string().optional().allow(""),msg:"Has to be a string."})),void 0===a["default"]&&a.required!==!1&&(f=!0,g.unshift({rule:Joi.any().required(),msg:"This field is required."})),window.modalView[e]("app_config_"+b,b,d,a.description,c,f,g)}),b=[window.modalView.createSuccessButton("Apply",this.applyConfig.bind(this))];window.modalView.show("modalTable.ejs","Configuration",b,a,null,null,null,null,null,"settings"),$(".modal-footer").prepend($("#hidden_buttons").html())},applyDeps:function(){var a={};_.each(this.model.get("deps"),function(b,c){var d=$("#app_deps_"+c);a[c]=window.arangoHelper.escapeHtml(d.val())}),this.model.setDependencies(a,function(){window.modalView.hide(),this.updateDeps()}.bind(this))},showDepsDialog:function(){if(!_.isEmpty(this.model.get("deps"))){var a=_.map(this.model.get("deps"),function(a,b){var c=void 0===a.current?"":String(a.current),d="",e=a.definition.name;"*"!==a.definition.version&&(e+="@"+a.definition.version);var f=[{rule:Joi.string().optional().allow(""),msg:"Has to be a string."}];return a.definition.required&&f.push({rule:Joi.string().required(),msg:"This value is required."}),window.modalView.createTextEntry("app_deps_"+b,a.title,c,e,d,a.definition.required,f)}),b=[window.modalView.createSuccessButton("Apply",this.applyDeps.bind(this))];window.modalView.show("modalTable.ejs","Dependencies",b,a)}},showDropdown:function(){_.isEmpty(this.model.get("scripts"))||$("#scripts_dropdown").show(200)},hideDropdown:function(){$("#scripts_dropdown").hide()}})}(),function(){"use strict";window.ApplicationsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("applicationsView.ejs"),events:{"click #addApp":"createInstallModal","click #foxxToggle":"slideToggle","click #checkDevel":"toggleDevel","click #checkProduction":"toggleProduction","click #checkSystem":"toggleSystem"},fixCheckboxes:function(){this._showDevel?$("#checkDevel").attr("checked","checked"):$("#checkDevel").removeAttr("checked"),this._showSystem?$("#checkSystem").attr("checked","checked"):$("#checkSystem").removeAttr("checked"),this._showProd?$("#checkProduction").attr("checked","checked"):$("#checkProduction").removeAttr("checked"),$("#checkDevel").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkSystem").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkProduction").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),arangoHelper.setCheckboxStatus("#foxxDropdown")},toggleDevel:function(){var a=this;this._showDevel=!this._showDevel,_.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel)}),this.fixCheckboxes()},toggleProduction:function(){var a=this;this._showProd=!this._showProd,_.each(this._installedSubViews,function(b){b.toggle("production",a._showProd)}),this.fixCheckboxes()},toggleSystem:function(){this._showSystem=!this._showSystem;var a=this;_.each(this._installedSubViews,function(b){b.toggle("system",a._showSystem)}),this.fixCheckboxes()},reload:function(){var a=this;_.each(this._installedSubViews,function(a){a.undelegateEvents()}),this.collection.fetch({success:function(){a.createSubViews(),a.render()}})},createSubViews:function(){var a=this;this._installedSubViews={},a.collection.each(function(b){var c=new window.FoxxActiveView({model:b,appsView:a});a._installedSubViews[b.get("mount")]=c})},initialize:function(){this._installedSubViews={},this._showDevel=!0,this._showProd=!0,this._showSystem=!1},slideToggle:function(){$("#foxxToggle").toggleClass("activated"),$("#foxxDropdownOut").slideToggle(200)},createInstallModal:function(a){a.preventDefault(),window.foxxInstallView.install(this.reload.bind(this))},render:function(){this.collection.sort(),$(this.el).html(this.template.render({})),_.each(this._installedSubViews,function(a){$("#installedList").append(a.render())}),this.delegateEvents(),$("#checkDevel").attr("checked",this._showDevel),$("#checkProduction").attr("checked",this._showProd),$("#checkSystem").attr("checked",this._showSystem),arangoHelper.setCheckboxStatus("#foxxDropdown");var a=this;return _.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel),b.toggle("system",a._showSystem)}),arangoHelper.fixTooltips("icon_arangodb","left"),this}})}(),function(){"use strict";window.ClusterView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("clusterView.ejs"),events:{},statsEnabled:!1,historyInit:!1,initDone:!1,interval:5e3,maxValues:100,knownServers:[],chartData:{},charts:{},nvcharts:[],startHistory:{},startHistoryAccumulated:{},initialize:function(a){var b=this;window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),window.setInterval(function(){if("#cluster"===window.location.hash||""===window.location.hash||"#"===window.location.hash){var a=function(a){b.rerenderValues(a),b.rerenderGraphs(a)};b.getCoordStatHistory(a)}},this.interval))},render:function(){this.$el.html(this.template.render({})),this.initDone||(void 0!==this.coordinators.first()?this.getServerStatistics():this.waitForCoordinators(),this.initDone=!0),this.initGraphs()},waitForCoordinators:function(){var a=this;window.setTimeout(function(){a.coordinators?a.getServerStatistics():a.waitForCoordinators()},500)},updateServerTime:function(){this.serverTime=(new Date).getTime()},getServerStatistics:function(){var a=this;this.data=void 0;var b=this.coordinators.first();this.statCollectCoord=new window.ClusterStatisticsCollection([],{host:b.get("address")}),this.statCollectDBS=new window.ClusterStatisticsCollection([],{host:b.get("address")});var c=[];_.each(this.dbServers,function(a){a.each(function(a){c.push(a)})}),_.each(c,function(c){if("ok"===c.get("status")){-1===a.knownServers.indexOf(c.id)&&a.knownServers.push(c.id);var d=new window.Statistics({name:c.id});d.url=b.get("protocol")+"://"+b.get("address")+"/_admin/clusterStatistics?DBserver="+c.get("name"),a.statCollectDBS.add(d)}}),this.coordinators.forEach(function(b){if("ok"===b.get("status")){-1===a.knownServers.indexOf(b.id)&&a.knownServers.push(b.id);var c=new window.Statistics({name:b.id});c.url=b.get("protocol")+"://"+b.get("address")+"/_admin/statistics",a.statCollectCoord.add(c)}});var d=function(b){a.rerenderValues(b),a.rerenderGraphs(b)};a.getCoordStatHistory(d),a.renderNodes()},rerenderValues:function(a){var b=this;b.renderNodes(),this.renderValue("#clusterConnections",Math.round(a.clientConnectionsCurrent)),this.renderValue("#clusterConnectionsAvg",Math.round(a.clientConnections15M));var c=a.physicalMemory,d=a.residentSizeCurrent;this.renderValue("#clusterRam",[d,c])},renderValue:function(a,b,c,d){if("number"==typeof b)$(a).html(b);else if($.isArray(b)){var e=b[0],f=b[1],g=1/(f/e)*100;g>90?c=!0:g>70&&90>g&&(d=!0),$(a).html(g.toFixed(1)+" %")}else"string"==typeof b&&$(a).html(b);c?($(a).addClass("negative"),$(a).removeClass("warning"),$(a).removeClass("positive")):d?($(a).addClass("warning"),$(a).removeClass("positive"),$(a).removeClass("negative")):($(a).addClass("positive"),$(a).removeClass("negative"),$(a).removeClass("warning"))},renderNodes:function(){var a=this,b=function(a){var b=0,c=0,d=0,e=0;_.each(a,function(a){"Coordinator"===a.Role?(b++,"GOOD"!==a.Status&&c++):"DBServer"===a.Role&&(d++,"GOOD"!==a.Status&&e++)}),c>0?this.renderValue("#clusterCoordinators",b-c+"/"+b,!0):this.renderValue("#clusterCoordinators",b),e>0?this.renderValue("#clusterDBServers",d-e+"/"+d,!0):this.renderValue("#clusterDBServers",d)}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a.Health)},error:function(){a.renderValue("#clusterCoordinators","N/A",!0),a.renderValue("#clusterDBServers","N/A",!0)}})},initValues:function(){var a=["#clusterNodes","#clusterRam","#clusterConnections","#clusterConnectionsAvg"];_.each(a,function(a){$(a).html('')})},graphData:{data:{sent:[],received:[]},http:[],average:[]},checkArraySizes:function(){var a=this;_.each(a.chartsOptions,function(b,c){_.each(b.options,function(b,d){b.values.length>a.maxValues-1&&a.chartsOptions[c].options[d].values.shift()})})},formatDataForGraph:function(a){var b=this;b.historyInit?(b.checkArraySizes(),b.chartsOptions[0].options[0].values.push({x:a.times[a.times.length-1],y:a.bytesSentPerSecond[a.bytesSentPerSecond.length-1]}),b.chartsOptions[0].options[1].values.push({x:a.times[a.times.length-1],y:a.bytesReceivedPerSecond[a.bytesReceivedPerSecond.length-1]}),b.chartsOptions[1].options[0].values.push({x:a.times[a.times.length-1],y:b.calcTotalHttp(a.http,a.bytesSentPerSecond.length-1)}),b.chartsOptions[2].options[0].values.push({x:a.times[a.times.length-1],y:a.avgRequestTime[a.bytesSentPerSecond.length-1]/b.coordinators.length})):(_.each(a.times,function(c,d){b.chartsOptions[0].options[0].values.push({x:c,y:a.bytesSentPerSecond[d]}),b.chartsOptions[0].options[1].values.push({x:c,y:a.bytesReceivedPerSecond[d]}),b.chartsOptions[1].options[0].values.push({x:c,y:b.calcTotalHttp(a.http,d)}),b.chartsOptions[2].options[0].values.push({x:c,y:a.avgRequestTime[d]/b.coordinators.length})}),b.historyInit=!0)},chartsOptions:[{id:"#clusterData",type:"bytes",count:2,options:[{area:!0,values:[],key:"Bytes out",color:"rgb(23,190,207)",strokeWidth:2,fillOpacity:.1},{area:!0,values:[],key:"Bytes in",color:"rgb(188, 189, 34)",strokeWidth:2,fillOpacity:.1}]},{id:"#clusterHttp",type:"bytes",options:[{area:!0,values:[],key:"Bytes",color:"rgb(0, 166, 90)",fillOpacity:.1}]},{id:"#clusterAverage",data:[],type:"seconds",options:[{area:!0,values:[],key:"Seconds",color:"rgb(243, 156, 18)",fillOpacity:.1}]}],initGraphs:function(){var a=this,b="No data...";_.each(a.chartsOptions,function(c){nv.addGraph(function(){a.charts[c.id]=nv.models.stackedAreaChart().options({useInteractiveGuideline:!0,showControls:!1,noData:b,duration:0}),a.charts[c.id].xAxis.axisLabel("").tickFormat(function(a){var b=new Date(1e3*a);return(b.getHours()<10?"0":"")+b.getHours()+":"+(b.getMinutes()<10?"0":"")+b.getMinutes()+":"+(b.getSeconds()<10?"0":"")+b.getSeconds()}).staggerLabels(!1),a.charts[c.id].yAxis.axisLabel("").tickFormat(function(a){var b;return"bytes"===c.type?null===a?"N/A":(b=parseFloat(d3.format(".2f")(a)),prettyBytes(b)):"seconds"===c.type?null===a?"N/A":b=parseFloat(d3.format(".3f")(a)):void 0});var d,e=a.returnGraphOptions(c.id);return e.length>0?_.each(e,function(a,b){c.options[b].values=a}):c.options[0].values=[],d=c.options,a.chartData[c.id]=d3.select(c.id).append("svg").datum(d).transition().duration(300).call(a.charts[c.id]).each("start",function(){window.setTimeout(function(){d3.selectAll(c.id+" *").each(function(){this.__transition__&&(this.__transition__.duration=0)})},0)}),nv.utils.windowResize(a.charts[c.id].update),a.nvcharts.push(a.charts[c.id]),a.charts[c.id]})})},returnGraphOptions:function(a){var b=[];return b="#clusterData"===a?[this.chartsOptions[0].options[0].values,this.chartsOptions[0].options[1].values]:"#clusterHttp"===a?[this.chartsOptions[1].options[0].values]:"#clusterAverage"===a?[this.chartsOptions[2].options[0].values]:[]},rerenderGraphs:function(a){if(this.statsEnabled){var b,c,d=this;this.formatDataForGraph(a),_.each(d.chartsOptions,function(a){c=d.returnGraphOptions(a.id),c.length>0?_.each(c,function(b,c){a.options[c].values=b}):a.options[0].values=[],b=a.options,b[0].values.length>0&&d.historyInit&&d.charts[a.id]&&d.charts[a.id].update()})}},calcTotalHttp:function(a,b){var c=0;return _.each(a,function(a){c+=a[b]}),c},getCoordStatHistory:function(a){$.ajax({url:"statistics/coordshort",json:!0}).success(function(b){this.statsEnabled=b.enabled,a(b.data)}.bind(this))}})}(),function(){"use strict";window.CollectionListItemView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("collectionsItemView.ejs"),initialize:function(a){this.collectionsView=a.collectionsView},events:{"click .iconSet.icon_arangodb_settings2":"createEditPropertiesModal","click .pull-left":"noop","click .icon_arangodb_settings2":"editProperties","click .spanInfo":"showProperties",click:"selectCollection"},render:function(){return this.model.get("locked")?($(this.el).addClass("locked"),$(this.el).addClass(this.model.get("lockType"))):$(this.el).removeClass("locked"),"loading"!==this.model.get("status")&&"unloading"!==this.model.get("status")||$(this.el).addClass("locked"),$(this.el).html(this.template.render({model:this.model})),$(this.el).attr("id","collection_"+this.model.get("name")),this},editProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createEditPropertiesModal())},showProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createInfoModal())},selectCollection:function(a){return $(a.target).hasClass("disabled")?0:this.model.get("locked")?0:"loading"===this.model.get("status")?0:void("unloaded"===this.model.get("status")?this.loadCollection():window.App.navigate("collection/"+encodeURIComponent(this.model.get("name"))+"/documents/1",{trigger:!0}))},noop:function(a){a.stopPropagation()},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.modalView.hide()}}),this.collectionsView.render()},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g,10)!==Math.pow(2,Math.log2(g)))throw new Error("invalid indexBuckets value")}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);frontendConfig.isCluster===!1?this.model.renameCollection(c,i):i()}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection error: "+b.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this);frontendConfig.isCluster===!1?this.model.renameCollection(c,j):j()}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},createEditPropertiesModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a),"loaded"===this.model.get("status")?this.getIndex():$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number." -}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()};this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#modal-dialog .modal-footer .button-danger").hide(),$("#modal-dialog .modal-footer .button-success").hide(),$("#modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#modal-dialog .modal-footer .button-danger").show(),$("#modal-dialog .modal-footer .button-success").show(),$("#modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},createInfoModal:function(){var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e)}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson"),h=d.checkboxToValue("#newGeoConstraint"),i=d.checkboxToValue("#newGeoIgnoreNull");f={type:"geo",fields:d.stringToArray(a),geoJson:g,constraint:h,ignoreNull:i};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var j=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:j};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var k=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.refreshCollectionsView()};window.modalView.hide(),d.model.createIndex(f,k)},lastTarget:null,prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},refreshCollectionsView:function(){window.App.arangoCollectionsStore.fetch({success:function(){window.App.collectionsView.render()}})},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1),this.refreshCollectionsView()):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1),this.refreshCollectionsView()),this.refreshCollectionsView()}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.CollectionsView=Backbone.View.extend({el:"#content",el2:"#collectionsThumbnailsIn",searchTimeout:null,refreshRate:1e4,template:templateEngine.createTemplate("collectionsView.ejs"),refetchCollections:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.checkLockedCollections()}})},checkLockedCollections:function(){var a=function(a,b){var c=this;a?console.log("Could not check locked collections"):(this.collection.each(function(a){a.set("locked",!1)}),_.each(b,function(a){var b=c.collection.findWhere({id:a.collection});b.set("locked",!0),b.set("lockType",a.type),b.set("desc",a.desc)}),this.collection.each(function(a){a.get("locked")||($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").addClass(a.get("status"))),a.get("locked")||"loading"===a.get("status")?($("#collection_"+a.get("name")).addClass("locked"),a.get("locked")?($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")).find(".corneredBadge").addClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("desc"))):$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status"))):($("#collection_"+a.get("name")).removeClass("locked"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").hasClass("inProgress")&&($("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").removeClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").addClass("loaded")),"unloaded"===a.get("status")&&$("#collection_"+a.get("name")+" .icon_arangodb_info").addClass("disabled"))}))}.bind(this);window.arangoHelper.syncAndReturnUninishedAardvarkJobs("index",a)},initialize:function(){var a=this;window.setInterval(function(){"#collections"===window.location.hash&&window.VISIBLE&&a.refetchCollections()},a.refreshRate)},render:function(){this.checkLockedCollections();var a=!1;$("#collectionsDropdown").is(":visible")&&(a=!0),$(this.el).html(this.template.render({})),this.setFilterValues(),a===!0&&$("#collectionsDropdown2").show();var b=this.collection.searchOptions;this.collection.getFiltered(b).forEach(function(a){$("#collectionsThumbnailsIn",this.el).append(new window.CollectionListItemView({model:a,collectionsView:this}).render().el)},this),"none"===$("#collectionsDropdown2").css("display")?$("#collectionsToggle").removeClass("activated"):$("#collectionsToggle").addClass("activated");var c;arangoHelper.setCheckboxStatus("#collectionsDropdown");try{c=b.searchPhrase.length}catch(d){}return $("#searchInput").val(b.searchPhrase),$("#searchInput").focus(),$("#searchInput")[0].setSelectionRange(c,c),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","left"),this},events:{"click #createCollection":"createCollection","keydown #searchInput":"restrictToSearchPhraseKey","change #searchInput":"restrictToSearchPhrase","click #searchSubmit":"restrictToSearchPhrase","click .checkSystemCollections":"checkSystem","click #checkLoaded":"checkLoaded","click #checkUnloaded":"checkUnloaded","click #checkDocument":"checkDocument","click #checkEdge":"checkEdge","click #sortName":"sortName","click #sortType":"sortType","click #sortOrder":"sortOrder","click #collectionsToggle":"toggleView","click .css-label":"checkBoxes"},updateCollectionsView:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},toggleView:function(){$("#collectionsToggle").toggleClass("activated"),$("#collectionsDropdown2").slideToggle(200)},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},checkSystem:function(){var a=this.collection.searchOptions,b=a.includeSystem;a.includeSystem=$(".checkSystemCollections").is(":checked")===!0,b!==a.includeSystem&&this.render()},checkEdge:function(){var a=this.collection.searchOptions,b=a.includeEdge;a.includeEdge=$("#checkEdge").is(":checked")===!0,b!==a.includeEdge&&this.render()},checkDocument:function(){var a=this.collection.searchOptions,b=a.includeDocument;a.includeDocument=$("#checkDocument").is(":checked")===!0,b!==a.includeDocument&&this.render()},checkLoaded:function(){var a=this.collection.searchOptions,b=a.includeLoaded;a.includeLoaded=$("#checkLoaded").is(":checked")===!0,b!==a.includeLoaded&&this.render()},checkUnloaded:function(){var a=this.collection.searchOptions,b=a.includeUnloaded;a.includeUnloaded=$("#checkUnloaded").is(":checked")===!0,b!==a.includeUnloaded&&this.render()},sortName:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortName").is(":checked")===!0?"name":"type",b!==a.sortBy&&this.render()},sortType:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortType").is(":checked")===!0?"type":"name",b!==a.sortBy&&this.render()},sortOrder:function(){var a=this.collection.searchOptions,b=a.sortOrder;a.sortOrder=$("#sortOrder").is(":checked")===!0?-1:1,b!==a.sortOrder&&this.render()},setFilterValues:function(){var a=this.collection.searchOptions;$("#checkLoaded").attr("checked",a.includeLoaded),$("#checkUnloaded").attr("checked",a.includeUnloaded),$(".checkSystemCollections").attr("checked",a.includeSystem),$("#checkEdge").attr("checked",a.includeEdge),$("#checkDocument").attr("checked",a.includeDocument),$("#sortName").attr("checked","type"!==a.sortBy),$("#sortType").attr("checked","type"===a.sortBy),$("#sortOrder").attr("checked",1!==a.sortOrder)},search:function(){var a=this.collection.searchOptions,b=$("#searchInput").val();b!==a.searchPhrase&&(a.searchPhrase=b,this.render())},resetSearch:function(){this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null);var a=this.collection.searchOptions;a.searchPhrase=null},restrictToSearchPhraseKey:function(){var a=this;this.resetSearch(),a.searchTimeout=setTimeout(function(){a.search()},200)},restrictToSearchPhrase:function(){this.resetSearch(),this.search()},createCollection:function(a){a.preventDefault(),this.createNewCollectionModal()},submitCreateCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=$("#new-collection-name").val(),d=$("#new-collection-size").val(),e=$("#new-replication-factor").val(),f=$("#new-collection-type").val(),g=$("#new-collection-sync").val(),h=1,i=[];if(""===e&&(e=1),b){if(h=$("#new-collection-shards").val(),""===h&&(h=1),h=parseInt(h,10),1>h)return arangoHelper.arangoError("Number of shards has to be an integer value greater or equal 1"),0;i=_.pluck($("#new-collection-shardBy").select2("data"),"text"),0===i.length&&i.push("_key")}if("_"===c.substr(0,1))return arangoHelper.arangoError('No "_" allowed as first character!'),0;var j=!1,k="true"===g;if(d>0)try{d=1024*JSON.parse(d)*1024}catch(l){return arangoHelper.arangoError("Please enter a valid number"),0}if(""===c)return arangoHelper.arangoError("No collection name entered!"),0;var m=function(a,b){if(a)try{b=JSON.parse(b.responseText),arangoHelper.arangoError("Error",b.errorMessage)}catch(c){}else this.updateCollectionsView();window.modalView.hide()}.bind(this);this.collection.newCollection({collName:c,wfs:k,isSystem:j,collSize:d,replicationFactor:e,collType:f,shards:h,shardBy:i},m)}}.bind(this);window.isCoordinator(a)},createNewCollectionModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=[],d=[],e={},f=[];d.push(window.modalView.createTextEntry("new-collection-name","Name","",!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),d.push(window.modalView.createSelectEntry("new-collection-type","Type","","The type of the collection to create.",[{value:2,label:"Document"},{value:3,label:"Edge"}])),b&&(d.push(window.modalView.createTextEntry("new-collection-shards","Shards","","The number of shards to create. You cannot change this afterwards. Recommended: DBServers squared","",!0)),d.push(window.modalView.createSelect2Entry("new-collection-shardBy","shardBy","","The keys used to distribute documents on shards. Type the key and press return to add it.","_key",!1))),c.push(window.modalView.createSuccessButton("Save",this.submitCreateCollection.bind(this))),f.push(window.modalView.createTextEntry("new-collection-size","Journal size","","The maximal size of a journal or datafile (in MB). Must be at least 1.","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),window.App.isCluster&&f.push(window.modalView.createTextEntry("new-replication-factor","Replication factor","","Numeric value. Must be at least 1. Description: TODO","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),f.push(window.modalView.createSelectEntry("new-collection-sync","Wait for sync","","Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}])),e.header="Advanced",e.content=f,window.modalView.show("modalTable.ejs","New Collection",c,d,e),$("#s2id_new-collection-shardBy .select2-search-field input").on("focusout",function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},200))})}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";function a(a,b){return void 0!==a&&null!==a||(a=0),a.toFixed(b)}window.DashboardView=Backbone.View.extend({el:"#content",interval:1e4,defaultTimeFrame:12e5,defaultDetailFrame:1728e5,history:{},graphs:{},events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},tendencies:{asyncPerSecondCurrent:["asyncPerSecondCurrent","asyncPerSecondPercentChange"],syncPerSecondCurrent:["syncPerSecondCurrent","syncPerSecondPercentChange"],clientConnectionsCurrent:["clientConnectionsCurrent","clientConnectionsPercentChange"],clientConnectionsAverage:["clientConnections15M","clientConnections15MPercentChange"],numberOfThreadsCurrent:["numberOfThreadsCurrent","numberOfThreadsPercentChange"],numberOfThreadsAverage:["numberOfThreads15M","numberOfThreads15MPercentChange"],virtualSizeCurrent:["virtualSizeCurrent","virtualSizePercentChange"],virtualSizeAverage:["virtualSize15M","virtualSize15MPercentChange"]},barCharts:{totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]},barChartsElementNames:{queueTimeDistributionPercent:"Queue",requestTimeDistributionPercent:"Computation",bytesSentDistributionPercent:"Bytes sent",bytesReceivedDistributionPercent:"Bytes received"},getDetailFigure:function(a){var b=$(a.currentTarget).attr("id").replace(/ChartButton/g,"");return b},showDetail:function(a){var b,c=this,d=this.getDetailFigure(a);b=this.dygraphConfig.getDetailChartConfig(d),this.getHistoryStatistics(d),this.detailGraphFigure=d,window.modalView.hideFooter=!0,window.modalView.hide(),window.modalView.show("modalGraph.ejs",b.header,void 0,void 0,void 0,void 0,this.events),window.modalView.hideFooter=!1,$("#modal-dialog").on("hidden",function(){c.hidden()}),$("#modal-dialog").toggleClass("modal-chart-detail",!0),b.height=.7*$(window).height(),b.width=$(".modal-inner-detail").width(),b.labelsDiv=$(b.labelsDiv)[0],this.detailGraph=new Dygraph(document.getElementById("lineChartDetail"),this.history[this.server][d],b)},hidden:function(){this.detailGraph.destroy(),delete this.detailGraph,delete this.detailGraphFigure},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},prepareDygraphs:function(){var a,b=this;this.dygraphConfig.getDashBoardFigures().forEach(function(c){a=b.dygraphConfig.getDefaultConfig(c);var d=b.getCurrentSize(a.div);a.height=d.height,a.width=d.width,b.graphs[c]=new Dygraph(document.getElementById(a.div),b.history[b.server][c]||[],a)})},initialize:function(a){this.options=a,this.dygraphConfig=a.dygraphConfig,this.d3NotInitialized=!0,this.events["click .dashboard-sub-bar-menu-sign"]=this.showDetail.bind(this),this.events["mousedown .dygraph-rangesel-zoomhandle"]=this.stopUpdating.bind(this),this.events["mouseup .dygraph-rangesel-zoomhandle"]=this.startUpdating.bind(this),this.serverInfo=a.serverToShow,this.serverInfo?this.server=this.serverInfo.target:this.server="-local-",this.history[this.server]={}},toggleViews:function(a){var b=a.currentTarget.id.split("-")[0],c=this,d=["replication","requests","system"];_.each(d,function(a){b!==a?$("#"+a).hide():($("#"+a).show(),c.resize(),$(window).resize())}),$(".subMenuEntries").children().removeClass("active"),$("#"+b+"-statistics").addClass("active"),window.setTimeout(function(){c.resize(),$(window).resize()},200)},updateCharts:function(){var a=this;return this.detailGraph?void this.updateLineChart(this.detailGraphFigure,!0):(this.prepareD3Charts(this.isUpdating),this.prepareResidentSize(this.isUpdating),this.updateTendencies(),void Object.keys(this.graphs).forEach(function(b){a.updateLineChart(b,!1)}))},updateTendencies:function(){var a=this,b=this.tendencies,c="";Object.keys(b).forEach(function(b){var d="",e=0;a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)&&(e=a.history[a.server][b][1]),0>e?c="#d05448":(c="#77DB99",d="+"),a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)?$("#"+b).html(a.history[a.server][b][0]+'
    '+d+e+"%"):$("#"+b).html('

    data not ready yet

    ')})},updateDateWindow:function(a,b){var c,d,e=(new Date).getTime();return b&&a.dateWindow_?(c=a.dateWindow_[0],d=e-a.dateWindow_[1]-5*this.interval>0?a.dateWindow_[1]:e,[c,d]):[e-this.defaultTimeFrame,e]},updateLineChart:function(a,b){var c=b?this.detailGraph:this.graphs[a],d={file:this.history[this.server][a],dateWindow:this.updateDateWindow(c,b)},e=0,f=[];_.each(d.file,function(a){var b=a[0].getSeconds()-a[0].getSeconds()%10;d.file[e][0].setSeconds(b),f.push(d.file[e][0]),e++});for(var g=new Date(Math.max.apply(null,f)),h=new Date(Math.min.apply(null,f)),i=new Date(h.getTime()),j=[],k=[];g>i;)i=new Date(i.setSeconds(i.getSeconds()+10)),k.push(i);_.each(k,function(a){var b=!1;_.each(d.file,function(c){Math.floor(a.getTime()/1e3)===Math.floor(c[0].getTime()/1e3)&&(b=!0)}),b===!1&&a1)){var f=0,g=0;9===c.length&&(f+=c[1],f+=c[6],f+=c[7],f+=c[8],g+=c[2],g+=c[3],g+=c[4],g+=c[5],c=[c[0],f,g]),d.history[d.server][e].unshift(c)}})},cutOffHistory:function(a,b){for(var c=this,d=c.history[c.server][a];0!==d.length&&!(d[d.length-1][0]>=b);)d.pop()},cutOffDygraphHistory:function(a){var b=this,c=new Date(a);this.dygraphConfig.getDashBoardFigures(!0).forEach(function(a){b.dygraphConfig.mapStatToFigure[a]&&b.history[b.server][a]&&b.cutOffHistory(a,c)})},mergeHistory:function(b){var c,d=this;for(c=0;c=0;--c)d.values.push({label:this.getLabel(b[a[0]].cuts,c),value:b[a[0]].values[c]}),e.values.push({label:this.getLabel(b[a[1]].cuts,c),value:b[a[1]].values[c]});return[d,e]},getLabel:function(a,b){return a[b]?0===b?"0 - "+a[b]:a[b-1]+" - "+a[b]:">"+a[b-1]},renderReplicationStatistics:function(a){$("#repl-numbers table tr:nth-child(1) > td:nth-child(2)").html(a.state.totalEvents),$("#repl-numbers table tr:nth-child(2) > td:nth-child(2)").html(a.state.totalRequests),$("#repl-numbers table tr:nth-child(3) > td:nth-child(2)").html(a.state.totalFailedConnects),a.state.lastAppliedContinuousTick?$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html(a.state.lastAppliedContinuousTick):$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastProcessedContinuousTick?$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html(a.state.lastProcessedContinuousTick):$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastAvailableContinuousTick?$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html(a.state.lastAvailableContinuousTick):$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html("no data available").addClass("no-data"),$("#repl-progress table tr:nth-child(1) > td:nth-child(2)").html(a.state.progress.message),$("#repl-progress table tr:nth-child(2) > td:nth-child(2)").html(a.state.progress.time),$("#repl-progress table tr:nth-child(3) > td:nth-child(2)").html(a.state.progress.failedConnects)},getReplicationStatistics:function(){var a=this;$.ajax(arangoHelper.databaseUrl("/_api/replication/applier-state"),{async:!0}).done(function(b){if(b.hasOwnProperty("state")){var c;c=b.state.running?"active":"inactive",c=''+c+"",$("#replication-chart .dashboard-sub-bar").html("Replication "+c),a.renderReplicationStatistics(b)}})},getStatistics:function(a,b){var c=this,d=arangoHelper.databaseUrl("/_admin/aardvark/statistics/short","_system"),e="?start=";e+=c.nextStart?c.nextStart:((new Date).getTime()-c.defaultTimeFrame)/1e3,"-local-"!==c.server&&(e+="&type=short&DBserver="+c.serverInfo.target,c.history.hasOwnProperty(c.server)||(c.history[c.server]={})),$.ajax(d+e,{async:!0,xhrFields:{withCredentials:!0},crossDomain:!0}).done(function(d){d.times.length>0&&(c.isUpdating=!0,c.mergeHistory(d)),c.isUpdating!==!1&&(a&&a(d.enabled,b),c.updateCharts())}).error(function(a){console.log("stat fetch req error:"+a)}),this.getReplicationStatistics()},getHistoryStatistics:function(a){var b=this,c="statistics/long",d="?filter="+this.dygraphConfig.mapStatToFigure[a].join();"-local-"!==b.server&&(c=b.server.endpoint+arangoHelper.databaseUrl("/_admin/aardvark/statistics/cluster"),d+="&type=long&DBserver="+b.server.target,b.history.hasOwnProperty(b.server)||(b.history[b.server]={}));var e=window.location.href.split("/"),f=e[0]+"//"+e[2]+"/"+e[3]+"/_system/"+e[5]+"/"+e[6]+"/";$.ajax(f+c+d,{async:!0}).done(function(c){var d;for(b.history[b.server][a]=[],d=0;d data not ready yet

    '),$("#totalTimeDistribution").prepend('

    data not ready yet

    '),$(".dashboard-bar-chart-title").append('

    data not ready yet

    '))},removeEmptyDataLabels:function(){$(".dataNotReadyYet").remove()},prepareResidentSize:function(b){var c=this,d=this.getCurrentSize("#residentSizeChartContainer"),e=c.history[c.server].residentSizeCurrent/1024/1024,f="";f=1025>e?a(e,2)+" MB":a(e/1024,2)+" GB";var g=a(100*c.history[c.server].residentSizePercent,2),h=[a(c.history[c.server].physicalMemory/1024/1024/1024,0)+" GB"];return void 0===c.history[c.server].residentSizeChart?void this.addEmptyDataLabels():(this.removeEmptyDataLabels(),void nv.addGraph(function(){var a=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,right:1,bottom:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,left:1}).showValues(!1).showYAxis(!1).showXAxis(!1).showLegend(!1).showControls(!1).stacked(!0);return a.yAxis.tickFormat(function(a){return a+"%"}).showMaxMin(!1),a.xAxis.showMaxMin(!1),d3.select("#residentSizeChart svg").datum(c.history[c.server].residentSizeChart).call(a),d3.select("#residentSizeChart svg").select(".nv-zeroLine").remove(),b&&(d3.select("#residentSizeChart svg").select("#total").remove(),d3.select("#residentSizeChart svg").select("#percentage").remove()),d3.select(".dashboard-bar-chart-title .percentage").html(f+" ("+g+" %)"),d3.select(".dashboard-bar-chart-title .absolut").html(h[0]),nv.utils.windowResize(a.update),a},function(){d3.selectAll("#residentSizeChart .nv-bar").on("click",function(){})}))},prepareD3Charts:function(b){var c=this,d={totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]};this.d3NotInitialized&&(b=!1,this.d3NotInitialized=!1),_.each(Object.keys(d),function(b){var d=c.getCurrentSize("#"+b+"Container .dashboard-interior-chart"),e="#"+b+"Container svg";return void 0===c.history[c.server].residentSizeChart?void c.addEmptyDataLabels():(c.removeEmptyDataLabels(),void nv.addGraph(function(){var f=[0,.25,.5,.75,1],g=75,h=23,i=6;d.width<219?(f=[0,.5,1],g=72,h=21,i=5):d.width<299?(f=[0,.3334,.6667,1],g=77):d.width<379?g=87:d.width<459?g=95:d.width<539?g=100:d.width<619&&(g=105);var j=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:5,right:20,bottom:h,left:g}).showValues(!1).showYAxis(!0).showXAxis(!0).showLegend(!1).showControls(!1).forceY([0,1]);return j.yAxis.showMaxMin(!1),d3.select(".nv-y.nv-axis").selectAll("text").attr("transform","translate (0, "+i+")"),j.yAxis.tickValues(f).tickFormat(function(b){return a(100*b*100/100,0)+"%"}),d3.select(e).datum(c.history[c.server][b]).call(j),nv.utils.windowResize(j.update),j},function(){d3.selectAll(e+" .nv-bar").on("click",function(){})}))})},stopUpdating:function(){this.isUpdating=!1},startUpdating:function(){var a=this;a.timer||(a.timer=window.setInterval(function(){window.App.isCluster?window.location.hash.indexOf(a.serverInfo.target)>-1&&a.getStatistics():a.getStatistics()},a.interval))},resize:function(){if(this.isUpdating){var a,b=this;_.each(this.graphs,function(c){a=b.getCurrentSize(c.maindiv_.id),c.resize(a.width,a.height)}),this.detailGraph&&(a=this.getCurrentSize(this.detailGraph.maindiv_.id),this.detailGraph.resize(a.width,a.height)),this.prepareD3Charts(!0),this.prepareResidentSize(!0)}},template:templateEngine.createTemplate("dashboardView.ejs"),render:function(a){var b=function(a,b){return b||$(this.el).html(this.template.render()),a&&"_system"===frontendConfig.db?(this.prepareDygraphs(),this.isUpdating&&(this.prepareD3Charts(), -this.prepareResidentSize(),this.updateTendencies(),$(window).trigger("resize")),this.startUpdating(),void $(window).resize()):($(this.el).html(""),void(this.server?$(this.el).append('
    Server statistics ('+this.server+") are disabled.
    "):$(this.el).append('
    Server statistics are disabled.
    ')))}.bind(this),c=function(){$(this.el).html(""),$(".contentDiv").remove(),$(".headerBar").remove(),$(".dashboard-headerbar").remove(),$(".dashboard-row").remove(),$(this.el).append('
    You do not have permission to view this page.
    '),$(this.el).append("
    You can switch to '_system' to see the dashboard.
    ")}.bind(this);if("_system"!==frontendConfig.db)return void c();var d=function(d,e){d||(e?this.getStatistics(b,a):c())}.bind(this);void 0===window.App.currentDB.get("name")?window.setTimeout(function(){return"_system"!==window.App.currentDB.get("name")?void c():void this.options.database.hasSystemAccess(d)}.bind(this),300):this.options.database.hasSystemAccess(d)}})}(),function(){"use strict";window.DatabaseView=Backbone.View.extend({users:null,el:"#content",template:templateEngine.createTemplate("databaseView.ejs"),dropdownVisible:!1,currentDB:"",events:{"click #createDatabase":"createDatabase","click #submitCreateDatabase":"submitCreateDatabase","click .editDatabase":"editDatabase","click #userManagementView .icon":"editDatabase","click #selectDatabase":"updateDatabase","click #submitDeleteDatabase":"submitDeleteDatabase","click .contentRowInactive a":"changeDatabase","keyup #databaseSearchInput":"search","click #databaseSearchSubmit":"search","click #databaseToggle":"toggleSettingsDropdown","click .css-label":"checkBoxes","click #dbSortDesc":"sorting"},sorting:function(){$("#dbSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#databaseDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},initialize:function(){this.collection.fetch({async:!0,cache:!1})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},render:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current db properties"):(this.currentDB=b,this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:"",currentDB:this.currentDB})),this.dropdownVisible===!0&&($("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").show()),arangoHelper.setCheckboxStatus("#databaseDropdown"),this.replaceSVGs())}.bind(this);return this.collection.getCurrentDatabase(a),this},toggleSettingsDropdown:function(){$("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").slideToggle(200)},selectedDatabase:function(){return $("#selectDatabases").val()},handleError:function(a,b,c){return 409===a?void arangoHelper.arangoError("DB","Database "+c+" already exists."):400===a?void arangoHelper.arangoError("DB","Invalid Parameters"):403===a?void arangoHelper.arangoError("DB","Insufficent rights. Execute this from _system database"):void 0},validateDatabaseInfo:function(a,b){return""===b?(arangoHelper.arangoError("DB","You have to define an owner for the new database"),!1):""===a?(arangoHelper.arangoError("DB","You have to define a name for the new database"),!1):0===a.indexOf("_")?(arangoHelper.arangoError("DB ","Databasename should not start with _"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("DB","Databasename may only contain numbers, letters, _ and -"),!1)},createDatabase:function(a){a.preventDefault(),this.createAddDatabaseModal()},switchDatabase:function(a){if(!$(a.target).parent().hasClass("iconSet")){var b=$(a.currentTarget).find("h5").text();if(""!==b){var c=this.collection.createDatabaseURL(b);window.location.replace(c)}}},submitCreateDatabase:function(){var a=this,b=$("#newDatabaseName").val(),c=$("#newUser").val(),d={name:b};this.collection.create(d,{error:function(c,d){a.handleError(d.status,d.statusText,b)},success:function(d){"root"!==c&&$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(c)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/root/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),"#databases"===window.location.hash&&a.updateDatabases(),arangoHelper.arangoNotification("Database "+d.get("name")+" created.")}}),arangoHelper.arangoNotification("Database creation in progress."),window.modalView.hide()},submitDeleteDatabase:function(a){var b=this.collection.where({name:a});b[0].destroy({wait:!0,url:arangoHelper.databaseUrl("/_api/database/"+a)}),this.updateDatabases(),window.App.naviView.dbSelectionView.render($("#dbSelect")),window.modalView.hide()},changeDatabase:function(a){var b=$(a.currentTarget).attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},updateDatabases:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render(),window.App.handleSelectDatabase()}})},editDatabase:function(a){var b=this.evaluateDatabaseName($(a.currentTarget).attr("id"),"_edit-database"),c=!0;b===this.currentDB&&(c=!1),this.createEditDatabaseModal(b,c)},search:function(){var a,b,c,d;a=$("#databaseSearchInput"),b=$("#databaseSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("name").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b,currentDB:this.currentDB})),this.replaceSVGs(),a=$("#databaseSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","tile-icon-svg").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},evaluateDatabaseName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},createEditDatabaseModal:function(a,b){var c=[],d=[];d.push(window.modalView.createReadOnlyEntry("id_name","Name",a,"")),b?c.push(window.modalView.createDeleteButton("Delete",this.submitDeleteDatabase.bind(this,a))):c.push(window.modalView.createDisabledButton("Delete")),window.modalView.show("modalTable.ejs","Delete database",c,d)},createAddDatabaseModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newDatabaseName","Name","",!1,"Database Name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Database name must start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No database name given."}]));var c=[];window.App.userCollection.each(function(a){c.push({value:a.get("user"),label:a.get("user")})}),b.push(window.modalView.createSelectEntry("newUser","Username",null!==this.users?this.users.whoAmI():"root","Please define the owner of this database. This will be the only user having initial access to this database if authentication is turned on. Please note that if you specify a username different to your account you will not be able to access the database with your account after having creating it. Specifying a username is mandatory even with authentication turned off. If there is a failure you will be informed.",c)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateDatabase.bind(this))),window.modalView.show("modalTable.ejs","Create Database",a,b),$("#useDefaultPassword").change(function(){"true"===$("#useDefaultPassword").val()?$("#row_newPassword").hide():$("#row_newPassword").show()}),$("#row_newPassword").hide()}})}(),function(){"use strict";window.DBSelectionView=Backbone.View.extend({template:templateEngine.createTemplate("dbSelectionView.ejs"),events:{"click .dbSelectionLink":"changeDatabase"},initialize:function(a){this.current=a.current},changeDatabase:function(a){var b=$(a.currentTarget).closest(".dbSelectionLink.tab").attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},render:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):(this.$el=a,this.$el.html(this.template.render({list:c,current:this.current.get("name")})),this.delegateEvents())}.bind(this);return this.collection.getDatabasesForUser(b),this.el}})}(),function(){"use strict";window.DocumentsView=window.PaginationView.extend({filters:{0:!0},filterId:0,paginationDiv:"#documentsToolbarF",idPrefix:"documents",addDocumentSwitch:!0,activeFilter:!1,lastCollectionName:void 0,restoredFilters:[],editMode:!1,allowUpload:!1,el:"#content",table:"#documentsTableID",template:templateEngine.createTemplate("documentsView.ejs"),collectionContext:{prev:null,next:null},editButtons:["#deleteSelected","#moveSelected"],initialize:function(a){this.documentStore=a.documentStore,this.collectionsStore=a.collectionsStore,this.tableView=new window.TableView({el:this.table,collection:this.collection}),this.tableView.setRowClick(this.clicked.bind(this)),this.tableView.setRemoveClick(this.remove.bind(this))},resize:function(){$("#docPureTable").height($(".centralRow").height()-210),$("#docPureTable .pure-table-body").css("max-height",$("#docPureTable").height()-47)},setCollectionId:function(a,b){this.collection.setCollection(a),this.collection.setPage(b),this.page=b;var c=function(b,c){b?arangoHelper.arangoError("Error","Could not get collection properties."):(this.type=c,this.collection.getDocuments(this.getDocsCallback.bind(this)),this.collectionModel=this.collectionsStore.get(a))}.bind(this);arangoHelper.collectionApiType(a,null,c)},getDocsCallback:function(a){$("#documents_last").css("visibility","hidden"),$("#documents_first").css("visibility","hidden"),a?(window.progressView.hide(),arangoHelper.arangoError("Document error","Could not fetch requested documents.")):a&&void 0===a||(window.progressView.hide(),this.drawTable(),this.renderPaginationElements())},events:{"click #collectionPrev":"prevCollection","click #collectionNext":"nextCollection","click #filterCollection":"filterCollection","click #markDocuments":"editDocuments","click #importCollection":"importCollection","click #exportCollection":"exportCollection","click #filterSend":"sendFilter","click #addFilterItem":"addFilterItem","click .removeFilterItem":"removeFilterItem","click #deleteSelected":"deleteSelectedDocs","click #moveSelected":"moveSelectedDocs","click #addDocumentButton":"addDocumentModal","click #documents_first":"firstDocuments","click #documents_last":"lastDocuments","click #documents_prev":"prevDocuments","click #documents_next":"nextDocuments","click #confirmDeleteBtn":"confirmDelete","click .key":"nop",keyup:"returnPressedHandler","keydown .queryline input":"filterValueKeydown","click #importModal":"showImportModal","click #resetView":"resetView","click #confirmDocImport":"startUpload","click #exportDocuments":"startDownload","change #documentSize":"setPagesize","change #docsSort":"setSorting"},showSpinner:function(){$("#uploadIndicator").show()},hideSpinner:function(){$("#uploadIndicator").hide()},showImportModal:function(){$("#docImportModal").modal("show")},hideImportModal:function(){$("#docImportModal").modal("hide")},setPagesize:function(){var a=$("#documentSize").find(":selected").val();this.collection.setPagesize(a),this.collection.getDocuments(this.getDocsCallback.bind(this))},setSorting:function(){var a=$("#docsSort").val();""!==a&&void 0!==a&&null!==a||(a="_key"),this.collection.setSort(a)},returnPressedHandler:function(a){13===a.keyCode&&$(a.target).is($("#docsSort"))&&this.collection.getDocuments(this.getDocsCallback.bind(this)),13===a.keyCode&&$("#confirmDeleteBtn").attr("disabled")===!1&&this.confirmDelete()},nop:function(a){a.stopPropagation()},resetView:function(){var a=function(a){a&&arangoHelper.arangoError("Document","Could not fetch documents count")};$("input").val(""),$("select").val("=="),this.removeAllFilterItems(),$("#documentSize").val(this.collection.getPageSize()),$("#documents_last").css("visibility","visible"),$("#documents_first").css("visibility","visible"),this.addDocumentSwitch=!0,this.collection.resetFilter(),this.collection.loadTotal(a),this.restoredFilters=[],this.allowUpload=!1,this.files=void 0,this.file=void 0,$("#confirmDocImport").attr("disabled",!0),this.markFilterToggle(),this.collection.getDocuments(this.getDocsCallback.bind(this))},startDownload:function(){var a=this.collection.buildDownloadDocumentQuery();""!==a||void 0!==a||null!==a?window.open(encodeURI("query/result/download/"+btoa(JSON.stringify(a)))):arangoHelper.arangoError("Document error","could not download documents")},startUpload:function(){var a=function(a,b){a?(arangoHelper.arangoError("Upload",b),this.hideSpinner()):(this.hideSpinner(),this.hideImportModal(),this.resetView())}.bind(this);this.allowUpload===!0&&(this.showSpinner(),this.collection.uploadDocuments(this.file,a))},uploadSetup:function(){var a=this;$("#importDocuments").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],$("#confirmDocImport").attr("disabled",!1),a.allowUpload=!0})},buildCollectionLink:function(a){return"collection/"+encodeURIComponent(a.get("name"))+"/documents/1"},markFilterToggle:function(){this.restoredFilters.length>0?$("#filterCollection").addClass("activated"):$("#filterCollection").removeClass("activated")},editDocuments:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),this.markFilterToggle(),$("#markDocuments").toggleClass("activated"),this.changeEditMode(),$("#filterHeader").hide(),$("#importHeader").hide(),$("#editHeader").slideToggle(200),$("#exportHeader").hide()},filterCollection:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),this.markFilterToggle(),this.activeFilter=!0,$("#importHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide(),$("#filterHeader").slideToggle(200);var a;for(a in this.filters)if(this.filters.hasOwnProperty(a))return void $("#attribute_name"+a).focus()},exportCollection:function(){$("#importCollection").removeClass("activated"),$("#filterHeader").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#exportCollection").toggleClass("activated"),this.markFilterToggle(),$("#exportHeader").slideToggle(200),$("#importHeader").hide(),$("#filterHeader").hide(),$("#editHeader").hide()},importCollection:function(){this.markFilterToggle(),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#importCollection").toggleClass("activated"),$("#exportCollection").removeClass("activated"),$("#importHeader").slideToggle(200),$("#filterHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide()},changeEditMode:function(a){a===!1||this.editMode===!0?($("#docPureTable .pure-table-body .pure-table-row").css("cursor","default"),$(".deleteButton").fadeIn(),$(".addButton").fadeIn(),$(".selected-row").removeClass("selected-row"),this.editMode=!1,this.tableView.setRowClick(this.clicked.bind(this))):($("#docPureTable .pure-table-body .pure-table-row").css("cursor","copy"),$(".deleteButton").fadeOut(),$(".addButton").fadeOut(),$(".selectedCount").text(0),this.editMode=!0,this.tableView.setRowClick(this.editModeClick.bind(this)))},getFilterContent:function(){var a,b,c=[];for(a in this.filters)if(this.filters.hasOwnProperty(a)){b=$("#attribute_value"+a).val();try{b=JSON.parse(b)}catch(d){b=String(b)}""!==$("#attribute_name"+a).val()&&c.push({attribute:$("#attribute_name"+a).val(),operator:$("#operator"+a).val(),value:b})}return c},sendFilter:function(){this.restoredFilters=this.getFilterContent();var a=this;this.collection.resetFilter(),this.addDocumentSwitch=!1,_.each(this.restoredFilters,function(b){void 0!==b.operator&&a.collection.addFilter(b.attribute,b.operator,b.value)}),this.collection.setToFirst(),this.collection.getDocuments(this.getDocsCallback.bind(this)),this.markFilterToggle()},restoreFilter:function(){var a=this,b=0;this.filterId=0,$("#docsSort").val(this.collection.getSort()),_.each(this.restoredFilters,function(c){0!==b&&a.addFilterItem(),void 0!==c.operator&&($("#attribute_name"+b).val(c.attribute),$("#operator"+b).val(c.operator),$("#attribute_value"+b).val(c.value)),b++,a.collection.addFilter(c.attribute,c.operator,c.value)})},addFilterItem:function(){var a=++this.filterId;$("#filterHeader").append('
    '),this.filters[a]=!0},filterValueKeydown:function(a){13===a.keyCode&&this.sendFilter()},removeFilterItem:function(a){var b=a.currentTarget,c=b.id.replace(/^removeFilter/,"");delete this.filters[c],delete this.restoredFilters[c],$(b.parentElement).remove()},removeAllFilterItems:function(){var a,b=$("#filterHeader").children().length;for(a=1;b>=a;a++)$("#removeFilter"+a).parent().remove();this.filters={0:!0},this.filterId=0},addDocumentModal:function(){var a=window.location.hash.split("/")[1],b=[],c=[],d=function(a,d){a?arangoHelper.arangoError("Error","Could not fetch collection type"):"edge"===d?(c.push(window.modalView.createTextEntry("new-edge-from-attr","_from","","document _id: document handle of the linked vertex (incoming relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _from attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-to","_to","","document _id: document handle of the linked vertex (outgoing relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _to attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"the edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)):(c.push(window.modalView.createTextEntry("new-document-key-attr","_key",void 0,"the documents unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addDocument.bind(this))),window.modalView.show("modalTable.ejs","Create document",b,c))}.bind(this);arangoHelper.collectionApiType(a,!0,d)},addEdge:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-edge-from-attr").last().val(),d=$(".modal-body #new-edge-to").last().val(),e=$(".modal-body #new-edge-key-attr").last().val(),f=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create edge");else{window.modalView.hide(),c=c._id.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}};""!==e||void 0!==e?this.documentStore.createTypeEdge(b,c,d,e,f):this.documentStore.createTypeEdge(b,c,d,null,f)},addDocument:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-document-key-attr").last().val(),d=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create document");else{window.modalView.hide(),c=c.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}};""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},moveSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createTextEntry("move-documents-to","Move to","",!1,"collection-name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),a.push(window.modalView.createSuccessButton("Move",this.confirmMoveSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Move documents",a,b))},confirmMoveSelectedDocs:function(){var a=this.getSelectedDocs(),b=this,c=$(".modal-body").last().find("#move-documents-to").val(),d=function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide()}.bind(this);_.each(a,function(a){b.collection.moveDocument(a,b.collection.collectionID,c,d)})},deleteSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createReadOnlyEntry(void 0,c.length+" documents selected","Do you want to delete all selected documents?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.confirmDeleteSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Delete documents",a,b))},confirmDeleteSelectedDocs:function(){var a=this.getSelectedDocs(),b=[],c=this;_.each(a,function(a){if("document"===c.type){var d=function(a){a?(b.push(!1),arangoHelper.arangoError("Document error","Could not delete document.")):(b.push(!0),c.collection.setTotalMinusOne(),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteDocument(c.collection.collectionID,a,d)}else if("edge"===c.type){var e=function(a){a?(b.push(!1),arangoHelper.arangoError("Edge error","Could not delete edge")):(c.collection.setTotalMinusOne(),b.push(!0),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteEdge(c.collection.collectionID,a,e)}})},getSelectedDocs:function(){var a=[];return _.each($("#docPureTable .pure-table-body .pure-table-row"),function(b){$(b).hasClass("selected-row")&&a.push($($(b).children()[1]).find(".key").text())}),a},remove:function(a){this.docid=$(a.currentTarget).parent().parent().prev().find(".key").text(),$("#confirmDeleteBtn").attr("disabled",!1),$("#docDeleteModal").modal("show")},confirmDelete:function(){$("#confirmDeleteBtn").attr("disabled",!0);var a=window.location.hash.split("/"),b=a[3];"source"!==b&&this.reallyDelete()},reallyDelete:function(){if("document"===this.type){var a=function(a){a?arangoHelper.arangoError("Error","Could not delete document"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteDocument(this.collection.collectionID,this.docid,a)}else if("edge"===this.type){var b=function(a){a?arangoHelper.arangoError("Edge error","Could not delete edge"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteEdge(this.collection.collectionID,this.docid,b)}},editModeClick:function(a){var b=$(a.currentTarget);b.hasClass("selected-row")?b.removeClass("selected-row"):b.addClass("selected-row");var c=this.getSelectedDocs();$(".selectedCount").text(c.length),_.each(this.editButtons,function(a){c.length>0?($(a).prop("disabled",!1),$(a).removeClass("button-neutral"),$(a).removeClass("disabled"),"#moveSelected"===a?$(a).addClass("button-success"):$(a).addClass("button-danger")):($(a).prop("disabled",!0),$(a).addClass("disabled"),$(a).addClass("button-neutral"),"#moveSelected"===a?$(a).removeClass("button-success"):$(a).removeClass("button-danger"))})},clicked:function(a){var b,c=a.currentTarget,d=$(c).attr("id").substr(4);try{b="collection/"+this.collection.collectionID+"/"+d,decodeURI(d)}catch(e){b="collection/"+this.collection.collectionID+"/"+encodeURIComponent(d)}window.location.hash=b},drawTable:function(){this.tableView.setElement($("#docPureTable")).render(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),$(".prettify").snippet("javascript",{style:"nedit",menu:!1,startText:!1,transparent:!0,showNum:!1}),this.resize()},checkCollectionState:function(){this.lastCollectionName===this.collectionName?this.activeFilter&&(this.filterCollection(),this.restoreFilter()):void 0!==this.lastCollectionName&&(this.collection.resetFilter(),this.collection.setSort(""),this.restoredFilters=[],this.activeFilter=!1)},render:function(){return $(this.el).html(this.template.render({})),2===this.type?this.type="document":3===this.type&&(this.type="edge"),this.tableView.setElement($(this.table)).drawLoading(),this.collectionContext=this.collectionsStore.getPosition(this.collection.collectionID),this.collectionName=window.location.hash.split("/")[1],this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Content"),this.checkCollectionState(),this.lastCollectionName=this.collectionName,this.uploadSetup(),$("[data-toggle=tooltip]").tooltip(),$(".upload-info").tooltip(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),this.renderPaginationElements(),this.selectActivePagesize(),this.markFilterToggle(),this.resize(),this},rerender:function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),this.resize()},selectActivePagesize:function(){$("#documentSize").val(this.collection.getPageSize())},renderPaginationElements:function(){this.renderPagination();var a=$("#totalDocuments");0===a.length&&($("#documentsToolbarFL").append(''),a=$("#totalDocuments")),"document"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" doc(s)"),"edge"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" edge(s)")},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)}})}(),function(){"use strict";var a=function(a){var b=a.split("/");return"collection/"+encodeURIComponent(b[0])+"/"+encodeURIComponent(b[1])};window.DocumentView=Backbone.View.extend({el:"#content",colid:0,docid:0,customView:!1,defaultMode:"tree",template:templateEngine.createTemplate("documentView.ejs"),events:{"click #saveDocumentButton":"saveDocument","click #deleteDocumentButton":"deleteDocumentModal","click #confirmDeleteDocument":"deleteDocument","click #document-from":"navigateToDocument","click #document-to":"navigateToDocument","keydown #documentEditor .ace_editor":"keyPress","keyup .jsoneditor .search input":"checkSearchBox","click .jsoneditor .modes":"storeMode","click #addDocument":"addDocument"},checkSearchBox:function(a){""===$(a.currentTarget).val()&&this.editor.expandAll()},addDocument:function(){window.App.documentsView.addDocumentModal()},storeMode:function(){var a=this;$(".type-modes").on("click",function(b){a.defaultMode=$(b.currentTarget).text().toLowerCase()})},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.saveDocument()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.saveDocument())},editor:0,setType:function(a){a=2===a?"document":"edge";var b=function(a,b){if(a)arangoHelper.arangoError("Error","Could not fetch data.");else{var c=b+": ";this.type=b,this.fillInfo(c),this.fillEditor()}}.bind(this);"edge"===a?this.collection.getEdge(this.colid,this.docid,b):"document"===a&&this.collection.getDocument(this.colid,this.docid,b)},deleteDocumentModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-delete-button","Confirm delete, document id is",this.type._id,void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createDeleteButton("Delete",this.deleteDocument.bind(this))),window.modalView.show("modalTable.ejs","Delete Document",a,b)},deleteDocument:function(){var a=function(){if(this.customView)this.customDeleteFunction();else{var a="collection/"+encodeURIComponent(this.colid)+"/documents/1";window.modalView.hide(),window.App.navigate(a,{trigger:!0})}}.bind(this);if(this.type._from&&this.type._to){var b=function(b){b?arangoHelper.arangoError("Edge error","Could not delete edge"):a()};this.collection.deleteEdge(this.colid,this.docid,b)}else{var c=function(b){b?arangoHelper.arangoError("Error","Could not delete document"):a()};this.collection.deleteDocument(this.colid,this.docid,c)}},navigateToDocument:function(a){var b=$(a.target).attr("documentLink");b&&window.App.navigate(b,{trigger:!0})},fillInfo:function(){var b=this.collection.first(),c=b.get("_id"),d=b.get("_key"),e=b.get("_rev"),f=b.get("_from"),g=b.get("_to");if($("#document-type").css("margin-left","10px"),$("#document-type").text("_id:"),$("#document-id").css("margin-left","0"),$("#document-id").text(c),$("#document-key").text(d),$("#document-rev").text(e),f&&g){var h=a(f),i=a(g);$("#document-from").text(f),$("#document-from").attr("documentLink",h),$("#document-to").text(g),$("#document-to").attr("documentLink",i)}else $(".edge-info-container").hide()},fillEditor:function(){var a=this.removeReadonlyKeys(this.collection.first().attributes);$(".disabledBread").last().text(this.collection.first().get("_key")),this.editor.set(a),$(".ace_content").attr("font-size","11pt")},jsonContentChanged:function(){this.enableSaveButton()},resize:function(){$("#documentEditor").height($(".centralRow").height()-300)},render:function(){$(this.el).html(this.template.render({})),$("#documentEditor").height($(".centralRow").height()-300),this.disableSaveButton(),this.breadcrumb();var a=this,b=document.getElementById("documentEditor"),c={change:function(){a.jsonContentChanged()},search:!0,mode:"tree",modes:["tree","code"],iconlib:"fontawesome4"};return this.editor=new JSONEditor(b,c),this.editor.setMode(this.defaultMode),this},removeReadonlyKeys:function(a){return _.omit(a,["_key","_id","_from","_to","_rev"])},saveDocument:function(){if(void 0===$("#saveDocumentButton").attr("disabled"))if("_"===this.collection.first().attributes._id.substr(0,1)){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-save-system-button","Caution","You are modifying a system collection. Really continue?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createSuccessButton("Save",this.confirmSaveDocument.bind(this))),window.modalView.show("modalTable.ejs","Modify System Collection",a,b)}else this.confirmSaveDocument()},confirmSaveDocument:function(){window.modalView.hide();var a;try{a=this.editor.get()}catch(b){return this.errorConfirmation(b),void this.disableSaveButton()}if(a=JSON.stringify(a),this.type._from&&this.type._to){var c=function(a){a?arangoHelper.arangoError("Error","Could not save edge."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveEdge(this.colid,this.docid,this.type._from,this.type._to,a,c)}else{var d=function(a){a?arangoHelper.arangoError("Error","Could not save document."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveDocument(this.colid,this.docid,a,d)}},successConfirmation:function(){arangoHelper.arangoNotification("Document saved.")},errorConfirmation:function(a){arangoHelper.arangoError("Document editor: ",a)},enableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!1),$("#saveDocumentButton").addClass("button-success"),$("#saveDocumentButton").removeClass("button-close")},disableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!0),$("#saveDocumentButton").addClass("button-close"),$("#saveDocumentButton").removeClass("button-success")},breadcrumb:function(){var a=window.location.hash.split("/"); -$("#subNavigationBar .breadcrumb").html('Collection: '+a[1]+'Document: '+a[2])},escaped:function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}})}(),function(){"use strict";window.FooterView=Backbone.View.extend({el:"#footerBar",system:{},isOffline:!0,isOfflineCounter:0,firstLogin:!0,timer:15e3,lap:0,timerFunction:null,events:{"click .footer-center p":"showShortcutModal"},initialize:function(){var a=this;window.setInterval(function(){a.getVersion()},a.timer),a.getVersion(),window.VISIBLE=!0,document.addEventListener("visibilitychange",function(){window.VISIBLE=!window.VISIBLE}),$("#offlinePlaceholder button").on("click",function(){a.getVersion()}),window.setTimeout(function(){window.frontendConfig.isCluster===!0&&($(".health-state").css("cursor","pointer"),$(".health-state").on("click",function(){window.App.navigate("#nodes",{trigger:!0})}))},1e3)},template:templateEngine.createTemplate("footerView.ejs"),showServerStatus:function(a){window.App.isCluster?this.renderClusterState(a):a===!0?($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("GOOD"),$(".health-icon").html(''),$("#offlinePlaceholder").hide()):($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html("UNKNOWN"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0))},reconnectAnimation:function(a){var b=this;0===a&&(b.lap=a,$("#offlineSeconds").text(b.timer/1e3),clearTimeout(b.timerFunction)),b.lap0?($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),1===c?$(".health-state").html(c+" NODE ERROR"):$(".health-state").html(c+" NODES ERROR"),$(".health-icon").html('')):($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("NODES OK"),$(".health-icon").html(''))};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a)}})}else $("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html(window.location.host+" OFFLINE"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0)},showShortcutModal:function(){window.arangoHelper.hotkeysFunctions.showHotkeysModal()},getVersion:function(){var a=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){a.showServerStatus(!0),a.isOffline===!0&&(a.isOffline=!1,a.isOfflineCounter=0,a.firstLogin?a.firstLogin=!1:window.setTimeout(function(){a.showServerStatus(!0)},1e3),a.system.name=b.server,a.system.version=b.version,a.render())},error:function(b){401===b.status?(a.showServerStatus(!0),window.App.navigate("login",{trigger:!0})):(a.isOffline=!0,a.isOfflineCounter++,a.isOfflineCounter>=1&&a.showServerStatus(!1))}}),a.system.hasOwnProperty("database")||$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/database/current"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=b.result.name;a.system.database=c;var d=window.setInterval(function(){var b=$("#databaseNavi");b&&(window.clearTimeout(d),d=null,a.render())},50)}})},renderVersion:function(){this.system.hasOwnProperty("database")&&this.system.hasOwnProperty("name")&&$(this.el).html(this.template.render({name:this.system.name,version:this.system.version,database:this.system.database}))},render:function(){return this.system.version||this.getVersion(),$(this.el).html(this.template.render({name:this.system.name,version:this.system.version})),this}})}(),function(){"use strict";window.FoxxActiveView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("foxxActiveView.ejs"),_show:!0,events:{click:"openAppDetailView"},openAppDetailView:function(){window.App.navigate("service/"+encodeURIComponent(this.model.get("mount")),{trigger:!0})},toggle:function(a,b){switch(a){case"devel":this.model.isDevelopment()&&(this._show=b);break;case"production":this.model.isDevelopment()||this.model.isSystem()||(this._show=b);break;case"system":this.model.isSystem()&&(this._show=b)}this._show?$(this.el).show():$(this.el).hide()},render:function(){return this.model.fetchThumbnail(function(){$(this.el).html(this.template.render({model:this.model}));var a=function(){this.model.needsConfiguration()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this),b=function(){this.model.hasUnconfiguredDependencies()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this);this.model.getConfiguration(a),this.model.getDependencies(b)}.bind(this)),$(this.el)}})}(),function(){"use strict";var a={ERROR_SERVICE_DOWNLOAD_FAILED:{code:1752,message:"service download failed"}},b=templateEngine.createTemplate("applicationListView.ejs"),c=function(a){this.collection=a.collection},d=function(b){var c=this;if(b.error===!1)this.collection.fetch({success:function(){window.modalView.hide(),c.reload(),console.log(b),arangoHelper.arangoNotification("Services","Service "+b.name+" installed.")}});else{var d=b;switch(b.hasOwnProperty("responseJSON")&&(d=b.responseJSON),d.errorNum){case a.ERROR_SERVICE_DOWNLOAD_FAILED.code:arangoHelper.arangoError("Services","Unable to download application from the given repository.");break;default:arangoHelper.arangoError("Services",d.errorNum+". "+d.errorMessage)}}},e=function(){window.modalView.modalBindValidation({id:"new-app-mount",validateInput:function(){return[{rule:Joi.string().regex(/^(\/(APP[^\/]+|(?!APP)[a-zA-Z0-9_\-%]+))+$/i),msg:"May not contain /APP"},{rule:Joi.string().regex(/^(\/[a-zA-Z0-9_\-%]+)+$/),msg:"Can only contain [a-zA-Z0-9_-%]"},{rule:Joi.string().regex(/^\/([^_]|_open\/)/),msg:"Mountpoints with _ are reserved for internal use"},{rule:Joi.string().regex(/[^\/]$/),msg:"May not end with /"},{rule:Joi.string().regex(/^\//),msg:"Has to start with /"},{rule:Joi.string().required().min(2),msg:"Has to be non-empty"}]}})},f=function(){window.modalView.modalBindValidation({id:"repository",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/),msg:"No valid Github account and repository."}]}})},g=function(){window.modalView.modalBindValidation({id:"new-app-author",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-name",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z\-_][a-zA-Z0-9\-_]*$/),msg:"Can only contain a to z, A to Z, 0-9, '-' and '_'."}]}}),window.modalView.modalBindValidation({id:"new-app-description",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-license",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9 \.,;\-]+$/),msg:"Has to be non empty."}]}}),window.modalView.modalTestAll()},h=function(a){window.modalView.clearValidators();var b=$("#modalButton1");switch(this._upgrade||e(),a){case"newApp":b.html("Generate"),b.prop("disabled",!1),g();break;case"appstore":b.html("Install"),b.prop("disabled",!0);break;case"github":f(),b.html("Install"),b.prop("disabled",!1);break;case"zip":b.html("Install"),b.prop("disabled",!1)}b.prop("disabled")||window.modalView.modalTestAll()||b.prop("disabled",!0)},i=function(a){var b=$(a.currentTarget).attr("href").substr(1);h.call(this,b)},j=function(a){if(h.call(this,"appstore"),window.modalView.modalTestAll()){var b,c;this._upgrade?(b=this.mount,c=$("#new-app-teardown").prop("checked")):b=window.arangoHelper.escapeHtml($("#new-app-mount").val());var e=$(a.currentTarget).attr("appId"),f=$(a.currentTarget).attr("appVersion");void 0!==c?this.collection.installFromStore({name:e,version:f},b,d.bind(this),c):this.collection.installFromStore({name:e,version:f},b,d.bind(this)),window.modalView.hide(),arangoHelper.arangoNotification("Services","Installing "+e+".")}},k=function(a,b){if(void 0===b?b=this._uploadData:this._uploadData=b,b&&window.modalView.modalTestAll()){var c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),void 0!==e?this.collection.installFromZip(b.filename,c,d.bind(this),e):this.collection.installFromZip(b.filename,c,d.bind(this))}},l=function(){if(window.modalView.modalTestAll()){var a,b,c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),a=window.arangoHelper.escapeHtml($("#repository").val()),b=window.arangoHelper.escapeHtml($("#tag").val()),""===b&&(b="master");var f={url:window.arangoHelper.escapeHtml($("#repository").val()),version:window.arangoHelper.escapeHtml($("#tag").val())};try{Joi.assert(a,Joi.string().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/))}catch(g){return}void 0!==e?this.collection.installFromGithub(f,c,d.bind(this),e):this.collection.installFromGithub(f,c,d.bind(this))}},m=function(){if(window.modalView.modalTestAll()){var a,b;this._upgrade?(a=this.mount,b=$("#new-app-teardown").prop("checked")):a=window.arangoHelper.escapeHtml($("#new-app-mount").val());var c={name:window.arangoHelper.escapeHtml($("#new-app-name").val()),documentCollections:_.map($("#new-app-document-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),edgeCollections:_.map($("#new-app-edge-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),author:window.arangoHelper.escapeHtml($("#new-app-author").val()),license:window.arangoHelper.escapeHtml($("#new-app-license").val()),description:window.arangoHelper.escapeHtml($("#new-app-description").val())};void 0!==b?this.collection.generate(c,a,d.bind(this),b):this.collection.generate(c,a,d.bind(this))}},n=function(){var a=$(".modal-body .tab-pane.active").attr("id");switch(a){case"newApp":m.apply(this);break;case"github":l.apply(this);break;case"zip":k.apply(this)}},o=function(a,c){var d=[],e={"click #infoTab a":i.bind(a),"click .install-app":j.bind(a)};d.push(window.modalView.createSuccessButton("Generate",n.bind(a))),window.modalView.show("modalApplicationMount.ejs","Install Service",d,c,void 0,void 0,e),$("#new-app-document-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"}),$("#new-app-edge-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"});var f=function(){var a=$("#modalButton1");a.prop("disabled")||window.modalView.modalTestAll()?a.prop("disabled",!1):a.prop("disabled",!0)};$(".select2-search-field input").focusout(function(){f(),window.setTimeout(function(){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||($("#s2id_new-app-document-collections").select2("close"),$("#s2id_new-app-edge-collections").select2("close"),f()))},200)}),$(".select2-search-field input").focusin(function(){if($(".select2-drop").is(":visible")){var a=$("#modalButton1");a.prop("disabled",!0)}}),$("#upload-foxx-zip").uploadFile({url:arangoHelper.databaseUrl("/_api/upload?multipart=true"),allowedTypes:"zip",multiple:!1,onSuccess:k.bind(a)}),$.get("foxxes/fishbowl",function(a){var c=$("#appstore-content");c.html(""),_.each(_.sortBy(a,"name"),function(a){c.append(b.render(a))})}).fail(function(){var a=$("#appstore-content");a.append("Store is not available. ArangoDB is not able to connect to github.com")})};c.prototype.install=function(a){this.reload=a,this._upgrade=!1,this._uploadData=void 0,delete this.mount,o(this,!1),window.modalView.clearValidators(),e(),g()},c.prototype.upgrade=function(a,b){this.reload=b,this._upgrade=!0,this._uploadData=void 0,this.mount=a,o(this,!0),window.modalView.clearValidators(),g()},window.FoxxInstallView=c}(),function(){"use strict";window.GraphManagementView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("graphManagementView.ejs"),edgeDefintionTemplate:templateEngine.createTemplate("edgeDefinitionTable.ejs"),eCollList:[],removedECollList:[],dropdownVisible:!1,initialize:function(a){this.options=a},events:{"click #deleteGraph":"deleteGraph","click .icon_arangodb_settings2.editGraph":"editGraph","click #createGraph":"addNewGraph","keyup #graphManagementSearchInput":"search","click #graphManagementSearchSubmit":"search","click .tile-graph":"redirectToGraphViewer","click #gv2":"redirectToGraphViewer2","click #graphManagementToggle":"toggleGraphDropdown","click .css-label":"checkBoxes","change #graphSortDesc":"sorting"},toggleTab:function(a){var b=a.currentTarget.id;b=b.replace("tab-",""),$("#tab-content-create-graph .tab-pane").removeClass("active"),$("#tab-content-create-graph #"+b).addClass("active"),"exampleGraphs"===b?$("#modal-dialog .modal-footer .button-success").css("display","none"):$("#modal-dialog .modal-footer .button-success").css("display","initial")},redirectToGraphViewer:function(a){var b=$(a.currentTarget).attr("id");b=b.substr(0,b.length-5),window.location=window.location+"/"+encodeURIComponent(b)},redirectToGraphViewer2:function(a){a.preventDefault();var b=$(a.currentTarget).parent().parent().attr("id");b=b.substr(0,b.length-5),console.log(b),window.App.navigate("graph2/"+encodeURIComponent(b),{trigger:!0})},loadGraphViewer:function(a,b){var c=function(b){if(b)arangoHelper.arangoError("","");else{var c=this.collection.get(a).get("edgeDefinitions");if(!c||0===c.length)return;var d={type:"gharial",graphName:a,baseUrl:arangoHelper.databaseUrl("/")},e=$("#content").width()-75;$("#content").html("");var f=arangoHelper.calculateCenterDivHeight();this.ui=new GraphViewerUI($("#content")[0],d,e,$(".centralRow").height()-135,{nodeShaper:{label:"_key",color:{type:"attribute",key:"_key"}}},!0),$(".contentDiv").height(f)}}.bind(this);b?this.collection.fetch({cache:!1,success:function(){c()}}):c()},handleResize:function(a){this.width&&this.width===a||(this.width=a,this.ui&&this.ui.changeWidth(a))},addNewGraph:function(a){a.preventDefault(),this.createEditGraphModal()},deleteGraph:function(){var a=this,b=$("#editGraphName")[0].value;if($("#dropGraphCollections").is(":checked")){var c=function(c){c?(a.collection.remove(a.collection.get(b)),a.updateGraphManagementView(),window.modalView.hide()):(window.modalView.hide(),arangoHelper.arangoError("Graph","Could not delete Graph."))};this.collection.dropAndDeleteGraph(b,c)}else this.collection.get(b).destroy({success:function(){a.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;arangoHelper.arangoError(d),window.modalView.hide()}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},toggleGraphDropdown:function(){$("#graphSortDesc").attr("checked",this.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown2").slideToggle(200)},sorting:function(){$("#graphSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#graphManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},createExampleGraphs:function(a){var b=$(a.currentTarget).attr("graph-id"),c=this;$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/graph-examples/create/"+encodeURIComponent(b)),success:function(){window.modalView.hide(),c.updateGraphManagementView(),arangoHelper.arangoNotification("Example Graphs","Graph: "+b+" created.")},error:function(a){if(window.modalView.hide(),a.responseText)try{var c=JSON.parse(a.responseText);arangoHelper.arangoError("Example Graphs",c.errorMessage)}catch(d){arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}else arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}})},render:function(a,b){var c=this;return this.collection.fetch({cache:!1,success:function(){c.collection.sort(),$(c.el).html(c.template.render({graphs:c.collection,searchString:""})),c.dropdownVisible===!0&&($("#graphManagementDropdown2").show(),$("#graphSortDesc").attr("checked",c.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown").show()),c.events["click .tableRow"]=c.showHideDefinition.bind(c),c.events['change tr[id*="newEdgeDefinitions"]']=c.setFromAndTo.bind(c),c.events["click .graphViewer-icon-button"]=c.addRemoveDefinition.bind(c),c.events["click #graphTab a"]=c.toggleTab.bind(c),c.events["click .createExampleGraphs"]=c.createExampleGraphs.bind(c),c.events["focusout .select2-search-field input"]=function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},200))},arangoHelper.setCheckboxStatus("#graphManagementDropdown")}}),a&&this.loadGraphViewer(a,b),this},setFromAndTo:function(a){a.stopPropagation();var b,c=this.calculateEdgeDefinitionMap();if(a.added){if(-1===this.eCollList.indexOf(a.added.id)&&-1!==this.removedECollList.indexOf(a.added.id))return b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$('input[id*="newEdgeDefinitions'+b+'"]').select2("val",null),void $('input[id*="newEdgeDefinitions'+b+'"]').attr("placeholder","The collection "+a.added.id+" is already used.");this.removedECollList.push(a.added.id),this.eCollList.splice(this.eCollList.indexOf(a.added.id),1)}else this.eCollList.push(a.removed.id),this.removedECollList.splice(this.removedECollList.indexOf(a.removed.id),1);c[a.val]?(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",c[a.val].from),$("#fromCollections"+b).attr("disabled",!0),$("#s2id_toCollections"+b).select2("val",c[a.val].to),$("#toCollections"+b).attr("disabled",!0)):(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",null),$("#fromCollections"+b).attr("disabled",!1),$("#s2id_toCollections"+b).select2("val",null),$("#toCollections"+b).attr("disabled",!1))},editGraph:function(a){a.stopPropagation(),this.collection.fetch({cache:!1}),this.graphToEdit=this.evaluateGraphName($(a.currentTarget).attr("id"),"_settings");var b=this.collection.findWhere({_key:this.graphToEdit});this.createEditGraphModal(b)},saveEditedGraph:function(){var a,b,c,d,e,f=$("#editGraphName")[0].value,g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i={};if(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){if(d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),0!==b.length&&0!==c.length)){var f={collection:a,from:b,to:c};h.push(f),i[a]=f}}),0===h.length)return $("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red");var j=this.collection.findWhere({_key:f}),k=j.get("edgeDefinitions"),l=j.get("orphanCollections"),m=[];l.forEach(function(a){-1===g.indexOf(a)&&j.deleteVertexCollection(a)}),g.forEach(function(a){-1===l.indexOf(a)&&j.addVertexCollection(a)});var n=[],o=[],p=[];k.forEach(function(a){var b=a.collection;m.push(b);var c=i[b];void 0===c?p.push(b):JSON.stringify(c)!==JSON.stringify(a)&&o.push(b)}),h.forEach(function(a){var b=a.collection;-1===m.indexOf(b)&&n.push(b)}),n.forEach(function(a){j.addEdgeDefinition(i[a])}),o.forEach(function(a){j.modifyEdgeDefinition(i[a])}),p.forEach(function(a){j.deleteEdgeDefinition(a)}),this.updateGraphManagementView(),window.modalView.hide()},evaluateGraphName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},search:function(){var a,b,c,d;a=$("#graphManagementSearchInput"),b=$("#graphManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("_key").indexOf(b)}),$(this.el).html(this.template.render({graphs:d,searchString:b})),a=$("#graphManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},updateGraphManagementView:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},createNewGraph:function(){var a,b,c,d,e,f=$("#createNewGraphName").val(),g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i=this;return f?this.collection.findWhere({_key:f})?(arangoHelper.arangoError("The graph '"+f+"' already exists."),0):(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),1!==b&&1!==c&&h.push({collection:a,from:b,to:c}))}),0===h.length?($("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red")):void this.collection.create({name:f,edgeDefinitions:h,orphanCollections:g},{success:function(){i.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;d=d.replace("<",""),d=d.replace(">",""),arangoHelper.arangoError(d)}})):(arangoHelper.arangoError("A name for the graph has to be provided."),0)},createEditGraphModal:function(a){var b,c=[],d=[],e=[],f=this.options.collectionCollection.models,g=this,h="",i=[{collection:"",from:"",to:""}],j="",k=function(a,b){return a=a.toLowerCase(),b=b.toLowerCase(),b>a?-1:a>b?1:0};if(this.eCollList=[],this.removedECollList=[],f.forEach(function(a){a.get("isSystem")||("edge"===a.get("type")?g.eCollList.push(a.id):d.push(a.id))}),window.modalView.enableHotKeys=!1,this.counter=0,a?(b="Edit Graph",h=a.get("_key"),i=a.get("edgeDefinitions"),i&&0!==i.length||(i=[{collection:"",from:"",to:""}]),j=a.get("orphanCollections"),e.push(window.modalView.createReadOnlyEntry("editGraphName","Name",h,"The name to identify the graph. Has to be unique")),c.push(window.modalView.createDeleteButton("Delete",this.deleteGraph.bind(this))),c.push(window.modalView.createSuccessButton("Save",this.saveEditedGraph.bind(this)))):(b="Create Graph",e.push(window.modalView.createTextEntry("createNewGraphName","Name","","The name to identify the graph. Has to be unique.","graphName",!0)),c.push(window.modalView.createSuccessButton("Create",this.createNewGraph.bind(this)))),i.forEach(function(a){0===g.counter?(a.collection&&(g.removedECollList.push(a.collection),g.eCollList.splice(g.eCollList.indexOf(a.collection),1)),e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!0,!1,!0,1,g.eCollList.sort(k)))):e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!1,!0,!1,1,g.eCollList.sort(k))),e.push(window.modalView.createSelect2Entry("fromCollections"+g.counter,"fromCollections",a.from,"The collections that contain the start vertices of the relation.","fromCollections",!0,!1,!1,10,d.sort(k))),e.push(window.modalView.createSelect2Entry("toCollections"+g.counter,"toCollections",a.to,"The collections that contain the end vertices of the relation.","toCollections",!0,!1,!1,10,d.sort(k))),g.counter++}),e.push(window.modalView.createSelect2Entry("newVertexCollections","Vertex collections",j,"Collections that are part of a graph but not used in an edge definition","Vertex Collections",!1,!1,!1,10,d.sort(k))),window.modalView.show("modalGraphTable.ejs",b,c,e,void 0,void 0,this.events),a){$(".modal-body table").css("border-collapse","separate");var l;for($(".modal-body .spacer").remove(),l=0;l<=this.counter;l++)$("#row_fromCollections"+l).show(),$("#row_toCollections"+l).show(),$("#row_newEdgeDefinitions"+l).addClass("first"),$("#row_fromCollections"+l).addClass("middle"),$("#row_toCollections"+l).addClass("last"),$("#row_toCollections"+l).after('');$("#graphTab").hide(),$("#modal-dialog .modal-delete-confirmation").append('
    ')}},showHideDefinition:function(a){},addRemoveDefinition:function(a){var b=[],c=this.options.collectionCollection.models;c.forEach(function(a){a.get("isSystem")||b.push(a.id)}),a.stopPropagation();var d,e=$(a.currentTarget).attr("id");if(-1===e.indexOf("addAfter_newEdgeDefinitions"))-1!==e.indexOf("remove_newEdgeDefinitions")&&(d=e.split("remove_newEdgeDefinitions")[1],$("#row_newEdgeDefinitions"+d).remove(),$("#row_fromCollections"+d).remove(),$("#row_toCollections"+d).remove(),$("#spacer"+d).remove());else{this.counter++,$("#row_newVertexCollections").before(this.edgeDefintionTemplate.render({number:this.counter})),$("#newEdgeDefinitions"+this.counter).select2({tags:this.eCollList,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:1}),$("#fromCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),$("#toCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),window.modalView.undelegateEvents(),window.modalView.delegateEvents(this.events);var f;for($(".modal-body .spacer").remove(),f=0;f<=this.counter;f++)$("#row_fromCollections"+f).show(),$("#row_toCollections"+f).show(),$("#row_newEdgeDefinitions"+f).addClass("first"),$("#row_fromCollections"+f).addClass("middle"),$("#row_toCollections"+f).addClass("last"),$("#row_toCollections"+f).after('')}},calculateEdgeDefinitionMap:function(){var a={};return this.collection.models.forEach(function(b){b.get("edgeDefinitions").forEach(function(b){a[b.collection]={from:b.from,to:b.to}})}),a}})}(),function(){"use strict";window.GraphSettingsView=Backbone.View.extend({el:"#graphSettingsContent",remove:function(){return this.$el.empty().off(),this.stopListening(),this},general:{graph:{type:"divider",name:"Graph"},nodeStart:{type:"string",name:"Starting node",desc:"A valid node id. If empty, a random node will be chosen.",value:2},layout:{type:"select",name:"Layout algorithm",desc:"Different graph displaying algorithms. No overlap is very fast, force is slower and fruchtermann is the slowest. The calculation time strongly depends on your nodes and edges counts.",noverlap:{name:"No overlap",val:"noverlap"},force:{name:"Force",val:"force"},fruchtermann:{name:"Fruchtermann",val:"fruchtermann"}},renderer:{type:"select",name:"Renderer",desc:"Canvas enables editing, WebGL is only for displaying a graph but much faster.",canvas:{name:"Canvas",val:"canvas"},webgl:{name:"WebGL",val:"webgl"}},depth:{desc:"Search depth, starting from your start node.",type:"number",name:"Search depth",value:2}},specific:{nodes:{type:"divider",name:"Nodes"},nodeLabel:{type:"string",name:"Label",desc:"Node label. Please choose a valid and available node attribute.","default":"_key"},nodeLabelThreshold:{type:"range",name:"Label threshold",desc:"The minimum size a node must have on screen to see its label displayed. This does not affect hovering behavior.","default":"_key"},nodeColor:{type:"color",name:"Color",desc:"Default node color. RGB or HEX value.","default":"#2ecc71"},nodeColorAttribute:{type:"string",name:"Colorize attr",desc:"If an attribute is given, nodes will then be colorized by the attribute. This setting ignores default node color if set."},nodeColorByCollection:{type:"select",name:"Colorize by coll?",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"},desc:"Should nodes be colorized by their collection? If enabled, node color and node color attribute will be ignored."},nodeSize:{type:"string",name:"Sizing attribute",desc:"Default node size. Numeric value > 0."},edges:{type:"divider",name:"Edges"},edgeLabel:{type:"string",name:"Label",desc:"Default edge label."},edgeLabelThreshold:{type:"range",name:"Label threshold",desc:"The minimum size an edge must have on screen to see its label displayed. This does not affect hovering behavior.","default":"_key"},edgeColor:{type:"color",name:"Color",desc:"Default edge color. RGB or HEX value.","default":"#cccccc"},edgeColorAttribute:{type:"string",name:"Colorize attr",desc:"If an attribute is given, edges will then be colorized by the attribute. This setting ignores default edge color if set."},edgeColorByCollection:{type:"select",name:"Colorize by coll?",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"},desc:"Should edges be colorized by their collection? If enabled, edge color and edge color attribute will be ignored."},edgeEditable:{type:"select",name:"Editable",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"},desc:"Should edges be editable?"},edgeType:{type:"select",name:"Type",desc:"The type of the edge",line:{name:"Line",val:"line"},curve:{name:"Curve",val:"curve"},dotted:{name:"Dotted",val:"dotted"},dashed:{name:"Dashed",val:"dashed"},tapered:{name:"Tapered",val:"tapered"}}},template:templateEngine.createTemplate("graphSettingsView.ejs"),initialize:function(a){this.name=a.name,this.userConfig=a.userConfig,this.saveCallback=a.saveCallback},events:{"click #saveGraphSettings":"saveGraphSettings","click #restoreGraphSettings":"setDefaults","keyup #graphSettingsView input":"checkEnterKey","keyup #graphSettingsView select":"checkEnterKey",'change input[type="range"]':"saveGraphSettings",'change input[type="color"]':"checkColor","change select":"saveGraphSettings","focus #graphSettingsView input":"lastFocus","focus #graphSettingsView select":"lastFocus"},lastFocus:function(a){this.lastFocussed=a.currentTarget.id},checkEnterKey:function(a){13===a.keyCode&&this.saveGraphSettings()},getGraphSettings:function(a){var b=this,c=window.App.currentDB.toJSON().name+"_"+this.name;this.userConfig.fetch({success:function(d){b.graphConfig=d.toJSON().graphs[c],a&&b.continueRender()}})},checkColor:function(){this.saveGraphSettings(null,!0)},saveGraphSettings:function(a,b,c,d){var e=this,f=window.App.currentDB.toJSON().name+"_"+this.name,g={};d?g[f]=d:g[f]={layout:$("#g_layout").val(),renderer:$("#g_renderer").val(), -depth:$("#g_depth").val(),nodeColor:$("#g_nodeColor").val(),nodeColorAttribute:$("#g_nodeColorAttribute").val(),nodeColorByCollection:$("#g_nodeColorByCollection").val(),nodeLabelThreshold:$("#g_nodeLabelThreshold").val(),edgeColor:$("#g_edgeColor").val(),edgeColorAttribute:$("#g_edgeColorAttribute").val(),edgeColorByCollection:$("#g_edgeColorByCollection").val(),edgeLabelThreshold:$("#g_edgeLabelThreshold").val(),nodeLabel:$("#g_nodeLabel").val(),edgeLabel:$("#g_edgeLabel").val(),edgeType:$("#g_edgeType").val(),nodeSize:$("#g_nodeSize").val(),edgeEditable:$("#g_edgeEditable").val(),nodeStart:$("#g_nodeStart").val()},c&&(g[f].nodeStart=c);var h=function(){window.App.graphViewer2?""!==b&&void 0!==b?window.App.graphViewer2.updateColors():window.App.graphViewer2.render(e.lastFocussed):arangoHelper.arangoNotification("Graph "+this.name,"Configuration saved.")}.bind(this);this.userConfig.setItem("graphs",g,h)},setDefaults:function(){var a={layout:"force",renderer:"canvas",depth:"2",nodeColor:"#2ecc71",nodeColorAttribute:"",nodeColorByCollection:"false",nodeLabelThreshold:10,edgeColor:"#cccccc",edgeColorAttribute:"",edgeColorByCollection:"false",edgeLabelThreshold:10,nodeLabel:"_key",edgeLabel:"",edgeType:"line",nodeSize:"",edgeEditable:"false",nodeStart:""};this.saveGraphSettings(null,null,null,a),this.render(),window.App.graphViewer2.render(this.lastFocussed)},toggle:function(){$(this.el).is(":visible")?this.hide():this.show()},show:function(){$(this.el).show("slide",{direction:"right"},250)},hide:function(){$(this.el).hide("slide",{direction:"right"},250)},render:function(){this.getGraphSettings(!0)},continueRender:function(){$(this.el).html(this.template.render({general:this.general,specific:this.specific})),arangoHelper.fixTooltips(".gv-tooltips","top"),this.graphConfig?_.each(this.graphConfig,function(a,b){$("#g_"+b).val(a)}):this.setDefaults()}})}(),function(){"use strict";window.GraphViewer2=Backbone.View.extend({el:"#content",remove:function(){return this.$el.empty().off(),this.stopListening(),this},template:templateEngine.createTemplate("graphViewer2.ejs"),initialize:function(a){var b=this;a.id&&(this.setElement(a.id),this.graphData=a.data,this.aqlMode=!0),this.name=a.name,this.userConfig=a.userConfig,this.documentStore=a.documentStore,this.initSigma(),void 0!==this.name&&this.collection.fetch({cache:!1,success:function(c){b.model=b.collection.findWhere({_key:a.name}).toJSON()}})},colors:{hotaru:["#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5"],random1:["#292F36","#4ECDC4","#F7FFF7","#DD6363","#FFE66D"]},aqlMode:!1,events:{"click #downloadPNG":"downloadSVG","click #reloadGraph":"reloadGraph","click #settingsMenu":"toggleSettings","click #noGraphToggle":"toggleSettings","click #toggleForce":"toggleLayout","click #selectNodes":"toggleLasso"},cursorX:0,cursorY:0,layouting:!1,model:null,viewStates:{captureMode:!1},graphConfig:null,graphSettings:null,initSigma:function(){try{sigma.classes.graph.addMethod("neighbors",function(a){var b,c={},d=this.allNeighborsIndex[a]||{};for(b in d)c[b]=this.nodesIndex[b];return c}),sigma.classes.graph.addMethod("getNodeEdges",function(a){var b=this.edges(),c=[];return _.each(b,function(b){b.source!==a&&b.target!==a||c.push(b.id)}),c})}catch(a){}},downloadSVG:function(){var a=this;this.currentGraph.toSVG({download:!0,filename:a.name+".svg",size:1e3})},resize:function(){$("#graph-container").width($(".centralContent").width()),$("#graph-container").height($(".centralRow").height()-150)},toggleSettings:function(){this.graphSettingsView.toggle()},render:function(a){this.$el.html(this.template.render({})),$("#subNavigationBar .breadcrumb").html("Graph: "+this.name),this.resize(),this.fetchGraph(a)},renderAQL:function(a){this.$el.html(this.template.render({})),this.$el.find(".headerBar").remove();var b=$(".centralRow").height()-250;this.$el.find("#graph-container").css("height",b),this.graphData.modified=this.parseData(this.graphData.original,this.graphData.graphInfo),this.renderGraph(this.graphData.modified)},parseData:function(a,b){var c={},d={},e={nodes:[],edges:[],settings:{}};return"object"===b?(_.each(a,function(a){a.edges&&a.vertices&&(_.each(a.edges,function(a){d[a._id]={id:a._id,source:a._from,label:a._key,color:"#cccccc",target:a._to}}),_.each(a.vertices,function(a){c[a._id]={id:a._id,label:a._key,size:.3,color:"#2ecc71",x:Math.random(),y:Math.random()}}))}),_.each(c,function(a){e.nodes.push(a)}),_.each(d,function(a){e.edges.push(a)})):"array"===b&&(_.each(a,function(a){c[a._from]=null,c[a._to]=null,e.edges.push({id:a._id,source:a._from,label:a._key,color:"#cccccc",target:a._to})}),_.each(c,function(a,b){e.nodes.push({id:b,label:b,size:.3,color:"#2ecc71",x:Math.random(),y:Math.random()})})),e},rerender:function(){this.fetchGraph()},fetchGraph:function(a){var b=this;$(this.el).append('
    Fetching graph data. Please wait ...


    If it`s taking too much time to draw the graph, please go to:
    '+window.location.href+"/settings
    and adjust your settings.It is possible that the graph is too big to be handled by the browser.
    ");var c=function(){var c={};this.graphConfig&&(c=_.clone(this.graphConfig),delete c.layout,delete c.edgeType,delete c.renderer),this.setupSigma(),$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/aardvark/graph/"+encodeURIComponent(this.name)),contentType:"application/json",data:c,success:function(c){$("#calcText").html("Calculating layout. Please wait ... "),b.renderGraph(c,a)},error:function(a){try{arangoHelper.arangoError("Graph",a.responseJSON.exception);var c=a.responseJSON.exception.search("1205");if(-1!==c){var d='Starting point: '+b.graphConfig.nodeStart+" is invalid";$("#calculatingGraph").html('
    Stopped.

    '+d+'. Please choose a different start node.
    ')}else $("#calculatingGraph").html("Failed to fetch graph information.")}catch(e){}}})}.bind(this);this.getGraphSettings(c)},setupSigma:function(){if(this.graphConfig&&this.graphConfig.edgeLabel){sigma.utils.pkg("sigma.settings");var a={defaultEdgeLabelColor:"#000",defaultEdgeLabelActiveColor:"#000",defaultEdgeLabelSize:10,edgeLabelSize:"fixed",edgeLabelSizePowRatio:1,edgeLabelThreshold:1};sigma.settings=sigma.utils.extend(sigma.settings||{},a),sigma.settings.drawEdgeLabels=!0}},contextState:{createEdge:!1,_from:!1,_to:!1,fromX:!1,fromY:!1},clearOldContextMenu:function(a){var b=this;$("#nodeContextMenu").remove();var c='
    ';$("#graph-container").append(c),a&&_.each(this.contextState,function(a,c){b.contextState[c]=!1});var d=document.getElementsByClassName("sigma-mouse")[0];d.removeEventListener("mousemove",b.drawLine.bind(this),!1)},trackCursorPosition:function(a){this.cursorX=a.x,this.cursorY=a.y},deleteNode:function(){var a=this,b=$("#delete-node-attr-id").text(),c=b.split("/")[0],d=b.split("/")[1];if("yes"===$("#delete-node-edges-attr").val())$.ajax({cache:!1,type:"DELETE",contentType:"application/json",url:arangoHelper.databaseUrl("/_api/gharial/"+encodeURIComponent(a.name)+"/vertex/"+encodeURIComponent(b.split("/")[0])+"/"+encodeURIComponent(b.split("/")[1])),success:function(c){a.currentGraph.graph.dropNode(b),a.currentGraph.refresh()},error:function(){arangoHelper.arangoError("Graph","Could not delete node.")}});else{var e=function(c){c?arangoHelper.arangoError("Graph","Could not delete node."):(a.currentGraph.graph.dropNode(b),a.currentGraph.refresh())};this.documentStore.deleteDocument(c,d,e)}window.modalView.hide()},deleteNodeModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry("delete-node-attr-id","Really delete node",a)),c.push(window.modalView.createSelectEntry("delete-node-edges-attr","Also delete edges?",void 0,void 0,[{value:"yes",label:"Yes"},{value:"no",label:"No"}])),b.push(window.modalView.createDeleteButton("Delete",this.deleteNode.bind(this))),window.modalView.show("modalTable.ejs","Delete node",b,c)},addNode:function(){var a=this,b=$(".modal-body #new-node-collection-attr").val(),c=$(".modal-body #new-node-key-attr").last().val(),d=function(b,c,d){b?arangoHelper.arangoError("Could not create node",d.errorMessage):(a.currentGraph.graph.addNode({id:c,label:c.split("/")[1]||"",size:a.graphConfig.nodeSize||Math.random(),color:a.graphConfig.nodeColor||"#2ecc71",x:a.cursorX,y:a.cursorY}),window.modalView.hide(),a.currentGraph.refresh())};""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},deleteEdgeModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry("delete-edge-attr-id","Really delete edge",a)),b.push(window.modalView.createDeleteButton("Delete",this.deleteEdge.bind(this))),window.modalView.show("modalTable.ejs","Delete edge",b,c)},deleteEdge:function(){var a=this,b=$("#delete-edge-attr-id").text(),c=b.split("/")[0],d=b.split("/")[1],e=function(c){c?arangoHelper.arangoError("Graph","Could not delete edge."):(a.currentGraph.graph.dropEdge(b),a.currentGraph.refresh())};this.documentStore.deleteDocument(c,d,e),window.modalView.hide()},addNodeModal:function(){if(0!==this.graphSettings.vertexCollections){var a=[],b=[],c=[];_.each(this.graphSettings.vertexCollections,function(a){c.push({label:a.name,value:a.id})}),b.push(window.modalView.createTextEntry("new-node-key-attr","_key",void 0,"The nodes unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSelectEntry("new-node-collection-attr","Collection",void 0,"Please select the destination for the new node.",c)),a.push(window.modalView.createSuccessButton("Create",this.addNode.bind(this))),window.modalView.show("modalTable.ejs","Create node",a,b)}else arangoHelper.arangoError("Graph","No valid vertex collections found.")},addEdge:function(){var a,b=this,c=b.contextState._from,d=b.contextState._to;a=""===$(".modal-body #new-edge-collection-attr").val()?$(".modal-body #new-edge-collection-attr").text():$(".modal-body #new-edge-collection-attr").val();var e=$(".modal-body #new-edge-key-attr").last().val(),f=function(a,e){a?arangoHelper.arangoError("Graph","Could not create edge."):(b.graphConfig.edgeEditable?b.currentGraph.graph.addEdge({source:c,size:1,target:d,id:e._id,color:b.graphConfig.edgeColor}):b.currentGraph.graph.addEdge({source:c,target:d,id:e._id,color:b.graphConfig.edgeColor}),b.currentGraph.refresh()),b.clearOldContextMenu(!0),window.modalView.hide()};""!==e||void 0!==e?this.documentStore.createTypeEdge(a,c,d,e,f):this.documentStore.createTypeEdge(a,c,d,null,f)},addEdgeModal:function(a){if(0!==a){var b=[],c=[];if(c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"The edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),a.length>1){var d=[];_.each(a,function(a){d.push({label:a,value:a})}),c.push(window.modalView.createSelectEntry("new-edge-collection-attr","Edge collection",void 0,"Please select the destination for the new edge.",d))}else c.push(window.modalView.createReadOnlyEntry("new-edge-collection-attr","Edge collection",a[0],"The edges collection to be used."));b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)}else arangoHelper.arangoError("Graph","No valid edge definitions found.")},updateColors:function(){var a=window.App.currentDB.toJSON().name+"_"+this.name,b=this;this.userConfig.fetch({success:function(c){b.graphConfig=c.toJSON().graphs[a],b.currentGraph.graph.nodes().forEach(function(a){a.color=b.graphConfig.nodeColor}),b.currentGraph.graph.edges().forEach(function(a){a.color=b.graphConfig.edgeColor}),b.currentGraph.refresh()}})},createContextMenu:function(a){var b=this,c=b.cursorX-50,d=b.cursorY-50;this.clearOldContextMenu();var e=function(a){var c=wheelnav,d=new c("nodeContextMenu");d.maxPercent=1,d.wheelRadius=50,d.clockwise=!1,d.colors=b.colors.hotaru,d.multiSelect=!0,d.clickModeRotate=!1,d.slicePathFunction=slicePath().DonutSlice,b.viewStates.captureMode?d.createWheel([icon.plus,icon.trash]):d.createWheel([icon.plus,""]),d.navItems[0].selected=!1,d.navItems[0].hovered=!1,d.navItems[0].navigateFunction=function(a){b.clearOldContextMenu(),b.addNodeModal()},b.viewStates.captureMode&&(d.navItems[1].navigateFunction=function(a){b.clearOldContextMenu()}),d.navItems[0].selected=!1,d.navItems[0].hovered=!1};$("#nodeContextMenu").css("position","fixed"),$("#nodeContextMenu").css("left",c),$("#nodeContextMenu").css("top",d),$("#nodeContextMenu").width(100),$("#nodeContextMenu").height(100),e(a)},createEdgeContextMenu:function(a,b){var c=this,d=this.cursorX-165,e=this.cursorY-120;this.clearOldContextMenu();var f=function(a,b){var d=["#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5"],e=wheelnav,f=new e("nodeContextMenu");f.maxPercent=1,f.wheelRadius=50,f.clockwise=!1,f.colors=d,f.multiSelect=!0,f.clickModeRotate=!1,f.slicePathFunction=slicePath().DonutSlice,f.createWheel([icon.edit,icon.trash]),f.navItems[0].selected=!1,f.navItems[0].hovered=!1,f.navItems[0].navigateFunction=function(a){c.clearOldContextMenu(),c.editEdge(b)},f.navItems[1].navigateFunction=function(a){c.clearOldContextMenu(),c.deleteEdgeModal(b)},f.navItems[0].selected=!1,f.navItems[0].hovered=!1};$("#nodeContextMenu").css("left",d+115),$("#nodeContextMenu").css("top",e+72),$("#nodeContextMenu").width(100),$("#nodeContextMenu").height(100),f(b,a)},createNodeContextMenu:function(a,b){var c,d,e=this;_.each(b.data.node,function(a,b){"renderer"===b.substr(0,8)&&"x"===b.charAt(b.length-1)&&(c=a),"renderer"===b.substr(0,8)&&"y"===b.charAt(b.length-1)&&(d=a)}),this.clearOldContextMenu();var f=function(a,b){var f=["#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5"],g=wheelnav,h=new g("nodeContextMenu");h.maxPercent=1,h.wheelRadius=50,h.clockwise=!1,h.colors=f,h.multiSelect=!0,h.clickModeRotate=!1,h.slicePathFunction=slicePath().DonutSlice,h.createWheel([icon.edit,icon.trash,icon.play,icon.connect]),h.navItems[0].selected=!1,h.navItems[0].hovered=!1,h.navItems[0].navigateFunction=function(a){e.clearOldContextMenu(),e.editNode(b)},h.navItems[1].navigateFunction=function(a){e.clearOldContextMenu(),e.deleteNodeModal(b)},h.navItems[2].navigateFunction=function(a){e.clearOldContextMenu(),e.setStartNode(b)},h.navItems[3].navigateFunction=function(a){e.contextState.createEdge=!0,e.contextState._from=b,e.contextState.fromX=c,e.contextState.fromY=d;var f=document.getElementsByClassName("sigma-mouse")[0];f.addEventListener("mousemove",e.drawLine.bind(this),!1),e.clearOldContextMenu()},h.navItems[0].selected=!1,h.navItems[0].hovered=!1};$("#nodeContextMenu").css("left",c+115),$("#nodeContextMenu").css("top",d+72),$("#nodeContextMenu").width(100),$("#nodeContextMenu").height(100),f(b,a)},clearMouseCanvas:function(){var a=document.getElementsByClassName("sigma-mouse")[0],b=a.getContext("2d");b.clearRect(0,0,$(a).width(),$(a).height())},drawLine:function(a){var b=window.App.graphViewer2.contextState;if(b.createEdge){var c=b.fromX,d=b.fromY,e=a.offsetX,f=a.offsetY,g=document.getElementsByClassName("sigma-mouse")[0],h=g.getContext("2d");h.clearRect(0,0,$(g).width(),$(g).height()),h.beginPath(),h.moveTo(c,d),h.lineTo(e,f),h.stroke()}},getGraphSettings:function(a){var b=this,c=frontendConfig.db+"_"+this.name;this.userConfig.fetch({success:function(d){b.graphConfig=d.toJSON().graphs[c],b.graphSettingsView&&b.graphSettingsView.remove(),b.graphSettingsView=new window.GraphSettingsView({name:b.name,userConfig:b.userConfig,saveCallback:b.render}),b.graphSettingsView.render(),a&&a(b.graphConfig)}})},setStartNode:function(a){this.graphConfig.nodeStart=a,this.graphSettingsView.saveGraphSettings(null,a)},editNode:function(a){var b=function(){};arangoHelper.openDocEditor(a,"doc",b)},editEdge:function(a){var b=function(){};arangoHelper.openDocEditor(a,"edge",b)},reloadGraph:function(){Backbone.history.loadUrl(Backbone.history.fragment)},getEdgeDefinitionCollections:function(a,b){var c=[];return _.each(this.model.edgeDefinitions,function(d){_.each(d.from,function(e){e===a&&_.each(d.to,function(a){a===b&&c.push(d.collection)})})}),c},initializeGraph:function(a,b){var c=this;a.refresh(),this.Sigma.plugins.Lasso=sigma.plugins.lasso;var d=new this.Sigma.plugins.Lasso(a,a.renderers[0],{strokeStyle:"black",lineWidth:1,fillWhileDrawing:!0,fillStyle:"rgba(41, 41, 41, 0.2)",cursor:"crosshair"});return d.bind("selectedNodes",function(b){var d=b.data;console.log("nodes",d),a.graph.nodes().forEach(function(a){a.color=c.graphConfig.nodeColor?c.graphConfig.nodeColor:"rgb(46, 204, 113)"}),d.forEach(function(a){a.color="red"}),a.refresh()}),d},renderGraph:function(a,b){var c=this;if(this.graphSettings=a.settings,0===a.edges.length){var d='No edges found for starting point: '+c.graphSettings.startVertex._id+"";return void $("#calculatingGraph").html('
    Stopped.

    '+d+'. Please choose a different start node or try to reload the graph.
    ')}var e="position: absolute; left: 25px; bottom: 45px;";this.aqlMode&&(e="position: absolute; left: 30px; margin-top: -37px;"),$(this.el).append('
    '+a.nodes.length+' nodes'+a.edges.length+" edges
    "),this.Sigma=sigma;var f="force",g="canvas";this.graphConfig&&(this.graphConfig.layout&&(f=this.graphConfig.layout),this.graphConfig.renderer&&(g=this.graphConfig.renderer,"canvas"===g&&(c.isEditable=!0)));var h={doubleClickEnabled:!1,minNodeSize:3.5,minEdgeSize:1,maxEdgeSize:4,enableEdgeHovering:!0,edgeHoverColor:"#000",defaultEdgeHoverColor:"#000",defaultEdgeType:"line",edgeHoverSizeRatio:2,edgeHoverExtremities:!0,autoRescale:!0,mouseEnabled:!0,touchEnabled:!0,nodesPowRatio:1,edgesPowRatio:1};"canvas"===g&&(h.autoCurveSortByDirection=!0),a.nodes.length>500&&(h.labelThreshold=15,h.hideEdgesOnMove=!0),this.graphConfig&&(this.graphConfig.edgeType&&(h.defaultEdgeType=this.graphConfig.edgeType),this.graphConfig.nodeLabelThreshold&&(h.labelThreshold=this.graphConfig.nodeLabelThreshold),this.graphConfig.edgeLabelThreshold&&(h.edgeLabelThreshold=this.graphConfig.edgeLabelThreshold)),"webgl"===g&&(h.enableEdgeHovering=!1);var i=new this.Sigma({graph:a,container:"graph-container",renderer:{container:document.getElementById("graph-container"),type:g},settings:h});if(this.currentGraph=i,this.aqlMode||sigma.plugins.fullScreen({container:"graph-container",btnId:"graph-fullscreen-btn"}),"noverlap"===f){var j=i.configNoverlap({nodeMargin:.1,scaleNodes:1.05,gridSize:75,easing:"quadraticInOut",duration:1e4});j.bind("start stop interpolate",function(a){"start"===a.type,"interpolate"===a.type})}else if("fruchtermann"===f){var k=sigma.layouts.fruchtermanReingold.configure(i,{iterations:500,easing:"quadraticInOut",duration:800});k.bind("start stop interpolate",function(a){})}if(i.graph.nodes().forEach(function(a){a.originalColor=a.color}),i.graph.edges().forEach(function(a){a.originalColor=a.color}),"canvas"===g&&(sigma.canvas.edges.autoCurve(i),i.refresh(),c.aqlMode||i.bind("rightClickStage",function(a){c.createContextMenu(a),c.clearMouseCanvas()}),i.bind("overNode",function(a){if($(".nodeInfoDiv").remove(),c.contextState.createEdge===!1){var b=function(a,b){if(!a){var d={},e=0,f=!1;_.each(b,function(a,b){15>e?"string"==typeof a&&(a.length>10?d[b]=a.substr(0,15)+" ...":d[b]=a):f=!0,e++});var g='
    '+JSON.stringify(d,null,2);f?(g=g.substr(0,g.length-2),g+=" \n\n  ... \n\n } 
    "):g+="
    ",$(c.el).append(g)}};c.documentStore.getDocument(a.data.node.id.split("/")[0],a.data.node.id.split("/")[1],b)}}),i.bind("outNode",function(a){c.contextState.createEdge===!1&&$(".nodeInfoDiv").remove()}),i.bind("clickNode",function(a){if(c.contextState.createEdge===!0){c.contextState._to=a.data.node.id;var b=c.contextState._from.split("/")[0],d=c.contextState._to.split("/")[0],e=c.getEdgeDefinitionCollections(b,d);c.addEdgeModal(e,c.contextState._from,c.contextState._to)}}),this.aqlMode||i.bind("rightClickNode",function(a){var b=a.data.node.id;c.createNodeContextMenu(b,a)}),this.graphConfig.edgeEditable&&i.bind("rightClickEdge",function(a){var b=a.data.edge.id;c.createEdgeContextMenu(b,a)}),i.bind("doubleClickNode",function(a){var b=a.data.node.id,c=i.graph.neighbors(b);c[b]=a.data.node,i.graph.nodes().forEach(function(a){c[a.id]?a.color=a.originalColor:a.color="#eee"}),i.graph.edges().forEach(function(a){c[a.source]&&c[a.target]?a.color="rgb(64, 74, 83)":a.color="#eee"}),i.refresh()}),i.bind("doubleClickStage",function(){i.graph.nodes().forEach(function(a){a.color=a.originalColor}),i.graph.edges().forEach(function(a){a.color=a.originalColor}),i.refresh()}),i.bind("clickStage",function(){c.clearOldContextMenu(!0),c.clearMouseCanvas()})),"noverlap"===f)i.startNoverlap(),sigma.plugins.dragNodes(i,i.renderers[0]);else if("force"===f){var l="color: rgb(64, 74, 83); cursor: pointer; position: absolute; right: 30px; bottom: 40px;";c.aqlMode&&(l="color: rgb(64, 74, 83); cursor: pointer; position: absolute; right: 30px; margin-top: -30px;"),$(this.el).append('
    '),c.startLayout();var m=3e3;a.nodes.length>2500?m=5e3:a.nodes.length<50&&(m=500),window.setTimeout(function(){c.stopLayout()},m)}else"fruchtermann"===f?(sigma.layouts.fruchtermanReingold.start(i),sigma.plugins.dragNodes(i,i.renderers[0])):sigma.plugins.dragNodes(i,i.renderers[0]);var n=document.getElementsByClassName("sigma-mouse")[0];n.addEventListener("mousemove",c.trackCursorPosition.bind(this),!1),b&&$("#"+b).focus();var o=function(){c.graphLasso=c.initializeGraph(i,a),c.graphLasso.activate(),c.graphLasso.deactivate()};this.graphConfig?"canvas"===this.graphConfig.renderer?o():$("#selectNodes").parent().hide():"canvas"===g?o():$("#selectNodes").parent().hide(),c.graphLasso&&(window.App.listenerFunctions.graphViewer=this.keyUpFunction.bind(this)),$("#calculatingGraph").remove()},keyUpFunction:function(a){var b=this;switch(a.keyCode){case 76:a.altKey&&b.toggleLasso()}},toggleLayout:function(){this.layouting?this.stopLayout():this.startLayout()},toggleLasso:function(){this.graphLasso.isActive?($("#selectNodes").removeClass("activated"),this.graphLasso.deactivate()):($("#selectNodes").addClass("activated"),this.graphLasso.activate())},startLayout:function(){$("#toggleForce .fa").removeClass("fa-play").addClass("fa-pause"),this.layouting=!0,this.currentGraph.startForceAtlas2({worker:!0,barnesHutOptimize:!1}),sigma.plugins.dragNodes(this.currentGraph,this.currentGraph.renderers[0])},stopLayout:function(){$("#toggleForce .fa").removeClass("fa-pause").addClass("fa-play"),this.layouting=!1,this.currentGraph.stopForceAtlas2(),sigma.plugins.dragNodes(this.currentGraph,this.currentGraph.renderers[0])}})}(),function(){"use strict";window.HelpUsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("helpUsView.ejs"),render:function(){this.$el.html(this.template.render({}))}})}(),function(){"use strict";window.IndicesView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},template:templateEngine.createTemplate("indicesView.ejs"),events:{},render:function(){$(this.el).html(this.template.render({model:this.model})),this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Indices"),this.getIndex()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson");f={type:"geo",fields:d.stringToArray(a),geoJson:g};break;case"Persistent":a=$("#newPersistentFields").val(),b=d.checkboxToValue("#newPersistentUnique"),c=d.checkboxToValue("#newPersistentSparse"),f={type:"persistent",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var h=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:h};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var i=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.toggleNewIndexView(),d.render()};this.model.createIndex(f,i)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView(),a.render()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#content #modal-dialog .modal-footer").after(''),$("#indexHeaderContent #indexConfirmDelete").unbind("click"),$("#indexHeaderContent #indexConfirmDelete").bind("click",function(){$("#indexHeaderContent #indexDeleteModal").remove(),b.deleteIndex()}),$("#indexHeaderContent #indexAbortDelete").unbind("click"),$("#indexHeaderContent #indexAbortDelete").bind("click",function(){$("#indexHeaderContent #indexDeleteModal").remove()})},unbindIndexEvents:function(){$("#indexHeaderContent #indexEditView #addIndex").unbind("click"),$("#indexHeaderContent #newIndexType").unbind("change"),$("#indexHeaderContent #infoTab a").unbind("click"),$("#indexHeaderContent .deleteIndex").unbind("click")},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1)):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1))}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.InfoView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Info"),this.renderInfoView()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},renderInfoView:function(){if(this.model.get("locked"))return 0;var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e,null,null,null,null,null,"content")}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)}})}(),function(){"use strict";window.LoginView=Backbone.View.extend({el:"#content",el2:".header",el3:".footer",loggedIn:!1,loginCounter:0,events:{"keyPress #loginForm input":"keyPress", -"click #submitLogin":"validate","submit #dbForm":"goTo","click #logout":"logout","change #loginDatabase":"renderDBS"},template:templateEngine.createTemplate("loginView.ejs"),render:function(a){var b=this;if($(this.el).html(this.template.render({})),$(this.el2).hide(),$(this.el3).hide(),frontendConfig.authenticationEnabled&&a!==!0)window.setTimeout(function(){$("#loginUsername").focus()},300);else{var c=arangoHelper.databaseUrl("/_api/database/user");frontendConfig.authenticationEnabled===!1&&($("#logout").hide(),$(".login-window #databases").css("height","90px")),$("#loginForm").hide(),$(".login-window #databases").show(),$.ajax(c).success(function(a){$("#loginDatabase").html(""),_.each(a.result,function(a){$("#loginDatabase").append("")}),b.renderDBS()}).error(function(){console.log("could not fetch user db data")})}return $(".bodyWrapper").show(),this},clear:function(){$("#loginForm input").removeClass("form-error"),$(".wrong-credentials").hide()},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.validate()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.validate())},validate:function(a){a.preventDefault(),this.clear();var b=$("#loginUsername").val(),c=$("#loginPassword").val();b&&this.collection.login(b,c,this.loginCallback.bind(this,b,c))},loginCallback:function(a,b,c){var d=this;if(c){if(0===d.loginCounter)return d.loginCounter++,void d.collection.login(a,b,this.loginCallback.bind(this,a));d.loginCounter=0,$(".wrong-credentials").show(),$("#loginDatabase").html(""),$("#loginDatabase").append("")}else{var e=arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database","_system");frontendConfig.authenticationEnabled===!1&&(e=arangoHelper.databaseUrl("/_api/database/user")),$(".wrong-credentials").hide(),d.loggedIn=!0,$.ajax(e).success(function(a){_.each(a.result,function(b,c){"rw"!==b&&delete a.result[c]}),$("#loginForm").hide(),$(".login-window #databases").show(),$("#loginDatabase").html(""),_.each(a.result,function(a,b){$("#loginDatabase").append("")}),d.renderDBS()}).error(function(){$(".wrong-credentials").show()})}},renderDBS:function(){if(0===$("#loginDatabase").children().length)$("#dbForm").remove(),$(".login-window #databases").prepend('
    You do not have permission to a database.
    ');else{var a=$("#loginDatabase").val();$("#goToDatabase").html("Select DB: "+a),window.setTimeout(function(){$("#goToDatabase").focus()},300)}},logout:function(){this.collection.logout()},goTo:function(a){a.preventDefault();var b=$("#loginUsername").val(),c=$("#loginDatabase").val();window.App.dbSet=c;var d=function(a){a&&arangoHelper.arangoError("User","Could not fetch user settings")},e=window.location.protocol+"//"+window.location.host+frontendConfig.basePath+"/_db/"+c+"/_admin/aardvark/index.html";window.location.href=e,$(this.el2).show(),$(this.el3).show(),$(".bodyWrapper").show(),$(".navbar").show(),$("#currentUser").text(b),this.collection.loadUserSettings(d)}})}(),function(){"use strict";window.LogsView=window.PaginationView.extend({el:"#content",id:"#logContent",paginationDiv:"#logPaginationDiv",idPrefix:"logTable",fetchedAmount:!1,initialize:function(a){this.options=a,this.convertModelToJSON()},currentLoglevel:"logall",events:{"click #arangoLogTabbar button":"setActiveLoglevel","click #logTable_first":"firstPage","click #logTable_last":"lastPage"},template:templateEngine.createTemplate("logsView.ejs"),tabbar:templateEngine.createTemplate("arangoTabbar.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),tabbarElements:{id:"arangoLogTabbar",titles:[["All","logall"],["Info","loginfo"],["Error","logerror"],["Warning","logwarning"],["Debug","logdebug"]]},tableDescription:{id:"arangoLogTable",titles:["Loglevel","Date","Message"],rows:[]},convertedRows:null,setActiveLoglevel:function(a){$(".arangodb-tabbar").removeClass("arango-active-tab"),this.currentLoglevel!==a.currentTarget.id&&(this.currentLoglevel=a.currentTarget.id,this.convertModelToJSON())},initTotalAmount:function(){var a=this;this.collection=this.options[this.currentLoglevel],this.collection.fetch({data:$.param({test:!0}),success:function(){a.convertModelToJSON()}}),this.fetchedAmount=!0},invertArray:function(a){var b,c=[],d=0;for(b=a.length-1;b>=0;b--)c[d]=a[b],d++;return c},convertModelToJSON:function(){if(!this.fetchedAmount)return void this.initTotalAmount();var a,b=this,c=[];this.collection=this.options[this.currentLoglevel],this.collection.fetch({success:function(){b.collection.each(function(b){a=new Date(1e3*b.get("timestamp")),c.push([b.getLogStatus(),arangoHelper.formatDT(a),b.get("text")])}),b.tableDescription.rows=b.invertArray(c),b.render()}})},render:function(){return $(this.el).html(this.template.render({})),$(this.id).html(this.tabbar.render({content:this.tabbarElements})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#"+this.currentLoglevel).addClass("arango-active-tab"),$("#logContent").append('
    '),this.renderPagination(),this},rerender:function(){this.convertModelToJSON()}})}(),function(){"use strict";var a=function(a,b,c,d){return{type:a,title:b,callback:c,confirm:d}},b=function(a,b,c,d,e,f,g,h,i,j,k){var l={type:a,label:b};return void 0!==c&&(l.value=c),void 0!==d&&(l.info=d),void 0!==e&&(l.placeholder=e),void 0!==f&&(l.mandatory=f),void 0!==h&&(l.addDelete=h),void 0!==i&&(l.addAdd=i),void 0!==j&&(l.maxEntrySize=j),void 0!==k&&(l.tags=k),g&&(l.validateInput=function(){return g}),l};window.ModalView=Backbone.View.extend({_validators:[],_validateWatchers:[],baseTemplate:templateEngine.createTemplate("modalBase.ejs"),tableTemplate:templateEngine.createTemplate("modalTable.ejs"),el:"#modalPlaceholder",contentEl:"#modalContent",hideFooter:!1,confirm:{list:"#modal-delete-confirmation",yes:"#modal-confirm-delete",no:"#modal-abort-delete"},enabledHotkey:!1,enableHotKeys:!0,buttons:{SUCCESS:"success",NOTIFICATION:"notification",DELETE:"danger",NEUTRAL:"neutral",CLOSE:"close"},tables:{READONLY:"readonly",TEXT:"text",BLOB:"blob",PASSWORD:"password",SELECT:"select",SELECT2:"select2",CHECKBOX:"checkbox"},initialize:function(){Object.freeze(this.buttons),Object.freeze(this.tables)},createModalHotkeys:function(){$(this.el).unbind("keydown"),$(this.el).unbind("return"),$(this.el).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body input").unbind("keydown"),$(".modal-body input").unbind("return"),$(".modal-body input",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body select").unbind("keydown"),$(".modal-body select").unbind("return"),$(".modal-body select",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()})},createInitModalHotkeys:function(){var a=this;$(this.el).bind("keydown","left",function(){a.navigateThroughButtons("left")}),$(this.el).bind("keydown","right",function(){a.navigateThroughButtons("right")})},navigateThroughButtons:function(a){var b=$(".createModalDialog .modal-footer button").is(":focus");b===!1?"left"===a?$(".createModalDialog .modal-footer button").first().focus():"right"===a&&$(".createModalDialog .modal-footer button").last().focus():b===!0&&("left"===a?$(":focus").prev().focus():"right"===a&&$(":focus").next().focus())},createCloseButton:function(b,c){var d=this;return a(this.buttons.CLOSE,b,function(){d.hide(),c&&c()})},createSuccessButton:function(b,c){return a(this.buttons.SUCCESS,b,c)},createNotificationButton:function(b,c){return a(this.buttons.NOTIFICATION,b,c)},createDeleteButton:function(b,c,d){return a(this.buttons.DELETE,b,c,d)},createNeutralButton:function(b,c){return a(this.buttons.NEUTRAL,b,c)},createDisabledButton:function(b){var c=a(this.buttons.NEUTRAL,b);return c.disabled=!0,c},createReadOnlyEntry:function(a,c,d,e,f,g){var h=b(this.tables.READONLY,c,d,e,void 0,void 0,void 0,f,g);return h.id=a,h},createTextEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.TEXT,c,d,e,f,g,h);return i.id=a,i},createBlobEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.BLOB,c,d,e,f,g,h);return i.id=a,i},createSelect2Entry:function(a,c,d,e,f,g,h,i,j,k){var l=b(this.tables.SELECT2,c,d,e,f,g,void 0,h,i,j,k);return l.id=a,l},createPasswordEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.PASSWORD,c,d,e,f,g,h);return i.id=a,i},createCheckboxEntry:function(a,c,d,e,f){var g=b(this.tables.CHECKBOX,c,d,e);return g.id=a,f&&(g.checked=f),g},createSelectEntry:function(a,c,d,e,f){var g=b(this.tables.SELECT,c,null,e);return g.id=a,d&&(g.selected=d),g.options=f,g},createOptionEntry:function(a,b){return{label:a,value:b||a}},show:function(a,b,c,d,e,f,g,h,i,j){var k,l,m=this,n=!1;c=c||[],h=Boolean(h),this.clearValidators(),c.length>0?(c.forEach(function(a){a.type===m.buttons.CLOSE&&(n=!0),a.type===m.buttons.DELETE&&(l=l||a.confirm)}),n||(k=c.pop(),c.push(m.createCloseButton("Cancel")),c.push(k))):c.push(m.createCloseButton("Close")),j?($("#"+j).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),$("#"+j+" #modal-dialog").removeClass("fade hide modal"),$("#"+j+" .modal-header").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .button-close").remove(),0===$("#"+j+" .modal-footer").children().length&&$("#"+j+" .modal-footer").remove()):$(this.el).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),_.each(c,function(a,b){if(!a.disabled&&a.callback){if(a.type===m.buttons.DELETE&&!h){var c="#modalButton"+b;return j&&(c="#"+j+" #modalButton"+b),void $(c).bind("click",function(){j?($("#"+j+" "+m.confirm.yes).unbind("click"),$("#"+j+" "+m.confirm.yes).bind("click",a.callback),$("#"+j+" "+m.confirm.list).css("display","block")):($(m.confirm.yes).unbind("click"),$(m.confirm.yes).bind("click",a.callback),$(m.confirm.list).css("display","block"))})}j?$("#"+j+" #modalButton"+b).bind("click",a.callback):$("#modalButton"+b).bind("click",a.callback)}}),j?$("#"+j+" "+this.confirm.no).bind("click",function(){$("#"+j+" "+m.confirm.list).css("display","none")}):$(this.confirm.no).bind("click",function(){$(m.confirm.list).css("display","none")});var o;if("string"==typeof a)o=templateEngine.createTemplate(a),j?$("#"+j+" .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f})):$("#modalPlaceholder .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f}));else{var p=0;_.each(a,function(a){o=templateEngine.createTemplate(a),$(".createModalDialog .modal-body .tab-content #"+i[p]).html(o.render({content:d,advancedContent:e,info:f})),p++})}$(".createModalDialog .modalTooltips").tooltip({position:{my:"left top",at:"right+55 top-1"}});var q=d||[];e&&e.content&&(q=q.concat(e.content)),_.each(q,function(a){m.modalBindValidation(a),a.type===m.tables.SELECT2&&$("#"+a.id).select2({tags:a.tags||[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:a.maxEntrySize||8})}),g&&(this.events=g,this.delegateEvents()),$("#accordion2")&&($("#accordion2 .accordion-toggle").bind("click",function(){$("#collapseOne").is(":visible")?($("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)):($("#collapseOne").show(),setTimeout(function(){$(".accordion-toggle").removeClass("collapsed")},100))}),$("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)),j||$("#modal-dialog").modal("show"),this.enabledHotkey===!1&&(this.createInitModalHotkeys(),this.enabledHotkey=!0),this.enableHotKeys&&this.createModalHotkeys();var r;r=j?$("#"+j+" #modal-dialog").find("input"):$("#modal-dialog").find("input"),r&&setTimeout(function(){r=j?$("#"+j+" #modal-dialog"):$("#modal-dialog"),r.length>0&&(r=r.find("input"),r.length>0&&$(r[0]).focus())},400)},modalBindValidation:function(a){var b=this;if(a.hasOwnProperty("id")&&a.hasOwnProperty("validateInput")){var c=function(){var b=$("#"+a.id),c=a.validateInput(b),d=!1;return _.each(c,function(a){var c=b.val();if(a.rule||(a={rule:a}),"function"==typeof a.rule)try{a.rule(c)}catch(e){d=a.msg||e.message}else{var f=Joi.validate(c,a.rule);f.error&&(d=a.msg||f.error.message)}return d?!1:void 0}),d?d:void 0},d=$("#"+a.id);d.on("keyup focusout",function(){var a=c(),e=d.next()[0];a?(d.addClass("invalid-input"),e?$(e).text(a):d.after('

    '+a+"

    "),$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled")):(d.removeClass("invalid-input"),e&&$(e).remove(),b.modalTestAll())}),this._validators.push(c),this._validateWatchers.push(d)}},modalTestAll:function(){var a=_.map(this._validators,function(a){return a()}),b=_.any(a);return b?$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled"):$(".createModalDialog .modal-footer .button-success").prop("disabled",!1).removeClass("disabled"),!b},clearValidators:function(){this._validators=[],_.each(this._validateWatchers,function(a){a.unbind("keyup focusout")}),this._validateWatchers=[]},hide:function(){this.clearValidators(),$("#modal-dialog").modal("hide")}})}(),function(){"use strict";window.NavigationView=Backbone.View.extend({el:"#navigationBar",subEl:"#subNavigationBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab","click li":"switchTab","click .arangodbLogo":"selectMenuItem","mouseenter .dropdown > *":"showDropdown","click .shortcut-icons p":"showShortcutModal","mouseleave .dropdown":"hideDropdown"},renderFirst:!0,activeSubMenu:void 0,changeDB:function(){window.location.hash="#login"},initialize:function(a){var b=this;this.userCollection=a.userCollection,this.currentDB=a.currentDB,this.dbSelectionView=new window.DBSelectionView({collection:a.database,current:this.currentDB}),this.userBarView=new window.UserBarView({userCollection:this.userCollection}),this.notificationView=new window.NotificationView({collection:a.notificationCollection}),this.statisticBarView=new window.StatisticBarView({currentDB:this.currentDB}),this.isCluster=a.isCluster,this.handleKeyboardHotkeys(),Backbone.history.on("all",function(){b.selectMenuItem()})},showShortcutModal:function(){arangoHelper.hotkeysFunctions.showHotkeysModal()},handleSelectDatabase:function(){this.dbSelectionView.render($("#dbSelect"))},template:templateEngine.createTemplate("navigationView.ejs"),templateSub:templateEngine.createTemplate("subNavigationView.ejs"),render:function(){var a=this;$(this.el).html(this.template.render({currentDB:this.currentDB,isCluster:this.isCluster})),"_system"!==this.currentDB.get("name")&&$("#dashboard").parent().remove(),$(this.subEl).html(this.templateSub.render({currentDB:this.currentDB.toJSON()})),this.dbSelectionView.render($("#dbSelect"));var b=function(a){a||this.userBarView.render()}.bind(this);return this.userCollection.whoAmI(b),this.renderFirst&&(this.renderFirst=!1,this.selectMenuItem(),$(".arangodbLogo").on("click",function(){a.selectMenuItem()}),$("#dbStatus").on("click",function(){a.changeDB()})),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},handleKeyboardHotkeys:function(){arangoHelper.enableKeyboardHotkeys(!0)},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id,d=!1;$(b).hasClass("fa")||(""===c&&(c=$(b).attr("class")),"links"===c?(d=!0,$("#link_dropdown").slideToggle(1),a.preventDefault()):"tools"===c?(d=!0,$("#tools_dropdown").slideToggle(1),a.preventDefault()):"dbselection"===c&&(d=!0,$("#dbs_dropdown").slideToggle(1),a.preventDefault()),d||(window.App.navigate(c,{trigger:!0}),a.preventDefault()))},handleSelectNavigation:function(){var a=this;$("#arangoCollectionSelect").change(function(){a.navigateBySelect()})},subViewConfig:{documents:"collections",collection:"collections"},subMenuConfig:{cluster:[{name:"Dashboard",view:void 0,active:!0},{name:"Logs",view:void 0,disabled:!0}],collections:[{name:"",view:void 0,active:!1}],queries:[{name:"Editor",route:"query",active:!0},{name:"Running Queries",route:"queryManagement",params:{active:!0},active:void 0},{name:"Slow Query History",route:"queryManagement",params:{active:!1},active:void 0}]},renderSubMenu:function(a){var b=this;if(void 0===a&&(a=window.isCluster?"cluster":"dashboard"),this.subMenuConfig[a]){$(this.subEl+" .bottom").html("");var c="";_.each(this.subMenuConfig[a],function(a){c=a.active?"active":"",a.disabled&&(c="disabled"),$(b.subEl+" .bottom").append('"),a.disabled||$(b.subEl+" .bottom").children().last().bind("click",function(c){b.activeSubMenu=a,b.renderSubView(a,c)})})}},renderSubView:function(a,b){window.App[a.route]&&(window.App[a.route].resetState&&window.App[a.route].resetState(),window.App[a.route]()),$(this.subEl+" .bottom").children().removeClass("active"),$(b.currentTarget).addClass("active")},switchTab:function(a){var b=$(a.currentTarget).children().first().attr("id");b&&this.selectMenuItem(b+"-menu")},selectMenuItem:function(a,b){void 0===a&&(a=window.location.hash.split("/")[0],a=a.substr(1,a.length-1)),""===a?a=window.App.isCluster?"cluster":"dashboard":"cNodes"!==a&&"dNodes"!==a||(a="nodes");try{this.renderSubMenu(a.split("-")[0])}catch(c){this.renderSubMenu(a)}$(".navlist li").removeClass("active"),"string"==typeof a&&(b?$("."+this.subViewConfig[a]+"-menu").addClass("active"):a&&($("."+a).addClass("active"),$("."+a+"-menu").addClass("active"))),arangoHelper.hideArangoNotifications()},showSubDropdown:function(a){$(a.currentTarget).find(".subBarDropdown").toggle()},showDropdown:function(a){var b=a.target||a.srcElement,c=b.id;"links"===c||"link_dropdown"===c||"links"===a.currentTarget.id?$("#link_dropdown").fadeIn(1):"tools"===c||"tools_dropdown"===c||"tools"===a.currentTarget.id?$("#tools_dropdown").fadeIn(1):"dbselection"!==c&&"dbs_dropdown"!==c&&"dbselection"!==a.currentTarget.id||$("#dbs_dropdown").fadeIn(1)},hideDropdown:function(a){var b=a.target||a.srcElement;b=$(b).parent(),$("#link_dropdown").fadeOut(1),$("#tools_dropdown").fadeOut(1),$("#dbs_dropdown").fadeOut(1)}})}(),function(){"use strict";window.NodesView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView.ejs"),interval:5e3,knownServers:[],events:{"click #nodesContent .pure-table-body .pure-table-row":"navigateToNode"},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.toRender=a.toRender,this.intervalFunction=window.setInterval(function(){"#cNodes"!==window.location.hash&&"#dNodes"!==window.location.hash&&"#nodes"!==window.location.hash||b.checkNodesState()},this.interval))},checkNodesState:function(){var a=function(a){_.each(a,function(a,b){_.each($(".pure-table-row"),function(c){$(c).attr("node")===b&&("GOOD"===a.Status?($(c).removeClass("noHover"),$(c).find(".state").html('')):($(c).addClass("noHover"),$(c).find(".state").html('')))})})};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(b){a(b.Health)}})},navigateToNode:function(a){if("#dNodes"!==window.location.hash&&!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node");window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(){var a=function(){this.continueRender()}.bind(this);this.initDoneCoords?a():this.waitForCoordinators(a)},continueRender:function(){var a;a="coordinator"===this.toRender?this.coordinators.toJSON():this.dbServers.toJSON(),this.$el.html(this.template.render({coords:a,type:this.toRender})),window.arangoHelper.buildNodesSubNav(this.toRender),this.checkNodesState()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(this.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView2=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView2.ejs"),interval:1e4,knownServers:[],events:{"click #nodesContent .coords-nodes .pure-table-row":"navigateToNode","click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},initialize:function(){var a=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#nodes"===window.location.hash&&a.render(!1)},this.interval))},navigateToNode:function(a){if(!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node").slice(0,-5);window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(a){var b=this,c=function(a){$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",success:function(c){b.continueRender(a,c)}})};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){c(a.Health)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch cluster information")}}),a!==!1&&arangoHelper.buildNodesSubNav("Overview")},continueRender:function(a,b){var c={},d={},e=!1;_.each(a,function(a,b){"Coordinator"===a.Role?c[b]=a:"DBServer"===a.Role&&(d[b]=a)}),null!==b.numberOfDBServers&&null!==b.numberOfCoordinators&&(e=!0);var f=function(a){this.$el.html(this.template.render({coords:c,dbs:d,scaling:e,scaleProperties:a,plannedDBs:b.numberOfDBServers,plannedCoords:b.numberOfCoordinators})),e||($(".title").css("position","relative"),$(".title").css("top","-4px"),$(".sectionHeader .information").css("margin-top","-3px"))}.bind(this);this.renderCounts(e,f)},updatePlanned:function(a){a.numberOfCoordinators&&($("#plannedCoords").val(a.numberOfCoordinators),this.renderCounts(!0)),a.numberOfDBServers&&($("#plannedDBs").val(a.numberOfDBServers),this.renderCounts(!0))},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},renderCounts:function(a,b){var c=function(b,c,d,e){var f=''+c+'';d&&a===!0&&(f=f+''+d+''),e&&(f=f+''+e+''),$(b).html(f),a||($(".title").css("position","relative"),$(".title").css("top","-4px"))},d=function(a){var d=0,e=0,f=0,g=0,h=0,i=0;_.each(a,function(a){"Coordinator"===a.Role?"GOOD"===a.Status?e++:d++:"DBServer"===a.Role&&("GOOD"===a.Status?g++:h++)}),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){f=Math.abs(e+d-a.numberOfCoordinators),i=Math.abs(g+h-a.numberOfDBServers),b?b({coordsPending:f,coordsOk:e,coordsErrors:d,dbsPending:i,dbsOk:g,dbsErrors:h}):(c("#infoDBs",g,i,h),c("#infoCoords",e,f,d))}})};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,success:function(a){d(a.Health)}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).val(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodeView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodeView.ejs"),interval:5e3,dashboards:[],events:{},initialize:function(a){window.App.isCluster&&(this.coordinators=a.coordinators,this.dbServers=a.dbServers,this.coordname=a.coordname,this.updateServerTime())},breadcrumb:function(a){$("#subNavigationBar .breadcrumb").html("Node: "+a)},render:function(){this.$el.html(this.template.render({coords:[]}));var a=function(){this.continueRender(),this.breadcrumb(this.coordname),$(window).trigger("resize")}.bind(this);this.initCoordDone||this.waitForCoordinators(),this.initDBDone?(this.coordname=window.location.hash.split("/")[1],this.coordinator=this.coordinators.findWhere({name:this.coordname}),a()):this.waitForDBServers(a)},continueRender:function(){var a=this;this.dashboards[this.coordinator.get("name")]=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:window.App.arangoDatabase,serverToShow:{raw:this.coordinator.get("address"),isDBServer:!1,endpoint:this.coordinator.get("protocol")+"://"+this.coordinator.get("address"),target:this.coordinator.get("name")}}),this.dashboards[this.coordinator.get("name")].render(),window.setTimeout(function(){a.dashboards[a.coordinator.get("name")].resize()},500)},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.coordinator=b.coordinators.findWhere({name:b.coordname}),b.initCoordDone=!0,a&&a())},200)},waitForDBServers:function(a){var b=this;window.setTimeout(function(){0===b.dbServers[0].length?b.waitForDBServers(a):(b.initDBDone=!0,b.dbServer=b.dbServers[0],b.dbServer.each(function(a){"DBServer001"===a.get("name")&&(b.dbServer=a)}),a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NotificationView=Backbone.View.extend({events:{"click .navlogo #stat_hd":"toggleNotification","click .notificationItem .fa":"removeNotification","click #removeAllNotifications":"removeAllNotifications"},initialize:function(){this.collection.bind("add",this.renderNotifications.bind(this)),this.collection.bind("remove",this.renderNotifications.bind(this)),this.collection.bind("reset",this.renderNotifications.bind(this)),window.setTimeout(function(){frontendConfig.authenticationEnabled===!1&&frontendConfig.isCluster===!1&&arangoHelper.showAuthDialog()===!0&&window.arangoHelper.arangoWarning("Warning","Authentication is disabled. Do not use this setup in production mode.")},2e3)},notificationItem:templateEngine.createTemplate("notificationItem.ejs"),el:"#notificationBar",template:templateEngine.createTemplate("notificationView.ejs"),toggleNotification:function(){var a=this.collection.length;0!==a&&$("#notification_menu").toggle()},removeAllNotifications:function(){$.noty.clearQueue(),$.noty.closeAll(),this.collection.reset(),$("#notification_menu").hide()},removeNotification:function(a){var b=a.target.id;this.collection.get(b).destroy()},renderNotifications:function(a,b,c){if(c&&c.add){var d,e=this.collection.at(this.collection.length-1),f=e.get("title"),g=3e3,h=["click"];if(e.get("content")&&(f=f+": "+e.get("content")),"error"===e.get("type")?(g=!1,h=["button"],d=[{addClass:"button-danger",text:"Close",onClick:function(a){a.close()}}]):"warning"===e.get("type")&&(g=15e3,d=[{addClass:"button-warning",text:"Close",onClick:function(a){a.close()}},{addClass:"button-danger",text:"Don't show again.",onClick:function(a){a.close(),window.arangoHelper.doNotShowAgain()}}]),$.noty.clearQueue(),$.noty.closeAll(),noty({theme:"relax",text:f,template:'
    ',maxVisible:1,closeWith:["click"],type:e.get("type"),layout:"bottom",timeout:g,buttons:d,animation:{open:{height:"show"},close:{height:"hide"},easing:"swing",speed:200,closeWith:h}}),"success"===e.get("type"))return void e.destroy()}$("#stat_hd_counter").text(this.collection.length),0===this.collection.length?($("#stat_hd").removeClass("fullNotification"),$("#notification_menu").hide()):$("#stat_hd").addClass("fullNotification"),$(".innerDropdownInnerUL").html(this.notificationItem.render({notifications:this.collection})),$(".notificationInfoIcon").tooltip({position:{my:"left top",at:"right+55 top-1"}})},render:function(){return $(this.el).html(this.template.render({notifications:this.collection})),this.renderNotifications(),this.delegateEvents(),this.el}})}(),function(){"use strict";window.ProgressView=Backbone.View.extend({template:templateEngine.createTemplate("progressBase.ejs"),el:"#progressPlaceholder",el2:"#progressPlaceholderIcon",toShow:!1,lastDelay:0,action:function(){},events:{"click .progress-action button":"performAction"},performAction:function(){"function"==typeof this.action&&this.action(),window.progressView.hide()},initialize:function(){},showWithDelay:function(a,b,c,d){var e=this;e.toShow=!0,e.lastDelay=a,setTimeout(function(){e.toShow===!0&&e.show(b,c,d)},e.lastDelay)},show:function(a,b,c){$(this.el).html(this.template.render({})),$(".progress-text").text(a),c?$(".progress-action").html('"):$(".progress-action").html(''),b?this.action=b:this.action=this.hide(),$(this.el).show()},hide:function(){var a=this;a.toShow=!1,$(this.el).hide(),this.action=function(){}}})}(),function(){"use strict";window.QueryManagementView=Backbone.View.extend({el:"#content",id:"#queryManagementContent",templateActive:templateEngine.createTemplate("queryManagementViewActive.ejs"),templateSlow:templateEngine.createTemplate("queryManagementViewSlow.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),active:!0,shouldRender:!0,timer:0,refreshRate:2e3,initialize:function(){var a=this;this.activeCollection=new window.QueryManagementActive,this.slowCollection=new window.QueryManagementSlow,this.convertModelToJSON(!0),window.setInterval(function(){"#queries"===window.location.hash&&window.VISIBLE&&a.shouldRender&&"queryManagement"===arangoHelper.getCurrentSub().route&&(a.active?$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!0):$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!1))},a.refreshRate)},events:{"click #deleteSlowQueryHistory":"deleteSlowQueryHistoryModal","click #arangoQueryManagementTable .fa-minus-circle":"deleteRunningQueryModal"},tableDescription:{id:"arangoQueryManagementTable",titles:["ID","Query String","Runtime","Started",""],rows:[],unescaped:[!1,!1,!1,!1,!0]},deleteRunningQueryModal:function(a){this.killQueryId=$(a.currentTarget).attr("data-id");var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,"Running Query","Do you want to kill the running query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Kill",this.killRunningQuery.bind(this))),window.modalView.show("modalTable.ejs","Kill Running Query",b,c),$(".modal-delete-confirmation strong").html("Really kill?")},killRunningQuery:function(){this.collection.killRunningQuery(this.killQueryId,this.killRunningQueryCallback.bind(this)),window.modalView.hide()},killRunningQueryCallback:function(){this.convertModelToJSON(!0),this.renderActive()},deleteSlowQueryHistoryModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry(void 0,"Slow Query Log","Do you want to delete the slow query log entries?",void 0,void 0,!1,void 0)), -a.push(window.modalView.createDeleteButton("Delete",this.deleteSlowQueryHistory.bind(this))),window.modalView.show("modalTable.ejs","Delete Slow Query Log",a,b)},deleteSlowQueryHistory:function(){this.collection.deleteSlowQueryHistory(this.slowQueryCallback.bind(this)),window.modalView.hide()},slowQueryCallback:function(){this.convertModelToJSON(!1),this.renderSlow()},render:function(){var a=arangoHelper.getCurrentSub();a.params.active?(this.active=!0,this.convertModelToJSON(!0)):(this.active=!1,this.convertModelToJSON(!1))},addEvents:function(){var a=this;$("#queryManagementContent tbody").on("mousedown",function(){clearTimeout(a.timer),a.shouldRender=!1}),$("#queryManagementContent tbody").on("mouseup",function(){a.timer=window.setTimeout(function(){a.shouldRender=!0},3e3)})},renderActive:function(){this.$el.html(this.templateActive.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#activequeries").addClass("arango-active-tab"),this.addEvents()},renderSlow:function(){this.$el.html(this.templateSlow.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#slowqueries").addClass("arango-active-tab"),this.addEvents()},convertModelToJSON:function(a){var b=this,c=[];a===!0?this.collection=this.activeCollection:this.collection=this.slowCollection,this.collection.fetch({success:function(){b.collection.each(function(b){var d="";a&&(d=''),c.push([b.get("id"),b.get("query"),b.get("runTime").toFixed(2)+" s",b.get("started"),d])});var d="No running queries.";a||(d="No slow queries."),0===c.length&&c.push([d,"","","",""]),b.tableDescription.rows=c,a?b.renderActive():b.renderSlow()}})}})}(),function(){"use strict";window.QueryView=Backbone.View.extend({el:"#content",bindParamId:"#bindParamEditor",myQueriesId:"#queryTable",template:templateEngine.createTemplate("queryView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),outputDiv:"#outputEditors",outputTemplate:templateEngine.createTemplate("queryViewOutput.ejs"),outputCounter:0,allowUpload:!1,customQueries:[],queries:[],state:{lastQuery:{query:void 0,bindParam:void 0}},graphs:[],settings:{aqlWidth:void 0},currentQuery:{},initDone:!1,bindParamRegExp:/@(@?\w+\d*)/,bindParamTableObj:{},bindParamTableDesc:{id:"arangoBindParamTable",titles:["Key","Value"],rows:[]},myQueriesTableDesc:{id:"arangoMyQueriesTable",titles:["Name","Actions"],rows:[]},execPending:!1,aqlEditor:null,queryPreview:null,initialize:function(){this.refreshAQL()},allowParamToggle:!0,events:{"click #executeQuery":"executeQuery","click #explainQuery":"explainQuery","click #clearQuery":"clearQuery","click .outputEditorWrapper #downloadQueryResult":"downloadQueryResult","click .outputEditorWrapper .switchAce span":"switchAce","click .outputEditorWrapper .fa-close":"closeResult","click #toggleQueries1":"toggleQueries","click #toggleQueries2":"toggleQueries","click #saveCurrentQuery":"addAQL","click #exportQuery":"exportCustomQueries","click #importQuery":"openImportDialog","click #removeResults":"removeResults","click #querySpotlight":"showSpotlight","click #deleteQuery":"selectAndDeleteQueryFromTable","click #explQuery":"selectAndExplainQueryFromTable","keydown #arangoBindParamTable input":"updateBindParams","change #arangoBindParamTable input":"updateBindParams","click #arangoMyQueriesTable tbody tr":"showQueryPreview","dblclick #arangoMyQueriesTable tbody tr":"selectQueryFromTable","click #arangoMyQueriesTable #copyQuery":"selectQueryFromTable","click #closeQueryModal":"closeExportDialog","click #confirmQueryImport":"importCustomQueries","click #switchTypes":"toggleBindParams","click #arangoMyQueriesTable #runQuery":"selectAndRunQueryFromTable"},clearQuery:function(){this.aqlEditor.setValue("",1)},toggleBindParams:function(){this.allowParamToggle?($("#bindParamEditor").toggle(),$("#bindParamAceEditor").toggle(),"JSON"===$("#switchTypes").text()?($("#switchTypes").text("Table"),this.updateQueryTable(),this.bindParamAceEditor.setValue(JSON.stringify(this.bindParamTableObj,null," "),1),this.deselect(this.bindParamAceEditor)):($("#switchTypes").text("JSON"),this.renderBindParamTable())):arangoHelper.arangoError("Bind parameter","Could not parse bind parameter"),this.resize()},openExportDialog:function(){$("#queryImportDialog").modal("show")},closeExportDialog:function(){$("#queryImportDialog").modal("hide")},initQueryImport:function(){var a=this;a.allowUpload=!1,$("#importQueries").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],a.allowUpload=!0,$("#confirmQueryImport").removeClass("disabled")})},importCustomQueries:function(){var a=this;if(this.allowUpload===!0){var b=function(){this.collection.fetch({success:function(){a.updateLocalQueries(),a.updateQueryTable(),a.resize(),a.allowUpload=!1,$("#confirmQueryImport").addClass("disabled"),$("#queryImportDialog").modal("hide")},error:function(a){arangoHelper.arangoError("Custom Queries",a.responseText)}})}.bind(this);a.collection.saveImportQueries(a.file,b.bind(this))}},removeResults:function(){$(".outputEditorWrapper").hide("fast",function(){$(".outputEditorWrapper").remove()}),$("#removeResults").hide()},getCustomQueryParameterByName:function(a){return this.collection.findWhere({name:a}).get("parameter")},getCustomQueryValueByName:function(a){var b;return a&&(b=this.collection.findWhere({name:a})),b?b=b.get("value"):_.each(this.queries,function(c){c.name===a&&(b=c.value)}),b},openImportDialog:function(){$("#queryImportDialog").modal("show")},closeImportDialog:function(){$("#queryImportDialog").modal("hide")},exportCustomQueries:function(){var a;$.ajax("whoAmI?_="+Date.now()).success(function(b){a=b.user,null!==a&&a!==!1||(a="root");var c="query/download/"+encodeURIComponent(a);arangoHelper.download(c)})},toggleQueries:function(a){a&&"toggleQueries1"===a.currentTarget.id?(this.updateQueryTable(),$("#bindParamAceEditor").hide(),$("#bindParamEditor").show(),$("#switchTypes").text("JSON"),$(".aqlEditorWrapper").first().width(.33*$(window).width()),this.queryPreview.setValue("No query selected.",1),this.deselect(this.queryPreview)):void 0===this.settings.aqlWidth?$(".aqlEditorWrapper").first().width(.33*$(window).width()):$(".aqlEditorWrapper").first().width(this.settings.aqlWidth),this.resize();var b=["aqlEditor","queryTable","previewWrapper","querySpotlight","bindParamEditor","toggleQueries1","toggleQueries2","saveCurrentQuery","querySize","executeQuery","switchTypes","explainQuery","importQuery","exportQuery"];_.each(b,function(a){$("#"+a).toggle()}),this.resize()},showQueryPreview:function(a){$("#arangoMyQueriesTable tr").removeClass("selected"),$(a.currentTarget).addClass("selected");var b=this.getQueryNameFromTable(a);this.queryPreview.setValue(this.getCustomQueryValueByName(b),1),this.deselect(this.queryPreview)},getQueryNameFromTable:function(a){var b;return $(a.currentTarget).is("tr")?b=$(a.currentTarget).children().first().text():$(a.currentTarget).is("span")&&(b=$(a.currentTarget).parent().parent().prev().text()),b},deleteQueryModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,a,"Do you want to delete the query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Delete",this.deleteAQL.bind(this,a))),window.modalView.show("modalTable.ejs","Delete Query",b,c)},selectAndDeleteQueryFromTable:function(a){var b=this.getQueryNameFromTable(a);this.deleteQueryModal(b)},selectAndExplainQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.explainQuery()},selectAndRunQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.executeQuery()},selectQueryFromTable:function(a,b){var c=this.getQueryNameFromTable(a),d=this;void 0===b&&this.toggleQueries(),this.state.lastQuery.query=this.aqlEditor.getValue(),this.state.lastQuery.bindParam=this.bindParamTableObj,this.aqlEditor.setValue(this.getCustomQueryValueByName(c),1),this.fillBindParamTable(this.getCustomQueryParameterByName(c)),this.updateBindParams(),$("#lastQuery").remove(),$("#queryContent .arangoToolbarTop .pull-left").append('Previous Query'),$("#lastQuery").hide().fadeIn(500).on("click",function(){d.aqlEditor.setValue(d.state.lastQuery.query,1),d.fillBindParamTable(d.state.lastQuery.bindParam),d.updateBindParams(),$("#lastQuery").fadeOut(500,function(){$(this).remove()})})},deleteAQL:function(a){var b=function(a){a?arangoHelper.arangoError("Query","Could not delete query."):(this.updateLocalQueries(),this.updateQueryTable(),this.resize(),window.modalView.hide())}.bind(this),c=this.collection.findWhere({name:a});this.collection.remove(c),this.collection.saveCollectionQueries(b)},switchAce:function(a){var b=$(a.currentTarget).attr("counter"),c=a.currentTarget;if(!$(c).hasClass("disabled")){_.each($(c).parent().children(),function(a){$(a).removeClass("active")});var d=$(c).attr("val");$(c).addClass("active"),$(c).text(d.charAt(0).toUpperCase()+d.slice(1)),"JSON"===d?($("#outputEditor"+b).show(),$("#sentWrapper"+b).hide(),$("#outputGraph"+b).hide(),$("#outputTable"+b).hide()):"AQL"===d?($("#sentWrapper"+b).show(),$("#outputEditor"+b).hide(),$("#outputGraph"+b).hide(),$("#outputTable"+b).hide()):"Table"===d?($("#outputTable"+b).show(),$("#outputGraph"+b).hide(),$("#outputEditor"+b).hide(),$("#sentWrapper"+b).hide()):"Graph"===d&&($("#outputGraph"+b).show(),$("#outputTable"+b).hide(),$("#outputEditor"+b).hide(),$("#sentWrapper"+b).hide()),this.deselect(ace.edit("outputEditor"+b)),this.deselect(ace.edit("sentQueryEditor"+b)),this.deselect(ace.edit("sentBindParamEditor"+b))}},downloadQueryResult:function(a){var b=$(a.currentTarget).attr("counter"),c=ace.edit("sentQueryEditor"+b),d=c.getValue();if(""!==d||void 0!==d||null!==d){var e;e=0===Object.keys(this.bindParamTableObj).length?"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d}))):"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d,bindVars:this.bindParamTableObj}))),arangoHelper.download(e)}else arangoHelper.arangoError("Query error","could not query result.")},explainQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Explain"}));var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setReadOnly(!0),b.getSession().setMode("ace/mode/json"),b.setOption("vScrollBarAlwaysVisible",!0),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillExplain(b,c,a),this.outputCounter++}},fillExplain:function(a,b,c){b.setValue(this.aqlEditor.getValue(),1);var d=this,e=this.readQueryData();if($("#outputEditorWrapper"+c+" .queryExecutionTime").text(""),this.execPending=!1,e){var f=function(){$("#outputEditorWrapper"+c+" #spinner").remove(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditorWrapper"+c+" .switchAce").show()};$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/query/explain/"),data:e,contentType:"application/json",processData:!1,success:function(b){b.msg.includes("errorMessage")?(d.removeOutputEditor(c),arangoHelper.arangoError("Explain",b.msg)):(a.setValue(b.msg,1),d.deselect(a),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)),f()},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("Explain",b.errorMessage)}catch(e){arangoHelper.arangoError("Explain","ERROR")}d.handleResult(c),d.removeOutputEditor(c),f()}})}},removeOutputEditor:function(a){$("#outputEditorWrapper"+a).hide(),$("#outputEditorWrapper"+a).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()},getCachedQueryAfterRender:function(){var a=this.getCachedQuery(),b=this;if(null!==a&&void 0!==a&&""!==a&&(this.aqlEditor.setValue(a.query,1),this.aqlEditor.getSession().setUndoManager(new ace.UndoManager),""!==a.parameter||void 0!==a))try{b.bindParamTableObj=JSON.parse(a.parameter);var c;_.each($("#arangoBindParamTable input"),function(a){c=$(a).attr("name"),$(a).val(b.bindParamTableObj[c])}),b.setCachedQuery(b.aqlEditor.getValue(),JSON.stringify(b.bindParamTableObj))}catch(d){}},getCachedQuery:function(){if("undefined"!==Storage){var a=localStorage.getItem("cachedQuery");if(void 0!==a){var b=JSON.parse(a);this.currentQuery=b;try{this.bindParamTableObj=JSON.parse(b.parameter)}catch(c){}return b}}},setCachedQuery:function(a,b){if("undefined"!==Storage){var c={query:a,parameter:b};this.currentQuery=c,localStorage.setItem("cachedQuery",JSON.stringify(c))}},closeResult:function(a){var b=$("#"+$(a.currentTarget).attr("element")).parent();$(b).hide("fast",function(){$(b).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()})},fillSelectBoxes:function(){var a=1e3,b=$("#querySize");b.empty(),[100,250,500,1e3,2500,5e3,1e4,"all"].forEach(function(c){b.append('")})},render:function(){this.$el.html(this.template.render({})),this.afterRender(),this.initDone||(this.settings.aqlWidth=$(".aqlEditorWrapper").width()),this.initDone=!0,this.renderBindParamTable(!0)},afterRender:function(){var a=this;this.initAce(),this.initTables(),this.fillSelectBoxes(),this.makeResizeable(),this.initQueryImport(),this.getCachedQueryAfterRender(),$(".inputEditorWrapper").height($(window).height()/10*5+25),window.setTimeout(function(){a.resize()},10),a.deselect(a.aqlEditor)},showSpotlight:function(a){var b,c;if(void 0!==a&&"click"!==a.type||(a="aql"),"aql"===a)b=function(a){this.aqlEditor.insert(a),$("#aqlEditor .ace_text-input").focus()}.bind(this),c=function(){$("#aqlEditor .ace_text-input").focus()};else{var d=$(":focus");b=function(a){var b=$(d).val();$(d).val(b+a),$(d).focus()},c=function(){$(d).focus()}}window.spotlightView.show(b,c,a)},resize:function(){this.resizeFunction()},resizeFunction:function(){$("#toggleQueries1").is(":visible")?(this.aqlEditor.resize(),$("#arangoBindParamTable thead").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable thead th").css("width",$("#bindParamEditor").width()/2),$("#arangoBindParamTable tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody").css("height",$("#aqlEditor").height()-35),$("#arangoBindParamTable tbody").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody td").css("width",$("#bindParamEditor").width()/2)):(this.queryPreview.resize(),$("#arangoMyQueriesTable thead").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable thead th").css("width",$("#queryTable").width()/2),$("#arangoMyQueriesTable tr").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody").css("height",$("#queryTable").height()-35),$("#arangoMyQueriesTable tbody").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody td").css("width",$("#queryTable").width()/2))},makeResizeable:function(){var a=this;$(".aqlEditorWrapper").resizable({resize:function(){a.resizeFunction(),a.settings.aqlWidth=$(".aqlEditorWrapper").width()},handles:"e"}),$(".inputEditorWrapper").resizable({resize:function(){a.resizeFunction()},handles:"s"}),this.resizeFunction()},initTables:function(){this.$(this.bindParamId).html(this.table.render({content:this.bindParamTableDesc})),this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},checkType:function(a){var b="stringtype";try{a=JSON.parse(a),b=a instanceof Array?"arraytype":typeof a+"type"}catch(c){}return b},updateBindParams:function(a){var b,c=this;if(a){b=$(a.currentTarget).attr("name"),this.bindParamTableObj[b]=arangoHelper.parseInput(a.currentTarget);var d=["arraytype","objecttype","booleantype","numbertype","stringtype"];_.each(d,function(b){$(a.currentTarget).removeClass(b)}),$(a.currentTarget).addClass(c.checkType($(a.currentTarget).val()))}else _.each($("#arangoBindParamTable input"),function(a){b=$(a).attr("name"),c.bindParamTableObj[b]=arangoHelper.parseInput(a)});this.setCachedQuery(this.aqlEditor.getValue(),JSON.stringify(this.bindParamTableObj)),a&&((a.ctrlKey||a.metaKey)&&13===a.keyCode&&(a.preventDefault(),this.executeQuery()),(a.ctrlKey||a.metaKey)&&32===a.keyCode&&(a.preventDefault(),this.showSpotlight("bind")))},parseQuery:function(a){var b=0,c=1,d=2,e=3,f=4,g=5,h=6,i=7;a+=" ";var j,k,l,m=this,n=b,o=a.length,p=[];for(k=0;o>k;++k)switch(l=a.charAt(k),n){case b:"@"===l?(n=h,j=k):"'"===l?n=c:'"'===l?n=d:"`"===l?n=e:"´"===l?n=i:"/"===l&&o>k+1&&("/"===a.charAt(k+1)?(n=f,++k):"*"===a.charAt(k+1)&&(n=g,++k));break;case f:"\r"!==l&&"\n"!==l||(n=b);break;case g:"*"===l&&o>=k+1&&"/"===a.charAt(k+1)&&(n=b,++k);break;case c:"\\"===l?++k:"'"===l&&(n=b);break;case d:"\\"===l?++k:'"'===l&&(n=b);break;case e:"`"===l&&(n=b);break;case i:"´"===l&&(n=b);break;case h:/^[@a-zA-Z0-9_]+$/.test(l)||(p.push(a.substring(j,k)),n=b,j=void 0)}var q;return _.each(p,function(a,b){q=a.match(m.bindParamRegExp),q&&(p[b]=q[1])}),{query:a,bindParams:p}},checkForNewBindParams:function(){var a=this,b=this.parseQuery(this.aqlEditor.getValue()).bindParams,c={};_.each(b,function(b){a.bindParamTableObj[b]?c[b]=a.bindParamTableObj[b]:c[b]=""}),Object.keys(b).forEach(function(b){Object.keys(a.bindParamTableObj).forEach(function(d){b===d&&(c[b]=a.bindParamTableObj[d])})}),a.bindParamTableObj=c},renderBindParamTable:function(a){$("#arangoBindParamTable tbody").html(""),a&&this.getCachedQuery();var b=0;_.each(this.bindParamTableObj,function(a,c){$("#arangoBindParamTable tbody").append(""+c+"'),b++,_.each($("#arangoBindParamTable input"),function(b){$(b).attr("name")===c&&(a instanceof Array?$(b).val(JSON.stringify(a)).addClass("arraytype"):"object"==typeof a?$(b).val(JSON.stringify(a)).addClass(typeof a+"type"):$(b).val(a).addClass(typeof a+"type"))})}),0===b&&$("#arangoBindParamTable tbody").append('No bind parameters defined.')},fillBindParamTable:function(a){_.each(a,function(a,b){_.each($("#arangoBindParamTable input"),function(c){$(c).attr("name")===b&&$(c).val(a)})})},initAce:function(){var a=this;this.aqlEditor=ace.edit("aqlEditor"),this.aqlEditor.getSession().setMode("ace/mode/aql"),this.aqlEditor.setFontSize("10pt"),this.aqlEditor.setShowPrintMargin(!1),this.bindParamAceEditor=ace.edit("bindParamAceEditor"),this.bindParamAceEditor.getSession().setMode("ace/mode/json"),this.bindParamAceEditor.setFontSize("10pt"),this.bindParamAceEditor.setShowPrintMargin(!1),this.bindParamAceEditor.getSession().on("change",function(){try{a.bindParamTableObj=JSON.parse(a.bindParamAceEditor.getValue()),a.allowParamToggle=!0,a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj))}catch(b){""===a.bindParamAceEditor.getValue()?(_.each(a.bindParamTableObj,function(b,c){a.bindParamTableObj[c]=""}),a.allowParamToggle=!0):a.allowParamToggle=!1}}),this.aqlEditor.getSession().on("change",function(){a.checkForNewBindParams(),a.renderBindParamTable(),a.initDone&&a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj)),a.bindParamAceEditor.setValue(JSON.stringify(a.bindParamTableObj,null," "),1),$("#aqlEditor .ace_text-input").focus(),a.resize()}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"executeQuery",bindKey:{win:"Ctrl-Return",mac:"Command-Return",linux:"Ctrl-Return"},exec:function(){a.executeQuery()}}),this.aqlEditor.commands.addCommand({name:"saveQuery",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Shift-S",linux:"Ctrl-Shift-S"},exec:function(){a.addAQL()}}),this.aqlEditor.commands.addCommand({name:"explainQuery",bindKey:{win:"Ctrl-Shift-Return",mac:"Command-Shift-Return",linux:"Ctrl-Shift-Return"},exec:function(){a.explainQuery()}}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"showSpotlight",bindKey:{win:"Ctrl-Space",mac:"Ctrl-Space",linux:"Ctrl-Space"},exec:function(){a.showSpotlight()}}),this.queryPreview=ace.edit("queryPreview"),this.queryPreview.getSession().setMode("ace/mode/aql"),this.queryPreview.setReadOnly(!0),this.queryPreview.setFontSize("13px"),$("#aqlEditor .ace_text-input").focus()},updateQueryTable:function(){function a(a,b){var c;return c=a.nameb.name?1:0}var b=this;this.updateLocalQueries(),this.myQueriesTableDesc.rows=this.customQueries,_.each(this.myQueriesTableDesc.rows,function(a){a.secondRow='
    ',a.hasOwnProperty("parameter")&&delete a.parameter,delete a.value}),this.myQueriesTableDesc.rows.sort(a),_.each(this.queries,function(a){a.hasOwnProperty("parameter")&&delete a.parameter,b.myQueriesTableDesc.rows.push({name:a.name,thirdRow:''})}),this.myQueriesTableDesc.unescaped=[!1,!0,!0],this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},listenKey:function(a){13===a.keyCode&&"Update"===$("#modalButton1").html()&&this.saveAQL(),this.checkSaveName()},addAQL:function(){this.refreshAQL(!0),this.createCustomQueryModal(),setTimeout(function(){$("#new-query-name").focus()},500)},createCustomQueryModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("new-query-name","Name","",void 0,void 0,!1,[{rule:Joi.string().required(),msg:"No query name given."}])),a.push(window.modalView.createSuccessButton("Save",this.saveAQL.bind(this))),window.modalView.show("modalTable.ejs","Save Query",a,b,void 0,void 0,{"keyup #new-query-name":this.listenKey.bind(this)})},checkSaveName:function(){var a=$("#new-query-name").val();if("Insert Query"===a)return void $("#new-query-name").val("");var b=this.customQueries.some(function(b){return b.name===a});b?($("#modalButton1").removeClass("button-success"),$("#modalButton1").addClass("button-warning"),$("#modalButton1").text("Update")):($("#modalButton1").removeClass("button-warning"),$("#modalButton1").addClass("button-success"),$("#modalButton1").text("Save"))},saveAQL:function(a){a&&a.stopPropagation(),this.refreshAQL();var b=$("#new-query-name").val(),c=this.bindParamTableObj;if(!$("#new-query-name").hasClass("invalid-input")&&""!==b.trim()){var d=this.aqlEditor.getValue(),e=!1;if(_.each(this.customQueries,function(a){return a.name===b?(a.value=d,void(e=!0)):void 0}),e===!0)this.collection.findWhere({name:b}).set("value",d);else{if(""!==c&&void 0!==c||(c="{}"),"string"==typeof c)try{c=JSON.parse(c)}catch(f){arangoHelper.arangoError("Query","Could not parse bind parameter")}this.collection.add({name:b,parameter:c,value:d})}var g=function(a){if(a)arangoHelper.arangoError("Query","Could not save query");else{var b=this;this.collection.fetch({success:function(){b.updateLocalQueries()}})}}.bind(this);this.collection.saveCollectionQueries(g),window.modalView.hide()}},verifyQueryAndParams:function(){var a=!1;0===this.aqlEditor.getValue().length&&(arangoHelper.arangoError("Query","Your query is empty"),a=!0);var b=[];return _.each(this.bindParamTableObj,function(c,d){""===c&&(a=!0,b.push(d))}),b.length>0&&arangoHelper.arangoError("Bind Parameter",JSON.stringify(b)+" not defined."),a},executeQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Query"})),$("#outputEditorWrapper"+this.outputCounter).hide(),$("#outputEditorWrapper"+this.outputCounter).show("fast");var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setFontSize("13px"),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setFontSize("13px"),b.getSession().setMode("ace/mode/json"),b.setReadOnly(!0),b.setOption("vScrollBarAlwaysVisible",!0),b.setShowPrintMargin(!1),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillResult(b,c,a),this.outputCounter++}},readQueryData:function(){var a=$("#querySize"),b={query:this.aqlEditor.getValue(),id:"currentFrontendQuery"};return"all"===a.val()?b.batchSize=1e6:b.batchSize=parseInt(a.val(),10),Object.keys(this.bindParamTableObj).length>0&&(b.bindVars=this.bindParamTableObj),JSON.stringify(b)},fillResult:function(a,b,c){var d=this,e=this.readQueryData();e&&(b.setValue(d.aqlEditor.getValue(),1),$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),headers:{"x-arango-async":"store"},data:e,contentType:"application/json",processData:!1,success:function(b,e,f){f.getResponseHeader("x-arango-async-id")&&d.queryCallbackFunction(f.getResponseHeader("x-arango-async-id"),a,c),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("["+b.errorNum+"]",b.errorMessage)}catch(e){arangoHelper.arangoError("Query error","ERROR")}d.handleResult(c)}}))},handleResult:function(){var a=this;window.progressView.hide(),$("#removeResults").show(),window.setTimeout(function(){a.aqlEditor.focus()},300),$(".centralRow").animate({scrollTop:$("#queryContent").height()},"fast")},setEditorAutoHeight:function(a){var b=$(".centralRow").height(),c=(b-250)/17;a.setOptions({maxLines:c,minLines:10})},deselect:function(a){var b=a.getSelection(),c=b.lead.row,d=b.lead.column;b.setSelectionRange({start:{row:c,column:d},end:{row:c,column:d}}),a.focus()},queryCallbackFunction:function(a,b,c){var d=this,e=function(a,b){$.ajax({url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)+"/cancel"),type:"PUT",success:function(){window.clearTimeout(d.checkQueryTimer),$("#outputEditorWrapper"+b).remove(),arangoHelper.arangoNotification("Query","Query canceled.")}})};$("#outputEditorWrapper"+c+" #cancelCurrentQuery").bind("click",function(){e(a,c)}),$("#outputEditorWrapper"+c+" #copy2aqlEditor").bind("click",function(){$("#toggleQueries1").is(":visible")||d.toggleQueries();var a=ace.edit("sentQueryEditor"+c).getValue(),b=JSON.parse(ace.edit("sentBindParamEditor"+c).getValue());d.aqlEditor.setValue(a,1),d.deselect(d.aqlEditor),Object.keys(b).length>0&&(d.bindParamTableObj=b,d.setCachedQuery(d.aqlEditor.getValue(),JSON.stringify(d.bindParamTableObj)),$("#bindParamEditor").is(":visible")?d.renderBindParamTable():(d.bindParamAceEditor.setValue(JSON.stringify(b),1),d.deselect(d.bindParamAceEditor))),$(".centralRow").animate({scrollTop:0},"fast"),d.resize()}),this.execPending=!1;var f=function(a){var c="";a.extra&&a.extra.warnings&&a.extra.warnings.length>0&&(c+="Warnings:\r\n\r\n",a.extra.warnings.forEach(function(a){c+="["+a.code+"], '"+a.message+"'\r\n"})),""!==c&&(c+="\r\nResult:\r\n\r\n"),b.setValue(c+JSON.stringify(a.result,void 0,2),1),b.getSession().setScrollTop(0)},g=function(a){f(a),window.progressView.hide();var e=d.analyseQuery(a.result);if(console.log("Using "+e.defaultType+" as data format."),"table"===e.defaultType){$("#outputEditorWrapper"+c+" .arangoToolbarTop").after('
    '),$("#outputTable"+c).show(),d.renderOutputTable(e,c);var g=$(".centralRow").height()-250;$(".outputEditorWrapper .tableWrapper").css("max-height",g),$("#outputEditor"+c).hide()}else"graph"===e.defaultType&&($("#outputEditorWrapper"+c+" .arangoToolbarTop").after('
    '),$("#outputGraph"+c).show(),d.renderOutputGraph(e,c),$("#outputEditor"+c).hide());$("#"+e.defaultType+"-switch").addClass("active").css("display","inline");var h=function(a,b,d){d||(d=""),$("#outputEditorWrapper"+c+" .arangoToolbarTop .pull-left").append(''+a+"")};$("#outputEditorWrapper"+c+" .pull-left #spinner").remove();var i="-";a&&a.extra&&a.extra.stats&&(i=a.extra.stats.executionTime.toFixed(3)+" s"),h(a.result.length+" elements","fa-calculator"),h(i,"fa-clock-o"),a.extra&&a.extra.stats&&(a.extra.stats.writesExecuted>0||a.extra.stats.writesIgnored>0)&&(h(a.extra.stats.writesExecuted+" writes","fa-check-circle positive"),0===a.extra.stats.writesIgnored?h(a.extra.stats.writesIgnored+" writes ignored","fa-check-circle positive","additional"):h(a.extra.stats.writesIgnored+" writes ignored","fa-exclamation-circle warning","additional")),$("#outputEditorWrapper"+c+" .switchAce").show(),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" #downloadQueryResult").show(),$("#outputEditorWrapper"+c+" #copy2aqlEditor").show(),$("#outputEditorWrapper"+c+" #cancelCurrentQuery").remove(),d.setEditorAutoHeight(b),d.deselect(b),a.id&&$.ajax({url:"/_api/cursor/"+encodeURIComponent(a.id),type:"DELETE"})},h=function(){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a,b,c){201===c.status?g(a):204===c.status&&(d.checkQueryTimer=window.setTimeout(function(){h()},500))},error:function(a){var b;try{if("Gone"===a.statusText)return arangoHelper.arangoNotification("Query","Query execution aborted."),void d.removeOutputEditor(c);b=JSON.parse(a.responseText),arangoHelper.arangoError("Query",b.errorMessage),b.errorMessage&&(null!==b.errorMessage.match(/\d+:\d+/g)?d.markPositionError(b.errorMessage.match(/'.*'/g)[0],b.errorMessage.match(/\d+:\d+/g)[0]):d.markPositionError(b.errorMessage.match(/\(\w+\)/g)[0]),d.removeOutputEditor(c))}catch(e){if(d.removeOutputEditor(c),409===b.code)return;400!==b.code&&404!==b.code&&arangoHelper.arangoNotification("Query","Successfully aborted.")}window.progressView.hide()}})};h()},analyseQuery:function(a){var b={defaultType:null,original:a,modified:null},c=!1;if(a[0])if(a[0].vertices&&a[0].edges){var d=0,e=0;_.each(a,function(a){a.edges&&(e+=a.edges.length,_.each(a.edges,function(a){a._from&&a._to&&d++}))});var f=d/e*100;f>=95&&(c=!0,b.defaultType="graph",b.graphInfo="object")}else{var g=0,h=a.length;_.each(a,function(a){a._from&&a._to&&g++});var i=g/h*100;i>=95&&(c=!0,b.defaultType="graph",b.graphInfo="array")}if(!c){var j,k=0,l=!0,m={};if(a.length<=1&&(l=!1),l){_.each(a,function(a){j=_.keys(a).length,j>k&&(k=j),_.each(a,function(a,b){m[b]?m[b]=m[b]+1:m[b]=1})});var n;_.each(m,function(b,c){n=b/a.length*100,l!==!1&&95>=n&&(l=!1)})}l&&(c=!0,b.defaultType="table")}return c||(b.defaultType="json"),b},markPositionError:function(a,b){var c;b&&(c=b.split(":")[0],a=a.substr(1,a.length-2));var d=this.aqlEditor.find(a);!d&&b&&(this.aqlEditor.selection.moveCursorToPosition({row:c,column:0}),this.aqlEditor.selection.selectLine()),window.setTimeout(function(){$(".ace_start").first().css("background","rgba(255, 129, 129, 0.7)")},100)},refreshAQL:function(){var a=this,b=function(b){b?arangoHelper.arangoError("Query","Could not reload Queries"):(a.updateLocalQueries(),a.updateQueryTable())},c=function(){a.getSystemQueries(b)};this.getAQL(c)},getSystemQueries:function(a){var b=this; -$.ajax({type:"GET",cache:!1,url:"js/arango/aqltemplates.json",contentType:"application/json",processData:!1,success:function(c){a&&a(!1),b.queries=c},error:function(){a&&a(!0),arangoHelper.arangoNotification("Query","Error while loading system templates")}})},updateLocalQueries:function(){var a=this;this.customQueries=[],this.collection.each(function(b){a.customQueries.push({name:b.get("name"),value:b.get("value"),parameter:b.get("parameter")})})},renderOutputTable:function(a,b){var c={id:"outputTableData"+b,titles:[],rows:[]},d=!0,e=[];_.each(a.original,function(a){d===!0&&(c.titles=Object.keys(a),d=!1),_.each(a,function(a){"object"==typeof a&&(a=JSON.stringify(a)),e.push(a)}),c.rows.push(e),e=[]}),$("#outputTable"+b).append(this.table.render({content:c}))},renderOutputGraph:function(a,b){this.graphViewer2=new window.GraphViewer2({name:void 0,documentStore:window.App.arangoDocumentStore,collection:new window.GraphCollection,userConfig:window.App.userConfig,id:"#outputGraph"+b,data:a}),this.graphViewer2.renderAQL()},getAQL:function(a){var b=this;this.collection.fetch({success:function(){var c=localStorage.getItem("customQueries");if(c){var d=JSON.parse(c);_.each(d,function(a){b.collection.add({value:a.value,name:a.name})});var e=function(a){a?arangoHelper.arangoError("Custom Queries","Could not import old local storage queries"):localStorage.removeItem("customQueries")};b.collection.saveCollectionQueries(e)}b.updateLocalQueries(),a&&a()}})}})}(),function(){"use strict";window.ScaleView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("scaleView.ejs"),interval:1e4,knownServers:[],events:{"click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).html(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#sNodes"===window.location.hash&&b.coordinators.fetch({success:function(){b.dbServers.fetch({success:function(){b.continueRender(!0)}})}})},this.interval))},render:function(){var a=this,b=function(){var b=function(){a.continueRender()};this.waitForDBServers(b)}.bind(this);this.initDoneCoords?b():this.waitForCoordinators(b),window.arangoHelper.buildNodesSubNav("scale")},continueRender:function(a){var b,c,d=this;b=this.coordinators.toJSON(),c=this.dbServers.toJSON(),this.$el.html(this.template.render({runningCoords:b.length,runningDBs:c.length,plannedCoords:void 0,plannedDBs:void 0,initialized:a})),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){d.updateTable(a)}})},updateTable:function(a){var b='scaling in progress ',c='no scaling process active';a.numberOfCoordinators&&($("#plannedCoords").html(a.numberOfCoordinators),this.coordinators.toJSON().length===a.numberOfCoordinators?$("#statusCoords").html(c):$("#statusCoords").html(b)),a.numberOfDBServers&&($("#plannedDBs").html(a.numberOfDBServers),this.dbServers.toJSON().length===a.numberOfDBServers?$("#statusDBs").html(c):$("#statusDBs").html(b))},waitForDBServers:function(a){var b=this;0===this.dbServers.length?window.setInterval(function(){b.waitForDBServers(a)},300):a()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.SettingsView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Settings"),this.renderSettings()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.App.navigate("#collections",{trigger:!0})}})},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g,10)!==Math.pow(2,Math.log2(g)))throw new Error("invalid indexBuckets value")}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(arangoHelper.arangoNotification("Collection: Successfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))},i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);frontendConfig.isCluster===!1?this.model.renameCollection(c,i):i()}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection"+b.responseText):(arangoHelper.arangoNotification("CollectionSuccessfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))};frontendConfig.isCluster===!1?this.model.renameCollection(c,j):j()}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},renderSettings:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a,"content"),$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()};this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";window.ShardsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("shardsView.ejs"),interval:1e4,knownServers:[],events:{"click #shardsContent .shardLeader span":"moveShard","click #shardsContent .shardFollowers span":"moveShardFollowers","click #rebalanceShards":"rebalanceShards"},initialize:function(a){var b=this;b.dbServers=a.dbServers,clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#shards"===window.location.hash&&b.render(!1)},this.interval))},render:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/shardDistribution"),contentType:"application/json",processData:!1,async:!0,success:function(a){var c,d=!1;b.shardDistribution=a.results,_.each(a.results,function(a,b){c=b.substring(0,1),"_"!==c&&"error"!==b&&"code"!==b&&(d=!0)}),d?b.continueRender(a.results):arangoHelper.renderEmpty("No collections and no shards available")},error:function(a){0!==a.readyState&&arangoHelper.arangoError("Cluster","Could not fetch sharding information.")}}),a!==!1&&arangoHelper.buildNodesSubNav("Shards")},moveShardFollowers:function(a){var b=$(a.currentTarget).html();this.moveShard(a,b)},moveShard:function(a,b){var c,d,e,f,g=this,h=window.App.currentDB.get("name");d=$(a.currentTarget).parent().parent().attr("collection"),e=$(a.currentTarget).parent().parent().attr("shard"),b?(f=$(a.currentTarget).parent().parent().attr("leader"),c=b):c=$(a.currentTarget).parent().parent().attr("leader");var i=[],j=[],k={},l=[];return g.dbServers[0].each(function(a){a.get("name")!==c&&(k[a.get("name")]={value:a.get("name"),label:a.get("name")})}),_.each(g.shardDistribution[d].Plan[e].followers,function(a){delete k[a]}),b&&delete k[f],_.each(k,function(a){l.push(a)}),l=l.reverse(),0===l.length?void arangoHelper.arangoMessage("Shards","No database server for moving the shard is available."):(j.push(window.modalView.createSelectEntry("toDBServer","Destination",void 0,"Please select the target databse server. The selected database server will be the new leader of the shard.",l)),i.push(window.modalView.createSuccessButton("Move",this.confirmMoveShards.bind(this,h,d,e,c))),void window.modalView.show("modalTable.ejs","Move shard: "+e,i,j))},confirmMoveShards:function(a,b,c,d){var e=this,f=$("#toDBServer").val(),g={database:a,collection:b,shard:c,fromServer:d,toServer:f};$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/moveShard"),contentType:"application/json",processData:!1,data:JSON.stringify(g),async:!0,success:function(a){a===!0&&(window.setTimeout(function(){e.render(!1)},1500),arangoHelper.arangoNotification("Shard "+c+" will be moved to "+f+"."))},error:function(){arangoHelper.arangoNotification("Shard "+c+" could not be moved to "+f+".")}}),window.modalView.hide()},rebalanceShards:function(){var a=this;$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/rebalanceShards"),contentType:"application/json",processData:!1,data:JSON.stringify({}),async:!0,success:function(b){b===!0&&(window.setTimeout(function(){a.render(!1)},1500),arangoHelper.arangoNotification("Started rebalance process."))},error:function(){arangoHelper.arangoNotification("Could not start rebalance process.")}}),window.modalView.hide()},continueRender:function(a){delete a.code,delete a.error,this.$el.html(this.template.render({collections:a}))},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.ShowClusterView=Backbone.View.extend({detailEl:"#modalPlaceholder",el:"#content",defaultFrame:12e5,template:templateEngine.createTemplate("showCluster.ejs"),modal:templateEngine.createTemplate("waitModal.ejs"),detailTemplate:templateEngine.createTemplate("detailView.ejs"),events:{"change #selectDB":"updateCollections","change #selectCol":"updateShards","click .dbserver.success":"dashboard","click .coordinator.success":"dashboard"},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","icon").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},updateServerTime:function(){this.serverTime=(new Date).getTime()},setShowAll:function(){this.graphShowAll=!0},resetShowAll:function(){this.graphShowAll=!1,this.renderLineChart()},initialize:function(a){this.options=a,this.interval=1e4,this.isUpdating=!1,this.timer=null,this.knownServers=[],this.graph=void 0,this.graphShowAll=!1,this.updateServerTime(),this.dygraphConfig=this.options.dygraphConfig,this.dbservers=new window.ClusterServers([],{interval:this.interval}),this.coordinators=new window.ClusterCoordinators([],{interval:this.interval}),this.documentStore=new window.ArangoDocuments,this.statisticsDescription=new window.StatisticsDescription,this.statisticsDescription.fetch({async:!1}),this.dbs=new window.ClusterDatabases([],{interval:this.interval}),this.cols=new window.ClusterCollections,this.shards=new window.ClusterShards,this.startUpdating()},listByAddress:function(a){var b={},c=this;this.dbservers.byAddress(b,function(b){c.coordinators.byAddress(b,a)})},updateCollections:function(){var a=this,b=$("#selectCol"),c=$("#selectDB").find(":selected").attr("id");if(c){var d=b.find(":selected").attr("id");b.html(""),this.cols.getList(c,function(c){_.each(_.pluck(c,"name"),function(a){b.append('")});var e=$("#"+d,b);1===e.length&&e.prop("selected",!0),a.updateShards()})}},updateShards:function(){var a=$("#selectDB").find(":selected").attr("id"),b=$("#selectCol").find(":selected").attr("id");this.shards.getList(a,b,function(a){$(".shardCounter").html("0"),_.each(a,function(a){$("#"+a.server+"Shards").html(a.shards.length)})})},updateServerStatus:function(a){var b=this,c=function(a,b,c){var d,e,f=c;f=f.replace(/\./g,"-"),f=f.replace(/\:/g,"_"),e=$("#id"+f),e.length<1||(d=e.attr("class").split(/\s+/)[1],e.attr("class",a+" "+d+" "+b),"coordinator"===a&&("success"===b?$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!1):$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!0)))};this.coordinators.getStatuses(c.bind(this,"coordinator"),function(){b.dbservers.getStatuses(c.bind(b,"dbserver")),a()})},updateDBDetailList:function(){var a=this,b=$("#selectDB"),c=b.find(":selected").attr("id");b.html(""),this.dbs.getList(function(d){_.each(_.pluck(d,"name"),function(a){b.append('")});var e=$("#"+c,b);1===e.length&&e.prop("selected",!0),a.updateCollections()})},rerender:function(){var a=this;this.updateServerStatus(function(){a.getServerStatistics(function(){a.updateServerTime(),a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList()})})},render:function(){this.knownServers=[],delete this.hist;var a=this;this.listByAddress(function(b){1===Object.keys(b).length?a.type="testPlan":a.type="other",a.updateDBDetailList(),a.dbs.getList(function(c){$(a.el).html(a.template.render({dbs:_.pluck(c,"name"),byAddress:b,type:a.type})),$(a.el).append(a.modal.render({})),a.replaceSVGs(),a.getServerStatistics(function(){a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList(),a.startUpdating()})})})},generatePieData:function(){var a=[],b=this;return this.data.forEach(function(c){a.push({key:c.get("name"),value:c.get("system").virtualSize,time:b.serverTime})}),a},addStatisticsItem:function(a,b,c,d){var e=this;e.hasOwnProperty("hist")||(e.hist={}),e.hist.hasOwnProperty(a)||(e.hist[a]=[]);var f=e.hist[a],g=f.length;if(0===g)f.push({time:b,snap:d,requests:c,requestsPerSecond:0});else{var h=f[g-1].time,i=f[g-1].requests;if(c>i){var j=b-h,k=0;j>0&&(k=(c-i)/j),f.push({time:b,snap:d,requests:c,requestsPerSecond:k})}}},getServerStatistics:function(a){var b=this,c=Math.round(b.serverTime/1e3);this.data=void 0;var d=new window.ClusterStatisticsCollection,e=this.coordinators.first();this.dbservers.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=e.get("protocol")+"://"+e.get("address")+"/_admin/clusterStatistics?DBserver="+a.get("name"),d.add(c)}}),this.coordinators.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=a.get("protocol")+"://"+a.get("address")+"/_admin/statistics",d.add(c)}});var f=d.size();this.data=[];var g=function(d){f--;var e=d.get("time"),g=d.get("name"),h=d.get("http").requestsTotal;b.addStatisticsItem(g,e,h,c),b.data.push(d),0===f&&a()},h=function(){f--,0===f&&a()};d.fetch(g,h)},renderPieChart:function(a){var b=$("#clusterGraphs svg").width(),c=$("#clusterGraphs svg").height(),d=Math.min(b,c)/2,e=this.dygraphConfig.colors,f=d3.svg.arc().outerRadius(d-20).innerRadius(0),g=d3.layout.pie().sort(function(a){return a.value}).value(function(a){return a.value});d3.select("#clusterGraphs").select("svg").remove();var h=d3.select("#clusterGraphs").append("svg").attr("class","clusterChart").append("g").attr("transform","translate("+b/2+","+(c/2-10)+")"),i=d3.svg.arc().outerRadius(d-2).innerRadius(d-2),j=h.selectAll(".arc").data(g(a)).enter().append("g").attr("class","slice");j.append("path").attr("d",f).style("fill",function(a,b){return e[b%e.length]}).style("stroke",function(a,b){return e[b%e.length]}),j.append("text").attr("transform",function(a){return"translate("+f.centroid(a)+")"}).style("text-anchor","middle").text(function(a){var b=a.data.value/1024/1024/1024;return b.toFixed(2)}),j.append("text").attr("transform",function(a){return"translate("+i.centroid(a)+")"}).style("text-anchor","middle").text(function(a){return a.data.key})},renderLineChart:function(){var a,b,c,d,e,f,g=this,h=1200,i=[],j=[],k=Math.round((new Date).getTime()/1e3)-h,l=g.knownServers,m=function(){return null};for(c=0;cf||(j.hasOwnProperty(f)?a=j[f]:(e=new Date(1e3*f),a=j[f]=[e].concat(l.map(m))),a[c+1]=b[d].requestsPerSecond);i=[],Object.keys(j).sort().forEach(function(a){i.push(j[a])});var n=this.dygraphConfig.getDefaultConfig("clusterRequestsPerSecond");n.labelsDiv=$("#lineGraphLegend")[0],n.labels=["datetime"].concat(l),g.graph=new Dygraph(document.getElementById("lineGraph"),i,n)},stopUpdating:function(){window.clearTimeout(this.timer),delete this.graph,this.isUpdating=!1},startUpdating:function(){if(!this.isUpdating){this.isUpdating=!0;var a=this;this.timer=window.setInterval(function(){a.rerender()},this.interval)}},dashboard:function(a){this.stopUpdating();var b,c,d=$(a.currentTarget),e={},f=d.attr("id");f=f.replace(/\-/g,"."),f=f.replace(/\_/g,":"),f=f.substr(2),e.raw=f,e.isDBServer=d.hasClass("dbserver"),e.isDBServer?(b=this.dbservers.findWhere({address:e.raw}),c=this.coordinators.findWhere({status:"ok"}),e.endpoint=c.get("protocol")+"://"+c.get("address")):(b=this.coordinators.findWhere({address:e.raw}),e.endpoint=b.get("protocol")+"://"+b.get("address")),e.target=encodeURIComponent(b.get("name")),window.App.serverToShow=e,window.App.dashboard()},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},resize:function(){var a;this.graph&&(a=this.getCurrentSize(this.graph.maindiv_.id),this.graph.resize(a.width,a.height))}})}(),function(){"use strict";window.SpotlightView=Backbone.View.extend({template:templateEngine.createTemplate("spotlightView.ejs"),el:"#spotlightPlaceholder",displayLimit:8,typeahead:null,callbackSuccess:null,callbackCancel:null,collections:{system:[],doc:[],edge:[]},events:{"focusout #spotlight .tt-input":"hide","keyup #spotlight .typeahead":"listenKey"},aqlKeywordsArray:[],aqlBuiltinFunctionsArray:[],aqlKeywords:"for|return|filter|sort|limit|let|collect|asc|desc|in|into|insert|update|remove|replace|upsert|options|with|and|or|not|distinct|graph|outbound|inbound|any|all|none|aggregate|like|count|shortest_path",hide:function(){this.typeahead=$("#spotlight .typeahead").typeahead("destroy"),$(this.el).hide()},listenKey:function(a){if(27===a.keyCode)this.callbackSuccess&&this.callbackCancel(),this.hide();else if(13===a.keyCode&&this.callbackSuccess){var b=$(this.typeahead).val();this.callbackSuccess(b),this.hide()}},substringMatcher:function(a){return function(b,c){var d,e;d=[],e=new RegExp(b,"i"),_.each(a,function(a){e.test(a)&&d.push(a)}),c(d)}},updateDatasets:function(){var a=this;this.collections={system:[],doc:[],edge:[]},window.App.arangoCollectionsStore.each(function(b){b.get("isSystem")?a.collections.system.push(b.get("name")):"document"===b.get("type")?a.collections.doc.push(b.get("name")):a.collections.edge.push(b.get("name"))})},stringToArray:function(){var a=this;_.each(this.aqlKeywords.split("|"),function(b){a.aqlKeywordsArray.push(b.toUpperCase())}),a.aqlKeywordsArray.push(!0),a.aqlKeywordsArray.push(!1),a.aqlKeywordsArray.push(null)},fetchKeywords:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/aql-builtin"),contentType:"application/json",success:function(c){b.stringToArray(),b.updateDatasets(),_.each(c.functions,function(a){b.aqlBuiltinFunctionsArray.push(a.name)}),a&&a()},error:function(){a&&a(),arangoHelper.arangoError("AQL","Could not fetch AQL function definition.")}})},show:function(a,b,c){var d=this;this.callbackSuccess=a,this.callbackCancel=b;var e=function(){var a=function(a,b,c){var d='

    '+a+"

    ";return b&&(d+=''),c&&(d+=''+c.toUpperCase()+""),d+="
    "};$(this.el).html(this.template.render({})),$(this.el).show(),"aql"===c?this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Functions",source:d.substringMatcher(d.aqlBuiltinFunctionsArray),limit:d.displayLimit,templates:{header:a("Functions","fa-code","aql")}},{name:"Keywords",source:d.substringMatcher(d.aqlKeywordsArray),limit:d.displayLimit,templates:{header:a("Keywords","fa-code","aql")}},{name:"Documents",source:d.substringMatcher(d.collections.doc),limit:d.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:d.substringMatcher(d.collections.edge),limit:d.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:d.displayLimit,source:d.substringMatcher(d.collections.system),templates:{header:a("System","fa-cogs","Collection")}}):this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Documents",source:d.substringMatcher(d.collections.doc),limit:d.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:d.substringMatcher(d.collections.edge),limit:d.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:d.displayLimit,source:d.substringMatcher(d.collections.system),templates:{header:a("System","fa-cogs","Collection")}}),$("#spotlight .typeahead").focus()}.bind(this);0===d.aqlBuiltinFunctionsArray.length?this.fetchKeywords(e):e()}})}(),function(){"use strict";window.StatisticBarView=Backbone.View.extend({el:"#statisticBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab"},template:templateEngine.createTemplate("statisticBarView.ejs"),initialize:function(a){this.currentDB=a.currentDB},replaceSVG:function(a){var b=a.attr("id"),c=a.attr("class"),d=a.attr("src");$.get(d,function(d){var e=$(d).find("svg");void 0===b&&(e=e.attr("id",b)),void 0===c&&(e=e.attr("class",c+" replaced-svg")),e=e.removeAttr("xmlns:a"),a.replaceWith(e)},"xml")},render:function(){var a=this;return $(this.el).html(this.template.render({isSystem:this.currentDB.get("isSystem")})),$("img.svg").each(function(){a.replaceSVG($(this))}),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id;return"links"===c?($("#link_dropdown").slideToggle(200),void a.preventDefault()):"tools"===c?($("#tools_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},handleSelectNavigation:function(){$("#arangoCollectionSelect").change(function(){var a=$(this).find("option:selected").val();window.App.navigate(a,{trigger:!0})})},selectMenuItem:function(a){$(".navlist li").removeClass("active"),a&&$("."+a).addClass("active")}})}(),function(){"use strict";window.SupportView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("supportView.ejs"),events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},render:function(){this.$el.html(this.template.render({}))},resize:function(a){a?$(".innerContent").css("height","auto"):$(".innerContent").height($(".centralRow").height()-170)},renderSwagger:function(){var a=window.location.pathname.split("/"),b=window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/"+a[1]+"/"+a[2]+"/_admin/aardvark/api/index.html";$("#swagger").html(""),$("#swagger").append('')},toggleViews:function(a){var b=this,c=a.currentTarget.id.split("-")[0],d=["community","documentation","swagger"];_.each(d,function(a){c!==a?$("#"+a).hide():("swagger"===c?(b.renderSwagger(),$("#swagger iframe").css("height","100%"),$("#swagger iframe").css("width","100%"),$("#swagger iframe").css("margin-top","-13px"),b.resize()):b.resize(!0),$("#"+a).show())}),$(".subMenuEntries").children().removeClass("active"),$("#"+c+"-support").addClass("active")}})}(),function(){"use strict";window.TableView=Backbone.View.extend({template:templateEngine.createTemplate("tableView.ejs"),loading:templateEngine.createTemplate("loadingTableView.ejs"),initialize:function(a){this.rowClickCallback=a.rowClick},events:{"click .pure-table-body .pure-table-row":"rowClick","click .deleteButton":"removeClick"},rowClick:function(a){this.hasOwnProperty("rowClickCallback")&&this.rowClickCallback(a)},removeClick:function(a){this.hasOwnProperty("removeClickCallback")&&(this.removeClickCallback(a),a.stopPropagation())},setRowClick:function(a){this.rowClickCallback=a},setRemoveClick:function(a){this.removeClickCallback=a},render:function(){$(this.el).html(this.template.render({docs:this.collection}))},drawLoading:function(){$(this.el).html(this.loading.render({}))}})}(),function(){"use strict";window.UserBarView=Backbone.View.extend({events:{"change #userBarSelect":"navigateBySelect","click .tab":"navigateByTab","mouseenter .dropdown":"showDropdown","mouseleave .dropdown":"hideDropdown","click #userLogoutIcon":"userLogout","click #userLogout":"userLogout"},initialize:function(a){this.userCollection=a.userCollection,this.userCollection.fetch({cache:!1,async:!0}),this.userCollection.bind("change:extra",this.render.bind(this))},template:templateEngine.createTemplate("userBarView.ejs"),navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement;b=$(b).closest("a");var c=b.attr("id");return"user"===c?($("#user_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},toggleUserMenu:function(){$("#userBar .subBarDropdown").toggle()},showDropdown:function(){$("#user_dropdown").fadeIn(1)},hideDropdown:function(){$("#user_dropdown").fadeOut(1)},render:function(){if(frontendConfig.authenticationEnabled!==!1){var a=this,b=function(a,b){if(a)arangoHelper.arangoErro("User","Could not fetch user.");else{var c=null,d=null,e=!1,f=null;if(b!==!1)return f=this.userCollection.findWhere({user:b}),f.set({loggedIn:!0}),d=f.get("extra").name,c=f.get("extra").img,e=f.get("active"),c=c?"https://s.gravatar.com/avatar/"+c+"?s=80":"img/default_user.png",d||(d=""),this.$el=$("#userBar"),this.$el.html(this.template.render({img:c,name:d,username:b,active:e})),this.delegateEvents(),this.$el}}.bind(this);$("#userBar").on("click",function(){a.toggleUserMenu()}),this.userCollection.whoAmI(b)}},userLogout:function(){var a=function(a){a?arangoHelper.arangoError("User","Logout error"):this.userCollection.logout()}.bind(this);this.userCollection.whoAmI(a)}})}(),function(){"use strict";window.UserManagementView=Backbone.View.extend({el:"#content",el2:"#userManagementThumbnailsIn",template:templateEngine.createTemplate("userManagementView.ejs"),events:{"click #createUser":"createUser","click #submitCreateUser":"submitCreateUser","click #userManagementThumbnailsIn .tile":"editUser","click #submitEditUser":"submitEditUser","click #userManagementToggle":"toggleView","keyup #userManagementSearchInput":"search","click #userManagementSearchSubmit":"search","click #callEditUserPassword":"editUserPassword","click #submitEditUserPassword":"submitEditUserPassword","click #submitEditCurrentUserProfile":"submitEditCurrentUserProfile","click .css-label":"checkBoxes","change #userSortDesc":"sorting"},dropdownVisible:!1,initialize:function(){var a=this,b=function(a,b){frontendConfig.authenticationEnabled===!0&&(a||null===b?arangoHelper.arangoError("User","Could not fetch user data"):this.currentUser=this.collection.findWhere({user:b}))}.bind(this);this.collection.fetch({cache:!1,success:function(){a.collection.whoAmI(b)}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},sorting:function(){$("#userSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1), -$("#userManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},render:function(a){var b=!1;$("#userManagementDropdown").is(":visible")&&(b=!0);var c=function(){this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:""})),b===!0&&($("#userManagementDropdown2").show(),$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown").show()),a&&this.editCurrentUser(),arangoHelper.setCheckboxStatus("#userManagementDropdown")}.bind(this);return this.collection.fetch({cache:!1,success:function(){c()}}),this},search:function(){var a,b,c,d;a=$("#userManagementSearchInput"),b=$("#userManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("user").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b})),a=$("#userManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},createUser:function(a){a.preventDefault(),this.createCreateUserModal()},submitCreateUser:function(){var a=this,b=$("#newUsername").val(),c=$("#newName").val(),d=$("#newPassword").val(),e=$("#newStatus").is(":checked");if(this.validateUserInfo(c,b,d,e)){var f={user:b,passwd:d,active:e,extra:{name:c}};this.collection.create(f,{wait:!0,error:function(a,b){arangoHelper.parseError("User",b,a)},success:function(){a.updateUserManagement(),window.modalView.hide()}})}},validateUserInfo:function(a,b,c,d){return""===b?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):!0},updateUserManagement:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},editUser:function(a){if("createUser"!==$(a.currentTarget).find("a").attr("id")){$(a.currentTarget).hasClass("tile")&&(a.currentTarget=$(a.currentTarget).find("img")),this.collection.fetch({cache:!1});var b=this.evaluateUserName($(a.currentTarget).attr("id"),"_edit-user");""===b&&(b=$(a.currentTarget).attr("id")),window.App.navigate("user/"+encodeURIComponent(b),{trigger:!0})}},toggleView:function(){$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown2").slideToggle(200)},createCreateUserModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newUsername","Username","",!1,"Username",!0,[{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No username given."}])),b.push(window.modalView.createTextEntry("newName","Name","",!1,"Name",!1)),b.push(window.modalView.createPasswordEntry("newPassword","Password","",!1,"",!1)),b.push(window.modalView.createCheckboxEntry("newStatus","Active","active",!1,!0)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateUser.bind(this))),window.modalView.show("modalTable.ejs","Create New User",a,b)},evaluateUserName:function(a,b){if(a){var c=a.lastIndexOf(b);return a.substring(0,c)}},updateUserProfile:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})}})}(),function(){"use strict";window.UserPermissionView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("userPermissionView.ejs"),initialize:function(a){this.username=a.username},events:{'click #userPermissionView [type="checkbox"]':"setPermission"},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},setPermission:function(a){var b=$(a.currentTarget).is(":checked"),c=$(a.currentTarget).attr("name");b?this.grantPermission(this.currentUser.get("user"),c):this.revokePermission(this.currentUser.get("user"),c)},grantPermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})})},revokePermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json"})},continueRender:function(){var a=this;this.currentUser=this.collection.findWhere({user:this.username}),this.breadcrumb(),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"Permissions");var b=arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a.currentUser.get("user"))+"/database");"_system"===frontendConfig.db&&(b=arangoHelper.databaseUrl("/_api/user/root/database")),$.ajax({type:"GET",url:b,contentType:"application/json",success:function(b){var c=b.result;$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a.currentUser.get("user"))+"/database"),contentType:"application/json",success:function(b){var d=b.result;if(c._system){var e=[];_.each(c,function(a,b){e.push(b)}),c=e}a.finishRender(c,d)}})}})},finishRender:function(a,b){_.each(b,function(a,c){"rw"!==a&&delete b[c]}),$(this.el).html(this.template.render({allDBs:a,permissions:b}))},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.currentUser.get("user"))}})}(),function(){"use strict";window.UserView=Backbone.View.extend({el:"#content",initialize:function(a){this.username=a.username},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},editCurrentUser:function(){this.createEditCurrentUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("extra").img)},continueRender:function(){this.breadcrumb(),this.currentUser=this.collection.findWhere({user:this.username}),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"General"),this.currentUser.get("loggedIn")?this.editCurrentUser():this.createEditUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("active"))},createEditUserPasswordModal:function(){var a=[],b=[];b.push(window.modalView.createPasswordEntry("newCurrentPassword","New Password","",!1,"new password",!1)),b.push(window.modalView.createPasswordEntry("confirmCurrentPassword","Confirm New Password","",!1,"confirm new password",!1)),a.push(window.modalView.createSuccessButton("Save",this.submitEditUserPassword.bind(this))),window.modalView.show("modalTable.ejs","Edit User Password",a,b)},createEditCurrentUserModal:function(a,b,c){var d=[],e=[];e.push(window.modalView.createReadOnlyEntry("id_username","Username",a)),e.push(window.modalView.createTextEntry("editCurrentName","Name",b,!1,"Name",!1)),e.push(window.modalView.createTextEntry("editCurrentUserProfileImg","Gravatar account (Mail)",c,"Mailaddress or its md5 representation of your gravatar account.The address will be converted into a md5 string. Only the md5 string will be stored, not the mailaddress.","myAccount(at)gravatar.com")),d.push(window.modalView.createNotificationButton("Change Password",this.editUserPassword.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.submitEditCurrentUserProfile.bind(this))),window.modalView.show("modalTable.ejs","Edit User Profile",d,e,null,null,this.events,null,null,"content")},parseImgString:function(a){return-1===a.indexOf("@")?a:CryptoJS.MD5(a).toString()},createEditUserModal:function(a,b,c){var d,e;e=[{type:window.modalView.tables.READONLY,label:"Username",value:_.escape(a)},{type:window.modalView.tables.TEXT,label:"Name",value:b,id:"editName",placeholder:"Name"},{type:window.modalView.tables.CHECKBOX,label:"Active",value:"active",checked:c,id:"editStatus"}],d=[{title:"Delete",type:window.modalView.buttons.DELETE,callback:this.submitDeleteUser.bind(this,a)},{title:"Change Password",type:window.modalView.buttons.NOTIFICATION,callback:this.createEditUserPasswordModal.bind(this,a)},{title:"Save",type:window.modalView.buttons.SUCCESS,callback:this.submitEditUser.bind(this,a)}],window.modalView.show("modalTable.ejs","Edit User",d,e,null,null,this.events,null,null,"content")},validateStatus:function(a){return""!==a},submitDeleteUser:function(a){var b=this.collection.findWhere({user:a});b.destroy({wait:!0}),window.App.navigate("#users",{trigger:!0})},submitEditCurrentUserProfile:function(){var a=$("#editCurrentName").val(),b=$("#editCurrentUserProfileImg").val();b=this.parseImgString(b);var c=function(a){a?arangoHelper.arangoError("User","Could not edit user settings"):(arangoHelper.arangoNotification("User","Changes confirmed."),this.updateUserProfile())}.bind(this);this.currentUser.setExtras(a,b,c),window.modalView.hide()},submitEditUserPassword:function(){var a=$("#newCurrentPassword").val(),b=$("#confirmCurrentPassword").val();$("#newCurrentPassword").val(""),$("#confirmCurrentPassword").val(""),$("#newCurrentPassword").closest("th").css("backgroundColor","white"),$("#confirmCurrentPassword").closest("th").css("backgroundColor","white");var c=!1;a!==b&&(arangoHelper.arangoError("User","New passwords do not match."),c=!0),c||(this.currentUser.setPassword(a),arangoHelper.arangoNotification("User","Password changed."),window.modalView.hide())},validateUsername:function(a){return""===a?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},editUserPassword:function(){window.modalView.hide(),this.createEditUserPasswordModal()},validateName:function(a){return""===a?!0:a.match(/^[a-zA-Z][a-zA-Z0-9_\-\ ]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},submitEditUser:function(a){var b=$("#editName").val(),c=$("#editStatus").is(":checked");if(!this.validateStatus(c))return void $("#editStatus").closest("th").css("backgroundColor","red");if(!this.validateName(b))return void $("#editName").closest("th").css("backgroundColor","red");var d=this.collection.findWhere({user:a});d.save({extra:{name:b},active:c},{type:"PATCH",success:function(){arangoHelper.arangoNotification("User",d.get("user")+" updated.")},error:function(){arangoHelper.arangoError("User","Could not update "+d.get("user")+".")}})},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.username)}})}(),function(){"use strict";window.WorkMonitorView=Backbone.View.extend({el:"#content",id:"#workMonitorContent",template:templateEngine.createTemplate("workMonitorView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),initialize:function(){},events:{},tableDescription:{id:"workMonitorTable",titles:["Type","Database","Task ID","Started","Url","User","Description","Method"],rows:[],unescaped:[!1,!1,!1,!1,!1,!1,!1,!1]},render:function(){var a=this;this.$el.html(this.template.render({})),this.collection.fetch({success:function(){a.parseTableData(),$(a.id).append(a.table.render({content:a.tableDescription}))}})},parseTableData:function(){var a=this;this.collection.each(function(b){if("AQL query"===b.get("type")){var c=b.get("parent");if(c)try{a.tableDescription.rows.push([b.get("type"),"(p) "+c.database,"(p) "+c.taskId,"(p) "+c.startTime,"(p) "+c.url,"(p) "+c.user,b.get("description"),"(p) "+c.method])}catch(d){console.log("some parse error")}}else"thread"!==b.get("type")&&a.tableDescription.rows.push([b.get("type"),b.get("database"),b.get("taskId"),b.get("startTime"),b.get("url"),b.get("user"),b.get("description"),b.get("method")])})}})}(),function(){"use strict";window.Router=Backbone.Router.extend({toUpdate:[],dbServers:[],isCluster:void 0,routes:{"":"cluster",dashboard:"dashboard",collections:"collections","new":"newCollection",login:"login","collection/:colid/documents/:pageid":"documents","cIndices/:colname":"cIndices","cSettings/:colname":"cSettings","cInfo/:colname":"cInfo","collection/:colid/:docid":"document",shell:"shell",queries:"query",workMonitor:"workMonitor",databases:"databases",settings:"databases",services:"applications","service/:mount":"applicationDetail",graphs:"graphManagement","graphs/:name":"showGraph",users:"userManagement","user/:name":"userView","user/:name/permission":"userPermissionView",userProfile:"userProfile",cluster:"cluster",nodes:"nodes",shards:"shards","node/:name":"node",logs:"logs",helpus:"helpUs","graph2/:name":"graph2","graph2/:name/settings":"graph2settings",support:"support"},execute:function(a,b){$("#subNavigationBar .breadcrumb").html(""),$("#subNavigationBar .bottom").html(""),$("#loadingScreen").hide(),$("#content").show(),a&&a.apply(this,b),this.graphViewer2&&this.graphViewer2.graphSettingsView&&this.graphViewer2.graphSettingsView.hide()},listenerFunctions:{},listener:function(a){_.each(window.App.listenerFunctions,function(b,c){b(a)})},checkUser:function(){var a=this;if("#login"!==window.location.hash){var b=function(){this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show()}.bind(this),c=function(c,d){frontendConfig.authenticationEnabled?(a.currentUser=d,c||null===d?"#login"!==window.location.hash&&this.navigate("login",{trigger:!0}):b()):b()}.bind(this);frontendConfig.authenticationEnabled?this.userCollection.whoAmI(c):(this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show())}},waitForInit:function(a,b,c){this.initFinished?(b||a(!0),b&&!c&&a(b,!0),b&&c&&a(b,c,!0)):setTimeout(function(){b||a(!1),b&&!c&&a(b,!1),b&&c&&a(b,c,!1)},350)},initFinished:!1,initialize:function(){frontendConfig.isCluster===!0&&(this.isCluster=!0),document.addEventListener("keyup",this.listener,!1),window.modalView=new window.ModalView,this.foxxList=new window.FoxxCollection,window.foxxInstallView=new window.FoxxInstallView({collection:this.foxxList}),window.progressView=new window.ProgressView;var a=this;this.userCollection=new window.ArangoUsers,this.initOnce=function(){this.initOnce=function(){};var b=function(b,c){a=this,c===!0&&a.coordinatorCollection.fetch({success:function(){a.fetchDBS()}}),b&&console.log(b)}.bind(this);window.isCoordinator(b),frontendConfig.isCluster===!1&&(this.initFinished=!0),this.arangoDatabase=new window.ArangoDatabase,this.currentDB=new window.CurrentDatabase,this.arangoCollectionsStore=new window.ArangoCollections,this.arangoDocumentStore=new window.ArangoDocument,this.coordinatorCollection=new window.ClusterCoordinators,arangoHelper.setDocumentStore(this.arangoDocumentStore),this.arangoCollectionsStore.fetch({cache:!1}),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({cache:!1,success:function(){a.naviView=new window.NavigationView({database:a.arangoDatabase,currentDB:a.currentDB,notificationCollection:a.notificationList,userCollection:a.userCollection,isCluster:a.isCluster}),a.naviView.render()}}),this.queryCollection=new window.ArangoQueries,this.footerView.render(),window.checkVersion(),this.userConfig=new window.UserConfig,this.userConfig.fetch(),this.documentsView=new window.DocumentsView({collection:new window.ArangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})}.bind(this),$(window).resize(function(){a.handleResize()}),$(window).scroll(function(){})},handleScroll:function(){$(window).scrollTop()>50?($(".navbar > .secondary").css("top",$(window).scrollTop()),$(".navbar > .secondary").css("position","absolute"),$(".navbar > .secondary").css("z-index","10"),$(".navbar > .secondary").css("width",$(window).width())):($(".navbar > .secondary").css("top","0"),$(".navbar > .secondary").css("position","relative"),$(".navbar > .secondary").css("width",""))},cluster:function(a){return this.checkUser(),a?this.isCluster===!1||void 0===this.isCluster?void("_system"===this.currentDB.get("name")?(this.routes[""]="dashboard",this.navigate("#dashboard",{trigger:!0})):(this.routes[""]="collections",this.navigate("#collections",{trigger:!0}))):(this.clusterView||(this.clusterView=new window.ClusterView({coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.clusterView.render()):void this.waitForInit(this.cluster.bind(this))},node:function(a,b){return this.checkUser(),b&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodeView||(this.nodeView=new window.NodeView({coordname:a,coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.nodeView.render()):void this.waitForInit(this.node.bind(this),a)},shards:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.shardsView||(this.shardsView=new window.ShardsView({dbServers:this.dbServers})),void this.shardsView.render()):void this.waitForInit(this.shards.bind(this))},nodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView2({}),void this.nodesView.render()):void this.waitForInit(this.nodes.bind(this))},cNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"coordinator"}),void this.nodesView.render()):void this.waitForInit(this.cNodes.bind(this))},dNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):0===this.dbServers.length?void this.navigate("#cNodes",{trigger:!0}):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"dbserver"}),void this.nodesView.render()):void this.waitForInit(this.dNodes.bind(this))},sNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.scaleView=new window.ScaleView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0]}),void this.scaleView.render()):void this.waitForInit(this.sNodes.bind(this))},addAuth:function(a){var b=this.clusterPlan.get("user");if(!b)return a.abort(),void(this.isCheckingUser||this.requestAuth());var c=b.name,d=b.passwd,e=c.concat(":",d);a.setRequestHeader("Authorization","Basic "+btoa(e))},logs:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.logs.bind(this),a);if(!this.logsView){var c=new window.ArangoLogs({upto:!0,loglevel:4}),d=new window.ArangoLogs({loglevel:4}),e=new window.ArangoLogs({loglevel:3}),f=new window.ArangoLogs({loglevel:2}),g=new window.ArangoLogs({loglevel:1});this.logsView=new window.LogsView({logall:c,logdebug:d,loginfo:e,logwarning:f,logerror:g})}this.logsView.render()},applicationDetail:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.applicationDetail.bind(this),a);var c=function(){this.hasOwnProperty("applicationDetailView")||(this.applicationDetailView=new window.ApplicationDetailView({model:this.foxxList.get(decodeURIComponent(a))})),this.applicationDetailView.model=this.foxxList.get(decodeURIComponent(a)),this.applicationDetailView.render("swagger")}.bind(this);0===this.foxxList.length?this.foxxList.fetch({cache:!1,success:function(){c()}}):c()},login:function(){var a=function(a,b){this.loginView||(this.loginView=new window.LoginView({collection:this.userCollection})),a||null===b?this.loginView.render():this.loginView.render(!0)}.bind(this);this.userCollection.whoAmI(a)},collections:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.collections.bind(this));var b=this;this.collectionsView||(this.collectionsView=new window.CollectionsView({collection:this.arangoCollectionsStore})),this.arangoCollectionsStore.fetch({cache:!1,success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.indicesView=new window.IndicesView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.indicesView.render()}}):void this.waitForInit(this.cIndices.bind(this),a)},cSettings:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.settingsView=new window.SettingsView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.settingsView.render()}}):void this.waitForInit(this.cSettings.bind(this),a)},cInfo:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.infoView=new window.InfoView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.infoView.render()}}):void this.waitForInit(this.cInfo.bind(this),a)},documents:function(a,b,c){return this.checkUser(),c?(this.documentsView||(this.documentsView=new window.DocumentsView({collection:new window.ArangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})),this.documentsView.setCollectionId(a,b),void this.documentsView.render()):void this.waitForInit(this.documents.bind(this),a,b)},document:function(a,b,c){if(this.checkUser(),!c)return void this.waitForInit(this.document.bind(this),a,b);this.documentView||(this.documentView=new window.DocumentView({collection:this.arangoDocumentStore})),this.documentView.colid=a;var d=window.location.hash.split("/")[2],e=(d.split("%").length-1)%3;decodeURI(d)!==d&&0!==e&&(d=decodeURIComponent(d)),this.documentView.docid=d,this.documentView.render();var f=function(a,b){a?console.log("Error","Could not fetch collection type"):this.documentView.setType(b)}.bind(this);arangoHelper.collectionApiType(a,null,f)},query:function(a){return this.checkUser(),a?(this.queryView||(this.queryView=new window.QueryView({collection:this.queryCollection})),void this.queryView.render()):void this.waitForInit(this.query.bind(this))},graph2:function(a,b){return this.checkUser(),b?(this.graphViewer2&&(this.graphViewer2.graphSettingsView&&this.graphViewer2.graphSettingsView.remove(),this.graphViewer2.remove()),this.graphViewer2=new window.GraphViewer2({name:a,documentStore:this.arangoDocumentStore,collection:new window.GraphCollection,userConfig:this.userConfig}),void this.graphViewer2.render()):void this.waitForInit(this.graph2.bind(this),a)},graph2settings:function(a,b){return this.checkUser(),b?(this.graphSettingsView&&this.graphSettingsView.remove(),this.graphSettingsView=new window.GraphSettingsView({name:a,userConfig:this.userConfig}),void this.graphSettingsView.render()):void this.waitForInit(this.graph2settings.bind(this),a)},helpUs:function(a){return this.checkUser(),a?(this.testView||(this.helpUsView=new window.HelpUsView({})),void this.helpUsView.render()):void this.waitForInit(this.helpUs.bind(this))},support:function(a){return this.checkUser(),a?(this.testView||(this.supportView=new window.SupportView({})),void this.supportView.render()):void this.waitForInit(this.support.bind(this))},workMonitor:function(a){return this.checkUser(),a?(this.workMonitorCollection||(this.workMonitorCollection=new window.WorkMonitorCollection),this.workMonitorView||(this.workMonitorView=new window.WorkMonitorView({collection:this.workMonitorCollection})),void this.workMonitorView.render()):void this.waitForInit(this.workMonitor.bind(this))},queryManagement:function(a){return this.checkUser(),a?(this.queryManagementView||(this.queryManagementView=new window.QueryManagementView({collection:void 0})),void this.queryManagementView.render()):void this.waitForInit(this.queryManagement.bind(this))},databases:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.databases.bind(this));var b=function(a){a?(arangoHelper.arangoError("DB","Could not get list of allowed databases"),this.navigate("#",{trigger:!0}),$("#databaseNavi").css("display","none"),$("#databaseNaviSelect").css("display","none")):(this.databaseView||(this.databaseView=new window.DatabaseView({users:this.userCollection,collection:this.arangoDatabase})),this.databaseView.render())}.bind(this);arangoHelper.databaseAllowed(b)},dashboard:function(a){return this.checkUser(),a?(void 0===this.dashboardView&&(this.dashboardView=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:this.arangoDatabase})),void this.dashboardView.render()):void this.waitForInit(this.dashboard.bind(this))},graphManagement:function(a){return this.checkUser(),a?(this.graphManagementView||(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore})),void this.graphManagementView.render()):void this.waitForInit(this.graphManagement.bind(this))},showGraph:function(a,b){return this.checkUser(),b?void(this.graphManagementView?this.graphManagementView.loadGraphViewer(a):(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore}),this.graphManagementView.render(a,!0))):void this.waitForInit(this.showGraph.bind(this),a)},applications:function(a){return this.checkUser(),a?(void 0===this.applicationsView&&(this.applicationsView=new window.ApplicationsView({collection:this.foxxList})),void this.applicationsView.reload()):void this.waitForInit(this.applications.bind(this))},handleSelectDatabase:function(a){return this.checkUser(),a?void this.naviView.handleSelectDatabase():void this.waitForInit(this.handleSelectDatabase.bind(this))},handleResize:function(){this.dashboardView&&this.dashboardView.resize(),this.graphManagementView&&this.graphManagementView.handleResize($("#content").width()),this.queryView&&this.queryView.resize(),this.graphViewer2&&this.graphViewer2.resize(),this.documentsView&&this.documentsView.resize(),this.documentView&&this.documentView.resize()},userPermissionView:function(a,b){if(this.checkUser(),b||null===b)this.userPermissionView=new window.UserPermissionView({collection:this.userCollection,databases:this.arangoDatabase,username:a}),this.userPermissionView.render();else if(b===!1)return void this.waitForInit(this.userPermissionView.bind(this),a)},userView:function(a,b){this.checkUser(),b||null===b?(this.userView=new window.UserView({collection:this.userCollection,username:a}),this.userView.render()):b===!1&&this.waitForInit(this.userView.bind(this),a)},userManagement:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.UserManagementView({collection:this.userCollection})),void this.userManagementView.render()):void this.waitForInit(this.userManagement.bind(this))},userProfile:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.UserManagementView({collection:this.userCollection})),void this.userManagementView.render(!0)):void this.waitForInit(this.userProfile.bind(this))},fetchDBS:function(a){var b=this,c=!1;this.coordinatorCollection.each(function(a){b.dbServers.push(new window.ClusterServers([],{host:a.get("address")}))}),this.initFinished=!0,_.each(this.dbServers,function(b){b.fetch({success:function(){c===!1&&a&&(a(),c=!0)}})})},getNewRoute:function(a){return"http://"+a},registerForUpdate:function(a){this.toUpdate.push(a),a.updateUrl()}})}(),function(){"use strict";var a=function(a,b){var c=[];c.push(window.modalView.createSuccessButton("Download Page",function(){window.open("https://www.arangodb.com/download","_blank"),window.modalView.hide()}));var d=[],e=window.modalView.createReadOnlyEntry.bind(window.modalView);d.push(e("current","Current",a.toString())),b.major&&d.push(e("major","Major",b.major.version)),b.minor&&d.push(e("minor","Minor",b.minor.version)),b.bugfix&&d.push(e("bugfix","Bugfix",b.bugfix.version)),window.modalView.show("modalTable.ejs","New Version Available",c,d)};window.checkVersion=function(){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=window.versionHelper.fromString(b.version);$(".navbar #currentVersion").text(" "+b.version.substr(0,3)),window.parseVersions=function(b){return _.isEmpty(b)?void $("#currentVersion").addClass("up-to-date"):($("#currentVersion").addClass("out-of-date"),void $("#currentVersion").click(function(){a(c,b)}))},$.ajax({type:"GET",async:!0,crossDomain:!0,timeout:3e3,dataType:"jsonp",url:"https://www.arangodb.com/repositories/versions.php?jsonp=parseVersions&version="+encodeURIComponent(c.toString())})}})}}(),function(){"use strict";window.hasOwnProperty("TEST_BUILD")||($(document).ajaxSend(function(a,b,c){var d=window.arangoHelper.getCurrentJwt();d&&b.setRequestHeader("Authorization","bearer "+d)}),$(document).ready(function(){window.App=new window.Router,Backbone.history.start(),window.App.handleResize()}),$(document).click(function(a){a.stopPropagation(),$(a.target).hasClass("subBarDropdown")||$(a.target).hasClass("dropdown-header")||$(a.target).hasClass("dropdown-footer")||$(a.target).hasClass("toggle")||$("#userInfo").is(":visible")&&$(".subBarDropdown").hide()}))}(); \ No newline at end of file +})}(),function(){"use strict";window.FoxxCollection=Backbone.Collection.extend({model:window.Foxx,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_admin/aardvark/foxxes"),comparator:function(a,b){var c,d;return this.sortOptions.desc===!0?(c=a.get("mount"),d=b.get("mount"),d>c?1:c>d?-1:0):(c=a.get("mount"),d=b.get("mount"),c>d?1:d>c?-1:0)},setSortingDesc:function(a){this.sortOptions.desc=a},installFromGithub:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/git?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromStore:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/store?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromZip:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/zip?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify({zipFile:a}),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},generate:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/generate?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})}})}(),function(){"use strict";window.GraphCollection=Backbone.Collection.extend({model:window.Graph,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_api/gharial"),dropAndDeleteGraph:function(a,b){$.ajax({type:"DELETE",url:arangoHelper.databaseUrl("/_api/gharial/")+encodeURIComponent(a)+"?dropCollections=true",contentType:"application/json",processData:!0,success:function(){b(!0)},error:function(){b(!1)}})},comparator:function(a,b){var c=a.get("_key")||"",d=b.get("_key")||"";return c=c.toLowerCase(),d=d.toLowerCase(),this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},setSortingDesc:function(a){this.sortOptions.desc=a},parse:function(a){return a.error?void 0:a.graphs}})}(),function(){"use strict";window.NotificationCollection=Backbone.Collection.extend({model:window.Notification,url:""})}(),function(){"use strict";window.QueryManagementActive=Backbone.Collection.extend({model:window.queryManagementModel,url:function(){var a=frontendConfig.basePath+"/_api/query/current";return"_system"!==window.frontendConfig.db&&(a=arangoHelper.databaseUrl("/_api/query/current")),a},killRunningQuery:function(a,b){var c=frontendConfig.basePath+"/_api/query/"+encodeURIComponent(a);"_system"!==window.frontendConfig.db&&(c=arangoHelper.databaseUrl("/_api/query/"+encodeURIComponent(a))),$.ajax({url:c,type:"DELETE",success:function(a){b()}})}})}(),function(){"use strict";window.QueryManagementSlow=Backbone.Collection.extend({model:window.queryManagementModel,url:function(){var a=frontendConfig.basePath+"/_api/query/slow";return"_system"!==window.frontendConfig.db&&(a=arangoHelper.databaseUrl("/_api/query/slow")),a},deleteSlowQueryHistory:function(a){var b=frontendConfig.basePath+"/_api/query/slow";"_system"!==window.frontendConfig.db&&(b=arangoHelper.databaseUrl("/_api/query/slow")),$.ajax({url:b,type:"DELETE",success:function(b){a()}})}})}(),function(){"use strict";window.WorkMonitorCollection=Backbone.Collection.extend({model:window.workMonitorModel,url:"/_admin/work-monitor",parse:function(a){return a.work}})}(),function(){"use strict";window.PaginationView=Backbone.View.extend({collection:null,paginationDiv:"",idPrefix:"",rerender:function(){},jumpTo:function(a){this.collection.setPage(a),this.rerender()},firstPage:function(){this.jumpTo(1)},lastPage:function(){this.jumpTo(this.collection.getLastPageNumber())},firstDocuments:function(){this.jumpTo(1)},lastDocuments:function(){this.jumpTo(this.collection.getLastPageNumber())},prevDocuments:function(){this.jumpTo(this.collection.getPage()-1)},nextDocuments:function(){this.jumpTo(this.collection.getPage()+1)},renderPagination:function(){$(this.paginationDiv).html("");var a=this,b=this.collection.getPage(),c=this.collection.getLastPageNumber(),d=$(this.paginationDiv),e={page:b,lastPage:c,click:function(b){var c=window.location.hash.split("/");"documents"===c[2]?(e.page=b,window.location.hash=c[0]+"/"+c[1]+"/"+c[2]+"/"+b):(a.jumpTo(b),e.page=b)}};d.html(""),d.pagination(e),$(this.paginationDiv).prepend('
    '),$(this.paginationDiv).append('
    ')}})}(),function(){"use strict";window.ApplicationDetailView=Backbone.View.extend({el:"#content",divs:["#readme","#swagger","#app-info","#sideinformation","#information","#settings"],navs:["#service-info","#service-api","#service-readme","#service-settings"],template:templateEngine.createTemplate("applicationDetailView.ejs"),events:{"click .open":"openApp","click .delete":"deleteApp","click #app-deps":"showDepsDialog","click #app-switch-mode":"toggleDevelopment","click #app-scripts [data-script]":"runScript","click #app-tests":"runTests","click #app-replace":"replaceApp","click #download-app":"downloadApp","click .subMenuEntries li":"changeSubview","click #jsonLink":"toggleSwagger","mouseenter #app-scripts":"showDropdown","mouseleave #app-scripts":"hideDropdown"},resize:function(a){a?$(".innerContent").css("height","auto"):($(".innerContent").height($(".centralRow").height()-150),$("#swagger iframe").height($(".centralRow").height()-150),$("#swagger #swaggerJsonContent").height($(".centralRow").height()-150))},toggleSwagger:function(){var a=function(a){$("#jsonLink").html("JSON"),this.jsonEditor.setValue(JSON.stringify(a,null," "),1),$("#swaggerJsonContent").show(),$("#swagger iframe").hide()}.bind(this);if("Swagger"===$("#jsonLink").html()){var b=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/docs/swagger.json?mount="+encodeURIComponent(this.model.get("mount")));arangoHelper.download(b,a)}else $("#swaggerJsonContent").hide(),$("#swagger iframe").show(),$("#jsonLink").html("Swagger")},changeSubview:function(a){_.each(this.navs,function(a){$(a).removeClass("active")}),$(a.currentTarget).addClass("active"),_.each(this.divs,function(a){$(".headerButtonBar").hide(),$(a).hide()}),"service-readme"===a.currentTarget.id?(this.resize(!0),$("#readme").show()):"service-api"===a.currentTarget.id?(this.resize(),$("#swagger").show()):"service-info"===a.currentTarget.id?(this.resize(!0),this.render(),$("#information").show(),$("#sideinformation").show()):"service-settings"===a.currentTarget.id&&(this.resize(!0),this.showConfigDialog(),$(".headerButtonBar").show(),$("#settings").show())},downloadApp:function(){this.model.isSystem()||this.model.download()},replaceApp:function(){var a=this.model.get("mount");window.foxxInstallView.upgrade(a,function(){window.App.applicationDetail(encodeURIComponent(a))}),$(".createModalDialog .arangoHeader").html("Replace Service"),$("#infoTab").click()},updateConfig:function(){this.model.getConfiguration(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-config")[this.model.needsConfiguration()?"show":"hide"](),this.model.needsConfiguration()?$("#app-config").addClass("error"):$("#app-config").removeClass("error")}.bind(this))},updateDeps:function(){this.model.getDependencies(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-deps")[this.model.hasUnconfiguredDependencies()?"show":"hide"](),this.model.hasUnconfiguredDependencies()?$("#app-deps").addClass("error"):$("#app-deps").removeClass("error")}.bind(this))},toggleDevelopment:function(){this.model.toggleDevelopment(!this.model.isDevelopment(),function(){this.model.isDevelopment()?($(".app-switch-mode").text("Set Production"),$("#app-development-indicator").css("display","inline"),$("#app-development-path").css("display","inline")):($(".app-switch-mode").text("Set Development"),$("#app-development-indicator").css("display","none"),$("#app-development-path").css("display","none"))}.bind(this))},runScript:function(a){a.preventDefault();var b=$(a.currentTarget).attr("data-script"),c=[window.modalView.createBlobEntry("app_script_arguments","Script arguments","",null,"optional",!1,[{rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty"}])],d=[window.modalView.createSuccessButton("Run script",function(){var a=$("#app_script_arguments").val();a=a&&JSON.parse(a),window.modalView.hide(),this.model.runScript(b,a,function(a,c){var d;d=a?"

    The script failed with an error"+(a.statusCode?" (HTTP "+a.statusCode+")":"")+":

    "+a.message+"
    ":c?"

    Script results:

    "+JSON.stringify(c,null,2)+"
    ":"

    The script ran successfully.

    ",window.modalView.show("modalTable.ejs",'Result of script "'+b+'"',void 0,void 0,void 0,d)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run script "'+b+'" on "'+this.model.get("mount")+'"',d,c)},showSwagger:function(a){a.preventDefault(),this.render("swagger")},showReadme:function(a){a.preventDefault(),this.render("readme")},runTests:function(a){a.preventDefault();var b="

    WARNING: Running tests may result in destructive side-effects including data loss. Please make sure not to run tests on a production database.

    ";this.model.isDevelopment()&&(b+="

    WARNING: This app is running in development mode. If any of the tests access the app's HTTP API they may become non-deterministic.

    ");var c=[window.modalView.createSuccessButton("Run tests",function(){window.modalView.hide(),this.model.runTests({reporter:"suite"},function(a,b){window.modalView.show("modalTestResults.ejs","Test results",void 0,void 0,void 0,a||b)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run tests for app "'+this.model.get("mount")+'"',c,void 0,void 0,b)},render:function(a){return this.resize(),this.model.fetchThumbnail(function(){var b=function(b,c){var d=this;b?arangoHelper.arangoError("DB","Could not get current database"):($(this.el).html(this.template.render({app:this.model,baseUrl:arangoHelper.databaseUrl("",c),mode:a})),d.jsonEditor=ace.edit("swaggerJsonEditor"),d.jsonEditor.setReadOnly(!0),d.jsonEditor.getSession().setMode("ace/mode/json"),$.ajax({url:this.appUrl(c),headers:{accept:"text/html,*/*;q=0.9"}}).success(function(){$(".open",this.el).prop("disabled",!1)}.bind(this)),this.updateConfig(),this.updateDeps(),"swagger"===a&&$.get("./foxxes/docs/swagger.json?mount="+encodeURIComponent(this.model.get("mount")),function(a){Object.keys(a.paths).length<1&&(d.render("readme"),$("#app-show-swagger").attr("disabled","true"))})),this.breadcrumb()}.bind(this);arangoHelper.currentDatabase(b),_.isEmpty(this.model.get("config"))&&$("#service-settings").attr("disabled",!0)}.bind(this)),$(this.el)},breadcrumb:function(){var a="Service: "+this.model.get("name")+'',b='

    Contributors:';this.model.get("contributors")&&this.model.get("contributors").length>0?_.each(this.model.get("contributors"),function(a){b+=''+a.name+""}):b+="No contributors",b+="

    ",$(".information").append(b),this.model.get("author")&&$(".information").append('

    Author:'+this.model.get("author")+"

    "),this.model.get("mount")&&$(".information").append('

    Mount:'+this.model.get("mount")+"

    "),this.model.get("development")&&this.model.get("path")&&$(".information").append('

    Path:'+this.model.get("path")+"

    "),$("#subNavigationBar .breadcrumb").html(a)},openApp:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current database"):window.open(this.appUrl(b),this.model.get("title")).focus()}.bind(this);arangoHelper.currentDatabase(a)},deleteApp:function(){var a=[window.modalView.createDeleteButton("Delete",function(){var a={teardown:$("#app_delete_run_teardown").is(":checked")};this.model.destroy(a,function(a,b){a||b.error!==!1||(window.modalView.hide(),window.App.navigate("services",{trigger:!0}))})}.bind(this))],b=[window.modalView.createCheckboxEntry("app_delete_run_teardown","Run teardown?",!0,"Should this app's teardown script be executed before removing the app?",!0)];window.modalView.show("modalTable.ejs",'Delete Foxx App mounted at "'+this.model.get("mount")+'"',a,b,void 0,"

    Are you sure? There is no way back...

    ",!0)},appUrl:function(a){return arangoHelper.databaseUrl(this.model.get("mount"),a)},applyConfig:function(){var a={};_.each(this.model.get("config"),function(b,c){var d=$("#app_config_"+c),e=d.val();if("boolean"===b.type||"bool"===b.type)return void(a[c]=d.is(":checked"));if(""===e&&b.hasOwnProperty("default"))return a[c]=b["default"],void("json"===b.type&&(a[c]=JSON.stringify(b["default"])));if("number"===b.type)a[c]=parseFloat(e);else if("integer"===b.type||"int"===b.type)a[c]=parseInt(e,10);else{if("json"!==b.type)return void(a[c]=window.arangoHelper.escapeHtml(e));a[c]=e&&JSON.stringify(JSON.parse(e))}}),this.model.setConfiguration(a,function(){this.updateConfig(),arangoHelper.arangoNotification(this.model.get("name"),"Settings applied.")}.bind(this))},showConfigDialog:function(){if(_.isEmpty(this.model.get("config")))return void $("#settings .buttons").html($("#hidden_buttons").html());var a=_.map(this.model.get("config"),function(a,b){var c=void 0===a["default"]?"":String(a["default"]),d=void 0===a.current?"":String(a.current),e="createTextEntry",f=!1,g=[];return"boolean"===a.type||"bool"===a.type?(e="createCheckboxEntry",a["default"]=a["default"]||!1,c=a["default"]||!1,d=a.current||!1):"json"===a.type?(e="createBlobEntry",c=void 0===a["default"]?"":JSON.stringify(a["default"]),d=void 0===a.current?"":a.current,g.push({rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty."})):"integer"===a.type||"int"===a.type?g.push({rule:Joi.number().integer().optional().allow(""),msg:"Has to be an integer."}):"number"===a.type?g.push({rule:Joi.number().optional().allow(""),msg:"Has to be a number."}):("password"===a.type&&(e="createPasswordEntry"),g.push({rule:Joi.string().optional().allow(""),msg:"Has to be a string."})),void 0===a["default"]&&a.required!==!1&&(f=!0,g.unshift({rule:Joi.any().required(),msg:"This field is required."})),window.modalView[e]("app_config_"+b,b,d,a.description,c,f,g)}),b=[window.modalView.createSuccessButton("Apply",this.applyConfig.bind(this))];window.modalView.show("modalTable.ejs","Configuration",b,a,null,null,null,null,null,"settings"),$(".modal-footer").prepend($("#hidden_buttons").html())},applyDeps:function(){var a={};_.each(this.model.get("deps"),function(b,c){var d=$("#app_deps_"+c);a[c]=window.arangoHelper.escapeHtml(d.val())}),this.model.setDependencies(a,function(){window.modalView.hide(),this.updateDeps()}.bind(this))},showDepsDialog:function(){if(!_.isEmpty(this.model.get("deps"))){var a=_.map(this.model.get("deps"),function(a,b){var c=void 0===a.current?"":String(a.current),d="",e=a.definition.name;"*"!==a.definition.version&&(e+="@"+a.definition.version);var f=[{rule:Joi.string().optional().allow(""),msg:"Has to be a string."}];return a.definition.required&&f.push({rule:Joi.string().required(),msg:"This value is required."}),window.modalView.createTextEntry("app_deps_"+b,a.title,c,e,d,a.definition.required,f)}),b=[window.modalView.createSuccessButton("Apply",this.applyDeps.bind(this))];window.modalView.show("modalTable.ejs","Dependencies",b,a)}},showDropdown:function(){_.isEmpty(this.model.get("scripts"))||$("#scripts_dropdown").show(200)},hideDropdown:function(){$("#scripts_dropdown").hide()}})}(),function(){"use strict";window.ApplicationsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("applicationsView.ejs"),events:{"click #addApp":"createInstallModal","click #foxxToggle":"slideToggle","click #checkDevel":"toggleDevel","click #checkProduction":"toggleProduction","click #checkSystem":"toggleSystem"},fixCheckboxes:function(){this._showDevel?$("#checkDevel").attr("checked","checked"):$("#checkDevel").removeAttr("checked"),this._showSystem?$("#checkSystem").attr("checked","checked"):$("#checkSystem").removeAttr("checked"),this._showProd?$("#checkProduction").attr("checked","checked"):$("#checkProduction").removeAttr("checked"),$("#checkDevel").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkSystem").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkProduction").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),arangoHelper.setCheckboxStatus("#foxxDropdown")},toggleDevel:function(){var a=this;this._showDevel=!this._showDevel,_.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel)}),this.fixCheckboxes()},toggleProduction:function(){var a=this;this._showProd=!this._showProd,_.each(this._installedSubViews,function(b){b.toggle("production",a._showProd)}),this.fixCheckboxes()},toggleSystem:function(){this._showSystem=!this._showSystem;var a=this;_.each(this._installedSubViews,function(b){b.toggle("system",a._showSystem)}),this.fixCheckboxes()},reload:function(){var a=this;_.each(this._installedSubViews,function(a){a.undelegateEvents()}),this.collection.fetch({success:function(){a.createSubViews(),a.render()}})},createSubViews:function(){var a=this;this._installedSubViews={},a.collection.each(function(b){var c=new window.FoxxActiveView({model:b,appsView:a});a._installedSubViews[b.get("mount")]=c})},initialize:function(){this._installedSubViews={},this._showDevel=!0,this._showProd=!0,this._showSystem=!1},slideToggle:function(){$("#foxxToggle").toggleClass("activated"),$("#foxxDropdownOut").slideToggle(200)},createInstallModal:function(a){a.preventDefault(),window.foxxInstallView.install(this.reload.bind(this))},render:function(){this.collection.sort(),$(this.el).html(this.template.render({})),_.each(this._installedSubViews,function(a){$("#installedList").append(a.render())}),this.delegateEvents(),$("#checkDevel").attr("checked",this._showDevel),$("#checkProduction").attr("checked",this._showProd),$("#checkSystem").attr("checked",this._showSystem),arangoHelper.setCheckboxStatus("#foxxDropdown");var a=this;return _.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel),b.toggle("system",a._showSystem)}),arangoHelper.fixTooltips("icon_arangodb","left"),this}})}(),function(){"use strict";window.ClusterView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("clusterView.ejs"),events:{},statsEnabled:!1,historyInit:!1,initDone:!1,interval:5e3,maxValues:100,knownServers:[],chartData:{},charts:{},nvcharts:[],startHistory:{},startHistoryAccumulated:{},initialize:function(a){var b=this;window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),window.setInterval(function(){if("#cluster"===window.location.hash||""===window.location.hash||"#"===window.location.hash){var a=function(a){b.rerenderValues(a),b.rerenderGraphs(a)};b.getCoordStatHistory(a)}},this.interval))},render:function(){this.$el.html(this.template.render({})),this.initDone||(void 0!==this.coordinators.first()?this.getServerStatistics():this.waitForCoordinators(),this.initDone=!0),this.initGraphs()},waitForCoordinators:function(){var a=this;window.setTimeout(function(){a.coordinators?a.getServerStatistics():a.waitForCoordinators()},500)},updateServerTime:function(){this.serverTime=(new Date).getTime()},getServerStatistics:function(){var a=this;this.data=void 0;var b=this.coordinators.first();this.statCollectCoord=new window.ClusterStatisticsCollection([],{host:b.get("address")}),this.statCollectDBS=new window.ClusterStatisticsCollection([],{host:b.get("address")});var c=[];_.each(this.dbServers,function(a){a.each(function(a){c.push(a)})}),_.each(c,function(c){if("ok"===c.get("status")){-1===a.knownServers.indexOf(c.id)&&a.knownServers.push(c.id);var d=new window.Statistics({name:c.id});d.url=b.get("protocol")+"://"+b.get("address")+"/_admin/clusterStatistics?DBserver="+c.get("name"),a.statCollectDBS.add(d)}}),this.coordinators.forEach(function(b){if("ok"===b.get("status")){-1===a.knownServers.indexOf(b.id)&&a.knownServers.push(b.id);var c=new window.Statistics({name:b.id});c.url=b.get("protocol")+"://"+b.get("address")+"/_admin/statistics",a.statCollectCoord.add(c)}});var d=function(b){a.rerenderValues(b),a.rerenderGraphs(b)};a.getCoordStatHistory(d),a.renderNodes()},rerenderValues:function(a){var b=this;b.renderNodes(),this.renderValue("#clusterConnections",Math.round(a.clientConnectionsCurrent)),this.renderValue("#clusterConnectionsAvg",Math.round(a.clientConnections15M));var c=a.physicalMemory,d=a.residentSizeCurrent;this.renderValue("#clusterRam",[d,c])},renderValue:function(a,b,c,d){if("number"==typeof b)$(a).html(b);else if($.isArray(b)){var e=b[0],f=b[1],g=1/(f/e)*100;g>90?c=!0:g>70&&90>g&&(d=!0),$(a).html(g.toFixed(1)+" %")}else"string"==typeof b&&$(a).html(b);c?($(a).addClass("negative"),$(a).removeClass("warning"),$(a).removeClass("positive")):d?($(a).addClass("warning"),$(a).removeClass("positive"),$(a).removeClass("negative")):($(a).addClass("positive"),$(a).removeClass("negative"),$(a).removeClass("warning"))},renderNodes:function(){var a=this,b=function(a){var b=0,c=0,d=0,e=0;_.each(a,function(a){"Coordinator"===a.Role?(b++,"GOOD"!==a.Status&&c++):"DBServer"===a.Role&&(d++,"GOOD"!==a.Status&&e++)}),c>0?this.renderValue("#clusterCoordinators",b-c+"/"+b,!0):this.renderValue("#clusterCoordinators",b),e>0?this.renderValue("#clusterDBServers",d-e+"/"+d,!0):this.renderValue("#clusterDBServers",d)}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a.Health)},error:function(){a.renderValue("#clusterCoordinators","N/A",!0),a.renderValue("#clusterDBServers","N/A",!0)}})},initValues:function(){var a=["#clusterNodes","#clusterRam","#clusterConnections","#clusterConnectionsAvg"];_.each(a,function(a){$(a).html('')})},graphData:{data:{sent:[],received:[]},http:[],average:[]},checkArraySizes:function(){var a=this;_.each(a.chartsOptions,function(b,c){_.each(b.options,function(b,d){b.values.length>a.maxValues-1&&a.chartsOptions[c].options[d].values.shift()})})},formatDataForGraph:function(a){var b=this;b.historyInit?(b.checkArraySizes(),b.chartsOptions[0].options[0].values.push({x:a.times[a.times.length-1],y:a.bytesSentPerSecond[a.bytesSentPerSecond.length-1]}),b.chartsOptions[0].options[1].values.push({x:a.times[a.times.length-1],y:a.bytesReceivedPerSecond[a.bytesReceivedPerSecond.length-1]}),b.chartsOptions[1].options[0].values.push({x:a.times[a.times.length-1],y:b.calcTotalHttp(a.http,a.bytesSentPerSecond.length-1)}),b.chartsOptions[2].options[0].values.push({x:a.times[a.times.length-1],y:a.avgRequestTime[a.bytesSentPerSecond.length-1]/b.coordinators.length})):(_.each(a.times,function(c,d){b.chartsOptions[0].options[0].values.push({x:c,y:a.bytesSentPerSecond[d]}),b.chartsOptions[0].options[1].values.push({x:c,y:a.bytesReceivedPerSecond[d]}),b.chartsOptions[1].options[0].values.push({x:c,y:b.calcTotalHttp(a.http,d)}),b.chartsOptions[2].options[0].values.push({x:c,y:a.avgRequestTime[d]/b.coordinators.length})}),b.historyInit=!0)},chartsOptions:[{id:"#clusterData",type:"bytes",count:2,options:[{area:!0,values:[],key:"Bytes out",color:"rgb(23,190,207)",strokeWidth:2,fillOpacity:.1},{area:!0,values:[],key:"Bytes in",color:"rgb(188, 189, 34)",strokeWidth:2,fillOpacity:.1}]},{id:"#clusterHttp",type:"bytes",options:[{area:!0,values:[],key:"Bytes",color:"rgb(0, 166, 90)",fillOpacity:.1}]},{id:"#clusterAverage",data:[],type:"seconds",options:[{area:!0,values:[],key:"Seconds",color:"rgb(243, 156, 18)",fillOpacity:.1}]}],initGraphs:function(){var a=this,b="No data...";_.each(a.chartsOptions,function(c){nv.addGraph(function(){a.charts[c.id]=nv.models.stackedAreaChart().options({useInteractiveGuideline:!0,showControls:!1,noData:b,duration:0}),a.charts[c.id].xAxis.axisLabel("").tickFormat(function(a){var b=new Date(1e3*a);return(b.getHours()<10?"0":"")+b.getHours()+":"+(b.getMinutes()<10?"0":"")+b.getMinutes()+":"+(b.getSeconds()<10?"0":"")+b.getSeconds()}).staggerLabels(!1),a.charts[c.id].yAxis.axisLabel("").tickFormat(function(a){var b;return"bytes"===c.type?null===a?"N/A":(b=parseFloat(d3.format(".2f")(a)),prettyBytes(b)):"seconds"===c.type?null===a?"N/A":b=parseFloat(d3.format(".3f")(a)):void 0});var d,e=a.returnGraphOptions(c.id);return e.length>0?_.each(e,function(a,b){c.options[b].values=a}):c.options[0].values=[],d=c.options,a.chartData[c.id]=d3.select(c.id).append("svg").datum(d).transition().duration(300).call(a.charts[c.id]).each("start",function(){window.setTimeout(function(){d3.selectAll(c.id+" *").each(function(){this.__transition__&&(this.__transition__.duration=0)})},0)}),nv.utils.windowResize(a.charts[c.id].update),a.nvcharts.push(a.charts[c.id]),a.charts[c.id]})})},returnGraphOptions:function(a){var b=[];return b="#clusterData"===a?[this.chartsOptions[0].options[0].values,this.chartsOptions[0].options[1].values]:"#clusterHttp"===a?[this.chartsOptions[1].options[0].values]:"#clusterAverage"===a?[this.chartsOptions[2].options[0].values]:[]},rerenderGraphs:function(a){if(this.statsEnabled){var b,c,d=this;this.formatDataForGraph(a),_.each(d.chartsOptions,function(a){c=d.returnGraphOptions(a.id),c.length>0?_.each(c,function(b,c){a.options[c].values=b}):a.options[0].values=[],b=a.options,b[0].values.length>0&&d.historyInit&&d.charts[a.id]&&d.charts[a.id].update()})}},calcTotalHttp:function(a,b){var c=0;return _.each(a,function(a){c+=a[b]}),c},getCoordStatHistory:function(a){$.ajax({url:"statistics/coordshort",json:!0}).success(function(b){this.statsEnabled=b.enabled,a(b.data)}.bind(this))}})}(),function(){"use strict";window.CollectionListItemView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("collectionsItemView.ejs"),initialize:function(a){this.collectionsView=a.collectionsView},events:{"click .iconSet.icon_arangodb_settings2":"createEditPropertiesModal","click .pull-left":"noop","click .icon_arangodb_settings2":"editProperties","click .spanInfo":"showProperties",click:"selectCollection"},render:function(){return this.model.get("locked")?($(this.el).addClass("locked"),$(this.el).addClass(this.model.get("lockType"))):$(this.el).removeClass("locked"),"loading"!==this.model.get("status")&&"unloading"!==this.model.get("status")||$(this.el).addClass("locked"),$(this.el).html(this.template.render({model:this.model})),$(this.el).attr("id","collection_"+this.model.get("name")),this},editProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createEditPropertiesModal())},showProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createInfoModal())},selectCollection:function(a){return $(a.target).hasClass("disabled")?0:this.model.get("locked")?0:"loading"===this.model.get("status")?0:void("unloaded"===this.model.get("status")?this.loadCollection():window.App.navigate("collection/"+encodeURIComponent(this.model.get("name"))+"/documents/1",{trigger:!0}))},noop:function(a){a.stopPropagation()},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.modalView.hide()}}),this.collectionsView.render()},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g,10)!==Math.pow(2,Math.log2(g)))throw new Error("invalid indexBuckets value")}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);frontendConfig.isCluster===!1?this.model.renameCollection(c,i):i()}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection error: "+b.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this);frontendConfig.isCluster===!1?this.model.renameCollection(c,j):j()}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},createEditPropertiesModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a),"loaded"===this.model.get("status")?this.getIndex():$($("#infoTab").children()[1]).remove(); +}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()};this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#modal-dialog .modal-footer .button-danger").hide(),$("#modal-dialog .modal-footer .button-success").hide(),$("#modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#modal-dialog .modal-footer .button-danger").show(),$("#modal-dialog .modal-footer .button-success").show(),$("#modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},createInfoModal:function(){var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e)}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson"),h=d.checkboxToValue("#newGeoConstraint"),i=d.checkboxToValue("#newGeoIgnoreNull");f={type:"geo",fields:d.stringToArray(a),geoJson:g,constraint:h,ignoreNull:i};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var j=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:j};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var k=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.refreshCollectionsView()};window.modalView.hide(),d.model.createIndex(f,k)},lastTarget:null,prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},refreshCollectionsView:function(){window.App.arangoCollectionsStore.fetch({success:function(){window.App.collectionsView.render()}})},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1),this.refreshCollectionsView()):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1),this.refreshCollectionsView()),this.refreshCollectionsView()}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.CollectionsView=Backbone.View.extend({el:"#content",el2:"#collectionsThumbnailsIn",searchTimeout:null,refreshRate:1e4,template:templateEngine.createTemplate("collectionsView.ejs"),refetchCollections:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.checkLockedCollections()}})},checkLockedCollections:function(){var a=function(a,b){var c=this;a?console.log("Could not check locked collections"):(this.collection.each(function(a){a.set("locked",!1)}),_.each(b,function(a){var b=c.collection.findWhere({id:a.collection});b.set("locked",!0),b.set("lockType",a.type),b.set("desc",a.desc)}),this.collection.each(function(a){a.get("locked")||($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").addClass(a.get("status"))),a.get("locked")||"loading"===a.get("status")?($("#collection_"+a.get("name")).addClass("locked"),a.get("locked")?($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")).find(".corneredBadge").addClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("desc"))):$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status"))):($("#collection_"+a.get("name")).removeClass("locked"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").hasClass("inProgress")&&($("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").removeClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").addClass("loaded")),"unloaded"===a.get("status")&&$("#collection_"+a.get("name")+" .icon_arangodb_info").addClass("disabled"))}))}.bind(this);window.arangoHelper.syncAndReturnUninishedAardvarkJobs("index",a)},initialize:function(){var a=this;window.setInterval(function(){"#collections"===window.location.hash&&window.VISIBLE&&a.refetchCollections()},a.refreshRate)},render:function(){this.checkLockedCollections();var a=!1;$("#collectionsDropdown").is(":visible")&&(a=!0),$(this.el).html(this.template.render({})),this.setFilterValues(),a===!0&&$("#collectionsDropdown2").show();var b=this.collection.searchOptions;this.collection.getFiltered(b).forEach(function(a){$("#collectionsThumbnailsIn",this.el).append(new window.CollectionListItemView({model:a,collectionsView:this}).render().el)},this),"none"===$("#collectionsDropdown2").css("display")?$("#collectionsToggle").removeClass("activated"):$("#collectionsToggle").addClass("activated");var c;arangoHelper.setCheckboxStatus("#collectionsDropdown");try{c=b.searchPhrase.length}catch(d){}return $("#searchInput").val(b.searchPhrase),$("#searchInput").focus(),$("#searchInput")[0].setSelectionRange(c,c),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","left"),this},events:{"click #createCollection":"createCollection","keydown #searchInput":"restrictToSearchPhraseKey","change #searchInput":"restrictToSearchPhrase","click #searchSubmit":"restrictToSearchPhrase","click .checkSystemCollections":"checkSystem","click #checkLoaded":"checkLoaded","click #checkUnloaded":"checkUnloaded","click #checkDocument":"checkDocument","click #checkEdge":"checkEdge","click #sortName":"sortName","click #sortType":"sortType","click #sortOrder":"sortOrder","click #collectionsToggle":"toggleView","click .css-label":"checkBoxes"},updateCollectionsView:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},toggleView:function(){$("#collectionsToggle").toggleClass("activated"),$("#collectionsDropdown2").slideToggle(200)},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},checkSystem:function(){var a=this.collection.searchOptions,b=a.includeSystem;a.includeSystem=$(".checkSystemCollections").is(":checked")===!0,b!==a.includeSystem&&this.render()},checkEdge:function(){var a=this.collection.searchOptions,b=a.includeEdge;a.includeEdge=$("#checkEdge").is(":checked")===!0,b!==a.includeEdge&&this.render()},checkDocument:function(){var a=this.collection.searchOptions,b=a.includeDocument;a.includeDocument=$("#checkDocument").is(":checked")===!0,b!==a.includeDocument&&this.render()},checkLoaded:function(){var a=this.collection.searchOptions,b=a.includeLoaded;a.includeLoaded=$("#checkLoaded").is(":checked")===!0,b!==a.includeLoaded&&this.render()},checkUnloaded:function(){var a=this.collection.searchOptions,b=a.includeUnloaded;a.includeUnloaded=$("#checkUnloaded").is(":checked")===!0,b!==a.includeUnloaded&&this.render()},sortName:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortName").is(":checked")===!0?"name":"type",b!==a.sortBy&&this.render()},sortType:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortType").is(":checked")===!0?"type":"name",b!==a.sortBy&&this.render()},sortOrder:function(){var a=this.collection.searchOptions,b=a.sortOrder;a.sortOrder=$("#sortOrder").is(":checked")===!0?-1:1,b!==a.sortOrder&&this.render()},setFilterValues:function(){var a=this.collection.searchOptions;$("#checkLoaded").attr("checked",a.includeLoaded),$("#checkUnloaded").attr("checked",a.includeUnloaded),$(".checkSystemCollections").attr("checked",a.includeSystem),$("#checkEdge").attr("checked",a.includeEdge),$("#checkDocument").attr("checked",a.includeDocument),$("#sortName").attr("checked","type"!==a.sortBy),$("#sortType").attr("checked","type"===a.sortBy),$("#sortOrder").attr("checked",1!==a.sortOrder)},search:function(){var a=this.collection.searchOptions,b=$("#searchInput").val();b!==a.searchPhrase&&(a.searchPhrase=b,this.render())},resetSearch:function(){this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null);var a=this.collection.searchOptions;a.searchPhrase=null},restrictToSearchPhraseKey:function(){var a=this;this.resetSearch(),a.searchTimeout=setTimeout(function(){a.search()},200)},restrictToSearchPhrase:function(){this.resetSearch(),this.search()},createCollection:function(a){a.preventDefault(),this.createNewCollectionModal()},submitCreateCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=$("#new-collection-name").val(),d=$("#new-collection-size").val(),e=$("#new-replication-factor").val(),f=$("#new-collection-type").val(),g=$("#new-collection-sync").val(),h=1,i=[];if(""===e&&(e=1),b){if(h=$("#new-collection-shards").val(),""===h&&(h=1),h=parseInt(h,10),1>h)return arangoHelper.arangoError("Number of shards has to be an integer value greater or equal 1"),0;i=_.pluck($("#new-collection-shardBy").select2("data"),"text"),0===i.length&&i.push("_key")}if("_"===c.substr(0,1))return arangoHelper.arangoError('No "_" allowed as first character!'),0;var j=!1,k="true"===g;if(d>0)try{d=1024*JSON.parse(d)*1024}catch(l){return arangoHelper.arangoError("Please enter a valid number"),0}if(""===c)return arangoHelper.arangoError("No collection name entered!"),0;var m=function(a,b){if(a)try{b=JSON.parse(b.responseText),arangoHelper.arangoError("Error",b.errorMessage)}catch(c){}else this.updateCollectionsView();window.modalView.hide()}.bind(this);this.collection.newCollection({collName:c,wfs:k,isSystem:j,collSize:d,replicationFactor:e,collType:f,shards:h,shardBy:i},m)}}.bind(this);window.isCoordinator(a)},createNewCollectionModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=[],d=[],e={},f=[];d.push(window.modalView.createTextEntry("new-collection-name","Name","",!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),d.push(window.modalView.createSelectEntry("new-collection-type","Type","","The type of the collection to create.",[{value:2,label:"Document"},{value:3,label:"Edge"}])),b&&(d.push(window.modalView.createTextEntry("new-collection-shards","Shards","","The number of shards to create. You cannot change this afterwards. Recommended: DBServers squared","",!0)),d.push(window.modalView.createSelect2Entry("new-collection-shardBy","shardBy","","The keys used to distribute documents on shards. Type the key and press return to add it.","_key",!1))),c.push(window.modalView.createSuccessButton("Save",this.submitCreateCollection.bind(this))),f.push(window.modalView.createTextEntry("new-collection-size","Journal size","","The maximal size of a journal or datafile (in MB). Must be at least 1.","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),window.App.isCluster&&f.push(window.modalView.createTextEntry("new-replication-factor","Replication factor","","Numeric value. Must be at least 1. Description: TODO","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),f.push(window.modalView.createSelectEntry("new-collection-sync","Wait for sync","","Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}])),e.header="Advanced",e.content=f,window.modalView.show("modalTable.ejs","New Collection",c,d,e),$("#s2id_new-collection-shardBy .select2-search-field input").on("focusout",function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},200))})}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";function a(a,b){return void 0!==a&&null!==a||(a=0),a.toFixed(b)}window.DashboardView=Backbone.View.extend({el:"#content",interval:1e4,defaultTimeFrame:12e5,defaultDetailFrame:1728e5,history:{},graphs:{},events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},tendencies:{asyncPerSecondCurrent:["asyncPerSecondCurrent","asyncPerSecondPercentChange"],syncPerSecondCurrent:["syncPerSecondCurrent","syncPerSecondPercentChange"],clientConnectionsCurrent:["clientConnectionsCurrent","clientConnectionsPercentChange"],clientConnectionsAverage:["clientConnections15M","clientConnections15MPercentChange"],numberOfThreadsCurrent:["numberOfThreadsCurrent","numberOfThreadsPercentChange"],numberOfThreadsAverage:["numberOfThreads15M","numberOfThreads15MPercentChange"],virtualSizeCurrent:["virtualSizeCurrent","virtualSizePercentChange"],virtualSizeAverage:["virtualSize15M","virtualSize15MPercentChange"]},barCharts:{totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]},barChartsElementNames:{queueTimeDistributionPercent:"Queue",requestTimeDistributionPercent:"Computation",bytesSentDistributionPercent:"Bytes sent",bytesReceivedDistributionPercent:"Bytes received"},getDetailFigure:function(a){var b=$(a.currentTarget).attr("id").replace(/ChartButton/g,"");return b},showDetail:function(a){var b,c=this,d=this.getDetailFigure(a);b=this.dygraphConfig.getDetailChartConfig(d),this.getHistoryStatistics(d),this.detailGraphFigure=d,window.modalView.hideFooter=!0,window.modalView.hide(),window.modalView.show("modalGraph.ejs",b.header,void 0,void 0,void 0,void 0,this.events),window.modalView.hideFooter=!1,$("#modal-dialog").on("hidden",function(){c.hidden()}),$("#modal-dialog").toggleClass("modal-chart-detail",!0),b.height=.7*$(window).height(),b.width=$(".modal-inner-detail").width(),b.labelsDiv=$(b.labelsDiv)[0],this.detailGraph=new Dygraph(document.getElementById("lineChartDetail"),this.history[this.server][d],b)},hidden:function(){this.detailGraph.destroy(),delete this.detailGraph,delete this.detailGraphFigure},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},prepareDygraphs:function(){var a,b=this;this.dygraphConfig.getDashBoardFigures().forEach(function(c){a=b.dygraphConfig.getDefaultConfig(c);var d=b.getCurrentSize(a.div);a.height=d.height,a.width=d.width,b.graphs[c]=new Dygraph(document.getElementById(a.div),b.history[b.server][c]||[],a)})},initialize:function(a){this.options=a,this.dygraphConfig=a.dygraphConfig,this.d3NotInitialized=!0,this.events["click .dashboard-sub-bar-menu-sign"]=this.showDetail.bind(this),this.events["mousedown .dygraph-rangesel-zoomhandle"]=this.stopUpdating.bind(this),this.events["mouseup .dygraph-rangesel-zoomhandle"]=this.startUpdating.bind(this),this.serverInfo=a.serverToShow,this.serverInfo?this.server=this.serverInfo.target:this.server="-local-",this.history[this.server]={}},toggleViews:function(a){var b=a.currentTarget.id.split("-")[0],c=this,d=["replication","requests","system"];_.each(d,function(a){b!==a?$("#"+a).hide():($("#"+a).show(),c.resize(),$(window).resize())}),$(".subMenuEntries").children().removeClass("active"),$("#"+b+"-statistics").addClass("active"),window.setTimeout(function(){c.resize(),$(window).resize()},200)},updateCharts:function(){var a=this;return this.detailGraph?void this.updateLineChart(this.detailGraphFigure,!0):(this.prepareD3Charts(this.isUpdating),this.prepareResidentSize(this.isUpdating),this.updateTendencies(),void Object.keys(this.graphs).forEach(function(b){a.updateLineChart(b,!1)}))},updateTendencies:function(){var a=this,b=this.tendencies,c="";Object.keys(b).forEach(function(b){var d="",e=0;a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)&&(e=a.history[a.server][b][1]),0>e?c="#d05448":(c="#77DB99",d="+"),a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)?$("#"+b).html(a.history[a.server][b][0]+'
    '+d+e+"%"):$("#"+b).html('

    data not ready yet

    ')})},updateDateWindow:function(a,b){var c,d,e=(new Date).getTime();return b&&a.dateWindow_?(c=a.dateWindow_[0],d=e-a.dateWindow_[1]-5*this.interval>0?a.dateWindow_[1]:e,[c,d]):[e-this.defaultTimeFrame,e]},updateLineChart:function(a,b){var c=b?this.detailGraph:this.graphs[a],d={file:this.history[this.server][a],dateWindow:this.updateDateWindow(c,b)},e=0,f=[];_.each(d.file,function(a){var b=a[0].getSeconds()-a[0].getSeconds()%10;d.file[e][0].setSeconds(b),f.push(d.file[e][0]),e++});for(var g=new Date(Math.max.apply(null,f)),h=new Date(Math.min.apply(null,f)),i=new Date(h.getTime()),j=[],k=[];g>i;)i=new Date(i.setSeconds(i.getSeconds()+10)),k.push(i);_.each(k,function(a){var b=!1;_.each(d.file,function(c){Math.floor(a.getTime()/1e3)===Math.floor(c[0].getTime()/1e3)&&(b=!0)}),b===!1&&a1)){var f=0,g=0;9===c.length&&(f+=c[1],f+=c[6],f+=c[7],f+=c[8],g+=c[2],g+=c[3],g+=c[4],g+=c[5],c=[c[0],f,g]),d.history[d.server][e].unshift(c)}})},cutOffHistory:function(a,b){for(var c=this,d=c.history[c.server][a];0!==d.length&&!(d[d.length-1][0]>=b);)d.pop()},cutOffDygraphHistory:function(a){var b=this,c=new Date(a);this.dygraphConfig.getDashBoardFigures(!0).forEach(function(a){b.dygraphConfig.mapStatToFigure[a]&&b.history[b.server][a]&&b.cutOffHistory(a,c)})},mergeHistory:function(b){var c,d=this;for(c=0;c=0;--c)d.values.push({label:this.getLabel(b[a[0]].cuts,c),value:b[a[0]].values[c]}),e.values.push({label:this.getLabel(b[a[1]].cuts,c),value:b[a[1]].values[c]});return[d,e]},getLabel:function(a,b){return a[b]?0===b?"0 - "+a[b]:a[b-1]+" - "+a[b]:">"+a[b-1]},renderReplicationStatistics:function(a){$("#repl-numbers table tr:nth-child(1) > td:nth-child(2)").html(a.state.totalEvents),$("#repl-numbers table tr:nth-child(2) > td:nth-child(2)").html(a.state.totalRequests),$("#repl-numbers table tr:nth-child(3) > td:nth-child(2)").html(a.state.totalFailedConnects),a.state.lastAppliedContinuousTick?$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html(a.state.lastAppliedContinuousTick):$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastProcessedContinuousTick?$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html(a.state.lastProcessedContinuousTick):$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastAvailableContinuousTick?$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html(a.state.lastAvailableContinuousTick):$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html("no data available").addClass("no-data"),$("#repl-progress table tr:nth-child(1) > td:nth-child(2)").html(a.state.progress.message),$("#repl-progress table tr:nth-child(2) > td:nth-child(2)").html(a.state.progress.time),$("#repl-progress table tr:nth-child(3) > td:nth-child(2)").html(a.state.progress.failedConnects)},getReplicationStatistics:function(){var a=this;$.ajax(arangoHelper.databaseUrl("/_api/replication/applier-state"),{async:!0}).done(function(b){if(b.hasOwnProperty("state")){var c;c=b.state.running?"active":"inactive",c=''+c+"",$("#replication-chart .dashboard-sub-bar").html("Replication "+c),a.renderReplicationStatistics(b)}})},getStatistics:function(a,b){var c=this,d=arangoHelper.databaseUrl("/_admin/aardvark/statistics/short","_system"),e="?start=";e+=c.nextStart?c.nextStart:((new Date).getTime()-c.defaultTimeFrame)/1e3,"-local-"!==c.server&&(e+="&type=short&DBserver="+c.serverInfo.target,c.history.hasOwnProperty(c.server)||(c.history[c.server]={})),$.ajax(d+e,{async:!0,xhrFields:{withCredentials:!0},crossDomain:!0}).done(function(d){d.times.length>0&&(c.isUpdating=!0,c.mergeHistory(d)),c.isUpdating!==!1&&(a&&a(d.enabled,b),c.updateCharts())}).error(function(a){console.log("stat fetch req error:"+a)}),this.getReplicationStatistics()},getHistoryStatistics:function(a){var b=this,c="statistics/long",d="?filter="+this.dygraphConfig.mapStatToFigure[a].join();"-local-"!==b.server&&(c=b.server.endpoint+arangoHelper.databaseUrl("/_admin/aardvark/statistics/cluster"),d+="&type=long&DBserver="+b.server.target,b.history.hasOwnProperty(b.server)||(b.history[b.server]={}));var e=window.location.href.split("/"),f=e[0]+"//"+e[2]+"/"+e[3]+"/_system/"+e[5]+"/"+e[6]+"/";$.ajax(f+c+d,{async:!0}).done(function(c){var d;for(b.history[b.server][a]=[],d=0;d data not ready yet

    '),$("#totalTimeDistribution").prepend('

    data not ready yet

    '),$(".dashboard-bar-chart-title").append('

    data not ready yet

    '))},removeEmptyDataLabels:function(){$(".dataNotReadyYet").remove()},prepareResidentSize:function(b){var c=this,d=this.getCurrentSize("#residentSizeChartContainer"),e=c.history[c.server].residentSizeCurrent/1024/1024,f="";f=1025>e?a(e,2)+" MB":a(e/1024,2)+" GB";var g=a(100*c.history[c.server].residentSizePercent,2),h=[a(c.history[c.server].physicalMemory/1024/1024/1024,0)+" GB"];return void 0===c.history[c.server].residentSizeChart?void this.addEmptyDataLabels():(this.removeEmptyDataLabels(),void nv.addGraph(function(){var a=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,right:1,bottom:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,left:1}).showValues(!1).showYAxis(!1).showXAxis(!1).showLegend(!1).showControls(!1).stacked(!0);return a.yAxis.tickFormat(function(a){return a+"%"}).showMaxMin(!1),a.xAxis.showMaxMin(!1),d3.select("#residentSizeChart svg").datum(c.history[c.server].residentSizeChart).call(a),d3.select("#residentSizeChart svg").select(".nv-zeroLine").remove(),b&&(d3.select("#residentSizeChart svg").select("#total").remove(),d3.select("#residentSizeChart svg").select("#percentage").remove()),d3.select(".dashboard-bar-chart-title .percentage").html(f+" ("+g+" %)"),d3.select(".dashboard-bar-chart-title .absolut").html(h[0]),nv.utils.windowResize(a.update),a},function(){d3.selectAll("#residentSizeChart .nv-bar").on("click",function(){})}))},prepareD3Charts:function(b){var c=this,d={totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]};this.d3NotInitialized&&(b=!1,this.d3NotInitialized=!1),_.each(Object.keys(d),function(b){var d=c.getCurrentSize("#"+b+"Container .dashboard-interior-chart"),e="#"+b+"Container svg";return void 0===c.history[c.server].residentSizeChart?void c.addEmptyDataLabels():(c.removeEmptyDataLabels(),void nv.addGraph(function(){var f=[0,.25,.5,.75,1],g=75,h=23,i=6;d.width<219?(f=[0,.5,1],g=72,h=21,i=5):d.width<299?(f=[0,.3334,.6667,1],g=77):d.width<379?g=87:d.width<459?g=95:d.width<539?g=100:d.width<619&&(g=105);var j=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:5,right:20,bottom:h,left:g}).showValues(!1).showYAxis(!0).showXAxis(!0).showLegend(!1).showControls(!1).forceY([0,1]);return j.yAxis.showMaxMin(!1),d3.select(".nv-y.nv-axis").selectAll("text").attr("transform","translate (0, "+i+")"),j.yAxis.tickValues(f).tickFormat(function(b){return a(100*b*100/100,0)+"%"}),d3.select(e).datum(c.history[c.server][b]).call(j),nv.utils.windowResize(j.update),j},function(){d3.selectAll(e+" .nv-bar").on("click",function(){})}))})},stopUpdating:function(){this.isUpdating=!1},startUpdating:function(){var a=this;a.timer||(a.timer=window.setInterval(function(){window.App.isCluster?window.location.hash.indexOf(a.serverInfo.target)>-1&&a.getStatistics():a.getStatistics()},a.interval))},resize:function(){if(this.isUpdating){var a,b=this;_.each(this.graphs,function(c){a=b.getCurrentSize(c.maindiv_.id),c.resize(a.width,a.height); +}),this.detailGraph&&(a=this.getCurrentSize(this.detailGraph.maindiv_.id),this.detailGraph.resize(a.width,a.height)),this.prepareD3Charts(!0),this.prepareResidentSize(!0)}},template:templateEngine.createTemplate("dashboardView.ejs"),render:function(a){var b=function(a,b){return b||$(this.el).html(this.template.render()),a&&"_system"===frontendConfig.db?(this.prepareDygraphs(),this.isUpdating&&(this.prepareD3Charts(),this.prepareResidentSize(),this.updateTendencies(),$(window).trigger("resize")),this.startUpdating(),void $(window).resize()):($(this.el).html(""),void(this.server?$(this.el).append('
    Server statistics ('+this.server+") are disabled.
    "):$(this.el).append('
    Server statistics are disabled.
    ')))}.bind(this),c=function(){$(this.el).html(""),$(".contentDiv").remove(),$(".headerBar").remove(),$(".dashboard-headerbar").remove(),$(".dashboard-row").remove(),$(this.el).append('
    You do not have permission to view this page.
    '),$(this.el).append("
    You can switch to '_system' to see the dashboard.
    ")}.bind(this);if("_system"!==frontendConfig.db)return void c();var d=function(d,e){d||(e?this.getStatistics(b,a):c())}.bind(this);void 0===window.App.currentDB.get("name")?window.setTimeout(function(){return"_system"!==window.App.currentDB.get("name")?void c():void this.options.database.hasSystemAccess(d)}.bind(this),300):this.options.database.hasSystemAccess(d)}})}(),function(){"use strict";window.DatabaseView=Backbone.View.extend({users:null,el:"#content",template:templateEngine.createTemplate("databaseView.ejs"),dropdownVisible:!1,currentDB:"",events:{"click #createDatabase":"createDatabase","click #submitCreateDatabase":"submitCreateDatabase","click .editDatabase":"editDatabase","click #userManagementView .icon":"editDatabase","click #selectDatabase":"updateDatabase","click #submitDeleteDatabase":"submitDeleteDatabase","click .contentRowInactive a":"changeDatabase","keyup #databaseSearchInput":"search","click #databaseSearchSubmit":"search","click #databaseToggle":"toggleSettingsDropdown","click .css-label":"checkBoxes","click #dbSortDesc":"sorting"},sorting:function(){$("#dbSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#databaseDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},initialize:function(){this.collection.fetch({async:!0,cache:!1})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},render:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current db properties"):(this.currentDB=b,this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:"",currentDB:this.currentDB})),this.dropdownVisible===!0&&($("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").show()),arangoHelper.setCheckboxStatus("#databaseDropdown"),this.replaceSVGs())}.bind(this);return this.collection.getCurrentDatabase(a),this},toggleSettingsDropdown:function(){$("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").slideToggle(200)},selectedDatabase:function(){return $("#selectDatabases").val()},handleError:function(a,b,c){return 409===a?void arangoHelper.arangoError("DB","Database "+c+" already exists."):400===a?void arangoHelper.arangoError("DB","Invalid Parameters"):403===a?void arangoHelper.arangoError("DB","Insufficent rights. Execute this from _system database"):void 0},validateDatabaseInfo:function(a,b){return""===b?(arangoHelper.arangoError("DB","You have to define an owner for the new database"),!1):""===a?(arangoHelper.arangoError("DB","You have to define a name for the new database"),!1):0===a.indexOf("_")?(arangoHelper.arangoError("DB ","Databasename should not start with _"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("DB","Databasename may only contain numbers, letters, _ and -"),!1)},createDatabase:function(a){a.preventDefault(),this.createAddDatabaseModal()},switchDatabase:function(a){if(!$(a.target).parent().hasClass("iconSet")){var b=$(a.currentTarget).find("h5").text();if(""!==b){var c=this.collection.createDatabaseURL(b);window.location.replace(c)}}},submitCreateDatabase:function(){var a=this,b=$("#newDatabaseName").val(),c=$("#newUser").val(),d={name:b};this.collection.create(d,{error:function(c,d){a.handleError(d.status,d.statusText,b)},success:function(d){"root"!==c&&$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(c)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/root/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),"#databases"===window.location.hash&&a.updateDatabases(),arangoHelper.arangoNotification("Database "+d.get("name")+" created.")}}),arangoHelper.arangoNotification("Database creation in progress."),window.modalView.hide()},submitDeleteDatabase:function(a){var b=this.collection.where({name:a});b[0].destroy({wait:!0,url:arangoHelper.databaseUrl("/_api/database/"+a)}),this.updateDatabases(),window.App.naviView.dbSelectionView.render($("#dbSelect")),window.modalView.hide()},changeDatabase:function(a){var b=$(a.currentTarget).attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},updateDatabases:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render(),window.App.handleSelectDatabase()}})},editDatabase:function(a){var b=this.evaluateDatabaseName($(a.currentTarget).attr("id"),"_edit-database"),c=!0;b===this.currentDB&&(c=!1),this.createEditDatabaseModal(b,c)},search:function(){var a,b,c,d;a=$("#databaseSearchInput"),b=$("#databaseSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("name").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b,currentDB:this.currentDB})),this.replaceSVGs(),a=$("#databaseSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","tile-icon-svg").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},evaluateDatabaseName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},createEditDatabaseModal:function(a,b){var c=[],d=[];d.push(window.modalView.createReadOnlyEntry("id_name","Name",a,"")),b?c.push(window.modalView.createDeleteButton("Delete",this.submitDeleteDatabase.bind(this,a))):c.push(window.modalView.createDisabledButton("Delete")),window.modalView.show("modalTable.ejs","Delete database",c,d)},createAddDatabaseModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newDatabaseName","Name","",!1,"Database Name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Database name must start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No database name given."}]));var c=[];window.App.userCollection.each(function(a){c.push({value:a.get("user"),label:a.get("user")})}),b.push(window.modalView.createSelectEntry("newUser","Username",null!==this.users?this.users.whoAmI():"root","Please define the owner of this database. This will be the only user having initial access to this database if authentication is turned on. Please note that if you specify a username different to your account you will not be able to access the database with your account after having creating it. Specifying a username is mandatory even with authentication turned off. If there is a failure you will be informed.",c)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateDatabase.bind(this))),window.modalView.show("modalTable.ejs","Create Database",a,b),$("#useDefaultPassword").change(function(){"true"===$("#useDefaultPassword").val()?$("#row_newPassword").hide():$("#row_newPassword").show()}),$("#row_newPassword").hide()}})}(),function(){"use strict";window.DBSelectionView=Backbone.View.extend({template:templateEngine.createTemplate("dbSelectionView.ejs"),events:{"click .dbSelectionLink":"changeDatabase"},initialize:function(a){this.current=a.current},changeDatabase:function(a){var b=$(a.currentTarget).closest(".dbSelectionLink.tab").attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},render:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):(this.$el=a,this.$el.html(this.template.render({list:c,current:this.current.get("name")})),this.delegateEvents())}.bind(this);return this.collection.getDatabasesForUser(b),this.el}})}(),function(){"use strict";window.DocumentsView=window.PaginationView.extend({filters:{0:!0},filterId:0,paginationDiv:"#documentsToolbarF",idPrefix:"documents",addDocumentSwitch:!0,activeFilter:!1,lastCollectionName:void 0,restoredFilters:[],editMode:!1,allowUpload:!1,el:"#content",table:"#documentsTableID",template:templateEngine.createTemplate("documentsView.ejs"),collectionContext:{prev:null,next:null},editButtons:["#deleteSelected","#moveSelected"],initialize:function(a){this.documentStore=a.documentStore,this.collectionsStore=a.collectionsStore,this.tableView=new window.TableView({el:this.table,collection:this.collection}),this.tableView.setRowClick(this.clicked.bind(this)),this.tableView.setRemoveClick(this.remove.bind(this))},resize:function(){$("#docPureTable").height($(".centralRow").height()-210),$("#docPureTable .pure-table-body").css("max-height",$("#docPureTable").height()-47)},setCollectionId:function(a,b){this.collection.setCollection(a),this.collection.setPage(b),this.page=b;var c=function(b,c){b?arangoHelper.arangoError("Error","Could not get collection properties."):(this.type=c,this.collection.getDocuments(this.getDocsCallback.bind(this)),this.collectionModel=this.collectionsStore.get(a))}.bind(this);arangoHelper.collectionApiType(a,null,c)},getDocsCallback:function(a){$("#documents_last").css("visibility","hidden"),$("#documents_first").css("visibility","hidden"),a?(window.progressView.hide(),arangoHelper.arangoError("Document error","Could not fetch requested documents.")):a&&void 0===a||(window.progressView.hide(),this.drawTable(),this.renderPaginationElements())},events:{"click #collectionPrev":"prevCollection","click #collectionNext":"nextCollection","click #filterCollection":"filterCollection","click #markDocuments":"editDocuments","click #importCollection":"importCollection","click #exportCollection":"exportCollection","click #filterSend":"sendFilter","click #addFilterItem":"addFilterItem","click .removeFilterItem":"removeFilterItem","click #deleteSelected":"deleteSelectedDocs","click #moveSelected":"moveSelectedDocs","click #addDocumentButton":"addDocumentModal","click #documents_first":"firstDocuments","click #documents_last":"lastDocuments","click #documents_prev":"prevDocuments","click #documents_next":"nextDocuments","click #confirmDeleteBtn":"confirmDelete","click .key":"nop",keyup:"returnPressedHandler","keydown .queryline input":"filterValueKeydown","click #importModal":"showImportModal","click #resetView":"resetView","click #confirmDocImport":"startUpload","click #exportDocuments":"startDownload","change #documentSize":"setPagesize","change #docsSort":"setSorting"},showSpinner:function(){$("#uploadIndicator").show()},hideSpinner:function(){$("#uploadIndicator").hide()},showImportModal:function(){$("#docImportModal").modal("show")},hideImportModal:function(){$("#docImportModal").modal("hide")},setPagesize:function(){var a=$("#documentSize").find(":selected").val();this.collection.setPagesize(a),this.collection.getDocuments(this.getDocsCallback.bind(this))},setSorting:function(){var a=$("#docsSort").val();""!==a&&void 0!==a&&null!==a||(a="_key"),this.collection.setSort(a)},returnPressedHandler:function(a){13===a.keyCode&&$(a.target).is($("#docsSort"))&&this.collection.getDocuments(this.getDocsCallback.bind(this)),13===a.keyCode&&$("#confirmDeleteBtn").attr("disabled")===!1&&this.confirmDelete()},nop:function(a){a.stopPropagation()},resetView:function(){var a=function(a){a&&arangoHelper.arangoError("Document","Could not fetch documents count")};$("input").val(""),$("select").val("=="),this.removeAllFilterItems(),$("#documentSize").val(this.collection.getPageSize()),$("#documents_last").css("visibility","visible"),$("#documents_first").css("visibility","visible"),this.addDocumentSwitch=!0,this.collection.resetFilter(),this.collection.loadTotal(a),this.restoredFilters=[],this.allowUpload=!1,this.files=void 0,this.file=void 0,$("#confirmDocImport").attr("disabled",!0),this.markFilterToggle(),this.collection.getDocuments(this.getDocsCallback.bind(this))},startDownload:function(){var a=this.collection.buildDownloadDocumentQuery();""!==a||void 0!==a||null!==a?window.open(encodeURI("query/result/download/"+btoa(JSON.stringify(a)))):arangoHelper.arangoError("Document error","could not download documents")},startUpload:function(){var a=function(a,b){a?(arangoHelper.arangoError("Upload",b),this.hideSpinner()):(this.hideSpinner(),this.hideImportModal(),this.resetView())}.bind(this);this.allowUpload===!0&&(this.showSpinner(),this.collection.uploadDocuments(this.file,a))},uploadSetup:function(){var a=this;$("#importDocuments").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],$("#confirmDocImport").attr("disabled",!1),a.allowUpload=!0})},buildCollectionLink:function(a){return"collection/"+encodeURIComponent(a.get("name"))+"/documents/1"},markFilterToggle:function(){this.restoredFilters.length>0?$("#filterCollection").addClass("activated"):$("#filterCollection").removeClass("activated")},editDocuments:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),this.markFilterToggle(),$("#markDocuments").toggleClass("activated"),this.changeEditMode(),$("#filterHeader").hide(),$("#importHeader").hide(),$("#editHeader").slideToggle(200),$("#exportHeader").hide()},filterCollection:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),this.markFilterToggle(),this.activeFilter=!0,$("#importHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide(),$("#filterHeader").slideToggle(200);var a;for(a in this.filters)if(this.filters.hasOwnProperty(a))return void $("#attribute_name"+a).focus()},exportCollection:function(){$("#importCollection").removeClass("activated"),$("#filterHeader").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#exportCollection").toggleClass("activated"),this.markFilterToggle(),$("#exportHeader").slideToggle(200),$("#importHeader").hide(),$("#filterHeader").hide(),$("#editHeader").hide()},importCollection:function(){this.markFilterToggle(),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#importCollection").toggleClass("activated"),$("#exportCollection").removeClass("activated"),$("#importHeader").slideToggle(200),$("#filterHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide()},changeEditMode:function(a){a===!1||this.editMode===!0?($("#docPureTable .pure-table-body .pure-table-row").css("cursor","default"),$(".deleteButton").fadeIn(),$(".addButton").fadeIn(),$(".selected-row").removeClass("selected-row"),this.editMode=!1,this.tableView.setRowClick(this.clicked.bind(this))):($("#docPureTable .pure-table-body .pure-table-row").css("cursor","copy"),$(".deleteButton").fadeOut(),$(".addButton").fadeOut(),$(".selectedCount").text(0),this.editMode=!0,this.tableView.setRowClick(this.editModeClick.bind(this)))},getFilterContent:function(){var a,b,c=[];for(a in this.filters)if(this.filters.hasOwnProperty(a)){b=$("#attribute_value"+a).val();try{b=JSON.parse(b)}catch(d){b=String(b)}""!==$("#attribute_name"+a).val()&&c.push({attribute:$("#attribute_name"+a).val(),operator:$("#operator"+a).val(),value:b})}return c},sendFilter:function(){this.restoredFilters=this.getFilterContent();var a=this;this.collection.resetFilter(),this.addDocumentSwitch=!1,_.each(this.restoredFilters,function(b){void 0!==b.operator&&a.collection.addFilter(b.attribute,b.operator,b.value)}),this.collection.setToFirst(),this.collection.getDocuments(this.getDocsCallback.bind(this)),this.markFilterToggle()},restoreFilter:function(){var a=this,b=0;this.filterId=0,$("#docsSort").val(this.collection.getSort()),_.each(this.restoredFilters,function(c){0!==b&&a.addFilterItem(),void 0!==c.operator&&($("#attribute_name"+b).val(c.attribute),$("#operator"+b).val(c.operator),$("#attribute_value"+b).val(c.value)),b++,a.collection.addFilter(c.attribute,c.operator,c.value)})},addFilterItem:function(){var a=++this.filterId;$("#filterHeader").append('
    '),this.filters[a]=!0,this.checkFilterState()},filterValueKeydown:function(a){13===a.keyCode&&this.sendFilter()},checkFilterState:function(){var a=$("#filterHeader .queryline").length;if(1===a)$("#filterHeader .removeFilterItem").remove();else if(0===$("#filterHeader .queryline").first().find(".removeFilterItem").length){var b=$("#filterHeader .queryline").first().children().first().attr("id"),c=b.substr(14,b.length);$("#filterHeader .queryline").first().find(".add-filter-item").after(' ')}0===$("#filterHeader .queryline").first().find(".add-filter-item").length&&$("#filterHeader .queryline").first().find(".filterValue").after('')},removeFilterItem:function(a){var b=a.currentTarget,c=b.id.replace(/^removeFilter/,"");delete this.filters[c],delete this.restoredFilters[c],$(b.parentElement).remove(),this.checkFilterState()},removeAllFilterItems:function(){var a,b=$("#filterHeader").children().length;for(a=1;b>=a;a++)$("#removeFilter"+a).parent().remove();this.filters={0:!0},this.filterId=0},addDocumentModal:function(){var a=window.location.hash.split("/")[1],b=[],c=[],d=function(a,d){a?arangoHelper.arangoError("Error","Could not fetch collection type"):"edge"===d?(c.push(window.modalView.createTextEntry("new-edge-from-attr","_from","","document _id: document handle of the linked vertex (incoming relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _from attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-to","_to","","document _id: document handle of the linked vertex (outgoing relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _to attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"the edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)):(c.push(window.modalView.createTextEntry("new-document-key-attr","_key",void 0,"the documents unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addDocument.bind(this))),window.modalView.show("modalTable.ejs","Create document",b,c))}.bind(this);arangoHelper.collectionApiType(a,!0,d)},addEdge:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-edge-from-attr").last().val(),d=$(".modal-body #new-edge-to").last().val(),e=$(".modal-body #new-edge-key-attr").last().val(),f=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create edge");else{window.modalView.hide(),c=c._id.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}};""!==e||void 0!==e?this.documentStore.createTypeEdge(b,c,d,e,f):this.documentStore.createTypeEdge(b,c,d,null,f)},addDocument:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-document-key-attr").last().val(),d=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create document");else{window.modalView.hide(),c=c.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}};""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},moveSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createTextEntry("move-documents-to","Move to","",!1,"collection-name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),a.push(window.modalView.createSuccessButton("Move",this.confirmMoveSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Move documents",a,b))},confirmMoveSelectedDocs:function(){var a=this.getSelectedDocs(),b=this,c=$(".modal-body").last().find("#move-documents-to").val(),d=function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide()}.bind(this);_.each(a,function(a){b.collection.moveDocument(a,b.collection.collectionID,c,d)})},deleteSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createReadOnlyEntry(void 0,c.length+" documents selected","Do you want to delete all selected documents?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.confirmDeleteSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Delete documents",a,b))},confirmDeleteSelectedDocs:function(){var a=this.getSelectedDocs(),b=[],c=this;_.each(a,function(a){if("document"===c.type){var d=function(a){a?(b.push(!1),arangoHelper.arangoError("Document error","Could not delete document.")):(b.push(!0),c.collection.setTotalMinusOne(),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteDocument(c.collection.collectionID,a,d)}else if("edge"===c.type){var e=function(a){a?(b.push(!1),arangoHelper.arangoError("Edge error","Could not delete edge")):(c.collection.setTotalMinusOne(),b.push(!0),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteEdge(c.collection.collectionID,a,e)}})},getSelectedDocs:function(){var a=[];return _.each($("#docPureTable .pure-table-body .pure-table-row"),function(b){$(b).hasClass("selected-row")&&a.push($($(b).children()[1]).find(".key").text())}),a},remove:function(a){this.docid=$(a.currentTarget).parent().parent().prev().find(".key").text(),$("#confirmDeleteBtn").attr("disabled",!1),$("#docDeleteModal").modal("show")},confirmDelete:function(){$("#confirmDeleteBtn").attr("disabled",!0);var a=window.location.hash.split("/"),b=a[3];"source"!==b&&this.reallyDelete()},reallyDelete:function(){if("document"===this.type){var a=function(a){a?arangoHelper.arangoError("Error","Could not delete document"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteDocument(this.collection.collectionID,this.docid,a)}else if("edge"===this.type){var b=function(a){a?arangoHelper.arangoError("Edge error","Could not delete edge"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteEdge(this.collection.collectionID,this.docid,b)}},editModeClick:function(a){var b=$(a.currentTarget);b.hasClass("selected-row")?b.removeClass("selected-row"):b.addClass("selected-row");var c=this.getSelectedDocs();$(".selectedCount").text(c.length),_.each(this.editButtons,function(a){c.length>0?($(a).prop("disabled",!1),$(a).removeClass("button-neutral"),$(a).removeClass("disabled"),"#moveSelected"===a?$(a).addClass("button-success"):$(a).addClass("button-danger")):($(a).prop("disabled",!0),$(a).addClass("disabled"),$(a).addClass("button-neutral"),"#moveSelected"===a?$(a).removeClass("button-success"):$(a).removeClass("button-danger"))})},clicked:function(a){var b,c=a.currentTarget,d=$(c).attr("id").substr(4);try{b="collection/"+this.collection.collectionID+"/"+d,decodeURI(d)}catch(e){b="collection/"+this.collection.collectionID+"/"+encodeURIComponent(d)}window.location.hash=b},drawTable:function(){this.tableView.setElement($("#docPureTable")).render(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),$(".prettify").snippet("javascript",{style:"nedit",menu:!1,startText:!1,transparent:!0,showNum:!1}),this.resize()},checkCollectionState:function(){this.lastCollectionName===this.collectionName?this.activeFilter&&(this.filterCollection(),this.restoreFilter()):void 0!==this.lastCollectionName&&(this.collection.resetFilter(),this.collection.setSort(""),this.restoredFilters=[],this.activeFilter=!1)},render:function(){return $(this.el).html(this.template.render({})),2===this.type?this.type="document":3===this.type&&(this.type="edge"),this.tableView.setElement($(this.table)).drawLoading(),this.collectionContext=this.collectionsStore.getPosition(this.collection.collectionID),this.collectionName=window.location.hash.split("/")[1],this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Content"),this.checkCollectionState(),this.lastCollectionName=this.collectionName,this.uploadSetup(),$("[data-toggle=tooltip]").tooltip(),$(".upload-info").tooltip(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),this.renderPaginationElements(),this.selectActivePagesize(),this.markFilterToggle(),this.resize(),this},rerender:function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),this.resize()},selectActivePagesize:function(){$("#documentSize").val(this.collection.getPageSize())},renderPaginationElements:function(){this.renderPagination();var a=$("#totalDocuments");0===a.length&&($("#documentsToolbarFL").append(''),a=$("#totalDocuments")),"document"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" doc(s)"),"edge"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" edge(s)")},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)}})}(),function(){"use strict";var a=function(a){var b=a.split("/");return"collection/"+encodeURIComponent(b[0])+"/"+encodeURIComponent(b[1])};window.DocumentView=Backbone.View.extend({el:"#content",colid:0,docid:0,customView:!1,defaultMode:"tree",template:templateEngine.createTemplate("documentView.ejs"),events:{"click #saveDocumentButton":"saveDocument","click #deleteDocumentButton":"deleteDocumentModal","click #confirmDeleteDocument":"deleteDocument","click #document-from":"navigateToDocument","click #document-to":"navigateToDocument","keydown #documentEditor .ace_editor":"keyPress","keyup .jsoneditor .search input":"checkSearchBox","click .jsoneditor .modes":"storeMode","click #addDocument":"addDocument"},checkSearchBox:function(a){""===$(a.currentTarget).val()&&this.editor.expandAll()},addDocument:function(){window.App.documentsView.addDocumentModal()},storeMode:function(){var a=this;$(".type-modes").on("click",function(b){a.defaultMode=$(b.currentTarget).text().toLowerCase()})},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.saveDocument()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.saveDocument())},editor:0,setType:function(a){a=2===a?"document":"edge";var b=function(a,b){if(a)arangoHelper.arangoError("Error","Could not fetch data.");else{var c=b+": ";this.type=b,this.fillInfo(c),this.fillEditor()}}.bind(this);"edge"===a?this.collection.getEdge(this.colid,this.docid,b):"document"===a&&this.collection.getDocument(this.colid,this.docid,b)},deleteDocumentModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-delete-button","Confirm delete, document id is",this.type._id,void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createDeleteButton("Delete",this.deleteDocument.bind(this))),window.modalView.show("modalTable.ejs","Delete Document",a,b)},deleteDocument:function(){var a=function(){if(this.customView)this.customDeleteFunction();else{var a="collection/"+encodeURIComponent(this.colid)+"/documents/1";window.modalView.hide(),window.App.navigate(a,{trigger:!0})}}.bind(this);if(this.type._from&&this.type._to){var b=function(b){b?arangoHelper.arangoError("Edge error","Could not delete edge"):a()};this.collection.deleteEdge(this.colid,this.docid,b)}else{var c=function(b){b?arangoHelper.arangoError("Error","Could not delete document"):a()};this.collection.deleteDocument(this.colid,this.docid,c)}},navigateToDocument:function(a){var b=$(a.target).attr("documentLink");b&&window.App.navigate(b,{trigger:!0})},fillInfo:function(){var b=this.collection.first(),c=b.get("_id"),d=b.get("_key"),e=b.get("_rev"),f=b.get("_from"),g=b.get("_to");if($("#document-type").css("margin-left","10px"),$("#document-type").text("_id:"),$("#document-id").css("margin-left","0"),$("#document-id").text(c),$("#document-key").text(d),$("#document-rev").text(e),f&&g){var h=a(f),i=a(g);$("#document-from").text(f),$("#document-from").attr("documentLink",h),$("#document-to").text(g),$("#document-to").attr("documentLink",i)}else $(".edge-info-container").hide()},fillEditor:function(){var a=this.removeReadonlyKeys(this.collection.first().attributes);$(".disabledBread").last().text(this.collection.first().get("_key")),this.editor.set(a),$(".ace_content").attr("font-size","11pt")},jsonContentChanged:function(){this.enableSaveButton()},resize:function(){$("#documentEditor").height($(".centralRow").height()-300)},render:function(){$(this.el).html(this.template.render({})),$("#documentEditor").height($(".centralRow").height()-300),this.disableSaveButton(),this.breadcrumb();var a=this,b=document.getElementById("documentEditor"),c={change:function(){a.jsonContentChanged()},search:!0,mode:"tree",modes:["tree","code"],iconlib:"fontawesome4"};return this.editor=new JSONEditor(b,c),this.editor.setMode(this.defaultMode),this},removeReadonlyKeys:function(a){return _.omit(a,["_key","_id","_from","_to","_rev"])},saveDocument:function(){if(void 0===$("#saveDocumentButton").attr("disabled"))if("_"===this.collection.first().attributes._id.substr(0,1)){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-save-system-button","Caution","You are modifying a system collection. Really continue?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createSuccessButton("Save",this.confirmSaveDocument.bind(this))),window.modalView.show("modalTable.ejs","Modify System Collection",a,b)}else this.confirmSaveDocument()},confirmSaveDocument:function(){window.modalView.hide(); +var a;try{a=this.editor.get()}catch(b){return this.errorConfirmation(b),void this.disableSaveButton()}if(a=JSON.stringify(a),this.type._from&&this.type._to){var c=function(a){a?arangoHelper.arangoError("Error","Could not save edge."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveEdge(this.colid,this.docid,this.type._from,this.type._to,a,c)}else{var d=function(a){a?arangoHelper.arangoError("Error","Could not save document."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveDocument(this.colid,this.docid,a,d)}},successConfirmation:function(){arangoHelper.arangoNotification("Document saved.")},errorConfirmation:function(a){arangoHelper.arangoError("Document editor: ",a)},enableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!1),$("#saveDocumentButton").addClass("button-success"),$("#saveDocumentButton").removeClass("button-close")},disableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!0),$("#saveDocumentButton").addClass("button-close"),$("#saveDocumentButton").removeClass("button-success")},breadcrumb:function(){var a=window.location.hash.split("/");$("#subNavigationBar .breadcrumb").html('Collection: '+a[1]+'Document: '+a[2])},escaped:function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}})}(),function(){"use strict";window.FooterView=Backbone.View.extend({el:"#footerBar",system:{},isOffline:!0,isOfflineCounter:0,firstLogin:!0,timer:15e3,lap:0,timerFunction:null,events:{"click .footer-center p":"showShortcutModal"},initialize:function(){var a=this;window.setInterval(function(){a.getVersion()},a.timer),a.getVersion(),window.VISIBLE=!0,document.addEventListener("visibilitychange",function(){window.VISIBLE=!window.VISIBLE}),$("#offlinePlaceholder button").on("click",function(){a.getVersion()}),window.setTimeout(function(){window.frontendConfig.isCluster===!0&&($(".health-state").css("cursor","pointer"),$(".health-state").on("click",function(){window.App.navigate("#nodes",{trigger:!0})}))},1e3)},template:templateEngine.createTemplate("footerView.ejs"),showServerStatus:function(a){window.App.isCluster?this.renderClusterState(a):a===!0?($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("GOOD"),$(".health-icon").html(''),$("#offlinePlaceholder").hide()):($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html("UNKNOWN"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0))},reconnectAnimation:function(a){var b=this;0===a&&(b.lap=a,$("#offlineSeconds").text(b.timer/1e3),clearTimeout(b.timerFunction)),b.lap0?($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),1===c?$(".health-state").html(c+" NODE ERROR"):$(".health-state").html(c+" NODES ERROR"),$(".health-icon").html('')):($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("NODES OK"),$(".health-icon").html(''))};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a)}})}else $("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html(window.location.host+" OFFLINE"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0)},showShortcutModal:function(){window.arangoHelper.hotkeysFunctions.showHotkeysModal()},getVersion:function(){var a=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){a.showServerStatus(!0),a.isOffline===!0&&(a.isOffline=!1,a.isOfflineCounter=0,a.firstLogin?a.firstLogin=!1:window.setTimeout(function(){a.showServerStatus(!0)},1e3),a.system.name=b.server,a.system.version=b.version,a.render())},error:function(b){401===b.status?(a.showServerStatus(!0),window.App.navigate("login",{trigger:!0})):(a.isOffline=!0,a.isOfflineCounter++,a.isOfflineCounter>=1&&a.showServerStatus(!1))}}),a.system.hasOwnProperty("database")||$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/database/current"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=b.result.name;a.system.database=c;var d=window.setInterval(function(){var b=$("#databaseNavi");b&&(window.clearTimeout(d),d=null,a.render())},50)}})},renderVersion:function(){this.system.hasOwnProperty("database")&&this.system.hasOwnProperty("name")&&$(this.el).html(this.template.render({name:this.system.name,version:this.system.version,database:this.system.database}))},render:function(){return this.system.version||this.getVersion(),$(this.el).html(this.template.render({name:this.system.name,version:this.system.version})),this}})}(),function(){"use strict";window.FoxxActiveView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("foxxActiveView.ejs"),_show:!0,events:{click:"openAppDetailView"},openAppDetailView:function(){window.App.navigate("service/"+encodeURIComponent(this.model.get("mount")),{trigger:!0})},toggle:function(a,b){switch(a){case"devel":this.model.isDevelopment()&&(this._show=b);break;case"production":this.model.isDevelopment()||this.model.isSystem()||(this._show=b);break;case"system":this.model.isSystem()&&(this._show=b)}this._show?$(this.el).show():$(this.el).hide()},render:function(){return this.model.fetchThumbnail(function(){$(this.el).html(this.template.render({model:this.model}));var a=function(){this.model.needsConfiguration()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this),b=function(){this.model.hasUnconfiguredDependencies()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this);this.model.getConfiguration(a),this.model.getDependencies(b)}.bind(this)),$(this.el)}})}(),function(){"use strict";var a={ERROR_SERVICE_DOWNLOAD_FAILED:{code:1752,message:"service download failed"}},b=templateEngine.createTemplate("applicationListView.ejs"),c=function(a){this.collection=a.collection},d=function(b){var c=this;if(b.error===!1)this.collection.fetch({success:function(){window.modalView.hide(),c.reload(),console.log(b),arangoHelper.arangoNotification("Services","Service "+b.name+" installed.")}});else{var d=b;switch(b.hasOwnProperty("responseJSON")&&(d=b.responseJSON),d.errorNum){case a.ERROR_SERVICE_DOWNLOAD_FAILED.code:arangoHelper.arangoError("Services","Unable to download application from the given repository.");break;default:arangoHelper.arangoError("Services",d.errorNum+". "+d.errorMessage)}}},e=function(){window.modalView.modalBindValidation({id:"new-app-mount",validateInput:function(){return[{rule:Joi.string().regex(/^(\/(APP[^\/]+|(?!APP)[a-zA-Z0-9_\-%]+))+$/i),msg:"May not contain /APP"},{rule:Joi.string().regex(/^(\/[a-zA-Z0-9_\-%]+)+$/),msg:"Can only contain [a-zA-Z0-9_-%]"},{rule:Joi.string().regex(/^\/([^_]|_open\/)/),msg:"Mountpoints with _ are reserved for internal use"},{rule:Joi.string().regex(/[^\/]$/),msg:"May not end with /"},{rule:Joi.string().regex(/^\//),msg:"Has to start with /"},{rule:Joi.string().required().min(2),msg:"Has to be non-empty"}]}})},f=function(){window.modalView.modalBindValidation({id:"repository",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/),msg:"No valid Github account and repository."}]}})},g=function(){window.modalView.modalBindValidation({id:"new-app-author",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-name",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z\-_][a-zA-Z0-9\-_]*$/),msg:"Can only contain a to z, A to Z, 0-9, '-' and '_'."}]}}),window.modalView.modalBindValidation({id:"new-app-description",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-license",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9 \.,;\-]+$/),msg:"Has to be non empty."}]}}),window.modalView.modalTestAll()},h=function(a){window.modalView.clearValidators();var b=$("#modalButton1");switch(this._upgrade||e(),a){case"newApp":b.html("Generate"),b.prop("disabled",!1),g();break;case"appstore":b.html("Install"),b.prop("disabled",!0);break;case"github":f(),b.html("Install"),b.prop("disabled",!1);break;case"zip":b.html("Install"),b.prop("disabled",!1)}b.prop("disabled")||window.modalView.modalTestAll()||b.prop("disabled",!0)},i=function(a){var b=$(a.currentTarget).attr("href").substr(1);h.call(this,b)},j=function(a){if(h.call(this,"appstore"),window.modalView.modalTestAll()){var b,c;this._upgrade?(b=this.mount,c=$("#new-app-teardown").prop("checked")):b=window.arangoHelper.escapeHtml($("#new-app-mount").val());var e=$(a.currentTarget).attr("appId"),f=$(a.currentTarget).attr("appVersion");void 0!==c?this.collection.installFromStore({name:e,version:f},b,d.bind(this),c):this.collection.installFromStore({name:e,version:f},b,d.bind(this)),window.modalView.hide(),arangoHelper.arangoNotification("Services","Installing "+e+".")}},k=function(a,b){if(void 0===b?b=this._uploadData:this._uploadData=b,b&&window.modalView.modalTestAll()){var c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),void 0!==e?this.collection.installFromZip(b.filename,c,d.bind(this),e):this.collection.installFromZip(b.filename,c,d.bind(this))}},l=function(){if(window.modalView.modalTestAll()){var a,b,c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),a=window.arangoHelper.escapeHtml($("#repository").val()),b=window.arangoHelper.escapeHtml($("#tag").val()),""===b&&(b="master");var f={url:window.arangoHelper.escapeHtml($("#repository").val()),version:window.arangoHelper.escapeHtml($("#tag").val())};try{Joi.assert(a,Joi.string().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/))}catch(g){return}void 0!==e?this.collection.installFromGithub(f,c,d.bind(this),e):this.collection.installFromGithub(f,c,d.bind(this))}},m=function(){if(window.modalView.modalTestAll()){var a,b;this._upgrade?(a=this.mount,b=$("#new-app-teardown").prop("checked")):a=window.arangoHelper.escapeHtml($("#new-app-mount").val());var c={name:window.arangoHelper.escapeHtml($("#new-app-name").val()),documentCollections:_.map($("#new-app-document-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),edgeCollections:_.map($("#new-app-edge-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),author:window.arangoHelper.escapeHtml($("#new-app-author").val()),license:window.arangoHelper.escapeHtml($("#new-app-license").val()),description:window.arangoHelper.escapeHtml($("#new-app-description").val())};void 0!==b?this.collection.generate(c,a,d.bind(this),b):this.collection.generate(c,a,d.bind(this))}},n=function(){var a=$(".modal-body .tab-pane.active").attr("id");switch(a){case"newApp":m.apply(this);break;case"github":l.apply(this);break;case"zip":k.apply(this)}},o=function(a,c){var d=[],e={"click #infoTab a":i.bind(a),"click .install-app":j.bind(a)};d.push(window.modalView.createSuccessButton("Generate",n.bind(a))),window.modalView.show("modalApplicationMount.ejs","Install Service",d,c,void 0,void 0,e),$("#new-app-document-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"}),$("#new-app-edge-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"});var f=function(){var a=$("#modalButton1");a.prop("disabled")||window.modalView.modalTestAll()?a.prop("disabled",!1):a.prop("disabled",!0)};$(".select2-search-field input").focusout(function(){f(),window.setTimeout(function(){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||($("#s2id_new-app-document-collections").select2("close"),$("#s2id_new-app-edge-collections").select2("close"),f()))},200)}),$(".select2-search-field input").focusin(function(){if($(".select2-drop").is(":visible")){var a=$("#modalButton1");a.prop("disabled",!0)}}),$("#upload-foxx-zip").uploadFile({url:arangoHelper.databaseUrl("/_api/upload?multipart=true"),allowedTypes:"zip",multiple:!1,onSuccess:k.bind(a)}),$.get("foxxes/fishbowl",function(a){var c=$("#appstore-content");c.html(""),_.each(_.sortBy(a,"name"),function(a){c.append(b.render(a))})}).fail(function(){var a=$("#appstore-content");a.append("Store is not available. ArangoDB is not able to connect to github.com")})};c.prototype.install=function(a){this.reload=a,this._upgrade=!1,this._uploadData=void 0,delete this.mount,o(this,!1),window.modalView.clearValidators(),e(),g()},c.prototype.upgrade=function(a,b){this.reload=b,this._upgrade=!0,this._uploadData=void 0,this.mount=a,o(this,!0),window.modalView.clearValidators(),g()},window.FoxxInstallView=c}(),function(){"use strict";window.GraphManagementView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("graphManagementView.ejs"),edgeDefintionTemplate:templateEngine.createTemplate("edgeDefinitionTable.ejs"),eCollList:[],removedECollList:[],dropdownVisible:!1,initialize:function(a){this.options=a},events:{"click #deleteGraph":"deleteGraph","click .icon_arangodb_settings2.editGraph":"editGraph","click #createGraph":"addNewGraph","keyup #graphManagementSearchInput":"search","click #graphManagementSearchSubmit":"search","click .tile-graph":"redirectToGraphViewer","click #gv2":"redirectToGraphViewer2","click #graphManagementToggle":"toggleGraphDropdown","click .css-label":"checkBoxes","change #graphSortDesc":"sorting"},toggleTab:function(a){var b=a.currentTarget.id;b=b.replace("tab-",""),$("#tab-content-create-graph .tab-pane").removeClass("active"),$("#tab-content-create-graph #"+b).addClass("active"),"exampleGraphs"===b?$("#modal-dialog .modal-footer .button-success").css("display","none"):$("#modal-dialog .modal-footer .button-success").css("display","initial")},redirectToGraphViewer:function(a){var b=$(a.currentTarget).attr("id");b=b.substr(0,b.length-5),window.location=window.location+"/"+encodeURIComponent(b)},redirectToGraphViewer2:function(a){a.preventDefault();var b=$(a.currentTarget).parent().parent().attr("id");b=b.substr(0,b.length-5),console.log(b),window.App.navigate("graph2/"+encodeURIComponent(b),{trigger:!0})},loadGraphViewer:function(a,b){var c=function(b){if(b)arangoHelper.arangoError("","");else{var c=this.collection.get(a).get("edgeDefinitions");if(!c||0===c.length)return;var d={type:"gharial",graphName:a,baseUrl:arangoHelper.databaseUrl("/")},e=$("#content").width()-75;$("#content").html("");var f=arangoHelper.calculateCenterDivHeight();this.ui=new GraphViewerUI($("#content")[0],d,e,$(".centralRow").height()-135,{nodeShaper:{label:"_key",color:{type:"attribute",key:"_key"}}},!0),$(".contentDiv").height(f)}}.bind(this);b?this.collection.fetch({cache:!1,success:function(){c()}}):c()},handleResize:function(a){this.width&&this.width===a||(this.width=a,this.ui&&this.ui.changeWidth(a))},addNewGraph:function(a){a.preventDefault(),this.createEditGraphModal()},deleteGraph:function(){var a=this,b=$("#editGraphName")[0].value;if($("#dropGraphCollections").is(":checked")){var c=function(c){c?(a.collection.remove(a.collection.get(b)),a.updateGraphManagementView(),window.modalView.hide()):(window.modalView.hide(),arangoHelper.arangoError("Graph","Could not delete Graph."))};this.collection.dropAndDeleteGraph(b,c)}else this.collection.get(b).destroy({success:function(){a.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;arangoHelper.arangoError(d),window.modalView.hide()}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},toggleGraphDropdown:function(){$("#graphSortDesc").attr("checked",this.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown2").slideToggle(200)},sorting:function(){$("#graphSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#graphManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},createExampleGraphs:function(a){var b=$(a.currentTarget).attr("graph-id"),c=this;$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/graph-examples/create/"+encodeURIComponent(b)),success:function(){window.modalView.hide(),c.updateGraphManagementView(),arangoHelper.arangoNotification("Example Graphs","Graph: "+b+" created.")},error:function(a){if(window.modalView.hide(),a.responseText)try{var c=JSON.parse(a.responseText);arangoHelper.arangoError("Example Graphs",c.errorMessage)}catch(d){arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}else arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}})},render:function(a,b){var c=this;return this.collection.fetch({cache:!1,success:function(){c.collection.sort(),$(c.el).html(c.template.render({graphs:c.collection,searchString:""})),c.dropdownVisible===!0&&($("#graphManagementDropdown2").show(),$("#graphSortDesc").attr("checked",c.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown").show()),c.events["click .tableRow"]=c.showHideDefinition.bind(c),c.events['change tr[id*="newEdgeDefinitions"]']=c.setFromAndTo.bind(c),c.events["click .graphViewer-icon-button"]=c.addRemoveDefinition.bind(c),c.events["click #graphTab a"]=c.toggleTab.bind(c),c.events["click .createExampleGraphs"]=c.createExampleGraphs.bind(c),c.events["focusout .select2-search-field input"]=function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},200))},arangoHelper.setCheckboxStatus("#graphManagementDropdown")}}),a&&this.loadGraphViewer(a,b),this},setFromAndTo:function(a){a.stopPropagation();var b,c=this.calculateEdgeDefinitionMap();if(a.added){if(-1===this.eCollList.indexOf(a.added.id)&&-1!==this.removedECollList.indexOf(a.added.id))return b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$('input[id*="newEdgeDefinitions'+b+'"]').select2("val",null),void $('input[id*="newEdgeDefinitions'+b+'"]').attr("placeholder","The collection "+a.added.id+" is already used.");this.removedECollList.push(a.added.id),this.eCollList.splice(this.eCollList.indexOf(a.added.id),1)}else this.eCollList.push(a.removed.id),this.removedECollList.splice(this.removedECollList.indexOf(a.removed.id),1);c[a.val]?(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",c[a.val].from),$("#fromCollections"+b).attr("disabled",!0),$("#s2id_toCollections"+b).select2("val",c[a.val].to),$("#toCollections"+b).attr("disabled",!0)):(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",null),$("#fromCollections"+b).attr("disabled",!1),$("#s2id_toCollections"+b).select2("val",null),$("#toCollections"+b).attr("disabled",!1))},editGraph:function(a){a.stopPropagation(),this.collection.fetch({cache:!1}),this.graphToEdit=this.evaluateGraphName($(a.currentTarget).attr("id"),"_settings");var b=this.collection.findWhere({_key:this.graphToEdit});this.createEditGraphModal(b)},saveEditedGraph:function(){var a,b,c,d,e,f=$("#editGraphName")[0].value,g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i={};if(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){if(d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),0!==b.length&&0!==c.length)){var f={collection:a,from:b,to:c};h.push(f),i[a]=f}}),0===h.length)return $("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red");var j=this.collection.findWhere({_key:f}),k=j.get("edgeDefinitions"),l=j.get("orphanCollections"),m=[];l.forEach(function(a){-1===g.indexOf(a)&&j.deleteVertexCollection(a)}),g.forEach(function(a){-1===l.indexOf(a)&&j.addVertexCollection(a)});var n=[],o=[],p=[];k.forEach(function(a){var b=a.collection;m.push(b);var c=i[b];void 0===c?p.push(b):JSON.stringify(c)!==JSON.stringify(a)&&o.push(b)}),h.forEach(function(a){var b=a.collection;-1===m.indexOf(b)&&n.push(b)}),n.forEach(function(a){j.addEdgeDefinition(i[a])}),o.forEach(function(a){j.modifyEdgeDefinition(i[a])}),p.forEach(function(a){j.deleteEdgeDefinition(a)}),this.updateGraphManagementView(),window.modalView.hide()},evaluateGraphName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},search:function(){var a,b,c,d;a=$("#graphManagementSearchInput"),b=$("#graphManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("_key").indexOf(b)}),$(this.el).html(this.template.render({graphs:d,searchString:b})),a=$("#graphManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},updateGraphManagementView:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},createNewGraph:function(){var a,b,c,d,e,f=$("#createNewGraphName").val(),g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i=this;return f?this.collection.findWhere({_key:f})?(arangoHelper.arangoError("The graph '"+f+"' already exists."),0):(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),1!==b&&1!==c&&h.push({collection:a,from:b,to:c}))}),0===h.length?($("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red")):void this.collection.create({name:f,edgeDefinitions:h,orphanCollections:g},{success:function(){i.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;d=d.replace("<",""),d=d.replace(">",""),arangoHelper.arangoError(d)}})):(arangoHelper.arangoError("A name for the graph has to be provided."),0)},createEditGraphModal:function(a){var b,c=[],d=[],e=[],f=this.options.collectionCollection.models,g=this,h="",i=[{collection:"",from:"",to:""}],j="",k=function(a,b){return a=a.toLowerCase(),b=b.toLowerCase(),b>a?-1:a>b?1:0};if(this.eCollList=[],this.removedECollList=[],f.forEach(function(a){a.get("isSystem")||("edge"===a.get("type")?g.eCollList.push(a.id):d.push(a.id))}),window.modalView.enableHotKeys=!1,this.counter=0,a?(b="Edit Graph",h=a.get("_key"),i=a.get("edgeDefinitions"),i&&0!==i.length||(i=[{collection:"",from:"",to:""}]),j=a.get("orphanCollections"),e.push(window.modalView.createReadOnlyEntry("editGraphName","Name",h,"The name to identify the graph. Has to be unique")),c.push(window.modalView.createDeleteButton("Delete",this.deleteGraph.bind(this))),c.push(window.modalView.createSuccessButton("Save",this.saveEditedGraph.bind(this)))):(b="Create Graph",e.push(window.modalView.createTextEntry("createNewGraphName","Name","","The name to identify the graph. Has to be unique.","graphName",!0)),c.push(window.modalView.createSuccessButton("Create",this.createNewGraph.bind(this)))),i.forEach(function(a){0===g.counter?(a.collection&&(g.removedECollList.push(a.collection),g.eCollList.splice(g.eCollList.indexOf(a.collection),1)),e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!0,!1,!0,1,g.eCollList.sort(k)))):e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!1,!0,!1,1,g.eCollList.sort(k))),e.push(window.modalView.createSelect2Entry("fromCollections"+g.counter,"fromCollections",a.from,"The collections that contain the start vertices of the relation.","fromCollections",!0,!1,!1,10,d.sort(k))),e.push(window.modalView.createSelect2Entry("toCollections"+g.counter,"toCollections",a.to,"The collections that contain the end vertices of the relation.","toCollections",!0,!1,!1,10,d.sort(k))),g.counter++}),e.push(window.modalView.createSelect2Entry("newVertexCollections","Vertex collections",j,"Collections that are part of a graph but not used in an edge definition","Vertex Collections",!1,!1,!1,10,d.sort(k))),window.modalView.show("modalGraphTable.ejs",b,c,e,void 0,void 0,this.events),a){$(".modal-body table").css("border-collapse","separate");var l;for($(".modal-body .spacer").remove(),l=0;l<=this.counter;l++)$("#row_fromCollections"+l).show(),$("#row_toCollections"+l).show(),$("#row_newEdgeDefinitions"+l).addClass("first"),$("#row_fromCollections"+l).addClass("middle"),$("#row_toCollections"+l).addClass("last"),$("#row_toCollections"+l).after('');$("#graphTab").hide(),$("#modal-dialog .modal-delete-confirmation").append('
    ')}},showHideDefinition:function(a){},addRemoveDefinition:function(a){var b=[],c=this.options.collectionCollection.models;c.forEach(function(a){a.get("isSystem")||b.push(a.id)}),a.stopPropagation();var d,e=$(a.currentTarget).attr("id");if(-1===e.indexOf("addAfter_newEdgeDefinitions"))-1!==e.indexOf("remove_newEdgeDefinitions")&&(d=e.split("remove_newEdgeDefinitions")[1],$("#row_newEdgeDefinitions"+d).remove(),$("#row_fromCollections"+d).remove(),$("#row_toCollections"+d).remove(),$("#spacer"+d).remove());else{this.counter++,$("#row_newVertexCollections").before(this.edgeDefintionTemplate.render({number:this.counter})),$("#newEdgeDefinitions"+this.counter).select2({tags:this.eCollList,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:1}),$("#fromCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),$("#toCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),window.modalView.undelegateEvents(),window.modalView.delegateEvents(this.events);var f;for($(".modal-body .spacer").remove(),f=0;f<=this.counter;f++)$("#row_fromCollections"+f).show(),$("#row_toCollections"+f).show(),$("#row_newEdgeDefinitions"+f).addClass("first"),$("#row_fromCollections"+f).addClass("middle"),$("#row_toCollections"+f).addClass("last"),$("#row_toCollections"+f).after('')}},calculateEdgeDefinitionMap:function(){var a={};return this.collection.models.forEach(function(b){b.get("edgeDefinitions").forEach(function(b){a[b.collection]={from:b.from,to:b.to}})}),a}})}(),function(){"use strict";window.GraphSettingsView=Backbone.View.extend({el:"#graphSettingsContent",remove:function(){return this.$el.empty().off(),this.stopListening(),this},general:{graph:{type:"divider",name:"Graph"},nodeStart:{type:"string",name:"Starting node",desc:"A valid node id. If empty, a random node will be chosen.",value:2},layout:{type:"select",name:"Layout algorithm",desc:"Different graph displaying algorithms. No overlap is very fast, force is slower and fruchtermann is the slowest. The calculation time strongly depends on your nodes and edges counts.",noverlap:{name:"No overlap",val:"noverlap"},force:{name:"Force",val:"force"},fruchtermann:{name:"Fruchtermann",val:"fruchtermann"}},renderer:{type:"select",name:"Renderer",desc:"Canvas enables editing, WebGL is only for displaying a graph but much faster.",canvas:{name:"Canvas",val:"canvas"},webgl:{name:"WebGL",val:"webgl"}},depth:{desc:"Search depth, starting from your start node.",type:"number",name:"Search depth",value:2}},specific:{nodes:{type:"divider",name:"Nodes"},nodeLabel:{type:"string",name:"Label",desc:"Node label. Please choose a valid and available node attribute.","default":"_key"},nodeLabelByCollection:{type:"select",name:"Label by coll?",desc:"Set label text by collection. If activated node label attribute will be ignored.",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"}},nodeLabelThreshold:{type:"range",name:"Label threshold",desc:"The minimum size a node must have on screen to see its label displayed. This does not affect hovering behavior.","default":"_key"},nodeColor:{type:"color",name:"Color",desc:"Default node color. RGB or HEX value.","default":"#2ecc71"},nodeColorAttribute:{type:"string",name:"Colorize attr",desc:"If an attribute is given, nodes will then be colorized by the attribute. This setting ignores default node color if set."},nodeColorByCollection:{type:"select",name:"Colorize by coll?",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"},desc:"Should nodes be colorized by their collection? If enabled, node color and node color attribute will be ignored."},nodeSize:{type:"string",name:"Sizing attribute",desc:"Default node size. Numeric value > 0."},edges:{type:"divider",name:"Edges"},edgeLabel:{type:"string",name:"Label",desc:"Default edge label."},edgeLabelByCollection:{type:"select",name:"Label by coll?",desc:"Set label text by collection. If activated edge label attribute will be ignored.",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"}},edgeLabelThreshold:{type:"range",name:"Label threshold",desc:"The minimum size an edge must have on screen to see its label displayed. This does not affect hovering behavior.","default":"_key"},edgeColor:{type:"color",name:"Color",desc:"Default edge color. RGB or HEX value.","default":"#cccccc"},edgeColorAttribute:{type:"string",name:"Colorize attr",desc:"If an attribute is given, edges will then be colorized by the attribute. This setting ignores default edge color if set."},edgeColorByCollection:{type:"select",name:"Colorize by coll?",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"},desc:"Should edges be colorized by their collection? If enabled, edge color and edge color attribute will be ignored." +},edgeEditable:{type:"select",name:"Editable",no:{name:"No",val:"false"},yes:{name:"Yes",val:"true"},desc:"Should edges be editable?"},edgeType:{type:"select",name:"Type",desc:"The type of the edge",line:{name:"Line",val:"line"},arrow:{name:"Arrow",val:"arrow"},curve:{name:"Curve",val:"curve"},dotted:{name:"Dotted",val:"dotted"},dashed:{name:"Dashed",val:"dashed"},tapered:{name:"Tapered",val:"tapered"}}},template:templateEngine.createTemplate("graphSettingsView.ejs"),initialize:function(a){this.name=a.name,this.userConfig=a.userConfig,this.saveCallback=a.saveCallback},events:{"click #saveGraphSettings":"saveGraphSettings","click #restoreGraphSettings":"setDefaults","keyup #graphSettingsView input":"checkEnterKey","keyup #graphSettingsView select":"checkEnterKey",'change input[type="range"]':"saveGraphSettings",'change input[type="color"]':"checkColor","change select":"saveGraphSettings","focus #graphSettingsView input":"lastFocus","focus #graphSettingsView select":"lastFocus"},lastFocus:function(a){this.lastFocussed=a.currentTarget.id},checkEnterKey:function(a){13===a.keyCode&&this.saveGraphSettings()},getGraphSettings:function(a){var b=this,c=window.App.currentDB.toJSON().name+"_"+this.name;this.userConfig.fetch({success:function(d){b.graphConfig=d.toJSON().graphs[c],a&&b.continueRender()}})},checkColor:function(){this.saveGraphSettings(null,!0)},saveGraphSettings:function(a,b,c,d){var e=this,f=window.App.currentDB.toJSON().name+"_"+this.name,g={};if(d)g[f]=d;else{var h,i={};$("#graphSettingsView select").each(function(a,b){h=b.id,i[h.substr(2,b.id.length)]=$(b).val()}),$("#graphSettingsView input").each(function(a,b){h=b.id,i[h.substr(2,b.id.length)]=$(b).val()}),g[f]=i}c&&(g[f].nodeStart=c);var j=function(){window.App.graphViewer2?""!==b&&void 0!==b?window.App.graphViewer2.updateColors():window.App.graphViewer2.render(e.lastFocussed):arangoHelper.arangoNotification("Graph "+this.name,"Configuration saved.")}.bind(this);this.userConfig.setItem("graphs",g,j)},setDefaults:function(){var a={layout:"force",renderer:"canvas",depth:"2",nodeColor:"#2ecc71",nodeColorAttribute:"",nodeColorByCollection:"false",nodeLabelThreshold:10,edgeColor:"#cccccc",edgeColorAttribute:"",edgeColorByCollection:"false",edgeLabelThreshold:10,nodeLabel:"_key",edgeLabel:"",edgeType:"line",nodeSize:"",edgeEditable:"false",nodeLabelByCollection:"false",edgeLabelByCollection:"false",nodeStart:""};this.saveGraphSettings(null,null,null,a),this.render(),window.App.graphViewer2.render(this.lastFocussed)},toggle:function(){$(this.el).is(":visible")?this.hide():this.show()},show:function(){$(this.el).show("slide",{direction:"right"},250)},hide:function(){$(this.el).hide("slide",{direction:"right"},250)},render:function(){this.getGraphSettings(!0)},continueRender:function(){$(this.el).html(this.template.render({general:this.general,specific:this.specific})),arangoHelper.fixTooltips(".gv-tooltips","top"),this.graphConfig?(_.each(this.graphConfig,function(a,b){$("#g_"+b).val(a)}),$("#g_nodeLabelThreshold_label").text(this.graphConfig.nodeLabelThreshold),$("#g_edgeLabelThreshold_label").text(this.graphConfig.edgeLabelThreshold)):this.setDefaults()}})}(),function(){"use strict";window.GraphViewer2=Backbone.View.extend({el:"#content",remove:function(){return this.$el.empty().off(),this.stopListening(),this},template:templateEngine.createTemplate("graphViewer2.ejs"),initialize:function(a){var b=this;a.id&&(this.setElement(a.id),this.graphData=a.data,this.aqlMode=!0),this.name=a.name,this.userConfig=a.userConfig,this.documentStore=a.documentStore,this.initSigma(),void 0!==this.name&&this.collection.fetch({cache:!1,success:function(c){b.model=b.collection.findWhere({_key:a.name}).toJSON()}})},colors:{hotaru:["#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5"],random1:["#292F36","#4ECDC4","#F7FFF7","#DD6363","#FFE66D"]},aqlMode:!1,events:{"click #downloadPNG":"downloadSVG","click #reloadGraph":"reloadGraph","click #settingsMenu":"toggleSettings","click #noGraphToggle":"toggleSettings","click #toggleForce":"toggleLayout","click #selectNodes":"toggleLasso"},cursorX:0,cursorY:0,layouting:!1,model:null,viewStates:{captureMode:!1},graphConfig:null,graphSettings:null,initSigma:function(){try{sigma.classes.graph.addMethod("neighbors",function(a){var b,c={},d=this.allNeighborsIndex[a]||{};for(b in d)c[b]=this.nodesIndex[b];return c}),sigma.classes.graph.addMethod("getNodeEdges",function(a){var b=this.edges(),c=[];return _.each(b,function(b){b.source!==a&&b.target!==a||c.push(b.id)}),c})}catch(a){}},downloadSVG:function(){var a=this;this.currentGraph.toSVG({download:!0,filename:a.name+".svg",size:1e3})},resize:function(){$("#graph-container").width($(".centralContent").width()),$("#graph-container").height($(".centralRow").height()-150)},toggleSettings:function(){this.graphSettingsView.toggle()},render:function(a){this.$el.html(this.template.render({})),$("#subNavigationBar .breadcrumb").html("Graph: "+this.name),this.resize(),this.fetchGraph(a)},renderAQL:function(a){this.$el.html(this.template.render({})),this.$el.find(".headerBar").remove();var b=$(".centralRow").height()-250;this.$el.find("#graph-container").css("height",b),this.graphData.modified=this.parseData(this.graphData.original,this.graphData.graphInfo),this.renderGraph(this.graphData.modified)},parseData:function(a,b){var c={},d={},e={nodes:[],edges:[],settings:{}};return"object"===b?(_.each(a,function(a){a.edges&&a.vertices&&(_.each(a.edges,function(a){d[a._id]={id:a._id,source:a._from,label:a._key,color:"#cccccc",target:a._to}}),_.each(a.vertices,function(a){c[a._id]={id:a._id,label:a._key,size:.3,color:"#2ecc71",x:Math.random(),y:Math.random()}}))}),_.each(c,function(a){e.nodes.push(a)}),_.each(d,function(a){e.edges.push(a)})):"array"===b&&(_.each(a,function(a){c[a._from]=null,c[a._to]=null,e.edges.push({id:a._id,source:a._from,label:a._key,color:"#cccccc",target:a._to})}),_.each(c,function(a,b){e.nodes.push({id:b,label:b,size:.3,color:"#2ecc71",x:Math.random(),y:Math.random()})})),e},rerender:function(){this.fetchGraph()},fetchGraph:function(a){var b=this;$(this.el).append('
    Fetching graph data. Please wait ...


    If it`s taking too much time to draw the graph, please go to:
    '+window.location.href+"/settings
    and adjust your settings.It is possible that the graph is too big to be handled by the browser.
    ");var c=function(){var c={};this.graphConfig&&(c=_.clone(this.graphConfig),delete c.layout,delete c.edgeType,delete c.renderer),this.setupSigma(),$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/aardvark/graph/"+encodeURIComponent(this.name)),contentType:"application/json",data:c,success:function(c){$("#calcText").html("Calculating layout. Please wait ... "),b.renderGraph(c,a)},error:function(a){try{arangoHelper.arangoError("Graph",a.responseJSON.exception);var c=a.responseJSON.exception.search("1205");if(-1!==c){var d='Starting point: '+b.graphConfig.nodeStart+" is invalid";$("#calculatingGraph").html('
    Stopped.

    '+d+'. Please choose a different start node.
    ')}else $("#calculatingGraph").html("Failed to fetch graph information.")}catch(e){}}})}.bind(this);this.getGraphSettings(c)},setupSigma:function(){if(this.graphConfig&&this.graphConfig.edgeLabel){sigma.utils.pkg("sigma.settings");var a={defaultEdgeLabelColor:"#000",defaultEdgeLabelActiveColor:"#000",defaultEdgeLabelSize:10,edgeLabelSize:"fixed",edgeLabelSizePowRatio:1,edgeLabelThreshold:1};sigma.settings=sigma.utils.extend(sigma.settings||{},a),sigma.settings.drawEdgeLabels=!0}},contextState:{createEdge:!1,_from:!1,_to:!1,fromX:!1,fromY:!1},clearOldContextMenu:function(a){var b=this;$("#nodeContextMenu").remove();var c='
    ';$("#graph-container").append(c),a&&_.each(this.contextState,function(a,c){b.contextState[c]=!1});var d=document.getElementsByClassName("sigma-mouse")[0];d.removeEventListener("mousemove",b.drawLine.bind(this),!1)},trackCursorPosition:function(a){this.cursorX=a.x,this.cursorY=a.y},deleteNode:function(){var a=this,b=$("#delete-node-attr-id").text(),c=b.split("/")[0],d=b.split("/")[1];if("yes"===$("#delete-node-edges-attr").val())$.ajax({cache:!1,type:"DELETE",contentType:"application/json",url:arangoHelper.databaseUrl("/_api/gharial/"+encodeURIComponent(a.name)+"/vertex/"+encodeURIComponent(b.split("/")[0])+"/"+encodeURIComponent(b.split("/")[1])),success:function(c){a.currentGraph.graph.dropNode(b),a.currentGraph.refresh()},error:function(){arangoHelper.arangoError("Graph","Could not delete node.")}});else{var e=function(c){c?arangoHelper.arangoError("Graph","Could not delete node."):(a.currentGraph.graph.dropNode(b),a.currentGraph.refresh())};this.documentStore.deleteDocument(c,d,e)}window.modalView.hide()},deleteNodeModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry("delete-node-attr-id","Really delete node",a)),c.push(window.modalView.createSelectEntry("delete-node-edges-attr","Also delete edges?",void 0,void 0,[{value:"yes",label:"Yes"},{value:"no",label:"No"}])),b.push(window.modalView.createDeleteButton("Delete",this.deleteNode.bind(this))),window.modalView.show("modalTable.ejs","Delete node",b,c)},addNode:function(){var a=this,b=$(".modal-body #new-node-collection-attr").val(),c=$(".modal-body #new-node-key-attr").last().val(),d=function(b,c,d){b?arangoHelper.arangoError("Could not create node",d.errorMessage):(a.currentGraph.graph.addNode({id:c,label:c.split("/")[1]||"",size:a.graphConfig.nodeSize||Math.random(),color:a.graphConfig.nodeColor||"#2ecc71",x:a.cursorX,y:a.cursorY}),window.modalView.hide(),a.currentGraph.refresh())};""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},deleteEdgeModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry("delete-edge-attr-id","Really delete edge",a)),b.push(window.modalView.createDeleteButton("Delete",this.deleteEdge.bind(this))),window.modalView.show("modalTable.ejs","Delete edge",b,c)},deleteEdge:function(){var a=this,b=$("#delete-edge-attr-id").text(),c=b.split("/")[0],d=b.split("/")[1],e=function(c){c?arangoHelper.arangoError("Graph","Could not delete edge."):(a.currentGraph.graph.dropEdge(b),a.currentGraph.refresh())};this.documentStore.deleteDocument(c,d,e),window.modalView.hide()},addNodeModal:function(){if(0!==this.graphSettings.vertexCollections){var a=[],b=[],c=[];_.each(this.graphSettings.vertexCollections,function(a){c.push({label:a.name,value:a.id})}),b.push(window.modalView.createTextEntry("new-node-key-attr","_key",void 0,"The nodes unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSelectEntry("new-node-collection-attr","Collection",void 0,"Please select the destination for the new node.",c)),a.push(window.modalView.createSuccessButton("Create",this.addNode.bind(this))),window.modalView.show("modalTable.ejs","Create node",a,b)}else arangoHelper.arangoError("Graph","No valid vertex collections found.")},addEdge:function(){var a,b=this,c=b.contextState._from,d=b.contextState._to;a=""===$(".modal-body #new-edge-collection-attr").val()?$(".modal-body #new-edge-collection-attr").text():$(".modal-body #new-edge-collection-attr").val();var e=$(".modal-body #new-edge-key-attr").last().val(),f=function(a,e){a?arangoHelper.arangoError("Graph","Could not create edge."):(b.graphConfig.edgeEditable?b.currentGraph.graph.addEdge({source:c,size:1,target:d,id:e._id,color:b.graphConfig.edgeColor}):b.currentGraph.graph.addEdge({source:c,target:d,id:e._id,color:b.graphConfig.edgeColor}),this.graphConfig&&"curve"===this.graphConfig.edgeType&&sigma.canvas.edges.autoCurve(b.currentGraph),b.currentGraph.refresh()),b.clearOldContextMenu(!0),window.modalView.hide()};""!==e||void 0!==e?this.documentStore.createTypeEdge(a,c,d,e,f):this.documentStore.createTypeEdge(a,c,d,null,f)},addEdgeModal:function(a){if(0!==a){var b=[],c=[];if(c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"The edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),a.length>1){var d=[];_.each(a,function(a){d.push({label:a,value:a})}),c.push(window.modalView.createSelectEntry("new-edge-collection-attr","Edge collection",void 0,"Please select the destination for the new edge.",d))}else c.push(window.modalView.createReadOnlyEntry("new-edge-collection-attr","Edge collection",a[0],"The edges collection to be used."));b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)}else arangoHelper.arangoError("Graph","No valid edge definitions found.")},updateColors:function(){var a=window.App.currentDB.toJSON().name+"_"+this.name,b=this;this.userConfig.fetch({success:function(c){b.graphConfig=c.toJSON().graphs[a],b.currentGraph.graph.nodes().forEach(function(a){a.color=b.graphConfig.nodeColor}),b.currentGraph.graph.edges().forEach(function(a){a.color=b.graphConfig.edgeColor}),b.currentGraph.refresh()}})},createContextMenu:function(a){var b=this,c=b.cursorX-50,d=b.cursorY-50;this.clearOldContextMenu();var e=function(a){var c=wheelnav,d=new c("nodeContextMenu");d.maxPercent=1,d.wheelRadius=50,d.clockwise=!1,d.colors=b.colors.hotaru,d.multiSelect=!0,d.clickModeRotate=!1,d.slicePathFunction=slicePath().DonutSlice,b.viewStates.captureMode?d.createWheel([icon.plus,icon.trash]):d.createWheel([icon.plus,""]),d.navItems[0].selected=!1,d.navItems[0].hovered=!1,d.navItems[0].navigateFunction=function(a){b.clearOldContextMenu(),b.addNodeModal()},b.viewStates.captureMode&&(d.navItems[1].navigateFunction=function(a){b.clearOldContextMenu()}),d.navItems[0].selected=!1,d.navItems[0].hovered=!1};$("#nodeContextMenu").css("position","fixed"),$("#nodeContextMenu").css("left",c),$("#nodeContextMenu").css("top",d),$("#nodeContextMenu").width(100),$("#nodeContextMenu").height(100),e(a)},createEdgeContextMenu:function(a,b){var c=this,d=this.cursorX-165,e=this.cursorY-120;this.clearOldContextMenu();var f=function(a,b){var d=["#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5"],e=wheelnav,f=new e("nodeContextMenu");f.maxPercent=1,f.wheelRadius=50,f.clockwise=!1,f.colors=d,f.multiSelect=!0,f.clickModeRotate=!1,f.slicePathFunction=slicePath().DonutSlice,f.createWheel([icon.edit,icon.trash]),f.navItems[0].selected=!1,f.navItems[0].hovered=!1,f.navItems[0].navigateFunction=function(a){c.clearOldContextMenu(),c.editEdge(b)},f.navItems[1].navigateFunction=function(a){c.clearOldContextMenu(),c.deleteEdgeModal(b)},f.navItems[0].selected=!1,f.navItems[0].hovered=!1};$("#nodeContextMenu").css("left",d+115),$("#nodeContextMenu").css("top",e+72),$("#nodeContextMenu").width(100),$("#nodeContextMenu").height(100),f(b,a)},createNodeContextMenu:function(a,b){var c,d,e=this;_.each(b.data.node,function(a,b){"renderer"===b.substr(0,8)&&"x"===b.charAt(b.length-1)&&(c=a),"renderer"===b.substr(0,8)&&"y"===b.charAt(b.length-1)&&(d=a)}),this.clearOldContextMenu();var f=function(a,b){var f=["#364C4A","#497C7F","#92C5C0","#858168","#CCBCA5"],g=wheelnav,h=new g("nodeContextMenu");h.maxPercent=1,h.wheelRadius=50,h.clockwise=!1,h.colors=f,h.multiSelect=!0,h.clickModeRotate=!1,h.slicePathFunction=slicePath().DonutSlice,h.createWheel([icon.edit,icon.trash,icon.play,icon.connect]),h.navItems[0].selected=!1,h.navItems[0].hovered=!1,h.navItems[0].navigateFunction=function(a){e.clearOldContextMenu(),e.editNode(b)},h.navItems[1].navigateFunction=function(a){e.clearOldContextMenu(),e.deleteNodeModal(b)},h.navItems[2].navigateFunction=function(a){e.clearOldContextMenu(),e.setStartNode(b)},h.navItems[3].navigateFunction=function(a){e.contextState.createEdge=!0,e.contextState._from=b,e.contextState.fromX=c,e.contextState.fromY=d;var f=document.getElementsByClassName("sigma-mouse")[0];f.addEventListener("mousemove",e.drawLine.bind(this),!1),e.clearOldContextMenu()},h.navItems[0].selected=!1,h.navItems[0].hovered=!1};$("#nodeContextMenu").css("left",c+115),$("#nodeContextMenu").css("top",d+72),$("#nodeContextMenu").width(100),$("#nodeContextMenu").height(100),f(b,a)},clearMouseCanvas:function(){var a=document.getElementsByClassName("sigma-mouse")[0],b=a.getContext("2d");b.clearRect(0,0,$(a).width(),$(a).height())},drawLine:function(a){var b=window.App.graphViewer2.contextState;if(b.createEdge){var c=b.fromX,d=b.fromY,e=a.offsetX,f=a.offsetY,g=document.getElementsByClassName("sigma-mouse")[0],h=g.getContext("2d");h.clearRect(0,0,$(g).width(),$(g).height()),h.beginPath(),h.moveTo(c,d),h.lineTo(e,f),h.stroke()}},getGraphSettings:function(a){var b=this,c=frontendConfig.db+"_"+this.name;this.userConfig.fetch({success:function(d){b.graphConfig=d.toJSON().graphs[c],b.graphSettingsView&&b.graphSettingsView.remove(),b.graphSettingsView=new window.GraphSettingsView({name:b.name,userConfig:b.userConfig,saveCallback:b.render}),b.graphSettingsView.render(),a&&a(b.graphConfig)}})},setStartNode:function(a){this.graphConfig.nodeStart=a,this.graphSettingsView.saveGraphSettings(null,a)},editNode:function(a){var b=function(){};arangoHelper.openDocEditor(a,"doc",b)},editEdge:function(a){var b=function(){};arangoHelper.openDocEditor(a,"edge",b)},reloadGraph:function(){Backbone.history.loadUrl(Backbone.history.fragment)},getEdgeDefinitionCollections:function(a,b){var c=[];return _.each(this.model.edgeDefinitions,function(d){_.each(d.from,function(e){e===a&&_.each(d.to,function(a){a===b&&c.push(d.collection)})})}),c},initializeGraph:function(a,b){var c=this;a.refresh(),this.Sigma.plugins.Lasso=sigma.plugins.lasso;var d=new this.Sigma.plugins.Lasso(a,a.renderers[0],{strokeStyle:"black",lineWidth:1,fillWhileDrawing:!0,fillStyle:"rgba(41, 41, 41, 0.2)",cursor:"crosshair"});return d.bind("selectedNodes",function(b){var d=b.data;a.graph.nodes().forEach(function(a){a.color=c.graphConfig.nodeColor?c.graphConfig.nodeColor:"rgb(46, 204, 113)"}),d.forEach(function(a){a.color="red"}),a.refresh()}),d},renderGraph:function(a,b){var c=this;if(this.graphSettings=a.settings,0===a.edges.length){var d='No edges found for starting point: '+c.graphSettings.startVertex._id+"";return void $("#calculatingGraph").html('
    Stopped.

    '+d+'. Please choose a different start node or try to reload the graph.
    ')}var e="position: absolute; left: 25px; bottom: 45px;";this.aqlMode&&(e="position: absolute; left: 30px; margin-top: -37px;"),$(this.el).append('
    '+a.nodes.length+' nodes'+a.edges.length+" edges
    "),this.Sigma=sigma;var f="force",g="canvas";this.graphConfig&&(this.graphConfig.layout&&(f=this.graphConfig.layout),this.graphConfig.renderer&&(g=this.graphConfig.renderer,"canvas"===g&&(c.isEditable=!0)));var h={doubleClickEnabled:!1,minNodeSize:3.5,minEdgeSize:1,maxEdgeSize:4,enableEdgeHovering:!0,edgeHoverColor:"#000",defaultEdgeHoverColor:"#000",defaultEdgeType:"line",edgeHoverSizeRatio:2,edgeHoverExtremities:!0,autoRescale:!0,mouseEnabled:!0,touchEnabled:!0,nodesPowRatio:1,font:"Roboto",edgesPowRatio:1};"canvas"===g&&(h.autoCurveSortByDirection=!0),a.nodes.length>500&&(h.labelThreshold=15,h.hideEdgesOnMove=!0),this.graphConfig&&(this.graphConfig.edgeType&&(h.defaultEdgeType=this.graphConfig.edgeType,"arrow"===this.graphConfig.edgeType&&(h.minArrowSize=7)),this.graphConfig.nodeLabelThreshold&&(h.labelThreshold=this.graphConfig.nodeLabelThreshold),this.graphConfig.edgeLabelThreshold&&(h.edgeLabelThreshold=this.graphConfig.edgeLabelThreshold)),"webgl"===g&&(h.enableEdgeHovering=!1);var i=new this.Sigma({graph:a,container:"graph-container",renderer:{container:document.getElementById("graph-container"),type:g},settings:h});if(this.currentGraph=i,this.aqlMode||sigma.plugins.fullScreen({container:"graph-container",btnId:"graph-fullscreen-btn"}),"noverlap"===f){var j=i.configNoverlap({nodeMargin:.1,scaleNodes:1.05,gridSize:75,easing:"quadraticInOut",duration:1e4});j.bind("start stop interpolate",function(a){"start"===a.type,"interpolate"===a.type})}else if("fruchtermann"===f){var k=sigma.layouts.fruchtermanReingold.configure(i,{iterations:500,easing:"quadraticInOut",duration:800});k.bind("start stop interpolate",function(a){})}if(i.graph.nodes().forEach(function(a){a.originalColor=a.color}),i.graph.edges().forEach(function(a){a.originalColor=a.color}),"canvas"===g&&(this.graphConfig&&"curve"===this.graphConfig.edgeType&&sigma.canvas.edges.autoCurve(i),i.refresh(),c.aqlMode||i.bind("rightClickStage",function(a){c.createContextMenu(a),c.clearMouseCanvas()}),i.bind("overNode",function(a){if($(".nodeInfoDiv").remove(),c.contextState.createEdge===!1){var b=function(a,b){if(!a){var d={},e=0,f=!1;_.each(b,function(a,b){15>e?"string"==typeof a&&(a.length>10?d[b]=a.substr(0,15)+" ...":d[b]=a):f=!0,e++});var g='
    '+JSON.stringify(d,null,2);f?(g=g.substr(0,g.length-2),g+=" \n\n  ... \n\n } 
    "):g+="",$(c.el).append(g)}};c.documentStore.getDocument(a.data.node.id.split("/")[0],a.data.node.id.split("/")[1],b)}}),i.bind("outNode",function(a){c.contextState.createEdge===!1&&$(".nodeInfoDiv").remove()}),i.bind("clickNode",function(a){if(c.contextState.createEdge===!0){c.contextState._to=a.data.node.id;var b=c.contextState._from.split("/")[0],d=c.contextState._to.split("/")[0],e=c.getEdgeDefinitionCollections(b,d);c.addEdgeModal(e,c.contextState._from,c.contextState._to)}}),this.aqlMode||i.bind("rightClickNode",function(a){var b=a.data.node.id;c.createNodeContextMenu(b,a)}),this.graphConfig&&this.graphConfig.edgeEditable&&i.bind("rightClickEdge",function(a){var b=a.data.edge.id;c.createEdgeContextMenu(b,a)}),i.bind("doubleClickNode",function(a){var b=a.data.node.id,c=i.graph.neighbors(b);c[b]=a.data.node,i.graph.nodes().forEach(function(a){c[a.id]?a.color=a.originalColor:a.color="#eee"}),i.graph.edges().forEach(function(a){c[a.source]&&c[a.target]?a.color="rgb(64, 74, 83)":a.color="#eee"}),i.refresh()}),i.bind("doubleClickStage",function(){i.graph.nodes().forEach(function(a){a.color=a.originalColor}),i.graph.edges().forEach(function(a){a.color=a.originalColor}),i.refresh()}),i.bind("clickStage",function(){c.clearOldContextMenu(!0),c.clearMouseCanvas()})),"noverlap"===f)i.startNoverlap(),sigma.plugins.dragNodes(i,i.renderers[0]);else if("force"===f){var l="color: rgb(64, 74, 83); cursor: pointer; position: absolute; right: 30px; bottom: 40px;";c.aqlMode&&(l="color: rgb(64, 74, 83); cursor: pointer; position: absolute; right: 30px; margin-top: -30px;"),$(this.el).append('
    '),c.startLayout();var m=3e3;a.nodes.length>2500?m=5e3:a.nodes.length<50&&(m=500),window.setTimeout(function(){c.stopLayout()},m)}else"fruchtermann"===f?(sigma.layouts.fruchtermanReingold.start(i),sigma.plugins.dragNodes(i,i.renderers[0])):sigma.plugins.dragNodes(i,i.renderers[0]);var n=document.getElementsByClassName("sigma-mouse")[0];n.addEventListener("mousemove",c.trackCursorPosition.bind(this),!1),b&&$("#"+b).focus();var o=function(){c.graphLasso=c.initializeGraph(i,a),c.graphLasso.activate(),c.graphLasso.deactivate()};this.graphConfig?"canvas"===this.graphConfig.renderer?o():$("#selectNodes").parent().hide():"canvas"===g?o():$("#selectNodes").parent().hide(),c.graphLasso&&(window.App.listenerFunctions.graphViewer=this.keyUpFunction.bind(this)),$("#calculatingGraph").remove()},keyUpFunction:function(a){var b=this;switch(a.keyCode){case 76:a.altKey&&b.toggleLasso()}},toggleLayout:function(){this.layouting?this.stopLayout():this.startLayout()},toggleLasso:function(){this.graphLasso.isActive?($("#selectNodes").removeClass("activated"),this.graphLasso.deactivate()):($("#selectNodes").addClass("activated"),this.graphLasso.activate())},startLayout:function(){$("#toggleForce .fa").removeClass("fa-play").addClass("fa-pause"),this.layouting=!0,this.currentGraph.startForceAtlas2({worker:!0,barnesHutOptimize:!1}),sigma.plugins.dragNodes(this.currentGraph,this.currentGraph.renderers[0])},stopLayout:function(){$("#toggleForce .fa").removeClass("fa-pause").addClass("fa-play"),this.layouting=!1,this.currentGraph.stopForceAtlas2(),sigma.plugins.dragNodes(this.currentGraph,this.currentGraph.renderers[0])}})}(),function(){"use strict";window.HelpUsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("helpUsView.ejs"),render:function(){this.$el.html(this.template.render({}))}})}(),function(){"use strict";window.IndicesView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},template:templateEngine.createTemplate("indicesView.ejs"),events:{},render:function(){$(this.el).html(this.template.render({model:this.model})),this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Indices"),this.getIndex()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson");f={type:"geo",fields:d.stringToArray(a),geoJson:g};break;case"Persistent":a=$("#newPersistentFields").val(),b=d.checkboxToValue("#newPersistentUnique"),c=d.checkboxToValue("#newPersistentSparse"),f={type:"persistent",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var h=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:h};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var i=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.toggleNewIndexView(),d.render()};this.model.createIndex(f,i)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView(),a.render()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#content #modal-dialog .modal-footer").after(''),$("#indexHeaderContent #indexConfirmDelete").unbind("click"),$("#indexHeaderContent #indexConfirmDelete").bind("click",function(){$("#indexHeaderContent #indexDeleteModal").remove(),b.deleteIndex()}),$("#indexHeaderContent #indexAbortDelete").unbind("click"),$("#indexHeaderContent #indexAbortDelete").bind("click",function(){$("#indexHeaderContent #indexDeleteModal").remove()})},unbindIndexEvents:function(){$("#indexHeaderContent #indexEditView #addIndex").unbind("click"),$("#indexHeaderContent #newIndexType").unbind("change"),$("#indexHeaderContent #infoTab a").unbind("click"),$("#indexHeaderContent .deleteIndex").unbind("click")},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1)):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1))}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer")):($("#indexEditView").show(), +$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.InfoView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Info"),this.renderInfoView()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},renderInfoView:function(){if(this.model.get("locked"))return 0;var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e,null,null,null,null,null,"content")}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)}})}(),function(){"use strict";window.LoginView=Backbone.View.extend({el:"#content",el2:".header",el3:".footer",loggedIn:!1,loginCounter:0,events:{"keyPress #loginForm input":"keyPress","click #submitLogin":"validate","submit #dbForm":"goTo","click #logout":"logout","change #loginDatabase":"renderDBS"},template:templateEngine.createTemplate("loginView.ejs"),render:function(a){var b=this;if($(this.el).html(this.template.render({})),$(this.el2).hide(),$(this.el3).hide(),frontendConfig.authenticationEnabled&&a!==!0)window.setTimeout(function(){$("#loginUsername").focus()},300);else{var c=arangoHelper.databaseUrl("/_api/database/user");frontendConfig.authenticationEnabled===!1&&($("#logout").hide(),$(".login-window #databases").css("height","90px")),$("#loginForm").hide(),$(".login-window #databases").show(),$.ajax(c).success(function(a){$("#loginDatabase").html(""),_.each(a.result,function(a){$("#loginDatabase").append("")}),b.renderDBS()}).error(function(){console.log("could not fetch user db data")})}return $(".bodyWrapper").show(),this},clear:function(){$("#loginForm input").removeClass("form-error"),$(".wrong-credentials").hide()},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.validate()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.validate())},validate:function(a){a.preventDefault(),this.clear();var b=$("#loginUsername").val(),c=$("#loginPassword").val();b&&this.collection.login(b,c,this.loginCallback.bind(this,b,c))},loginCallback:function(a,b,c){var d=this;if(c){if(0===d.loginCounter)return d.loginCounter++,void d.collection.login(a,b,this.loginCallback.bind(this,a));d.loginCounter=0,$(".wrong-credentials").show(),$("#loginDatabase").html(""),$("#loginDatabase").append("")}else{var e=arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database","_system");frontendConfig.authenticationEnabled===!1&&(e=arangoHelper.databaseUrl("/_api/database/user")),$(".wrong-credentials").hide(),d.loggedIn=!0,$.ajax(e).success(function(a){_.each(a.result,function(b,c){"rw"!==b&&delete a.result[c]}),$("#loginForm").hide(),$(".login-window #databases").show(),$("#loginDatabase").html(""),_.each(a.result,function(a,b){$("#loginDatabase").append("")}),d.renderDBS()}).error(function(){$(".wrong-credentials").show()})}},renderDBS:function(){if(0===$("#loginDatabase").children().length)$("#dbForm").remove(),$(".login-window #databases").prepend('
    You do not have permission to a database.
    ');else{var a=$("#loginDatabase").val();$("#goToDatabase").html("Select DB: "+a),window.setTimeout(function(){$("#goToDatabase").focus()},300)}},logout:function(){this.collection.logout()},goTo:function(a){a.preventDefault();var b=$("#loginUsername").val(),c=$("#loginDatabase").val();window.App.dbSet=c;var d=function(a){a&&arangoHelper.arangoError("User","Could not fetch user settings")},e=window.location.protocol+"//"+window.location.host+frontendConfig.basePath+"/_db/"+c+"/_admin/aardvark/index.html";window.location.href=e,$(this.el2).show(),$(this.el3).show(),$(".bodyWrapper").show(),$(".navbar").show(),$("#currentUser").text(b),this.collection.loadUserSettings(d)}})}(),function(){"use strict";window.LogsView=window.PaginationView.extend({el:"#content",id:"#logContent",paginationDiv:"#logPaginationDiv",idPrefix:"logTable",fetchedAmount:!1,initialize:function(a){this.options=a,this.convertModelToJSON()},currentLoglevel:"logall",events:{"click #arangoLogTabbar button":"setActiveLoglevel","click #logTable_first":"firstPage","click #logTable_last":"lastPage"},template:templateEngine.createTemplate("logsView.ejs"),tabbar:templateEngine.createTemplate("arangoTabbar.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),tabbarElements:{id:"arangoLogTabbar",titles:[["All","logall"],["Info","loginfo"],["Error","logerror"],["Warning","logwarning"],["Debug","logdebug"]]},tableDescription:{id:"arangoLogTable",titles:["Loglevel","Date","Message"],rows:[]},convertedRows:null,setActiveLoglevel:function(a){$(".arangodb-tabbar").removeClass("arango-active-tab"),this.currentLoglevel!==a.currentTarget.id&&(this.currentLoglevel=a.currentTarget.id,this.convertModelToJSON())},initTotalAmount:function(){var a=this;this.collection=this.options[this.currentLoglevel],this.collection.fetch({data:$.param({test:!0}),success:function(){a.convertModelToJSON()}}),this.fetchedAmount=!0},invertArray:function(a){var b,c=[],d=0;for(b=a.length-1;b>=0;b--)c[d]=a[b],d++;return c},convertModelToJSON:function(){if(!this.fetchedAmount)return void this.initTotalAmount();var a,b=this,c=[];this.collection=this.options[this.currentLoglevel],this.collection.fetch({success:function(){b.collection.each(function(b){a=new Date(1e3*b.get("timestamp")),c.push([b.getLogStatus(),arangoHelper.formatDT(a),b.get("text")])}),b.tableDescription.rows=b.invertArray(c),b.render()}})},render:function(){return $(this.el).html(this.template.render({})),$(this.id).html(this.tabbar.render({content:this.tabbarElements})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#"+this.currentLoglevel).addClass("arango-active-tab"),$("#logContent").append('
    '),this.renderPagination(),this},rerender:function(){this.convertModelToJSON()}})}(),function(){"use strict";var a=function(a,b,c,d){return{type:a,title:b,callback:c,confirm:d}},b=function(a,b,c,d,e,f,g,h,i,j,k){var l={type:a,label:b};return void 0!==c&&(l.value=c),void 0!==d&&(l.info=d),void 0!==e&&(l.placeholder=e),void 0!==f&&(l.mandatory=f),void 0!==h&&(l.addDelete=h),void 0!==i&&(l.addAdd=i),void 0!==j&&(l.maxEntrySize=j),void 0!==k&&(l.tags=k),g&&(l.validateInput=function(){return g}),l};window.ModalView=Backbone.View.extend({_validators:[],_validateWatchers:[],baseTemplate:templateEngine.createTemplate("modalBase.ejs"),tableTemplate:templateEngine.createTemplate("modalTable.ejs"),el:"#modalPlaceholder",contentEl:"#modalContent",hideFooter:!1,confirm:{list:"#modal-delete-confirmation",yes:"#modal-confirm-delete",no:"#modal-abort-delete"},enabledHotkey:!1,enableHotKeys:!0,buttons:{SUCCESS:"success",NOTIFICATION:"notification",DELETE:"danger",NEUTRAL:"neutral",CLOSE:"close"},tables:{READONLY:"readonly",TEXT:"text",BLOB:"blob",PASSWORD:"password",SELECT:"select",SELECT2:"select2",CHECKBOX:"checkbox"},initialize:function(){Object.freeze(this.buttons),Object.freeze(this.tables)},createModalHotkeys:function(){$(this.el).unbind("keydown"),$(this.el).unbind("return"),$(this.el).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body input").unbind("keydown"),$(".modal-body input").unbind("return"),$(".modal-body input",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body select").unbind("keydown"),$(".modal-body select").unbind("return"),$(".modal-body select",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()})},createInitModalHotkeys:function(){var a=this;$(this.el).bind("keydown","left",function(){a.navigateThroughButtons("left")}),$(this.el).bind("keydown","right",function(){a.navigateThroughButtons("right")})},navigateThroughButtons:function(a){var b=$(".createModalDialog .modal-footer button").is(":focus");b===!1?"left"===a?$(".createModalDialog .modal-footer button").first().focus():"right"===a&&$(".createModalDialog .modal-footer button").last().focus():b===!0&&("left"===a?$(":focus").prev().focus():"right"===a&&$(":focus").next().focus())},createCloseButton:function(b,c){var d=this;return a(this.buttons.CLOSE,b,function(){d.hide(),c&&c()})},createSuccessButton:function(b,c){return a(this.buttons.SUCCESS,b,c)},createNotificationButton:function(b,c){return a(this.buttons.NOTIFICATION,b,c)},createDeleteButton:function(b,c,d){return a(this.buttons.DELETE,b,c,d)},createNeutralButton:function(b,c){return a(this.buttons.NEUTRAL,b,c)},createDisabledButton:function(b){var c=a(this.buttons.NEUTRAL,b);return c.disabled=!0,c},createReadOnlyEntry:function(a,c,d,e,f,g){var h=b(this.tables.READONLY,c,d,e,void 0,void 0,void 0,f,g);return h.id=a,h},createTextEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.TEXT,c,d,e,f,g,h);return i.id=a,i},createBlobEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.BLOB,c,d,e,f,g,h);return i.id=a,i},createSelect2Entry:function(a,c,d,e,f,g,h,i,j,k){var l=b(this.tables.SELECT2,c,d,e,f,g,void 0,h,i,j,k);return l.id=a,l},createPasswordEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.PASSWORD,c,d,e,f,g,h);return i.id=a,i},createCheckboxEntry:function(a,c,d,e,f){var g=b(this.tables.CHECKBOX,c,d,e);return g.id=a,f&&(g.checked=f),g},createSelectEntry:function(a,c,d,e,f){var g=b(this.tables.SELECT,c,null,e);return g.id=a,d&&(g.selected=d),g.options=f,g},createOptionEntry:function(a,b){return{label:a,value:b||a}},show:function(a,b,c,d,e,f,g,h,i,j){var k,l,m=this,n=!1;c=c||[],h=Boolean(h),this.clearValidators(),c.length>0?(c.forEach(function(a){a.type===m.buttons.CLOSE&&(n=!0),a.type===m.buttons.DELETE&&(l=l||a.confirm)}),n||(k=c.pop(),c.push(m.createCloseButton("Cancel")),c.push(k))):c.push(m.createCloseButton("Close")),j?($("#"+j).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),$("#"+j+" #modal-dialog").removeClass("fade hide modal"),$("#"+j+" .modal-header").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .button-close").remove(),0===$("#"+j+" .modal-footer").children().length&&$("#"+j+" .modal-footer").remove()):$(this.el).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),_.each(c,function(a,b){if(!a.disabled&&a.callback){if(a.type===m.buttons.DELETE&&!h){var c="#modalButton"+b;return j&&(c="#"+j+" #modalButton"+b),void $(c).bind("click",function(){j?($("#"+j+" "+m.confirm.yes).unbind("click"),$("#"+j+" "+m.confirm.yes).bind("click",a.callback),$("#"+j+" "+m.confirm.list).css("display","block")):($(m.confirm.yes).unbind("click"),$(m.confirm.yes).bind("click",a.callback),$(m.confirm.list).css("display","block"))})}j?$("#"+j+" #modalButton"+b).bind("click",a.callback):$("#modalButton"+b).bind("click",a.callback)}}),j?$("#"+j+" "+this.confirm.no).bind("click",function(){$("#"+j+" "+m.confirm.list).css("display","none")}):$(this.confirm.no).bind("click",function(){$(m.confirm.list).css("display","none")});var o;if("string"==typeof a)o=templateEngine.createTemplate(a),j?$("#"+j+" .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f})):$("#modalPlaceholder .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f}));else{var p=0;_.each(a,function(a){o=templateEngine.createTemplate(a),$(".createModalDialog .modal-body .tab-content #"+i[p]).html(o.render({content:d,advancedContent:e,info:f})),p++})}$(".createModalDialog .modalTooltips").tooltip({position:{my:"left top",at:"right+55 top-1"}});var q=d||[];e&&e.content&&(q=q.concat(e.content)),_.each(q,function(a){m.modalBindValidation(a),a.type===m.tables.SELECT2&&$("#"+a.id).select2({tags:a.tags||[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:a.maxEntrySize||8})}),g&&(this.events=g,this.delegateEvents()),$("#accordion2")&&($("#accordion2 .accordion-toggle").bind("click",function(){$("#collapseOne").is(":visible")?($("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)):($("#collapseOne").show(),setTimeout(function(){$(".accordion-toggle").removeClass("collapsed")},100))}),$("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)),j||$("#modal-dialog").modal("show"),this.enabledHotkey===!1&&(this.createInitModalHotkeys(),this.enabledHotkey=!0),this.enableHotKeys&&this.createModalHotkeys();var r;r=j?$("#"+j+" #modal-dialog").find("input"):$("#modal-dialog").find("input"),r&&setTimeout(function(){r=j?$("#"+j+" #modal-dialog"):$("#modal-dialog"),r.length>0&&(r=r.find("input"),r.length>0&&$(r[0]).focus())},400)},modalBindValidation:function(a){var b=this;if(a.hasOwnProperty("id")&&a.hasOwnProperty("validateInput")){var c=function(){var b=$("#"+a.id),c=a.validateInput(b),d=!1;return _.each(c,function(a){var c=b.val();if(a.rule||(a={rule:a}),"function"==typeof a.rule)try{a.rule(c)}catch(e){d=a.msg||e.message}else{var f=Joi.validate(c,a.rule);f.error&&(d=a.msg||f.error.message)}return d?!1:void 0}),d?d:void 0},d=$("#"+a.id);d.on("keyup focusout",function(){var a=c(),e=d.next()[0];a?(d.addClass("invalid-input"),e?$(e).text(a):d.after('

    '+a+"

    "),$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled")):(d.removeClass("invalid-input"),e&&$(e).remove(),b.modalTestAll())}),this._validators.push(c),this._validateWatchers.push(d)}},modalTestAll:function(){var a=_.map(this._validators,function(a){return a()}),b=_.any(a);return b?$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled"):$(".createModalDialog .modal-footer .button-success").prop("disabled",!1).removeClass("disabled"),!b},clearValidators:function(){this._validators=[],_.each(this._validateWatchers,function(a){a.unbind("keyup focusout")}),this._validateWatchers=[]},hide:function(){this.clearValidators(),$("#modal-dialog").modal("hide")}})}(),function(){"use strict";window.NavigationView=Backbone.View.extend({el:"#navigationBar",subEl:"#subNavigationBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab","click li":"switchTab","click .arangodbLogo":"selectMenuItem","mouseenter .dropdown > *":"showDropdown","click .shortcut-icons p":"showShortcutModal","mouseleave .dropdown":"hideDropdown"},renderFirst:!0,activeSubMenu:void 0,changeDB:function(){window.location.hash="#login"},initialize:function(a){var b=this;this.userCollection=a.userCollection,this.currentDB=a.currentDB,this.dbSelectionView=new window.DBSelectionView({collection:a.database,current:this.currentDB}),this.userBarView=new window.UserBarView({userCollection:this.userCollection}),this.notificationView=new window.NotificationView({collection:a.notificationCollection}),this.statisticBarView=new window.StatisticBarView({currentDB:this.currentDB}),this.isCluster=a.isCluster,this.handleKeyboardHotkeys(),Backbone.history.on("all",function(){b.selectMenuItem()})},showShortcutModal:function(){arangoHelper.hotkeysFunctions.showHotkeysModal()},handleSelectDatabase:function(){this.dbSelectionView.render($("#dbSelect"))},template:templateEngine.createTemplate("navigationView.ejs"),templateSub:templateEngine.createTemplate("subNavigationView.ejs"),render:function(){var a=this;$(this.el).html(this.template.render({currentDB:this.currentDB,isCluster:this.isCluster})),"_system"!==this.currentDB.get("name")&&$("#dashboard").parent().remove(),$(this.subEl).html(this.templateSub.render({currentDB:this.currentDB.toJSON()})),this.dbSelectionView.render($("#dbSelect"));var b=function(a){a||this.userBarView.render()}.bind(this);return this.userCollection.whoAmI(b),this.renderFirst&&(this.renderFirst=!1,this.selectMenuItem(),$(".arangodbLogo").on("click",function(){a.selectMenuItem()}),$("#dbStatus").on("click",function(){a.changeDB()})),a.resize(),this},resize:function(){var a=$(window).height()-$(".subMenuEntries").first().height();$("#navigationBar").css("min-height",a),$("#navigationBar").css("height",a)},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},handleKeyboardHotkeys:function(){arangoHelper.enableKeyboardHotkeys(!0)},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id,d=!1;$(b).hasClass("fa")||(""===c&&(c=$(b).attr("class")),"links"===c?(d=!0,$("#link_dropdown").slideToggle(1),a.preventDefault()):"tools"===c?(d=!0,$("#tools_dropdown").slideToggle(1),a.preventDefault()):"dbselection"===c&&(d=!0,$("#dbs_dropdown").slideToggle(1),a.preventDefault()),d||(window.App.navigate(c,{trigger:!0}),a.preventDefault()))},handleSelectNavigation:function(){var a=this;$("#arangoCollectionSelect").change(function(){a.navigateBySelect()})},subViewConfig:{documents:"collections",collection:"collections"},subMenuConfig:{cluster:[{name:"Dashboard",view:void 0,active:!0},{name:"Logs",view:void 0,disabled:!0}],collections:[{name:"",view:void 0,active:!1}],queries:[{name:"Editor",route:"query",active:!0},{name:"Running Queries",route:"queryManagement",params:{active:!0},active:void 0},{name:"Slow Query History",route:"queryManagement",params:{active:!1},active:void 0}]},renderSubMenu:function(a){var b=this;if(void 0===a&&(a=window.isCluster?"cluster":"dashboard"),this.subMenuConfig[a]){$(this.subEl+" .bottom").html("");var c="";_.each(this.subMenuConfig[a],function(a){c=a.active?"active":"",a.disabled&&(c="disabled"),$(b.subEl+" .bottom").append('"),a.disabled||$(b.subEl+" .bottom").children().last().bind("click",function(c){b.activeSubMenu=a,b.renderSubView(a,c)})})}},renderSubView:function(a,b){window.App[a.route]&&(window.App[a.route].resetState&&window.App[a.route].resetState(),window.App[a.route]()),$(this.subEl+" .bottom").children().removeClass("active"),$(b.currentTarget).addClass("active")},switchTab:function(a){var b=$(a.currentTarget).children().first().attr("id");b&&this.selectMenuItem(b+"-menu")},selectMenuItem:function(a,b){void 0===a&&(a=window.location.hash.split("/")[0],a=a.substr(1,a.length-1)),""===a?a=window.App.isCluster?"cluster":"dashboard":"cNodes"!==a&&"dNodes"!==a||(a="nodes");try{this.renderSubMenu(a.split("-")[0])}catch(c){this.renderSubMenu(a)}$(".navlist li").removeClass("active"),"string"==typeof a&&(b?$("."+this.subViewConfig[a]+"-menu").addClass("active"):a&&($("."+a).addClass("active"),$("."+a+"-menu").addClass("active"))),arangoHelper.hideArangoNotifications()},showSubDropdown:function(a){$(a.currentTarget).find(".subBarDropdown").toggle()},showDropdown:function(a){var b=a.target||a.srcElement,c=b.id;"links"===c||"link_dropdown"===c||"links"===a.currentTarget.id?$("#link_dropdown").fadeIn(1):"tools"===c||"tools_dropdown"===c||"tools"===a.currentTarget.id?$("#tools_dropdown").fadeIn(1):"dbselection"!==c&&"dbs_dropdown"!==c&&"dbselection"!==a.currentTarget.id||$("#dbs_dropdown").fadeIn(1)},hideDropdown:function(a){var b=a.target||a.srcElement;b=$(b).parent(),$("#link_dropdown").fadeOut(1),$("#tools_dropdown").fadeOut(1),$("#dbs_dropdown").fadeOut(1)}})}(),function(){"use strict";window.NodesView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView.ejs"),interval:5e3,knownServers:[],events:{"click #nodesContent .pure-table-body .pure-table-row":"navigateToNode"},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.toRender=a.toRender,this.intervalFunction=window.setInterval(function(){"#cNodes"!==window.location.hash&&"#dNodes"!==window.location.hash&&"#nodes"!==window.location.hash||b.checkNodesState()},this.interval))},checkNodesState:function(){var a=function(a){_.each(a,function(a,b){_.each($(".pure-table-row"),function(c){$(c).attr("node")===b&&("GOOD"===a.Status?($(c).removeClass("noHover"),$(c).find(".state").html('')):($(c).addClass("noHover"),$(c).find(".state").html('')))})})};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(b){a(b.Health)}})},navigateToNode:function(a){if("#dNodes"!==window.location.hash&&!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node");window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(){var a=function(){this.continueRender()}.bind(this);this.initDoneCoords?a():this.waitForCoordinators(a)},continueRender:function(){var a;a="coordinator"===this.toRender?this.coordinators.toJSON():this.dbServers.toJSON(),this.$el.html(this.template.render({coords:a,type:this.toRender})),window.arangoHelper.buildNodesSubNav(this.toRender),this.checkNodesState()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(this.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView2=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView2.ejs"),interval:1e4,knownServers:[],events:{"click #nodesContent .coords-nodes .pure-table-row":"navigateToNode","click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},initialize:function(){var a=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#nodes"===window.location.hash&&a.render(!1)},this.interval))},navigateToNode:function(a){if(!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node").slice(0,-5);window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(a){var b=this,c=function(a){$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",success:function(c){b.continueRender(a,c)}})};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){c(a.Health)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch cluster information")}}),a!==!1&&arangoHelper.buildNodesSubNav("Overview")},continueRender:function(a,b){var c={},d={},e=!1;_.each(a,function(a,b){"Coordinator"===a.Role?c[b]=a:"DBServer"===a.Role&&(d[b]=a)}),null!==b.numberOfDBServers&&null!==b.numberOfCoordinators&&(e=!0);var f=function(a){this.$el.html(this.template.render({coords:c,dbs:d,scaling:e,scaleProperties:a,plannedDBs:b.numberOfDBServers,plannedCoords:b.numberOfCoordinators})),e||($(".title").css("position","relative"),$(".title").css("top","-4px"),$(".sectionHeader .information").css("margin-top","-3px"))}.bind(this);this.renderCounts(e,f)},updatePlanned:function(a){a.numberOfCoordinators&&($("#plannedCoords").val(a.numberOfCoordinators),this.renderCounts(!0)),a.numberOfDBServers&&($("#plannedDBs").val(a.numberOfDBServers),this.renderCounts(!0))},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},renderCounts:function(a,b){var c=function(b,c,d,e){var f=''+c+'';d&&a===!0&&(f=f+''+d+''),e&&(f=f+''+e+''),$(b).html(f),a||($(".title").css("position","relative"),$(".title").css("top","-4px"))},d=function(a){var d=0,e=0,f=0,g=0,h=0,i=0;_.each(a,function(a){"Coordinator"===a.Role?"GOOD"===a.Status?e++:d++:"DBServer"===a.Role&&("GOOD"===a.Status?g++:h++)}),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){f=Math.abs(e+d-a.numberOfCoordinators),i=Math.abs(g+h-a.numberOfDBServers),b?b({coordsPending:f,coordsOk:e,coordsErrors:d,dbsPending:i,dbsOk:g,dbsErrors:h}):(c("#infoDBs",g,i,h),c("#infoCoords",e,f,d))}})};$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,success:function(a){d(a.Health)}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).val(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodeView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodeView.ejs"),interval:5e3,dashboards:[],events:{},initialize:function(a){window.App.isCluster&&(this.coordinators=a.coordinators,this.dbServers=a.dbServers,this.coordname=a.coordname,this.updateServerTime())},breadcrumb:function(a){$("#subNavigationBar .breadcrumb").html("Node: "+a)},render:function(){this.$el.html(this.template.render({coords:[]}));var a=function(){this.continueRender(),this.breadcrumb(this.coordname),$(window).trigger("resize")}.bind(this);this.initCoordDone||this.waitForCoordinators(),this.initDBDone?(this.coordname=window.location.hash.split("/")[1],this.coordinator=this.coordinators.findWhere({name:this.coordname}),a()):this.waitForDBServers(a)},continueRender:function(){var a=this;this.dashboards[this.coordinator.get("name")]=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:window.App.arangoDatabase,serverToShow:{raw:this.coordinator.get("address"),isDBServer:!1,endpoint:this.coordinator.get("protocol")+"://"+this.coordinator.get("address"),target:this.coordinator.get("name")}}),this.dashboards[this.coordinator.get("name")].render(),window.setTimeout(function(){a.dashboards[a.coordinator.get("name")].resize()},500)},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.coordinator=b.coordinators.findWhere({name:b.coordname}),b.initCoordDone=!0,a&&a())},200)},waitForDBServers:function(a){var b=this;window.setTimeout(function(){0===b.dbServers[0].length?b.waitForDBServers(a):(b.initDBDone=!0,b.dbServer=b.dbServers[0],b.dbServer.each(function(a){"DBServer001"===a.get("name")&&(b.dbServer=a)}),a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NotificationView=Backbone.View.extend({events:{"click .navlogo #stat_hd":"toggleNotification","click .notificationItem .fa":"removeNotification","click #removeAllNotifications":"removeAllNotifications"},initialize:function(){this.collection.bind("add",this.renderNotifications.bind(this)),this.collection.bind("remove",this.renderNotifications.bind(this)),this.collection.bind("reset",this.renderNotifications.bind(this)),window.setTimeout(function(){frontendConfig.authenticationEnabled===!1&&frontendConfig.isCluster===!1&&arangoHelper.showAuthDialog()===!0&&window.arangoHelper.arangoWarning("Warning","Authentication is disabled. Do not use this setup in production mode.")},2e3)},notificationItem:templateEngine.createTemplate("notificationItem.ejs"),el:"#notificationBar",template:templateEngine.createTemplate("notificationView.ejs"),toggleNotification:function(){var a=this.collection.length;0!==a&&$("#notification_menu").toggle()},removeAllNotifications:function(){$.noty.clearQueue(),$.noty.closeAll(),this.collection.reset(),$("#notification_menu").hide()},removeNotification:function(a){var b=a.target.id;this.collection.get(b).destroy()},renderNotifications:function(a,b,c){if(c&&c.add){var d,e=this.collection.at(this.collection.length-1),f=e.get("title"),g=3e3,h=["click"];if(e.get("content")&&(f=f+": "+e.get("content")),"error"===e.get("type")?(g=!1,h=["button"],d=[{addClass:"button-danger",text:"Close",onClick:function(a){a.close()}}]):"warning"===e.get("type")&&(g=15e3,d=[{addClass:"button-warning",text:"Close",onClick:function(a){a.close()}},{addClass:"button-danger",text:"Don't show again.",onClick:function(a){a.close(),window.arangoHelper.doNotShowAgain()}}]),$.noty.clearQueue(),$.noty.closeAll(),noty({theme:"relax",text:f,template:'
    ',maxVisible:1,closeWith:["click"],type:e.get("type"),layout:"bottom",timeout:g,buttons:d,animation:{open:{height:"show"},close:{height:"hide"},easing:"swing",speed:200,closeWith:h}}),"success"===e.get("type"))return void e.destroy()}$("#stat_hd_counter").text(this.collection.length),0===this.collection.length?($("#stat_hd").removeClass("fullNotification"),$("#notification_menu").hide()):$("#stat_hd").addClass("fullNotification"),$(".innerDropdownInnerUL").html(this.notificationItem.render({notifications:this.collection})),$(".notificationInfoIcon").tooltip({position:{my:"left top",at:"right+55 top-1"}})},render:function(){return $(this.el).html(this.template.render({notifications:this.collection})),this.renderNotifications(),this.delegateEvents(),this.el}})}(),function(){"use strict";window.ProgressView=Backbone.View.extend({template:templateEngine.createTemplate("progressBase.ejs"),el:"#progressPlaceholder",el2:"#progressPlaceholderIcon",toShow:!1,lastDelay:0,action:function(){},events:{"click .progress-action button":"performAction"},performAction:function(){"function"==typeof this.action&&this.action(),window.progressView.hide()},initialize:function(){},showWithDelay:function(a,b,c,d){var e=this;e.toShow=!0,e.lastDelay=a,setTimeout(function(){e.toShow===!0&&e.show(b,c,d)},e.lastDelay)},show:function(a,b,c){$(this.el).html(this.template.render({})),$(".progress-text").text(a),c?$(".progress-action").html('"):$(".progress-action").html(''),b?this.action=b:this.action=this.hide(),$(this.el).show()},hide:function(){var a=this;a.toShow=!1,$(this.el).hide(),this.action=function(){}}})}(),function(){"use strict";window.QueryManagementView=Backbone.View.extend({el:"#content",id:"#queryManagementContent",templateActive:templateEngine.createTemplate("queryManagementViewActive.ejs"),templateSlow:templateEngine.createTemplate("queryManagementViewSlow.ejs"), +table:templateEngine.createTemplate("arangoTable.ejs"),active:!0,shouldRender:!0,timer:0,refreshRate:2e3,initialize:function(){var a=this;this.activeCollection=new window.QueryManagementActive,this.slowCollection=new window.QueryManagementSlow,this.convertModelToJSON(!0),window.setInterval(function(){"#queries"===window.location.hash&&window.VISIBLE&&a.shouldRender&&"queryManagement"===arangoHelper.getCurrentSub().route&&(a.active?$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!0):$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!1))},a.refreshRate)},events:{"click #deleteSlowQueryHistory":"deleteSlowQueryHistoryModal","click #arangoQueryManagementTable .fa-minus-circle":"deleteRunningQueryModal"},tableDescription:{id:"arangoQueryManagementTable",titles:["ID","Query String","Runtime","Started",""],rows:[],unescaped:[!1,!1,!1,!1,!0]},deleteRunningQueryModal:function(a){this.killQueryId=$(a.currentTarget).attr("data-id");var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,"Running Query","Do you want to kill the running query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Kill",this.killRunningQuery.bind(this))),window.modalView.show("modalTable.ejs","Kill Running Query",b,c),$(".modal-delete-confirmation strong").html("Really kill?")},killRunningQuery:function(){this.collection.killRunningQuery(this.killQueryId,this.killRunningQueryCallback.bind(this)),window.modalView.hide()},killRunningQueryCallback:function(){this.convertModelToJSON(!0),this.renderActive()},deleteSlowQueryHistoryModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry(void 0,"Slow Query Log","Do you want to delete the slow query log entries?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.deleteSlowQueryHistory.bind(this))),window.modalView.show("modalTable.ejs","Delete Slow Query Log",a,b)},deleteSlowQueryHistory:function(){this.collection.deleteSlowQueryHistory(this.slowQueryCallback.bind(this)),window.modalView.hide()},slowQueryCallback:function(){this.convertModelToJSON(!1),this.renderSlow()},render:function(){var a=arangoHelper.getCurrentSub();a.params.active?(this.active=!0,this.convertModelToJSON(!0)):(this.active=!1,this.convertModelToJSON(!1))},addEvents:function(){var a=this;$("#queryManagementContent tbody").on("mousedown",function(){clearTimeout(a.timer),a.shouldRender=!1}),$("#queryManagementContent tbody").on("mouseup",function(){a.timer=window.setTimeout(function(){a.shouldRender=!0},3e3)})},renderActive:function(){this.$el.html(this.templateActive.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#activequeries").addClass("arango-active-tab"),this.addEvents()},renderSlow:function(){this.$el.html(this.templateSlow.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#slowqueries").addClass("arango-active-tab"),this.addEvents()},convertModelToJSON:function(a){var b=this,c=[];a===!0?this.collection=this.activeCollection:this.collection=this.slowCollection,this.collection.fetch({success:function(){b.collection.each(function(b){var d="";a&&(d=''),c.push([b.get("id"),b.get("query"),b.get("runTime").toFixed(2)+" s",b.get("started"),d])});var d="No running queries.";a||(d="No slow queries."),0===c.length&&c.push([d,"","","",""]),b.tableDescription.rows=c,a?b.renderActive():b.renderSlow()}})}})}(),function(){"use strict";window.QueryView=Backbone.View.extend({el:"#content",bindParamId:"#bindParamEditor",myQueriesId:"#queryTable",template:templateEngine.createTemplate("queryView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),outputDiv:"#outputEditors",outputTemplate:templateEngine.createTemplate("queryViewOutput.ejs"),outputCounter:0,allowUpload:!1,customQueries:[],queries:[],state:{lastQuery:{query:void 0,bindParam:void 0}},graphs:[],settings:{aqlWidth:void 0},currentQuery:{},initDone:!1,bindParamRegExp:/@(@?\w+\d*)/,bindParamTableObj:{},bindParamTableDesc:{id:"arangoBindParamTable",titles:["Key","Value"],rows:[]},myQueriesTableDesc:{id:"arangoMyQueriesTable",titles:["Name","Actions"],rows:[]},execPending:!1,aqlEditor:null,queryPreview:null,initialize:function(){this.refreshAQL()},allowParamToggle:!0,events:{"click #executeQuery":"executeQuery","click #explainQuery":"explainQuery","click #clearQuery":"clearQuery","click .outputEditorWrapper #downloadQueryResult":"downloadQueryResult","click .outputEditorWrapper .switchAce span":"switchAce","click .outputEditorWrapper .fa-close":"closeResult","click #toggleQueries1":"toggleQueries","click #toggleQueries2":"toggleQueries","click #saveCurrentQuery":"addAQL","click #exportQuery":"exportCustomQueries","click #importQuery":"openImportDialog","click #removeResults":"removeResults","click #querySpotlight":"showSpotlight","click #deleteQuery":"selectAndDeleteQueryFromTable","click #explQuery":"selectAndExplainQueryFromTable","keydown #arangoBindParamTable input":"updateBindParams","change #arangoBindParamTable input":"updateBindParams","click #arangoMyQueriesTable tbody tr":"showQueryPreview","dblclick #arangoMyQueriesTable tbody tr":"selectQueryFromTable","click #arangoMyQueriesTable #copyQuery":"selectQueryFromTable","click #closeQueryModal":"closeExportDialog","click #confirmQueryImport":"importCustomQueries","click #switchTypes":"toggleBindParams","click #arangoMyQueriesTable #runQuery":"selectAndRunQueryFromTable"},clearQuery:function(){this.aqlEditor.setValue("",1)},toggleBindParams:function(){this.allowParamToggle?($("#bindParamEditor").toggle(),$("#bindParamAceEditor").toggle(),"JSON"===$("#switchTypes").text()?($("#switchTypes").text("Table"),this.updateQueryTable(),this.bindParamAceEditor.setValue(JSON.stringify(this.bindParamTableObj,null," "),1),this.deselect(this.bindParamAceEditor)):($("#switchTypes").text("JSON"),this.renderBindParamTable())):arangoHelper.arangoError("Bind parameter","Could not parse bind parameter"),this.resize()},openExportDialog:function(){$("#queryImportDialog").modal("show")},closeExportDialog:function(){$("#queryImportDialog").modal("hide")},initQueryImport:function(){var a=this;a.allowUpload=!1,$("#importQueries").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],a.allowUpload=!0,$("#confirmQueryImport").removeClass("disabled")})},importCustomQueries:function(){var a=this;if(this.allowUpload===!0){var b=function(){this.collection.fetch({success:function(){a.updateLocalQueries(),a.updateQueryTable(),a.resize(),a.allowUpload=!1,$("#confirmQueryImport").addClass("disabled"),$("#queryImportDialog").modal("hide")},error:function(a){arangoHelper.arangoError("Custom Queries",a.responseText)}})}.bind(this);a.collection.saveImportQueries(a.file,b.bind(this))}},removeResults:function(){$(".outputEditorWrapper").hide("fast",function(){$(".outputEditorWrapper").remove()}),$("#removeResults").hide()},getCustomQueryParameterByName:function(a){return this.collection.findWhere({name:a}).get("parameter")},getCustomQueryValueByName:function(a){var b;return a&&(b=this.collection.findWhere({name:a})),b?b=b.get("value"):_.each(this.queries,function(c){c.name===a&&(b=c.value)}),b},openImportDialog:function(){$("#queryImportDialog").modal("show")},closeImportDialog:function(){$("#queryImportDialog").modal("hide")},exportCustomQueries:function(){var a;$.ajax("whoAmI?_="+Date.now()).success(function(b){a=b.user,null!==a&&a!==!1||(a="root");var c="query/download/"+encodeURIComponent(a);arangoHelper.download(c)})},toggleQueries:function(a){a&&"toggleQueries1"===a.currentTarget.id?(this.updateQueryTable(),$("#bindParamAceEditor").hide(),$("#bindParamEditor").show(),$("#switchTypes").text("JSON"),$(".aqlEditorWrapper").first().width(.33*$(window).width()),this.queryPreview.setValue("No query selected.",1),this.deselect(this.queryPreview)):void 0===this.settings.aqlWidth?$(".aqlEditorWrapper").first().width(.33*$(window).width()):$(".aqlEditorWrapper").first().width(this.settings.aqlWidth),this.resize();var b=["aqlEditor","queryTable","previewWrapper","querySpotlight","bindParamEditor","toggleQueries1","toggleQueries2","saveCurrentQuery","querySize","executeQuery","switchTypes","explainQuery","importQuery","exportQuery"];_.each(b,function(a){$("#"+a).toggle()}),this.resize()},showQueryPreview:function(a){$("#arangoMyQueriesTable tr").removeClass("selected"),$(a.currentTarget).addClass("selected");var b=this.getQueryNameFromTable(a);this.queryPreview.setValue(this.getCustomQueryValueByName(b),1),this.deselect(this.queryPreview)},getQueryNameFromTable:function(a){var b;return $(a.currentTarget).is("tr")?b=$(a.currentTarget).children().first().text():$(a.currentTarget).is("span")&&(b=$(a.currentTarget).parent().parent().prev().text()),b},deleteQueryModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,a,"Do you want to delete the query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Delete",this.deleteAQL.bind(this,a))),window.modalView.show("modalTable.ejs","Delete Query",b,c)},selectAndDeleteQueryFromTable:function(a){var b=this.getQueryNameFromTable(a);this.deleteQueryModal(b)},selectAndExplainQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.explainQuery()},selectAndRunQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.executeQuery()},selectQueryFromTable:function(a,b){var c=this.getQueryNameFromTable(a),d=this;void 0===b&&this.toggleQueries(),this.state.lastQuery.query=this.aqlEditor.getValue(),this.state.lastQuery.bindParam=this.bindParamTableObj,this.aqlEditor.setValue(this.getCustomQueryValueByName(c),1),this.fillBindParamTable(this.getCustomQueryParameterByName(c)),this.updateBindParams(),$("#lastQuery").remove(),$("#queryContent .arangoToolbarTop .pull-left").append('Previous Query'),$("#lastQuery").hide().fadeIn(500).on("click",function(){d.aqlEditor.setValue(d.state.lastQuery.query,1),d.fillBindParamTable(d.state.lastQuery.bindParam),d.updateBindParams(),$("#lastQuery").fadeOut(500,function(){$(this).remove()})})},deleteAQL:function(a){var b=function(a){a?arangoHelper.arangoError("Query","Could not delete query."):(this.updateLocalQueries(),this.updateQueryTable(),this.resize(),window.modalView.hide())}.bind(this),c=this.collection.findWhere({name:a});this.collection.remove(c),this.collection.saveCollectionQueries(b)},switchAce:function(a){var b=$(a.currentTarget).attr("counter"),c=a.currentTarget;if(!$(c).hasClass("disabled")){_.each($(c).parent().children(),function(a){$(a).removeClass("active")});var d=$(c).attr("val");$(c).addClass("active"),$(c).text(d.charAt(0).toUpperCase()+d.slice(1)),"JSON"===d?($("#outputEditor"+b).show(),$("#sentWrapper"+b).hide(),$("#outputGraph"+b).hide(),$("#outputTable"+b).hide()):"AQL"===d?($("#sentWrapper"+b).show(),$("#outputEditor"+b).hide(),$("#outputGraph"+b).hide(),$("#outputTable"+b).hide()):"Table"===d?($("#outputTable"+b).show(),$("#outputGraph"+b).hide(),$("#outputEditor"+b).hide(),$("#sentWrapper"+b).hide()):"Graph"===d&&($("#outputGraph"+b).show(),$("#outputTable"+b).hide(),$("#outputEditor"+b).hide(),$("#sentWrapper"+b).hide()),this.deselect(ace.edit("outputEditor"+b)),this.deselect(ace.edit("sentQueryEditor"+b)),this.deselect(ace.edit("sentBindParamEditor"+b))}},downloadQueryResult:function(a){var b=$(a.currentTarget).attr("counter"),c=ace.edit("sentQueryEditor"+b),d=c.getValue();if(""!==d||void 0!==d||null!==d){var e;e=0===Object.keys(this.bindParamTableObj).length?"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d}))):"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d,bindVars:this.bindParamTableObj}))),arangoHelper.download(e)}else arangoHelper.arangoError("Query error","could not query result.")},explainQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Explain"}));var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setReadOnly(!0),b.getSession().setMode("ace/mode/json"),b.setOption("vScrollBarAlwaysVisible",!0),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillExplain(b,c,a),this.outputCounter++}},fillExplain:function(a,b,c){b.setValue(this.aqlEditor.getValue(),1);var d=this,e=this.readQueryData();if($("#outputEditorWrapper"+c+" .queryExecutionTime").text(""),this.execPending=!1,e){var f=function(){$("#outputEditorWrapper"+c+" #spinner").remove(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditorWrapper"+c+" .switchAce").show()};$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/query/explain/"),data:e,contentType:"application/json",processData:!1,success:function(b){b.msg.includes("errorMessage")?(d.removeOutputEditor(c),arangoHelper.arangoError("Explain",b.msg)):(a.setValue(b.msg,1),d.deselect(a),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)),f()},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("Explain",b.errorMessage)}catch(e){arangoHelper.arangoError("Explain","ERROR")}d.handleResult(c),d.removeOutputEditor(c),f()}})}},removeOutputEditor:function(a){$("#outputEditorWrapper"+a).hide(),$("#outputEditorWrapper"+a).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()},getCachedQueryAfterRender:function(){var a=this.getCachedQuery(),b=this;if(null!==a&&void 0!==a&&""!==a&&(this.aqlEditor.setValue(a.query,1),this.aqlEditor.getSession().setUndoManager(new ace.UndoManager),""!==a.parameter||void 0!==a))try{b.bindParamTableObj=JSON.parse(a.parameter);var c;_.each($("#arangoBindParamTable input"),function(a){c=$(a).attr("name"),$(a).val(b.bindParamTableObj[c])}),b.setCachedQuery(b.aqlEditor.getValue(),JSON.stringify(b.bindParamTableObj))}catch(d){}},getCachedQuery:function(){if("undefined"!==Storage){var a=localStorage.getItem("cachedQuery");if(void 0!==a){var b=JSON.parse(a);this.currentQuery=b;try{this.bindParamTableObj=JSON.parse(b.parameter)}catch(c){}return b}}},setCachedQuery:function(a,b){if("undefined"!==Storage){var c={query:a,parameter:b};this.currentQuery=c,localStorage.setItem("cachedQuery",JSON.stringify(c))}},closeResult:function(a){var b=$("#"+$(a.currentTarget).attr("element")).parent();$(b).hide("fast",function(){$(b).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()})},fillSelectBoxes:function(){var a=1e3,b=$("#querySize");b.empty(),[100,250,500,1e3,2500,5e3,1e4,"all"].forEach(function(c){b.append('")})},render:function(){this.$el.html(this.template.render({})),this.afterRender(),this.initDone||(this.settings.aqlWidth=$(".aqlEditorWrapper").width()),this.initDone=!0,this.renderBindParamTable(!0)},afterRender:function(){var a=this;this.initAce(),this.initTables(),this.fillSelectBoxes(),this.makeResizeable(),this.initQueryImport(),this.getCachedQueryAfterRender(),$(".inputEditorWrapper").height($(window).height()/10*5+25),window.setTimeout(function(){a.resize()},10),a.deselect(a.aqlEditor)},showSpotlight:function(a){var b,c;if(void 0!==a&&"click"!==a.type||(a="aql"),"aql"===a)b=function(a){this.aqlEditor.insert(a),$("#aqlEditor .ace_text-input").focus()}.bind(this),c=function(){$("#aqlEditor .ace_text-input").focus()};else{var d=$(":focus");b=function(a){var b=$(d).val();$(d).val(b+a),$(d).focus()},c=function(){$(d).focus()}}window.spotlightView.show(b,c,a)},resize:function(){this.resizeFunction()},resizeFunction:function(){$("#toggleQueries1").is(":visible")?(this.aqlEditor.resize(),$("#arangoBindParamTable thead").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable thead th").css("width",$("#bindParamEditor").width()/2),$("#arangoBindParamTable tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody").css("height",$("#aqlEditor").height()-35),$("#arangoBindParamTable tbody").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody td").css("width",$("#bindParamEditor").width()/2)):(this.queryPreview.resize(),$("#arangoMyQueriesTable thead").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable thead th").css("width",$("#queryTable").width()/2),$("#arangoMyQueriesTable tr").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody").css("height",$("#queryTable").height()-35),$("#arangoMyQueriesTable tbody").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody td").css("width",$("#queryTable").width()/2))},makeResizeable:function(){var a=this;$(".aqlEditorWrapper").resizable({resize:function(){a.resizeFunction(),a.settings.aqlWidth=$(".aqlEditorWrapper").width()},handles:"e"}),$(".inputEditorWrapper").resizable({resize:function(){a.resizeFunction()},handles:"s"}),this.resizeFunction()},initTables:function(){this.$(this.bindParamId).html(this.table.render({content:this.bindParamTableDesc})),this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},checkType:function(a){var b="stringtype";try{a=JSON.parse(a),b=a instanceof Array?"arraytype":typeof a+"type"}catch(c){}return b},updateBindParams:function(a){var b,c=this;if(a){b=$(a.currentTarget).attr("name"),this.bindParamTableObj[b]=arangoHelper.parseInput(a.currentTarget);var d=["arraytype","objecttype","booleantype","numbertype","stringtype"];_.each(d,function(b){$(a.currentTarget).removeClass(b)}),$(a.currentTarget).addClass(c.checkType($(a.currentTarget).val()))}else _.each($("#arangoBindParamTable input"),function(a){b=$(a).attr("name"),c.bindParamTableObj[b]=arangoHelper.parseInput(a)});this.setCachedQuery(this.aqlEditor.getValue(),JSON.stringify(this.bindParamTableObj)),a&&((a.ctrlKey||a.metaKey)&&13===a.keyCode&&(a.preventDefault(),this.executeQuery()),(a.ctrlKey||a.metaKey)&&32===a.keyCode&&(a.preventDefault(),this.showSpotlight("bind")))},parseQuery:function(a){var b=0,c=1,d=2,e=3,f=4,g=5,h=6,i=7;a+=" ";var j,k,l,m=this,n=b,o=a.length,p=[];for(k=0;o>k;++k)switch(l=a.charAt(k),n){case b:"@"===l?(n=h,j=k):"'"===l?n=c:'"'===l?n=d:"`"===l?n=e:"´"===l?n=i:"/"===l&&o>k+1&&("/"===a.charAt(k+1)?(n=f,++k):"*"===a.charAt(k+1)&&(n=g,++k));break;case f:"\r"!==l&&"\n"!==l||(n=b);break;case g:"*"===l&&o>=k+1&&"/"===a.charAt(k+1)&&(n=b,++k);break;case c:"\\"===l?++k:"'"===l&&(n=b);break;case d:"\\"===l?++k:'"'===l&&(n=b);break;case e:"`"===l&&(n=b);break;case i:"´"===l&&(n=b);break;case h:/^[@a-zA-Z0-9_]+$/.test(l)||(p.push(a.substring(j,k)),n=b,j=void 0)}var q;return _.each(p,function(a,b){q=a.match(m.bindParamRegExp),q&&(p[b]=q[1])}),{query:a,bindParams:p}},checkForNewBindParams:function(){var a=this,b=this.parseQuery(this.aqlEditor.getValue()).bindParams,c={};_.each(b,function(b){a.bindParamTableObj[b]?c[b]=a.bindParamTableObj[b]:c[b]=""}),Object.keys(b).forEach(function(b){Object.keys(a.bindParamTableObj).forEach(function(d){b===d&&(c[b]=a.bindParamTableObj[d])})}),a.bindParamTableObj=c},renderBindParamTable:function(a){$("#arangoBindParamTable tbody").html(""),a&&this.getCachedQuery();var b=0;_.each(this.bindParamTableObj,function(a,c){$("#arangoBindParamTable tbody").append(""+c+"'),b++,_.each($("#arangoBindParamTable input"),function(b){$(b).attr("name")===c&&(a instanceof Array?$(b).val(JSON.stringify(a)).addClass("arraytype"):"object"==typeof a?$(b).val(JSON.stringify(a)).addClass(typeof a+"type"):$(b).val(a).addClass(typeof a+"type"))})}),0===b&&$("#arangoBindParamTable tbody").append('No bind parameters defined.')},fillBindParamTable:function(a){_.each(a,function(a,b){_.each($("#arangoBindParamTable input"),function(c){$(c).attr("name")===b&&$(c).val(a)})})},initAce:function(){var a=this;this.aqlEditor=ace.edit("aqlEditor"),this.aqlEditor.getSession().setMode("ace/mode/aql"),this.aqlEditor.setFontSize("10pt"),this.aqlEditor.setShowPrintMargin(!1),this.bindParamAceEditor=ace.edit("bindParamAceEditor"),this.bindParamAceEditor.getSession().setMode("ace/mode/json"),this.bindParamAceEditor.setFontSize("10pt"),this.bindParamAceEditor.setShowPrintMargin(!1),this.bindParamAceEditor.getSession().on("change",function(){try{a.bindParamTableObj=JSON.parse(a.bindParamAceEditor.getValue()),a.allowParamToggle=!0,a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj))}catch(b){""===a.bindParamAceEditor.getValue()?(_.each(a.bindParamTableObj,function(b,c){a.bindParamTableObj[c]=""}),a.allowParamToggle=!0):a.allowParamToggle=!1}}),this.aqlEditor.getSession().on("change",function(){a.checkForNewBindParams(),a.renderBindParamTable(),a.initDone&&a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj)),a.bindParamAceEditor.setValue(JSON.stringify(a.bindParamTableObj,null," "),1),$("#aqlEditor .ace_text-input").focus(),a.resize()}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"executeQuery",bindKey:{win:"Ctrl-Return",mac:"Command-Return",linux:"Ctrl-Return"},exec:function(){a.executeQuery()}}),this.aqlEditor.commands.addCommand({name:"saveQuery",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Shift-S",linux:"Ctrl-Shift-S"},exec:function(){a.addAQL()}}),this.aqlEditor.commands.addCommand({name:"explainQuery",bindKey:{win:"Ctrl-Shift-Return",mac:"Command-Shift-Return",linux:"Ctrl-Shift-Return"},exec:function(){a.explainQuery()}}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"showSpotlight",bindKey:{win:"Ctrl-Space",mac:"Ctrl-Space",linux:"Ctrl-Space"},exec:function(){a.showSpotlight()}}),this.queryPreview=ace.edit("queryPreview"),this.queryPreview.getSession().setMode("ace/mode/aql"),this.queryPreview.setReadOnly(!0),this.queryPreview.setFontSize("13px"),$("#aqlEditor .ace_text-input").focus()},updateQueryTable:function(){function a(a,b){var c;return c=a.nameb.name?1:0}var b=this;this.updateLocalQueries(),this.myQueriesTableDesc.rows=this.customQueries,_.each(this.myQueriesTableDesc.rows,function(a){a.secondRow='
    ',a.hasOwnProperty("parameter")&&delete a.parameter,delete a.value}),this.myQueriesTableDesc.rows.sort(a),_.each(this.queries,function(a){a.hasOwnProperty("parameter")&&delete a.parameter,b.myQueriesTableDesc.rows.push({name:a.name,thirdRow:''})}),this.myQueriesTableDesc.unescaped=[!1,!0,!0],this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},listenKey:function(a){13===a.keyCode&&"Update"===$("#modalButton1").html()&&this.saveAQL(),this.checkSaveName()},addAQL:function(){this.refreshAQL(!0),this.createCustomQueryModal(),setTimeout(function(){$("#new-query-name").focus()},500)},createCustomQueryModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("new-query-name","Name","",void 0,void 0,!1,[{rule:Joi.string().required(),msg:"No query name given."}])),a.push(window.modalView.createSuccessButton("Save",this.saveAQL.bind(this))),window.modalView.show("modalTable.ejs","Save Query",a,b,void 0,void 0,{"keyup #new-query-name":this.listenKey.bind(this)})},checkSaveName:function(){var a=$("#new-query-name").val();if("Insert Query"===a)return void $("#new-query-name").val("");var b=this.customQueries.some(function(b){return b.name===a});b?($("#modalButton1").removeClass("button-success"),$("#modalButton1").addClass("button-warning"),$("#modalButton1").text("Update")):($("#modalButton1").removeClass("button-warning"),$("#modalButton1").addClass("button-success"),$("#modalButton1").text("Save"))},saveAQL:function(a){a&&a.stopPropagation(),this.refreshAQL();var b=$("#new-query-name").val(),c=this.bindParamTableObj;if(!$("#new-query-name").hasClass("invalid-input")&&""!==b.trim()){var d=this.aqlEditor.getValue(),e=!1;if(_.each(this.customQueries,function(a){return a.name===b?(a.value=d,void(e=!0)):void 0}),e===!0)this.collection.findWhere({name:b}).set("value",d);else{if(""!==c&&void 0!==c||(c="{}"),"string"==typeof c)try{c=JSON.parse(c)}catch(f){arangoHelper.arangoError("Query","Could not parse bind parameter")}this.collection.add({name:b,parameter:c,value:d})}var g=function(a){if(a)arangoHelper.arangoError("Query","Could not save query");else{var b=this;this.collection.fetch({success:function(){b.updateLocalQueries()}})}}.bind(this);this.collection.saveCollectionQueries(g),window.modalView.hide()}},verifyQueryAndParams:function(){var a=!1;0===this.aqlEditor.getValue().length&&(arangoHelper.arangoError("Query","Your query is empty"),a=!0);var b=[];return _.each(this.bindParamTableObj,function(c,d){""===c&&(a=!0,b.push(d))}),b.length>0&&arangoHelper.arangoError("Bind Parameter",JSON.stringify(b)+" not defined."),a},executeQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Query"})),$("#outputEditorWrapper"+this.outputCounter).hide(),$("#outputEditorWrapper"+this.outputCounter).show("fast");var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setFontSize("13px"),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setFontSize("13px"),b.getSession().setMode("ace/mode/json"),b.setReadOnly(!0),b.setOption("vScrollBarAlwaysVisible",!0),b.setShowPrintMargin(!1),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillResult(b,c,a),this.outputCounter++}},readQueryData:function(){var a=$("#querySize"),b={query:this.aqlEditor.getValue(),id:"currentFrontendQuery"};return"all"===a.val()?b.batchSize=1e6:b.batchSize=parseInt(a.val(),10),Object.keys(this.bindParamTableObj).length>0&&(b.bindVars=this.bindParamTableObj),JSON.stringify(b)},fillResult:function(a,b,c){var d=this,e=this.readQueryData();e&&(b.setValue(d.aqlEditor.getValue(),1),$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),headers:{"x-arango-async":"store"},data:e,contentType:"application/json",processData:!1,success:function(b,e,f){f.getResponseHeader("x-arango-async-id")&&d.queryCallbackFunction(f.getResponseHeader("x-arango-async-id"),a,c),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("["+b.errorNum+"]",b.errorMessage)}catch(e){arangoHelper.arangoError("Query error","ERROR")}d.handleResult(c)}}))},handleResult:function(){var a=this;window.progressView.hide(),$("#removeResults").show(),window.setTimeout(function(){a.aqlEditor.focus()},300),$(".centralRow").animate({scrollTop:$("#queryContent").height()},"fast")},setEditorAutoHeight:function(a){var b=$(".centralRow").height(),c=(b-250)/17;a.setOptions({maxLines:c,minLines:10})},deselect:function(a){var b=a.getSelection(),c=b.lead.row,d=b.lead.column;b.setSelectionRange({start:{row:c,column:d},end:{row:c,column:d}}),a.focus()},queryCallbackFunction:function(a,b,c){var d=this,e=function(a,b){$.ajax({url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)+"/cancel"),type:"PUT",success:function(){window.clearTimeout(d.checkQueryTimer),$("#outputEditorWrapper"+b).remove(),arangoHelper.arangoNotification("Query","Query canceled.")}})};$("#outputEditorWrapper"+c+" #cancelCurrentQuery").bind("click",function(){e(a,c)}),$("#outputEditorWrapper"+c+" #copy2aqlEditor").bind("click",function(){$("#toggleQueries1").is(":visible")||d.toggleQueries();var a=ace.edit("sentQueryEditor"+c).getValue(),b=JSON.parse(ace.edit("sentBindParamEditor"+c).getValue());d.aqlEditor.setValue(a,1),d.deselect(d.aqlEditor),Object.keys(b).length>0&&(d.bindParamTableObj=b,d.setCachedQuery(d.aqlEditor.getValue(),JSON.stringify(d.bindParamTableObj)),$("#bindParamEditor").is(":visible")?d.renderBindParamTable():(d.bindParamAceEditor.setValue(JSON.stringify(b),1),d.deselect(d.bindParamAceEditor))),$(".centralRow").animate({scrollTop:0},"fast"),d.resize()}),this.execPending=!1;var f=function(a){var c="";a.extra&&a.extra.warnings&&a.extra.warnings.length>0&&(c+="Warnings:\r\n\r\n",a.extra.warnings.forEach(function(a){c+="["+a.code+"], '"+a.message+"'\r\n"})),""!==c&&(c+="\r\nResult:\r\n\r\n"),b.setValue(c+JSON.stringify(a.result,void 0,2),1),b.getSession().setScrollTop(0)},g=function(a){f(a),window.progressView.hide();var e=d.analyseQuery(a.result);if(console.log("Using "+e.defaultType+" as data format."),"table"===e.defaultType){$("#outputEditorWrapper"+c+" .arangoToolbarTop").after('
    '),$("#outputTable"+c).show(),d.renderOutputTable(e,c);var g=$(".centralRow").height()-250;$(".outputEditorWrapper .tableWrapper").css("max-height",g),$("#outputEditor"+c).hide()}else"graph"===e.defaultType&&($("#outputEditorWrapper"+c+" .arangoToolbarTop").after('
    '),$("#outputGraph"+c).show(),d.renderOutputGraph(e,c),$("#outputEditor"+c).hide());$("#"+e.defaultType+"-switch").addClass("active").css("display","inline");var h=function(a,b,d){d||(d=""),$("#outputEditorWrapper"+c+" .arangoToolbarTop .pull-left").append(''+a+"")};$("#outputEditorWrapper"+c+" .pull-left #spinner").remove();var i="-";a&&a.extra&&a.extra.stats&&(i=a.extra.stats.executionTime.toFixed(3)+" s"),h(a.result.length+" elements","fa-calculator"),h(i,"fa-clock-o"),a.extra&&a.extra.stats&&(a.extra.stats.writesExecuted>0||a.extra.stats.writesIgnored>0)&&(h(a.extra.stats.writesExecuted+" writes","fa-check-circle positive"),0===a.extra.stats.writesIgnored?h(a.extra.stats.writesIgnored+" writes ignored","fa-check-circle positive","additional"):h(a.extra.stats.writesIgnored+" writes ignored","fa-exclamation-circle warning","additional")),$("#outputEditorWrapper"+c+" .switchAce").show(),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" #downloadQueryResult").show(),$("#outputEditorWrapper"+c+" #copy2aqlEditor").show(),$("#outputEditorWrapper"+c+" #cancelCurrentQuery").remove(),d.setEditorAutoHeight(b),d.deselect(b),a.id&&$.ajax({url:"/_api/cursor/"+encodeURIComponent(a.id),type:"DELETE"})},h=function(){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a,b,c){201===c.status?g(a):204===c.status&&(d.checkQueryTimer=window.setTimeout(function(){h()},500))},error:function(a){var b;try{if("Gone"===a.statusText)return arangoHelper.arangoNotification("Query","Query execution aborted."),void d.removeOutputEditor(c);b=JSON.parse(a.responseText),arangoHelper.arangoError("Query",b.errorMessage), +b.errorMessage&&(null!==b.errorMessage.match(/\d+:\d+/g)?d.markPositionError(b.errorMessage.match(/'.*'/g)[0],b.errorMessage.match(/\d+:\d+/g)[0]):d.markPositionError(b.errorMessage.match(/\(\w+\)/g)[0]),d.removeOutputEditor(c))}catch(e){if(d.removeOutputEditor(c),409===b.code)return;400!==b.code&&404!==b.code&&arangoHelper.arangoNotification("Query","Successfully aborted.")}window.progressView.hide()}})};h()},analyseQuery:function(a){var b={defaultType:null,original:a,modified:null},c=!1;if(a[0])if(a[0].vertices&&a[0].edges){var d=0,e=0;_.each(a,function(a){a.edges&&(e+=a.edges.length,_.each(a.edges,function(a){a._from&&a._to&&d++}))});var f=d/e*100;f>=95&&(c=!0,b.defaultType="graph",b.graphInfo="object")}else{var g=0,h=a.length;_.each(a,function(a){a._from&&a._to&&g++});var i=g/h*100;i>=95&&(c=!0,b.defaultType="graph",b.graphInfo="array")}if(!c){var j,k=0,l=!0,m={};if(a.length<=1&&(l=!1),l){_.each(a,function(a){j=_.keys(a).length,j>k&&(k=j),_.each(a,function(a,b){m[b]?m[b]=m[b]+1:m[b]=1})});var n;_.each(m,function(b,c){n=b/a.length*100,l!==!1&&95>=n&&(l=!1)})}l&&(c=!0,b.defaultType="table")}return c||(b.defaultType="json"),b},markPositionError:function(a,b){var c;b&&(c=b.split(":")[0],a=a.substr(1,a.length-2));var d=this.aqlEditor.find(a);!d&&b&&(this.aqlEditor.selection.moveCursorToPosition({row:c,column:0}),this.aqlEditor.selection.selectLine()),window.setTimeout(function(){$(".ace_start").first().css("background","rgba(255, 129, 129, 0.7)")},100)},refreshAQL:function(){var a=this,b=function(b){b?arangoHelper.arangoError("Query","Could not reload Queries"):(a.updateLocalQueries(),a.updateQueryTable())},c=function(){a.getSystemQueries(b)};this.getAQL(c)},getSystemQueries:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:"js/arango/aqltemplates.json",contentType:"application/json",processData:!1,success:function(c){a&&a(!1),b.queries=c},error:function(){a&&a(!0),arangoHelper.arangoNotification("Query","Error while loading system templates")}})},updateLocalQueries:function(){var a=this;this.customQueries=[],this.collection.each(function(b){a.customQueries.push({name:b.get("name"),value:b.get("value"),parameter:b.get("parameter")})})},renderOutputTable:function(a,b){var c={id:"outputTableData"+b,titles:[],rows:[]},d=!0,e=[];_.each(a.original,function(a){d===!0&&(c.titles=Object.keys(a),d=!1),_.each(a,function(a){"object"==typeof a&&(a=JSON.stringify(a)),e.push(a)}),c.rows.push(e),e=[]}),$("#outputTable"+b).append(this.table.render({content:c}))},renderOutputGraph:function(a,b){this.graphViewer2=new window.GraphViewer2({name:void 0,documentStore:window.App.arangoDocumentStore,collection:new window.GraphCollection,userConfig:window.App.userConfig,id:"#outputGraph"+b,data:a}),this.graphViewer2.renderAQL()},getAQL:function(a){var b=this;this.collection.fetch({success:function(){var c=localStorage.getItem("customQueries");if(c){var d=JSON.parse(c);_.each(d,function(a){b.collection.add({value:a.value,name:a.name})});var e=function(a){a?arangoHelper.arangoError("Custom Queries","Could not import old local storage queries"):localStorage.removeItem("customQueries")};b.collection.saveCollectionQueries(e)}b.updateLocalQueries(),a&&a()}})}})}(),function(){"use strict";window.ScaleView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("scaleView.ejs"),interval:1e4,knownServers:[],events:{"click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).html(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#sNodes"===window.location.hash&&b.coordinators.fetch({success:function(){b.dbServers.fetch({success:function(){b.continueRender(!0)}})}})},this.interval))},render:function(){var a=this,b=function(){var b=function(){a.continueRender()};this.waitForDBServers(b)}.bind(this);this.initDoneCoords?b():this.waitForCoordinators(b),window.arangoHelper.buildNodesSubNav("scale")},continueRender:function(a){var b,c,d=this;b=this.coordinators.toJSON(),c=this.dbServers.toJSON(),this.$el.html(this.template.render({runningCoords:b.length,runningDBs:c.length,plannedCoords:void 0,plannedDBs:void 0,initialized:a})),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){d.updateTable(a)}})},updateTable:function(a){var b='scaling in progress ',c='no scaling process active';a.numberOfCoordinators&&($("#plannedCoords").html(a.numberOfCoordinators),this.coordinators.toJSON().length===a.numberOfCoordinators?$("#statusCoords").html(c):$("#statusCoords").html(b)),a.numberOfDBServers&&($("#plannedDBs").html(a.numberOfDBServers),this.dbServers.toJSON().length===a.numberOfDBServers?$("#statusDBs").html(c):$("#statusDBs").html(b))},waitForDBServers:function(a){var b=this;0===this.dbServers.length?window.setInterval(function(){b.waitForDBServers(a)},300):a()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.SettingsView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Settings"),this.renderSettings()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.App.navigate("#collections",{trigger:!0})}})},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g,10)!==Math.pow(2,Math.log2(g)))throw new Error("invalid indexBuckets value")}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(arangoHelper.arangoNotification("Collection: Successfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))},i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);frontendConfig.isCluster===!1?this.model.renameCollection(c,i):i()}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection"+b.responseText):(arangoHelper.arangoNotification("CollectionSuccessfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))};frontendConfig.isCluster===!1?this.model.renameCollection(c,j):j()}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},renderSettings:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a,"content"),$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()};this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";window.ShardsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("shardsView.ejs"),interval:1e4,knownServers:[],events:{"click #shardsContent .shardLeader span":"moveShard","click #shardsContent .shardFollowers span":"moveShardFollowers","click #rebalanceShards":"rebalanceShards"},initialize:function(a){var b=this;b.dbServers=a.dbServers,clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#shards"===window.location.hash&&b.render(!1)},this.interval))},render:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/shardDistribution"),contentType:"application/json",processData:!1,async:!0,success:function(a){var c,d=!1;b.shardDistribution=a.results,_.each(a.results,function(a,b){c=b.substring(0,1),"_"!==c&&"error"!==b&&"code"!==b&&(d=!0)}),d?b.continueRender(a.results):arangoHelper.renderEmpty("No collections and no shards available")},error:function(a){0!==a.readyState&&arangoHelper.arangoError("Cluster","Could not fetch sharding information.")}}),a!==!1&&arangoHelper.buildNodesSubNav("Shards")},moveShardFollowers:function(a){var b=$(a.currentTarget).html();this.moveShard(a,b)},moveShard:function(a,b){var c,d,e,f,g=this,h=window.App.currentDB.get("name");d=$(a.currentTarget).parent().parent().attr("collection"),e=$(a.currentTarget).parent().parent().attr("shard"),b?(f=$(a.currentTarget).parent().parent().attr("leader"),c=b):c=$(a.currentTarget).parent().parent().attr("leader");var i=[],j=[],k={},l=[];return g.dbServers[0].each(function(a){a.get("name")!==c&&(k[a.get("name")]={value:a.get("name"),label:a.get("name")})}),_.each(g.shardDistribution[d].Plan[e].followers,function(a){delete k[a]}),b&&delete k[f],_.each(k,function(a){l.push(a)}),l=l.reverse(),0===l.length?void arangoHelper.arangoMessage("Shards","No database server for moving the shard is available."):(j.push(window.modalView.createSelectEntry("toDBServer","Destination",void 0,"Please select the target databse server. The selected database server will be the new leader of the shard.",l)),i.push(window.modalView.createSuccessButton("Move",this.confirmMoveShards.bind(this,h,d,e,c))),void window.modalView.show("modalTable.ejs","Move shard: "+e,i,j))},confirmMoveShards:function(a,b,c,d){var e=this,f=$("#toDBServer").val(),g={database:a,collection:b,shard:c,fromServer:d,toServer:f};$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/moveShard"),contentType:"application/json",processData:!1,data:JSON.stringify(g),async:!0,success:function(a){a===!0&&(window.setTimeout(function(){e.render(!1)},1500),arangoHelper.arangoNotification("Shard "+c+" will be moved to "+f+"."))},error:function(){arangoHelper.arangoNotification("Shard "+c+" could not be moved to "+f+".")}}),window.modalView.hide()},rebalanceShards:function(){var a=this;$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/rebalanceShards"),contentType:"application/json",processData:!1,data:JSON.stringify({}),async:!0,success:function(b){b===!0&&(window.setTimeout(function(){a.render(!1)},1500),arangoHelper.arangoNotification("Started rebalance process."))},error:function(){arangoHelper.arangoNotification("Could not start rebalance process.")}}),window.modalView.hide()},continueRender:function(a){delete a.code,delete a.error,this.$el.html(this.template.render({collections:a}))},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.ShowClusterView=Backbone.View.extend({detailEl:"#modalPlaceholder",el:"#content",defaultFrame:12e5,template:templateEngine.createTemplate("showCluster.ejs"),modal:templateEngine.createTemplate("waitModal.ejs"),detailTemplate:templateEngine.createTemplate("detailView.ejs"),events:{"change #selectDB":"updateCollections","change #selectCol":"updateShards","click .dbserver.success":"dashboard","click .coordinator.success":"dashboard"},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","icon").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},updateServerTime:function(){this.serverTime=(new Date).getTime()},setShowAll:function(){this.graphShowAll=!0},resetShowAll:function(){this.graphShowAll=!1,this.renderLineChart()},initialize:function(a){this.options=a,this.interval=1e4,this.isUpdating=!1,this.timer=null,this.knownServers=[],this.graph=void 0,this.graphShowAll=!1,this.updateServerTime(),this.dygraphConfig=this.options.dygraphConfig,this.dbservers=new window.ClusterServers([],{interval:this.interval}),this.coordinators=new window.ClusterCoordinators([],{interval:this.interval}),this.documentStore=new window.ArangoDocuments,this.statisticsDescription=new window.StatisticsDescription,this.statisticsDescription.fetch({async:!1}),this.dbs=new window.ClusterDatabases([],{interval:this.interval}),this.cols=new window.ClusterCollections,this.shards=new window.ClusterShards,this.startUpdating()},listByAddress:function(a){var b={},c=this;this.dbservers.byAddress(b,function(b){c.coordinators.byAddress(b,a)})},updateCollections:function(){var a=this,b=$("#selectCol"),c=$("#selectDB").find(":selected").attr("id");if(c){var d=b.find(":selected").attr("id");b.html(""),this.cols.getList(c,function(c){_.each(_.pluck(c,"name"),function(a){b.append('")});var e=$("#"+d,b);1===e.length&&e.prop("selected",!0),a.updateShards()})}},updateShards:function(){var a=$("#selectDB").find(":selected").attr("id"),b=$("#selectCol").find(":selected").attr("id");this.shards.getList(a,b,function(a){$(".shardCounter").html("0"),_.each(a,function(a){$("#"+a.server+"Shards").html(a.shards.length)})})},updateServerStatus:function(a){var b=this,c=function(a,b,c){var d,e,f=c;f=f.replace(/\./g,"-"),f=f.replace(/\:/g,"_"),e=$("#id"+f),e.length<1||(d=e.attr("class").split(/\s+/)[1],e.attr("class",a+" "+d+" "+b),"coordinator"===a&&("success"===b?$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!1):$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!0)))};this.coordinators.getStatuses(c.bind(this,"coordinator"),function(){b.dbservers.getStatuses(c.bind(b,"dbserver")),a()})},updateDBDetailList:function(){var a=this,b=$("#selectDB"),c=b.find(":selected").attr("id");b.html(""),this.dbs.getList(function(d){_.each(_.pluck(d,"name"),function(a){b.append('")});var e=$("#"+c,b);1===e.length&&e.prop("selected",!0),a.updateCollections()})},rerender:function(){var a=this;this.updateServerStatus(function(){a.getServerStatistics(function(){a.updateServerTime(),a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList()})})},render:function(){this.knownServers=[],delete this.hist;var a=this;this.listByAddress(function(b){1===Object.keys(b).length?a.type="testPlan":a.type="other",a.updateDBDetailList(),a.dbs.getList(function(c){$(a.el).html(a.template.render({dbs:_.pluck(c,"name"),byAddress:b,type:a.type})),$(a.el).append(a.modal.render({})),a.replaceSVGs(),a.getServerStatistics(function(){a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList(),a.startUpdating()})})})},generatePieData:function(){var a=[],b=this;return this.data.forEach(function(c){a.push({key:c.get("name"),value:c.get("system").virtualSize,time:b.serverTime})}),a},addStatisticsItem:function(a,b,c,d){var e=this;e.hasOwnProperty("hist")||(e.hist={}),e.hist.hasOwnProperty(a)||(e.hist[a]=[]);var f=e.hist[a],g=f.length;if(0===g)f.push({time:b,snap:d,requests:c,requestsPerSecond:0});else{var h=f[g-1].time,i=f[g-1].requests;if(c>i){var j=b-h,k=0;j>0&&(k=(c-i)/j),f.push({time:b,snap:d,requests:c,requestsPerSecond:k})}}},getServerStatistics:function(a){var b=this,c=Math.round(b.serverTime/1e3);this.data=void 0;var d=new window.ClusterStatisticsCollection,e=this.coordinators.first();this.dbservers.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=e.get("protocol")+"://"+e.get("address")+"/_admin/clusterStatistics?DBserver="+a.get("name"),d.add(c)}}),this.coordinators.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=a.get("protocol")+"://"+a.get("address")+"/_admin/statistics",d.add(c)}});var f=d.size();this.data=[];var g=function(d){f--;var e=d.get("time"),g=d.get("name"),h=d.get("http").requestsTotal;b.addStatisticsItem(g,e,h,c),b.data.push(d),0===f&&a()},h=function(){f--,0===f&&a()};d.fetch(g,h)},renderPieChart:function(a){var b=$("#clusterGraphs svg").width(),c=$("#clusterGraphs svg").height(),d=Math.min(b,c)/2,e=this.dygraphConfig.colors,f=d3.svg.arc().outerRadius(d-20).innerRadius(0),g=d3.layout.pie().sort(function(a){return a.value}).value(function(a){return a.value});d3.select("#clusterGraphs").select("svg").remove();var h=d3.select("#clusterGraphs").append("svg").attr("class","clusterChart").append("g").attr("transform","translate("+b/2+","+(c/2-10)+")"),i=d3.svg.arc().outerRadius(d-2).innerRadius(d-2),j=h.selectAll(".arc").data(g(a)).enter().append("g").attr("class","slice");j.append("path").attr("d",f).style("fill",function(a,b){return e[b%e.length]}).style("stroke",function(a,b){return e[b%e.length]}),j.append("text").attr("transform",function(a){return"translate("+f.centroid(a)+")"}).style("text-anchor","middle").text(function(a){var b=a.data.value/1024/1024/1024;return b.toFixed(2)}),j.append("text").attr("transform",function(a){return"translate("+i.centroid(a)+")"}).style("text-anchor","middle").text(function(a){return a.data.key})},renderLineChart:function(){var a,b,c,d,e,f,g=this,h=1200,i=[],j=[],k=Math.round((new Date).getTime()/1e3)-h,l=g.knownServers,m=function(){return null};for(c=0;cf||(j.hasOwnProperty(f)?a=j[f]:(e=new Date(1e3*f),a=j[f]=[e].concat(l.map(m))),a[c+1]=b[d].requestsPerSecond);i=[],Object.keys(j).sort().forEach(function(a){i.push(j[a])});var n=this.dygraphConfig.getDefaultConfig("clusterRequestsPerSecond");n.labelsDiv=$("#lineGraphLegend")[0],n.labels=["datetime"].concat(l),g.graph=new Dygraph(document.getElementById("lineGraph"),i,n)},stopUpdating:function(){window.clearTimeout(this.timer),delete this.graph,this.isUpdating=!1},startUpdating:function(){if(!this.isUpdating){this.isUpdating=!0;var a=this;this.timer=window.setInterval(function(){a.rerender()},this.interval)}},dashboard:function(a){this.stopUpdating();var b,c,d=$(a.currentTarget),e={},f=d.attr("id");f=f.replace(/\-/g,"."),f=f.replace(/\_/g,":"),f=f.substr(2),e.raw=f,e.isDBServer=d.hasClass("dbserver"),e.isDBServer?(b=this.dbservers.findWhere({address:e.raw}),c=this.coordinators.findWhere({status:"ok"}),e.endpoint=c.get("protocol")+"://"+c.get("address")):(b=this.coordinators.findWhere({address:e.raw}),e.endpoint=b.get("protocol")+"://"+b.get("address")),e.target=encodeURIComponent(b.get("name")),window.App.serverToShow=e,window.App.dashboard()},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},resize:function(){var a;this.graph&&(a=this.getCurrentSize(this.graph.maindiv_.id),this.graph.resize(a.width,a.height))}})}(),function(){"use strict";window.SpotlightView=Backbone.View.extend({template:templateEngine.createTemplate("spotlightView.ejs"),el:"#spotlightPlaceholder",displayLimit:8,typeahead:null,callbackSuccess:null,callbackCancel:null,collections:{system:[],doc:[],edge:[]},events:{"focusout #spotlight .tt-input":"hide","keyup #spotlight .typeahead":"listenKey"},aqlKeywordsArray:[],aqlBuiltinFunctionsArray:[],aqlKeywords:"for|return|filter|sort|limit|let|collect|asc|desc|in|into|insert|update|remove|replace|upsert|options|with|and|or|not|distinct|graph|outbound|inbound|any|all|none|aggregate|like|count|shortest_path",hide:function(){this.typeahead=$("#spotlight .typeahead").typeahead("destroy"),$(this.el).hide()},listenKey:function(a){if(27===a.keyCode)this.callbackSuccess&&this.callbackCancel(),this.hide();else if(13===a.keyCode&&this.callbackSuccess){var b=$(this.typeahead).val();this.callbackSuccess(b),this.hide()}},substringMatcher:function(a){return function(b,c){var d,e;d=[],e=new RegExp(b,"i"),_.each(a,function(a){e.test(a)&&d.push(a)}),c(d)}},updateDatasets:function(){var a=this;this.collections={system:[],doc:[],edge:[]},window.App.arangoCollectionsStore.each(function(b){b.get("isSystem")?a.collections.system.push(b.get("name")):"document"===b.get("type")?a.collections.doc.push(b.get("name")):a.collections.edge.push(b.get("name"))})},stringToArray:function(){var a=this;_.each(this.aqlKeywords.split("|"),function(b){a.aqlKeywordsArray.push(b.toUpperCase())}),a.aqlKeywordsArray.push(!0),a.aqlKeywordsArray.push(!1),a.aqlKeywordsArray.push(null)},fetchKeywords:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/aql-builtin"),contentType:"application/json",success:function(c){b.stringToArray(),b.updateDatasets(),_.each(c.functions,function(a){b.aqlBuiltinFunctionsArray.push(a.name)}),a&&a()},error:function(){a&&a(),arangoHelper.arangoError("AQL","Could not fetch AQL function definition.")}})},show:function(a,b,c){var d=this;this.callbackSuccess=a,this.callbackCancel=b;var e=function(){var a=function(a,b,c){var d='

    '+a+"

    ";return b&&(d+=''),c&&(d+=''+c.toUpperCase()+""),d+="
    "};$(this.el).html(this.template.render({})),$(this.el).show(),"aql"===c?this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Functions",source:d.substringMatcher(d.aqlBuiltinFunctionsArray),limit:d.displayLimit,templates:{header:a("Functions","fa-code","aql")}},{name:"Keywords",source:d.substringMatcher(d.aqlKeywordsArray),limit:d.displayLimit,templates:{header:a("Keywords","fa-code","aql")}},{name:"Documents",source:d.substringMatcher(d.collections.doc),limit:d.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:d.substringMatcher(d.collections.edge),limit:d.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:d.displayLimit,source:d.substringMatcher(d.collections.system),templates:{header:a("System","fa-cogs","Collection")}}):this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Documents",source:d.substringMatcher(d.collections.doc),limit:d.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:d.substringMatcher(d.collections.edge),limit:d.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:d.displayLimit,source:d.substringMatcher(d.collections.system),templates:{header:a("System","fa-cogs","Collection")}}),$("#spotlight .typeahead").focus()}.bind(this);0===d.aqlBuiltinFunctionsArray.length?this.fetchKeywords(e):e()}})}(),function(){"use strict";window.StatisticBarView=Backbone.View.extend({el:"#statisticBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab"},template:templateEngine.createTemplate("statisticBarView.ejs"),initialize:function(a){this.currentDB=a.currentDB},replaceSVG:function(a){var b=a.attr("id"),c=a.attr("class"),d=a.attr("src");$.get(d,function(d){var e=$(d).find("svg");void 0===b&&(e=e.attr("id",b)),void 0===c&&(e=e.attr("class",c+" replaced-svg")),e=e.removeAttr("xmlns:a"),a.replaceWith(e)},"xml")},render:function(){var a=this;return $(this.el).html(this.template.render({isSystem:this.currentDB.get("isSystem")})),$("img.svg").each(function(){a.replaceSVG($(this))}),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id;return"links"===c?($("#link_dropdown").slideToggle(200),void a.preventDefault()):"tools"===c?($("#tools_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},handleSelectNavigation:function(){$("#arangoCollectionSelect").change(function(){var a=$(this).find("option:selected").val();window.App.navigate(a,{trigger:!0})})},selectMenuItem:function(a){$(".navlist li").removeClass("active"),a&&$("."+a).addClass("active")}})}(),function(){"use strict";window.SupportView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("supportView.ejs"),events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},render:function(){this.$el.html(this.template.render({}))},resize:function(a){a?$(".innerContent").css("height","auto"):$(".innerContent").height($(".centralRow").height()-170)},renderSwagger:function(){var a=window.location.pathname.split("/"),b=window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/"+a[1]+"/"+a[2]+"/_admin/aardvark/api/index.html";$("#swagger").html(""),$("#swagger").append('')},toggleViews:function(a){var b=this,c=a.currentTarget.id.split("-")[0],d=["community","documentation","swagger"];_.each(d,function(a){c!==a?$("#"+a).hide():("swagger"===c?(b.renderSwagger(),$("#swagger iframe").css("height","100%"),$("#swagger iframe").css("width","100%"),$("#swagger iframe").css("margin-top","-13px"),b.resize()):b.resize(!0),$("#"+a).show())}),$(".subMenuEntries").children().removeClass("active"),$("#"+c+"-support").addClass("active")}})}(),function(){"use strict";window.TableView=Backbone.View.extend({template:templateEngine.createTemplate("tableView.ejs"),loading:templateEngine.createTemplate("loadingTableView.ejs"),initialize:function(a){this.rowClickCallback=a.rowClick},events:{"click .pure-table-body .pure-table-row":"rowClick","click .deleteButton":"removeClick"},rowClick:function(a){this.hasOwnProperty("rowClickCallback")&&this.rowClickCallback(a)},removeClick:function(a){this.hasOwnProperty("removeClickCallback")&&(this.removeClickCallback(a),a.stopPropagation())},setRowClick:function(a){this.rowClickCallback=a},setRemoveClick:function(a){this.removeClickCallback=a},render:function(){$(this.el).html(this.template.render({docs:this.collection}))},drawLoading:function(){$(this.el).html(this.loading.render({}))}})}(),function(){"use strict";window.UserBarView=Backbone.View.extend({events:{"change #userBarSelect":"navigateBySelect","click .tab":"navigateByTab","mouseenter .dropdown":"showDropdown","mouseleave .dropdown":"hideDropdown","click #userLogoutIcon":"userLogout","click #userLogout":"userLogout"},initialize:function(a){this.userCollection=a.userCollection,this.userCollection.fetch({cache:!1,async:!0}),this.userCollection.bind("change:extra",this.render.bind(this))},template:templateEngine.createTemplate("userBarView.ejs"),navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement;b=$(b).closest("a");var c=b.attr("id");return"user"===c?($("#user_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},toggleUserMenu:function(){$("#userBar .subBarDropdown").toggle()},showDropdown:function(){$("#user_dropdown").fadeIn(1)},hideDropdown:function(){$("#user_dropdown").fadeOut(1)},render:function(){if(frontendConfig.authenticationEnabled!==!1){var a=this,b=function(a,b){if(a)arangoHelper.arangoErro("User","Could not fetch user.");else{var c=null,d=null,e=!1,f=null;if(b!==!1)return f=this.userCollection.findWhere({user:b}),f.set({loggedIn:!0}),d=f.get("extra").name, +c=f.get("extra").img,e=f.get("active"),c=c?"https://s.gravatar.com/avatar/"+c+"?s=80":"img/default_user.png",d||(d=""),this.$el=$("#userBar"),this.$el.html(this.template.render({img:c,name:d,username:b,active:e})),this.delegateEvents(),this.$el}}.bind(this);$("#userBar").on("click",function(){a.toggleUserMenu()}),this.userCollection.whoAmI(b)}},userLogout:function(){var a=function(a){a?arangoHelper.arangoError("User","Logout error"):this.userCollection.logout()}.bind(this);this.userCollection.whoAmI(a)}})}(),function(){"use strict";window.UserManagementView=Backbone.View.extend({el:"#content",el2:"#userManagementThumbnailsIn",template:templateEngine.createTemplate("userManagementView.ejs"),events:{"click #createUser":"createUser","click #submitCreateUser":"submitCreateUser","click #userManagementThumbnailsIn .tile":"editUser","click #submitEditUser":"submitEditUser","click #userManagementToggle":"toggleView","keyup #userManagementSearchInput":"search","click #userManagementSearchSubmit":"search","click #callEditUserPassword":"editUserPassword","click #submitEditUserPassword":"submitEditUserPassword","click #submitEditCurrentUserProfile":"submitEditCurrentUserProfile","click .css-label":"checkBoxes","change #userSortDesc":"sorting"},dropdownVisible:!1,initialize:function(){var a=this,b=function(a,b){frontendConfig.authenticationEnabled===!0&&(a||null===b?arangoHelper.arangoError("User","Could not fetch user data"):this.currentUser=this.collection.findWhere({user:b}))}.bind(this);this.collection.fetch({cache:!1,success:function(){a.collection.whoAmI(b)}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},sorting:function(){$("#userSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#userManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},render:function(a){var b=!1;$("#userManagementDropdown").is(":visible")&&(b=!0);var c=function(){this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:""})),b===!0&&($("#userManagementDropdown2").show(),$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown").show()),a&&this.editCurrentUser(),arangoHelper.setCheckboxStatus("#userManagementDropdown")}.bind(this);return this.collection.fetch({cache:!1,success:function(){c()}}),this},search:function(){var a,b,c,d;a=$("#userManagementSearchInput"),b=$("#userManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("user").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b})),a=$("#userManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},createUser:function(a){a.preventDefault(),this.createCreateUserModal()},submitCreateUser:function(){var a=this,b=$("#newUsername").val(),c=$("#newName").val(),d=$("#newPassword").val(),e=$("#newStatus").is(":checked");if(this.validateUserInfo(c,b,d,e)){var f={user:b,passwd:d,active:e,extra:{name:c}};this.collection.create(f,{wait:!0,error:function(a,b){arangoHelper.parseError("User",b,a)},success:function(){a.updateUserManagement(),window.modalView.hide()}})}},validateUserInfo:function(a,b,c,d){return""===b?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):!0},updateUserManagement:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},editUser:function(a){if("createUser"!==$(a.currentTarget).find("a").attr("id")){$(a.currentTarget).hasClass("tile")&&(a.currentTarget=$(a.currentTarget).find("img")),this.collection.fetch({cache:!1});var b=this.evaluateUserName($(a.currentTarget).attr("id"),"_edit-user");""===b&&(b=$(a.currentTarget).attr("id")),window.App.navigate("user/"+encodeURIComponent(b),{trigger:!0})}},toggleView:function(){$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown2").slideToggle(200)},createCreateUserModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newUsername","Username","",!1,"Username",!0,[{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No username given."}])),b.push(window.modalView.createTextEntry("newName","Name","",!1,"Name",!1)),b.push(window.modalView.createPasswordEntry("newPassword","Password","",!1,"",!1)),b.push(window.modalView.createCheckboxEntry("newStatus","Active","active",!1,!0)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateUser.bind(this))),window.modalView.show("modalTable.ejs","Create New User",a,b)},evaluateUserName:function(a,b){if(a){var c=a.lastIndexOf(b);return a.substring(0,c)}},updateUserProfile:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})}})}(),function(){"use strict";window.UserPermissionView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("userPermissionView.ejs"),initialize:function(a){this.username=a.username},events:{'click #userPermissionView [type="checkbox"]':"setPermission"},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},setPermission:function(a){var b=$(a.currentTarget).is(":checked"),c=$(a.currentTarget).attr("name");b?this.grantPermission(this.currentUser.get("user"),c):this.revokePermission(this.currentUser.get("user"),c)},grantPermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})})},revokePermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json"})},continueRender:function(){var a=this;this.currentUser=this.collection.findWhere({user:this.username}),this.breadcrumb(),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"Permissions");var b=arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a.currentUser.get("user"))+"/database");"_system"===frontendConfig.db&&(b=arangoHelper.databaseUrl("/_api/user/root/database")),$.ajax({type:"GET",url:b,contentType:"application/json",success:function(b){var c=b.result;$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a.currentUser.get("user"))+"/database"),contentType:"application/json",success:function(b){var d=b.result;if(c._system){var e=[];_.each(c,function(a,b){e.push(b)}),c=e}a.finishRender(c,d)}})}})},finishRender:function(a,b){_.each(b,function(a,c){"rw"!==a&&delete b[c]}),$(this.el).html(this.template.render({allDBs:a,permissions:b}))},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.currentUser.get("user"))}})}(),function(){"use strict";window.UserView=Backbone.View.extend({el:"#content",initialize:function(a){this.username=a.username},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},editCurrentUser:function(){this.createEditCurrentUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("extra").img)},continueRender:function(){this.breadcrumb(),this.currentUser=this.collection.findWhere({user:this.username}),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"General"),this.currentUser.get("loggedIn")?this.editCurrentUser():this.createEditUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("active"))},createEditUserPasswordModal:function(){var a=[],b=[];b.push(window.modalView.createPasswordEntry("newCurrentPassword","New Password","",!1,"new password",!1)),b.push(window.modalView.createPasswordEntry("confirmCurrentPassword","Confirm New Password","",!1,"confirm new password",!1)),a.push(window.modalView.createSuccessButton("Save",this.submitEditUserPassword.bind(this))),window.modalView.show("modalTable.ejs","Edit User Password",a,b)},createEditCurrentUserModal:function(a,b,c){var d=[],e=[];e.push(window.modalView.createReadOnlyEntry("id_username","Username",a)),e.push(window.modalView.createTextEntry("editCurrentName","Name",b,!1,"Name",!1)),e.push(window.modalView.createTextEntry("editCurrentUserProfileImg","Gravatar account (Mail)",c,"Mailaddress or its md5 representation of your gravatar account.The address will be converted into a md5 string. Only the md5 string will be stored, not the mailaddress.","myAccount(at)gravatar.com")),d.push(window.modalView.createNotificationButton("Change Password",this.editUserPassword.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.submitEditCurrentUserProfile.bind(this))),window.modalView.show("modalTable.ejs","Edit User Profile",d,e,null,null,this.events,null,null,"content")},parseImgString:function(a){return-1===a.indexOf("@")?a:CryptoJS.MD5(a).toString()},createEditUserModal:function(a,b,c){var d,e;e=[{type:window.modalView.tables.READONLY,label:"Username",value:_.escape(a)},{type:window.modalView.tables.TEXT,label:"Name",value:b,id:"editName",placeholder:"Name"},{type:window.modalView.tables.CHECKBOX,label:"Active",value:"active",checked:c,id:"editStatus"}],d=[{title:"Delete",type:window.modalView.buttons.DELETE,callback:this.submitDeleteUser.bind(this,a)},{title:"Change Password",type:window.modalView.buttons.NOTIFICATION,callback:this.createEditUserPasswordModal.bind(this,a)},{title:"Save",type:window.modalView.buttons.SUCCESS,callback:this.submitEditUser.bind(this,a)}],window.modalView.show("modalTable.ejs","Edit User",d,e,null,null,this.events,null,null,"content")},validateStatus:function(a){return""!==a},submitDeleteUser:function(a){var b=this.collection.findWhere({user:a});b.destroy({wait:!0}),window.App.navigate("#users",{trigger:!0})},submitEditCurrentUserProfile:function(){var a=$("#editCurrentName").val(),b=$("#editCurrentUserProfileImg").val();b=this.parseImgString(b);var c=function(a){a?arangoHelper.arangoError("User","Could not edit user settings"):(arangoHelper.arangoNotification("User","Changes confirmed."),this.updateUserProfile())}.bind(this);this.currentUser.setExtras(a,b,c),window.modalView.hide()},submitEditUserPassword:function(){var a=$("#newCurrentPassword").val(),b=$("#confirmCurrentPassword").val();$("#newCurrentPassword").val(""),$("#confirmCurrentPassword").val(""),$("#newCurrentPassword").closest("th").css("backgroundColor","white"),$("#confirmCurrentPassword").closest("th").css("backgroundColor","white");var c=!1;a!==b&&(arangoHelper.arangoError("User","New passwords do not match."),c=!0),c||(this.currentUser.setPassword(a),arangoHelper.arangoNotification("User","Password changed."),window.modalView.hide())},validateUsername:function(a){return""===a?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},editUserPassword:function(){window.modalView.hide(),this.createEditUserPasswordModal()},validateName:function(a){return""===a?!0:a.match(/^[a-zA-Z][a-zA-Z0-9_\-\ ]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},submitEditUser:function(a){var b=$("#editName").val(),c=$("#editStatus").is(":checked");if(!this.validateStatus(c))return void $("#editStatus").closest("th").css("backgroundColor","red");if(!this.validateName(b))return void $("#editName").closest("th").css("backgroundColor","red");var d=this.collection.findWhere({user:a});d.save({extra:{name:b},active:c},{type:"PATCH",success:function(){arangoHelper.arangoNotification("User",d.get("user")+" updated.")},error:function(){arangoHelper.arangoError("User","Could not update "+d.get("user")+".")}})},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.username)}})}(),function(){"use strict";window.WorkMonitorView=Backbone.View.extend({el:"#content",id:"#workMonitorContent",template:templateEngine.createTemplate("workMonitorView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),initialize:function(){},events:{},tableDescription:{id:"workMonitorTable",titles:["Type","Database","Task ID","Started","Url","User","Description","Method"],rows:[],unescaped:[!1,!1,!1,!1,!1,!1,!1,!1]},render:function(){var a=this;this.$el.html(this.template.render({})),this.collection.fetch({success:function(){a.parseTableData(),$(a.id).append(a.table.render({content:a.tableDescription}))}})},parseTableData:function(){var a=this;this.collection.each(function(b){if("AQL query"===b.get("type")){var c=b.get("parent");if(c)try{a.tableDescription.rows.push([b.get("type"),"(p) "+c.database,"(p) "+c.taskId,"(p) "+c.startTime,"(p) "+c.url,"(p) "+c.user,b.get("description"),"(p) "+c.method])}catch(d){console.log("some parse error")}}else"thread"!==b.get("type")&&a.tableDescription.rows.push([b.get("type"),b.get("database"),b.get("taskId"),b.get("startTime"),b.get("url"),b.get("user"),b.get("description"),b.get("method")])})}})}(),function(){"use strict";window.Router=Backbone.Router.extend({toUpdate:[],dbServers:[],isCluster:void 0,routes:{"":"cluster",dashboard:"dashboard",collections:"collections","new":"newCollection",login:"login","collection/:colid/documents/:pageid":"documents","cIndices/:colname":"cIndices","cSettings/:colname":"cSettings","cInfo/:colname":"cInfo","collection/:colid/:docid":"document",shell:"shell",queries:"query",workMonitor:"workMonitor",databases:"databases",settings:"databases",services:"applications","service/:mount":"applicationDetail",graphs:"graphManagement","graphs/:name":"showGraph",users:"userManagement","user/:name":"userView","user/:name/permission":"userPermissionView",userProfile:"userProfile",cluster:"cluster",nodes:"nodes",shards:"shards","node/:name":"node",logs:"logs",helpus:"helpUs","graph2/:name":"graph2","graph2/:name/settings":"graph2settings",support:"support"},execute:function(a,b){$("#subNavigationBar .breadcrumb").html(""),$("#subNavigationBar .bottom").html(""),$("#loadingScreen").hide(),$("#content").show(),a&&a.apply(this,b),this.graphViewer2&&this.graphViewer2.graphSettingsView&&this.graphViewer2.graphSettingsView.hide()},listenerFunctions:{},listener:function(a){_.each(window.App.listenerFunctions,function(b,c){b(a)})},checkUser:function(){var a=this;if("#login"!==window.location.hash){var b=function(){this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show()}.bind(this),c=function(c,d){frontendConfig.authenticationEnabled?(a.currentUser=d,c||null===d?"#login"!==window.location.hash&&this.navigate("login",{trigger:!0}):b()):b()}.bind(this);frontendConfig.authenticationEnabled?this.userCollection.whoAmI(c):(this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show())}},waitForInit:function(a,b,c){this.initFinished?(b||a(!0),b&&!c&&a(b,!0),b&&c&&a(b,c,!0)):setTimeout(function(){b||a(!1),b&&!c&&a(b,!1),b&&c&&a(b,c,!1)},350)},initFinished:!1,initialize:function(){frontendConfig.isCluster===!0&&(this.isCluster=!0),document.addEventListener("keyup",this.listener,!1),window.modalView=new window.ModalView,this.foxxList=new window.FoxxCollection,window.foxxInstallView=new window.FoxxInstallView({collection:this.foxxList}),window.progressView=new window.ProgressView;var a=this;this.userCollection=new window.ArangoUsers,this.initOnce=function(){this.initOnce=function(){};var b=function(b,c){a=this,c===!0&&a.coordinatorCollection.fetch({success:function(){a.fetchDBS()}}),b&&console.log(b)}.bind(this);window.isCoordinator(b),frontendConfig.isCluster===!1&&(this.initFinished=!0),this.arangoDatabase=new window.ArangoDatabase,this.currentDB=new window.CurrentDatabase,this.arangoCollectionsStore=new window.ArangoCollections,this.arangoDocumentStore=new window.ArangoDocument,this.coordinatorCollection=new window.ClusterCoordinators,arangoHelper.setDocumentStore(this.arangoDocumentStore),this.arangoCollectionsStore.fetch({cache:!1}),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({cache:!1,success:function(){a.naviView=new window.NavigationView({database:a.arangoDatabase,currentDB:a.currentDB,notificationCollection:a.notificationList,userCollection:a.userCollection,isCluster:a.isCluster}),a.naviView.render()}}),this.queryCollection=new window.ArangoQueries,this.footerView.render(),window.checkVersion(),this.userConfig=new window.UserConfig,this.userConfig.fetch(),this.documentsView=new window.DocumentsView({collection:new window.ArangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})}.bind(this),$(window).resize(function(){a.handleResize()}),$(window).scroll(function(){})},handleScroll:function(){$(window).scrollTop()>50?($(".navbar > .secondary").css("top",$(window).scrollTop()),$(".navbar > .secondary").css("position","absolute"),$(".navbar > .secondary").css("z-index","10"),$(".navbar > .secondary").css("width",$(window).width())):($(".navbar > .secondary").css("top","0"),$(".navbar > .secondary").css("position","relative"),$(".navbar > .secondary").css("width",""))},cluster:function(a){return this.checkUser(),a?this.isCluster===!1||void 0===this.isCluster?void("_system"===this.currentDB.get("name")?(this.routes[""]="dashboard",this.navigate("#dashboard",{trigger:!0})):(this.routes[""]="collections",this.navigate("#collections",{trigger:!0}))):(this.clusterView||(this.clusterView=new window.ClusterView({coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.clusterView.render()):void this.waitForInit(this.cluster.bind(this))},node:function(a,b){return this.checkUser(),b&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodeView||(this.nodeView=new window.NodeView({coordname:a,coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.nodeView.render()):void this.waitForInit(this.node.bind(this),a)},shards:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.shardsView||(this.shardsView=new window.ShardsView({dbServers:this.dbServers})),void this.shardsView.render()):void this.waitForInit(this.shards.bind(this))},nodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView2({}),void this.nodesView.render()):void this.waitForInit(this.nodes.bind(this))},cNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"coordinator"}),void this.nodesView.render()):void this.waitForInit(this.cNodes.bind(this))},dNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):0===this.dbServers.length?void this.navigate("#cNodes",{trigger:!0}):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"dbserver"}),void this.nodesView.render()):void this.waitForInit(this.dNodes.bind(this))},sNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.scaleView=new window.ScaleView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0]}),void this.scaleView.render()):void this.waitForInit(this.sNodes.bind(this))},addAuth:function(a){var b=this.clusterPlan.get("user");if(!b)return a.abort(),void(this.isCheckingUser||this.requestAuth());var c=b.name,d=b.passwd,e=c.concat(":",d);a.setRequestHeader("Authorization","Basic "+btoa(e))},logs:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.logs.bind(this),a);if(!this.logsView){var c=new window.ArangoLogs({upto:!0,loglevel:4}),d=new window.ArangoLogs({loglevel:4}),e=new window.ArangoLogs({loglevel:3}),f=new window.ArangoLogs({loglevel:2}),g=new window.ArangoLogs({loglevel:1});this.logsView=new window.LogsView({logall:c,logdebug:d,loginfo:e,logwarning:f,logerror:g})}this.logsView.render()},applicationDetail:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.applicationDetail.bind(this),a);var c=function(){this.hasOwnProperty("applicationDetailView")||(this.applicationDetailView=new window.ApplicationDetailView({model:this.foxxList.get(decodeURIComponent(a))})),this.applicationDetailView.model=this.foxxList.get(decodeURIComponent(a)),this.applicationDetailView.render("swagger")}.bind(this);0===this.foxxList.length?this.foxxList.fetch({cache:!1,success:function(){c()}}):c()},login:function(){var a=function(a,b){this.loginView||(this.loginView=new window.LoginView({collection:this.userCollection})),a||null===b?this.loginView.render():this.loginView.render(!0)}.bind(this);this.userCollection.whoAmI(a)},collections:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.collections.bind(this));var b=this;this.collectionsView||(this.collectionsView=new window.CollectionsView({collection:this.arangoCollectionsStore})),this.arangoCollectionsStore.fetch({cache:!1,success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.indicesView=new window.IndicesView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.indicesView.render()}}):void this.waitForInit(this.cIndices.bind(this),a)},cSettings:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.settingsView=new window.SettingsView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.settingsView.render()}}):void this.waitForInit(this.cSettings.bind(this),a)},cInfo:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.infoView=new window.InfoView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.infoView.render()}}):void this.waitForInit(this.cInfo.bind(this),a)},documents:function(a,b,c){return this.checkUser(),c?(this.documentsView||(this.documentsView=new window.DocumentsView({collection:new window.ArangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})),this.documentsView.setCollectionId(a,b),void this.documentsView.render()):void this.waitForInit(this.documents.bind(this),a,b)},document:function(a,b,c){if(this.checkUser(),!c)return void this.waitForInit(this.document.bind(this),a,b);this.documentView||(this.documentView=new window.DocumentView({collection:this.arangoDocumentStore})),this.documentView.colid=a;var d=window.location.hash.split("/")[2],e=(d.split("%").length-1)%3;decodeURI(d)!==d&&0!==e&&(d=decodeURIComponent(d)),this.documentView.docid=d,this.documentView.render();var f=function(a,b){a?console.log("Error","Could not fetch collection type"):this.documentView.setType(b)}.bind(this);arangoHelper.collectionApiType(a,null,f)},query:function(a){return this.checkUser(),a?(this.queryView||(this.queryView=new window.QueryView({collection:this.queryCollection})),void this.queryView.render()):void this.waitForInit(this.query.bind(this))},graph2:function(a,b){return this.checkUser(),b?(this.graphViewer2&&(this.graphViewer2.graphSettingsView&&this.graphViewer2.graphSettingsView.remove(),this.graphViewer2.remove()),this.graphViewer2=new window.GraphViewer2({name:a,documentStore:this.arangoDocumentStore,collection:new window.GraphCollection,userConfig:this.userConfig}),void this.graphViewer2.render()):void this.waitForInit(this.graph2.bind(this),a)},graph2settings:function(a,b){return this.checkUser(),b?(this.graphSettingsView&&this.graphSettingsView.remove(),this.graphSettingsView=new window.GraphSettingsView({name:a,userConfig:this.userConfig}),void this.graphSettingsView.render()):void this.waitForInit(this.graph2settings.bind(this),a)},helpUs:function(a){return this.checkUser(),a?(this.testView||(this.helpUsView=new window.HelpUsView({})),void this.helpUsView.render()):void this.waitForInit(this.helpUs.bind(this))},support:function(a){return this.checkUser(),a?(this.testView||(this.supportView=new window.SupportView({})),void this.supportView.render()):void this.waitForInit(this.support.bind(this))},workMonitor:function(a){return this.checkUser(),a?(this.workMonitorCollection||(this.workMonitorCollection=new window.WorkMonitorCollection),this.workMonitorView||(this.workMonitorView=new window.WorkMonitorView({collection:this.workMonitorCollection})),void this.workMonitorView.render()):void this.waitForInit(this.workMonitor.bind(this))},queryManagement:function(a){return this.checkUser(),a?(this.queryManagementView||(this.queryManagementView=new window.QueryManagementView({collection:void 0})),void this.queryManagementView.render()):void this.waitForInit(this.queryManagement.bind(this))},databases:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.databases.bind(this));var b=function(a){a?(arangoHelper.arangoError("DB","Could not get list of allowed databases"),this.navigate("#",{trigger:!0}),$("#databaseNavi").css("display","none"),$("#databaseNaviSelect").css("display","none")):(this.databaseView||(this.databaseView=new window.DatabaseView({users:this.userCollection,collection:this.arangoDatabase})),this.databaseView.render())}.bind(this);arangoHelper.databaseAllowed(b)},dashboard:function(a){return this.checkUser(),a?(void 0===this.dashboardView&&(this.dashboardView=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:this.arangoDatabase})),void this.dashboardView.render()):void this.waitForInit(this.dashboard.bind(this))},graphManagement:function(a){return this.checkUser(),a?(this.graphManagementView||(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore})),void this.graphManagementView.render()):void this.waitForInit(this.graphManagement.bind(this))},showGraph:function(a,b){return this.checkUser(),b?void(this.graphManagementView?this.graphManagementView.loadGraphViewer(a):(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore}),this.graphManagementView.render(a,!0))):void this.waitForInit(this.showGraph.bind(this),a)},applications:function(a){return this.checkUser(),a?(void 0===this.applicationsView&&(this.applicationsView=new window.ApplicationsView({collection:this.foxxList})),void this.applicationsView.reload()):void this.waitForInit(this.applications.bind(this))},handleSelectDatabase:function(a){return this.checkUser(),a?void this.naviView.handleSelectDatabase():void this.waitForInit(this.handleSelectDatabase.bind(this))},handleResize:function(){this.dashboardView&&this.dashboardView.resize(),this.graphManagementView&&this.graphManagementView.handleResize($("#content").width()),this.queryView&&this.queryView.resize(),this.naviView&&this.naviView.resize(),this.graphViewer2&&this.graphViewer2.resize(),this.documentsView&&this.documentsView.resize(),this.documentView&&this.documentView.resize()},userPermissionView:function(a,b){if(this.checkUser(),b||null===b)this.userPermissionView=new window.UserPermissionView({collection:this.userCollection,databases:this.arangoDatabase,username:a}),this.userPermissionView.render();else if(b===!1)return void this.waitForInit(this.userPermissionView.bind(this),a)},userView:function(a,b){this.checkUser(),b||null===b?(this.userView=new window.UserView({collection:this.userCollection,username:a}),this.userView.render()):b===!1&&this.waitForInit(this.userView.bind(this),a)},userManagement:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.UserManagementView({collection:this.userCollection})),void this.userManagementView.render()):void this.waitForInit(this.userManagement.bind(this))},userProfile:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.UserManagementView({collection:this.userCollection})),void this.userManagementView.render(!0)):void this.waitForInit(this.userProfile.bind(this))},fetchDBS:function(a){var b=this,c=!1;this.coordinatorCollection.each(function(a){b.dbServers.push(new window.ClusterServers([],{host:a.get("address")}))}),this.initFinished=!0,_.each(this.dbServers,function(b){b.fetch({success:function(){c===!1&&a&&(a(),c=!0)}})})},getNewRoute:function(a){return"http://"+a},registerForUpdate:function(a){this.toUpdate.push(a),a.updateUrl()}})}(),function(){"use strict";var a=function(a,b){var c=[];c.push(window.modalView.createSuccessButton("Download Page",function(){window.open("https://www.arangodb.com/download","_blank"),window.modalView.hide()}));var d=[],e=window.modalView.createReadOnlyEntry.bind(window.modalView);d.push(e("current","Current",a.toString())),b.major&&d.push(e("major","Major",b.major.version)),b.minor&&d.push(e("minor","Minor",b.minor.version)),b.bugfix&&d.push(e("bugfix","Bugfix",b.bugfix.version)),window.modalView.show("modalTable.ejs","New Version Available",c,d)};window.checkVersion=function(){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=window.versionHelper.fromString(b.version);$(".navbar #currentVersion").html(" "+b.version.substr(0,5)+''),window.parseVersions=function(b){return _.isEmpty(b)?void $("#currentVersion").addClass("up-to-date"):($("#currentVersion").addClass("out-of-date"),void $("#currentVersion").click(function(){a(c,b)}))},$.ajax({type:"GET",async:!0,crossDomain:!0,timeout:3e3,dataType:"jsonp",url:"https://www.arangodb.com/repositories/versions.php?jsonp=parseVersions&version="+encodeURIComponent(c.toString())})}})}}(),function(){"use strict";window.hasOwnProperty("TEST_BUILD")||($(document).ajaxSend(function(a,b,c){var d=window.arangoHelper.getCurrentJwt();d&&b.setRequestHeader("Authorization","bearer "+d)}),$(document).ready(function(){window.App=new window.Router,Backbone.history.start(),window.App.handleResize()}),$(document).click(function(a){a.stopPropagation(),$(a.target).hasClass("subBarDropdown")||$(a.target).hasClass("dropdown-header")||$(a.target).hasClass("dropdown-footer")||$(a.target).hasClass("toggle")||$("#userInfo").is(":visible")&&$(".subBarDropdown").hide()}))}(); \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js.gz b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js.gz index 00c1ba548de4add96085df64f0bcbae5ae169724..7d50fb7d05f7a21a6cb692fb57320c869c63592a 100644 GIT binary patch delta 103761 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 JQz`7z1^`N93L^jj delta 103301 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 0) {

    -
    +
    + + + +
    +
    - - - - -
    + +
    @@ -1037,7 +1040,8 @@ if (list.length > 0) {
    <% _.each(specific, function(val, key) { %> <% if (val.type === 'divider') { %>
    <%=val.name%>
    <% } else { %>
    <%=val.name%>
    -
    <% var VALUE; %> <% if (val.value) { %> <% VALUE = val.value %> <% } else { %> <% VALUE = val.default %> <% } %> <% if (val.type === 'string') { %> <% } %> <% if (val.type === 'number') { %> <% } %> <% if (val.type === 'color') { %> <% } %> <% if (val.type === 'range') { %> <% } %> <% if (val.type === 'select') { %> <% } %>
    <% } %> <% }); %>
    +
    <% var VALUE; %> <% if (val.value) { %> <% VALUE = val.value %> <% } else { %> <% VALUE = val.default %> <% } %> <% if (val.type === 'string') { %> <% } %> <% if (val.type === 'number') { %> <% } %> <% if (val.type === 'color') { %> <% } %> <% if (val.type === 'range') { %> + <% } %> <% if (val.type === 'select') { %> <% } %>
    <% } %> <% }); %> @@ -2242,13 +2246,13 @@ if (list.length > 0) { Format: -

    JSON documents embedded into a list:

    -

    -

    [{

    -

    "name": "Query Name",

    -

    "value": "Query Definition",

    -

    "parameter": "Query Bind Parameter as Object"

    -

    }]

    +
    JSON documents embedded into a list:
    +
    +[{
    +  "name": "Query Name",
    +  "value": "Query Definition",
    +  "parameter": "Query Bind Parameter as Object"
    +}]
                 
               
               
    @@ -2395,14 +2399,14 @@ if (list.length > 0) {
       
    \ No newline at end of file +
    \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html.gz b/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html.gz index 5396ea6bc828619ccb082c6aab1e08e5e582b7d3..1dad1a7fe2755d807e2bfa27e65ce94764db6aaf 100644 GIT binary patch delta 29716 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 delta 29777 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≫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:first-of-type{visibility:hidden}body{background:rgba(64,74,83,.04);color:#333;display:block;font-size:14px;line-height:20px;margin:0;overflow:hidden}.fa,.fa-stack{display:inline-block}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}body .bodyWrapper{left:150px;min-height:100%;position:absolute;right:0}body .centralRow{position:relative}body .loadingScreen{background-color:#fff;bottom:0;left:0;padding-top:100px;position:absolute;right:0;top:102px;z-index:100}body .loadingScreen span{display:inline-block;margin-top:10px;text-align:center;width:100%}body .loadingScreen i{width:100%}body #offlinePlaceholder{background:rgba(64,74,83,.8);height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}body #offlinePlaceholder .offline-div{overflow:auto;position:fixed;top:20%;width:100%;z-index:1050}body #offlinePlaceholder .offline-div h3,body #offlinePlaceholder .offline-div p{font-weight:300}body #offlinePlaceholder .offline-div .pure-u{width:100%}body #offlinePlaceholder .offline-div .offline-window{background:#fff;border-radius:3px}body #offlinePlaceholder .offline-div .offline-window .offline-header{padding-top:10px;text-align:center}body #offlinePlaceholder .offline-div .offline-window .offline-body{padding-bottom:20px;padding-top:0}body #offlinePlaceholder .offline-div .offline-window .offline-body .animation_state{padding-top:20px}body #offlinePlaceholder .offline-div .offline-window .offline-body>p{margin-bottom:0;text-align:center}body #offlinePlaceholder .offline-div .offline-window .offline-body,body #offlinePlaceholder .offline-div .offline-window .offline-header{padding-left:20px;padding-right:20px}.page-title span,.pingback a.url,body,input,textarea{font-weight:400}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(../fonts/opensans/OpenSansLight.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local("Open Sans"),local("OpenSans"),url(../fonts/opensans/OpenSans.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/opensans/OpenSansBold.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSansLight-Italic"),url(../fonts/opensans/OpenSansLightItalic.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/opensans/OpenSansItalic.woff) format("woff")}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(../fonts/opensans/OpenSansBoldItalic.woff) format("woff")}/*! * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome/fontawesome-webfont.eot?v=4.4.0);src:url(../fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.4.0) format("embedded-opentype"),url(../fonts/fontawesome/fontawesome-webfont.woff2?v=4.4.0) format("woff2"),url(../fonts/fontawesome/fontawesome-webfont.woff?v=4.4.0) format("woff"),url(../fonts/fontawesome/fontawesome-webfont.ttf?v=4.4.0) format("truetype"),url(../fonts/fontawesome/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.contentDiv li,.dashboard-bar-chart-container,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage,.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-half-height-legend,.dashboard-large-chart,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-interior-chart,.dashboard-small-chart,.dashboard-small-chart .dashboard-small-chart-inner,.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart,.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title,.dashboard-tendency-container,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-subtitle-bar,.dashboard-title-bar .dashboard-half-title-bar,.dashboardModal,.dropdown-toolbar,.fixedDropdown .notificationItemContent,.gv-dropdown-menu,.innerDropdownInnerUL,.link-dropdown-menu,.modal-chart-detail,.modal-chart-detail .modal-body,.modal-chart-detail .modal-dashboard-legend,.modal-chart-detail .modal-inner-detail,.navlist li,.navlogo,.pagination-line li a,.pull-left,.script-dropdown-menu,.user-dropdown-menu,a.button-gui,a.headerButton,div .bigtile,div .bigtile a span.add-Icon,div .tile,div .tile a span.add-Icon,div.centralContent,div.dropdownInner ul,div.footer-center,div.footer-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}@font-face{font-family:Roboto;font-weight:300;font-style:normal;src:url(../fonts/roboto/Roboto-300/Roboto-300.eot);src:url(../fonts/roboto/Roboto-300/Roboto-300.eot?#iefix) format("embedded-opentype"),local("Roboto Light"),local("Roboto-300"),url(../fonts/roboto/Roboto-300/Roboto-300.woff2) format("woff2"),url(../fonts/roboto/Roboto-300/Roboto-300.woff) format("woff"),url(../fonts/roboto/Roboto-300/Roboto-300.ttf) format("truetype"),url(../fonts/roboto/Roboto-300/Roboto-300.svg#Roboto) format("svg")}@font-face{font-family:Roboto;font-weight:400;font-style:normal;src:url(../fonts/roboto/Roboto-regular/Roboto-regular.eot);src:url(../fonts/roboto/Roboto-regular/Roboto-regular.eot?#iefix) format("embedded-opentype"),local("Roboto"),local("Roboto-regular"),url(../fonts/roboto/Roboto-regular/Roboto-regular.woff2) format("woff2"),url(../fonts/roboto/Roboto-regular/Roboto-regular.woff) format("woff"),url(../fonts/roboto/Roboto-regular/Roboto-regular.ttf) format("truetype"),url(../fonts/roboto/Roboto-regular/Roboto-regular.svg#Roboto) format("svg")}@font-face{font-family:Roboto;font-weight:500;font-style:normal;src:url(../fonts/roboto/Roboto-500/Roboto-500.eot);src:url(../fonts/roboto/Roboto-500/Roboto-500.eot?#iefix) format("embedded-opentype"),local("Roboto Medium"),local("Roboto-500"),url(../fonts/roboto/Roboto-500/Roboto-500.woff2) format("woff2"),url(../fonts/roboto/Roboto-500/Roboto-500.woff) format("woff"),url(../fonts/roboto/Roboto-500/Roboto-500.ttf) format("truetype"),url(../fonts/roboto/Roboto-500/Roboto-500.svg#Roboto) format("svg")}@font-face{font-family:Roboto;font-weight:700;font-style:normal;src:url(../fonts/roboto/Roboto-700/Roboto-700.eot);src:url(../fonts/roboto/Roboto-700/Roboto-700.eot?#iefix) format("embedded-opentype"),local("Roboto Bold"),local("Roboto-700"),url(../fonts/roboto/Roboto-700/Roboto-700.woff2) format("woff2"),url(../fonts/roboto/Roboto-700/Roboto-700.woff) format("woff"),url(../fonts/roboto/Roboto-700/Roboto-700.ttf) format("truetype"),url(../fonts/roboto/Roboto-700/Roboto-700.svg#Roboto) format("svg")}.arango-tab li,.dashboard-legend,.dashboard-sub-bar-menu,.docsThirdCol,.fixedDropdown .notificationItem i,.fixedDropdown button,.headerBar>div.headerButtonBar,.query-button,.search-field,div .bigtile .iconSet span,div .tile .iconSet span,div.footer-right,div.footer-right p,div.gv_colour_list,ul.headerButtonList li{float:right}.collectionInfoTh2,.collectionTh,.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title,.dataNotReadyYet,.dygraph-label.dygraph-title,.figuresHeader th,.graphLabel,.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .aqlEditorWrapper table,.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .aqlEditorWrapper table th,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .bindParamEditorWrapper table,.inputEditorWrapper .bindParamEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table th,.modal-body,.page-title span,.pingback a.url,.snippet-no-num,.ui-tooltip,body,button,input,textarea{font-family:Roboto,sans-serif!important}.document-info .document-bold-font,.document-info .document-thin-font{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:11pt}#distributionChartDiv:after,.arango-tab:after,.dashboard-bar-chart-container .dashboard-bar-chart:after,.dashboard-medium-chart .dashboard-medium-chart-inner:after,.dashboard-medium-chart .dashboard-medium-chart-menu:after,.dashboard-row:after,.dashboard-sub-bar:after,.dashboard-tendency-container .dashboard-tendency-chart:after,.detail-chart:after,.document-info .document-info-container .document-inner-info-container .document-attribute:after,.headerBar>div.headerButtonBar:after,.lineChartDiv:after,.pagination-line li:after,.resizecontainer:after,.tileList:after{clear:both;content:'.';display:block;font-size:0;height:0;visibility:hidden}.caret,.contentDiv:after,.contentDiv:before,.form-actions:after,.form-actions:before,.pong-spinner:after,.pong-spinner:before{content:''}.addButton,.arango-tab a,.arango-tab li,.arangoicon,.clusterDownBtn button,.contentDiv .icon,.contentTables tr.contentRowInactive a,.deleteButton i,.dropdownImport.headerDropdown input[type=checkbox].css-checkbox label.css-label,.edit-index-table .icon_arangodb_roundminus,.fixedDropdown .notificationItem i,.fullNotification:hover,.gv-search-submit-icon,.icon-info-sign,.link>line,.node,.pagination-line li a,.script-dropdown-menu .dropdown-item,.search-submit-icon,a.button-gui,a.headerButton,div .bigtile,div .bigtile .iconSet span,div .bigtile a span.icon,div .bigtile a svg,div .tile .iconSet span,div .tile a span.icon,div .tile a svg,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label,div.toolbox div.gv_action_button{cursor:pointer}.graphContent #graph-container{outline:0;-webkit-touch-callout:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}#swagger #jsonLink,.arangoToolbar span.clickable:hover,.login-window button,.pure-table-body .fa,.shardFollowers span,.shardLeader span,.subnavmenu .infoEntry a.default-icon i{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.login-window select{-webkit-appearance:none;background:url("data:image/svg+xml;utf8,") right 10px top 12px no-repeat #f2f2f2;background-size:16px 16px;border:0;-webkit-border-radius:2px;border-radius:2px;color:#000;font-size:14px;font-weight:400;height:40px;line-height:initial;outline:0;padding:12px;text-align:center;-moz-transition:.3s ease all;-ms-transition:.3s ease all;-o-transition:.3s ease all;-webkit-transition:.3s ease all;transition:.3s ease all;width:100%}.breadcrumb a,.navlist .dropdown-item:hover a,.navlist>li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.login-window select:disabled{opacity:.5}.login-window select:active,.login-window select:focus{border:0;outline:0}.navbar{color:#fff;left:0;right:0;z-index:1000}.ajax-file-upload-red,.button-danger{background-color:#e74c3c}.ajax-file-upload-red:focus,.ajax-file-upload-red:hover,.button-danger:focus,.button-danger:hover{background-color:#ec7063}.contentTables td span,.deleteButton i,.edit-index-table .icon_arangodb_roundminus{color:#e74c3c}.contentTables td span:focus,.contentTables td span:hover,.deleteButton i:focus,.deleteButton i:hover,.edit-index-table .icon_arangodb_roundminus:focus,.edit-index-table .icon_arangodb_roundminus:hover{color:#ec7063}.ajax-file-upload,.button-success{background-color:#2ecc71}.ajax-file-upload:focus,.ajax-file-upload:hover,.button-success:focus,.button-success:hover{background-color:#58d68d}.button-info{background-color:#3498db}.button-info:focus,.button-info:hover{background-color:#5dade2}.addButton,.contentTables td.dbThSecond span{color:#2ecc71}.addButton:focus,.addButton:hover,.contentTables td.dbThSecond span:focus,.contentTables td.dbThSecond span:hover{color:#58d68d}.button-warning{background-color:#f1c40f}.button-warning:focus,.button-warning:hover{background-color:#f4d313}.button-close,.button-neutral{background-color:#8f8d8c}.button-close:focus,.button-close:hover,.button-neutral:focus,.button-neutral:hover{background-color:#736b68}.dashboard-sub-bar-menu{color:#8f8d8c}.dashboard-sub-bar-menu:focus,.dashboard-sub-bar-menu:hover{color:#736b68}.button-primary{background-color:#34495e}.button-primary:focus,.button-primary:hover{background-color:#415b76}.button-header,a.button-gui,a.headerButton{background-color:#fff;border:1px solid #fff;color:#555}.button-header:focus,.button-header:hover,a.button-gui:focus,a.button-gui:hover,a.headerButton:focus,a.headerButton:hover{background-color:#2ecc71;border:1px solid #2ecc71;color:#fff}.button-notification{background-color:#faa020}.button-notification:focus,.button-notification:hover{background-color:#f87c0f}.button-inactive,.button-inactive:focus,.button-inactive:hover,[class*=' button-']:disabled,[class*=' button-']:focus:disabled,[class*=' button-']:hover:disabled,[class^=button-]:disabled,[class^=button-]:focus:disabled,[class^=button-]:hover:disabled,button.disabled,button.disabled:focus,button.disabled:hover{background-color:#d3d3d3}a.headerButton.disabled,a.headerButton.disabled:focus,a.headerButton.disabled:hover{color:#d3d3d3}div.queryline .fa.fa-search{color:#c2c2c2;font-size:12pt;opacity:.5;position:relative;right:21px;top:-1px}div.queryline .fa.fa-search:hover{cursor:pointer;opacity:1}.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table td input,.jsoneditor .search .frame input,.login-window .login-input,.modal-body .select2-choices input,.modal-body input,.modal-body select,.modal-body textarea,.navbar .arango-collection-select,.newIndexClass table input,.newIndexClass table select,.pure-table-body input,.pure-table-body select,.sectionHeader .scaleGroup input,div.queryline input,div.queryline select,input.search-input{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#fff!important;border:2px solid rgba(140,138,137,.25);box-shadow:none;outline:transparent 0}.inputEditorWrapper .aqlEditorWrapper table td input:focus,.inputEditorWrapper .bindParamEditorWrapper table td input:focus,.jsoneditor .search .frame input:focus,.login-window .login-input:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.navbar .arango-collection-select:focus,.newIndexClass table input:focus,.newIndexClass table select:focus,.pure-table-body input:focus,.pure-table-body select:focus,.sectionHeader .scaleGroup input:focus,div.queryline input:focus,div.queryline select:focus,input.search-input:focus{border-color:#2ecc71;box-shadow:none;outline:transparent 0}.dropdown-toolbar,.gv-dropdown-menu,.link-dropdown-menu,.script-dropdown-menu,.user-dropdown-menu{background-color:#f5f8f0;border-color:#666;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;display:none;left:initial;list-style:none;margin:5px 0 0;padding:5px 0;position:absolute;right:0;top:80%;z-index:1000}.dropdown-toolbar li,.gv-dropdown-menu li,.link-dropdown-menu li,.script-dropdown-menu li,.user-dropdown-menu li{line-height:23px;white-space:nowrap;width:100%}.dropdown-toolbar .dropdown-header,.gv-dropdown-menu .dropdown-header,.link-dropdown-menu .dropdown-header,.script-dropdown-menu .dropdown-header,.user-dropdown-menu .dropdown-header{color:#999;font-size:15px;font-weight:600;font-variant:small-caps;padding:0}.dropdown-toolbar .dropdown-header:hover,.gv-dropdown-menu .dropdown-header:hover,.link-dropdown-menu .dropdown-header:hover,.script-dropdown-menu .dropdown-header:hover,.user-dropdown-menu .dropdown-header:hover{cursor:default}.dropdown-toolbar .divider,.gv-dropdown-menu .divider,.link-dropdown-menu .divider,.script-dropdown-menu .divider,.user-dropdown-menu .divider{background-color:#666;height:1px;margin:10px 0 5px}.dropdown-toolbar a,.gv-dropdown-menu a,.link-dropdown-menu a,.script-dropdown-menu a,.user-dropdown-menu a{color:#fff;padding:0 20px}.navbar2{color:#fff}.navbar2>.secondary{background-color:rgba(255,255,255,.85)}.navbar{bottom:0;float:left;-webkit-font-smoothing:subpixel-antialiased;margin-bottom:0;position:absolute;top:0;width:150px}.navbar>.primary{background-color:#404a53;float:left;height:100%;width:150px}.navbar>.resizecontainer{background-color:#fff}.navbar .no-left-margin{border:0;margin-left:0}.navbar .no-left-margin.hover{background-color:transparent}.navbar .arangodbLogo{height:auto;margin-left:6px;margin-top:15px;width:138px}.navbar .arango-collection-select{position:relative;right:-22px;top:4px}.navbar .nav .dropdown .active>.dropdown-toggle,.navbar .nav .dropdown .open.active>.dropdown-toggle,.navbar .nav .dropdown .open>.dropdown-toggle{background:#58d68d}.navbar .nav>.active>a{-webkit-box-shadow:0 0 0 transparent inset;-moz-box-shadow:0 0 0 transparent inset;box-shadow:0 0 0 transparent inset;background-color:#fff;color:#000}.navbar .nav>li>a:focus{background-color:#fff}.navbar .nav>li>a:hover{background-color:#000;color:#686766}.navbar .shortcut{bottom:31px;left:13px;position:absolute}.navbar .shortcut i{background-color:transparent;border-radius:20px;color:#fff;width:20px;padding:5px 0 6px 4px}.navbar .shortcut i:hover{background-color:#2ecc71;color:#fff;cursor:pointer}.navbar .social-icons{bottom:0;float:left;margin-left:9px;position:absolute;width:100%}.navbar .social-icons a{display:block;float:left;height:25px;width:25px}.navbar .social-icons p{background:0 0;border-radius:20px;float:left;height:25px;margin-right:10px;padding:0;width:25px}.navbar .social-icons p:hover{background:#2ecc71;cursor:pointer}.navlist li.divider,.navlist li.navbar-spacer{background-color:rgba(0,0,0,.2)}.navbar .social-icons p:hover i{color:#fff}.navbar .social-icons i{color:#fff;margin-top:6px;position:absolute}.navbar .social-icons i.fa-google,.navbar .social-icons i.fa-slack,.navbar .social-icons i.fa-stack-overflow,.navbar .social-icons i.fa-twitter{margin-left:7px}.navlogo{height:60px;width:100%}.navlogo .small{display:none}.script-dropdown-menu .dropdown-item a,.tab{display:block}.navlogo .version{bottom:33px;color:rgba(255,255,255,.7);font-size:11px;font-weight:100;left:0;padding-bottom:10px;position:absolute;text-align:center;text-transform:uppercase;width:100%}.navlist,.navlist li{width:150px}.navlogo .version .out-of-date{color:#f1c40f;font-weight:400}.navlogo .version .out-of-date:hover{cursor:pointer}.navlogo .version .up-to-date{color:#2ecc71}.navmenu{clear:both}.navlist{list-style:none;margin:0;position:relative;top:0}.navlist>li{line-height:30px}.navlist li a{outline:0}.navlist li .fa{opacity:.3;padding-left:5px;padding-right:15px;text-align:center;width:10px}.navlist li .fa.fa-heart{color:#ff7a7a;opacity:1}.navlist li.disabled:hover{cursor:default}.navlist li.disabled:hover a:hover{cursor:default;opacity:.8}div .bigtile:hover,div .tile:hover,div.footer-center p:hover{cursor:pointer}.navlist .active .tab .fa,.navlist>.active a{opacity:1}.navlist li.dropdown:hover{border-bottom-left-radius:0;border-bottom-right-radius:0}.navlist li.divider,.navlist li.navbar-spacer{border:0}.navlist li.navbar-spacer{height:2px;margin-bottom:0;margin-top:0}.navlist .active{border-left:2px solid #77cb99}.navlist .active .tab{color:#fff;margin-left:-2px}.navlist .dropdown-item,.script-dropdown-menu .dropdown-item{margin-left:0}.navlist>.active{background-color:rgba(255,255,255,.2)}.navlist .dropdown-item:hover a,.navlist>li:hover a{color:#fff;opacity:1;transition:all .2s ease-in}.navlist .dropdown-item a{border-bottom:0;display:block;font-size:11pt}.navlist .dropdown-item a:hover{background-color:#dee9cf;color:#686766}.tab{color:rgba(255,255,255,.8);font-size:9pt;font-weight:100;text-transform:uppercase;padding:5px}.tab.userImg{padding-bottom:5px}.dropdown-item a{border-bottom:0!important;font-weight:300}.dropdown-toolbar li a,footer.footer p{font-weight:100}.dropdown-toolbar{background-color:#fff!important}.dropdown-toolbar li a:hover{background:0 0;background-color:#dee9cf!important;color:#000!important}.link-dropdown-menu,.user-dropdown-menu{background-color:rgba(0,0,0,.7);border-top-right-radius:0;margin-right:-1px;margin-top:7px;z-index:50}.link-dropdown-menu .dropdown-item,.user-dropdown-menu .dropdown-item{border-left:0;border-right:0}.script-dropdown-menu .dropdown-item a:hover{color:#fff}.script-dropdown-menu .dropdown-item:hover{background-color:#2ecc71}.gv-dropdown-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background-color:rgba(0,0,0,.7);border:1px solid #c2c2c2;margin-right:-20px;margin-top:6px}.gv-dropdown-menu:after{border-bottom-color:#fff}.gv-dropdown-menu li:hover{background-color:#fff;background-image:none}.gv-dropdown-menu li a{padding:0}.gv-dropdown-menu li a label{color:#fff;padding-left:5px}.gv-dropdown-menu li a:focus{background-color:#2ecc71!important;background-image:none}#arangoCollectionSelect{display:none;float:right;margin-bottom:0;margin-right:15px;padding-bottom:0}.caret{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #686766;display:inline-block;height:0;vertical-align:top;width:0}.applications-menu{display:block}.arango-logo{height:34px;padding:0!important}.arango-logo img{margin-left:22px}.footer{background-color:rgba(239,240,241,.8);display:none;font-size:14px;left:160px;right:10px;text-align:center;z-index:1000}div.footer-center,div.footer-left,div.footer-right{background:none;color:#686766}footer.footer{bottom:0;height:43px;position:fixed}footer.footer p{font-size:10pt;margin-bottom:0;padding-bottom:10px;padding-top:10px}div.footer-left{width:45%}div.footer-center{width:10%}div.footer-center p{padding-top:5px}[class*=' button-']:disabled,[class^=button-]:disabled,a.headerButton.disabled,button.disabled{cursor:not-allowed}div.footer-right{width:45%}div.footer-right p{color:#fff}div.footer-right i{color:#e74c3c;font-size:18px}div.footer-right a{color:#686766;margin-left:5px;position:relative;top:-1px}div.footer-right .isOnline{color:#2ecc71!important}.ajax-file-upload,.ajax-file-upload-red,.button-close,.button-danger,.button-header,.button-inactive,.button-info,.button-neutral,.button-notification,.button-primary,.button-success,.button-warning{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;font-size:13px;font-weight:300!important}.addButton,.deleteButton i{font-size:16pt;position:relative}.ajax-file-upload,.ajax-file-upload-red,.button-close,.button-danger,.button-inactive,.button-info,.button-neutral,.button-notification,.button-primary,.button-success,.button-warning{border:0;color:#fff;margin-left:10px;padding:4px 12px}.ajax-file-upload-red:focus,.ajax-file-upload:focus,.button-close:focus,.button-danger:focus,.button-inactive:focus,.button-info:focus,.button-neutral:focus,.button-notification:focus,.button-primary:focus,.button-success:focus,.button-warning:focus{outline:0}.ajax-file-upload i,.ajax-file-upload-red i,.button-close i,.button-danger i,.button-inactive i,.button-info i,.button-neutral i,.button-notification i,.button-primary i,.button-success i,.button-warning i{margin-left:-5px}.ajax-file-upload .fa,.ajax-file-upload-red .fa,.button-close .fa,.button-danger .fa,.button-inactive .fa,.button-info .fa,.button-neutral .fa,.button-notification .fa,.button-primary .fa,.button-success .fa,.button-warning .fa{position:relative;top:1px}.button-header{margin-top:5px}.addButton{margin-right:7px;margin-top:2px}.deleteButton i{float:right;padding-right:7px;top:12px}#closeBtnInfoView{margin-left:0!important}button.btn-server{width:120px}button.btn-small{padding:0 8px}button.gv-zoom-btn{background-size:14px 14px;height:14px;vertical-align:baseline;width:14px}button.gv-zoom-btn.btn-zoom-right{border:0;box-shadow:none;right:0;top:13px}button.gv-zoom-btn.pan-right{background-image:url(../img/gv_arrow_right.png)}button.gv-zoom-btn.pan-right:hover{background:inherit;background-image:url(../img/gv_arrow_right.png)}button.gv-zoom-btn.pan-left{background-image:url(../img/gv_arrow_left.png)}button.gv-zoom-btn.pan-left:hover{background:inherit;background-image:url(../img/gv_arrow_left.png)}button.gv-zoom-btn.pan-top{background-image:url(../img/gv_arrow_top.png)}button.gv-zoom-btn.pan-top:hover{background:inherit;background-image:url(../img/gv_arrow_top.png)}button.gv-zoom-btn.pan-bottom{background-image:url(../img/gv_arrow_bottom.png)}button.gv-zoom-btn.pan-bottom:hover{background:inherit;background-image:url(../img/gv_arrow_bottom.png)}button.gv-zoom-btn.btn-zoom{height:14px;margin:0;padding:0;position:absolute;width:16px}button.gv-zoom-btn.btn-zoom-top{border:0;box-shadow:none;left:13px;top:1}button.gv-zoom-btn.btn-zoom-left{border:0;box-shadow:none;left:0;top:13px}button.gv-zoom-btn.btn-zoom-bottom{border:0;box-shadow:none;left:13px;top:25px}button.gv-icon-btn{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;background-size:36px 36px;height:36px;width:36px}button.gv-icon-btn.active{background-color:#2ecc71}button.gv_dropdown_entry{height:30px;margin:4px 4px 4px 12px;width:160px}button.gv_context_button{width:65px}button.large-distance{margin-left:12px}button.short-distance{margin-left:6px}button.shutdown{margin-top:6px;padding:3px 14px}button.graphViewer-icon-button{background-color:transparent;border:0;height:20px;margin-left:5px;margin-top:-2px;padding:0;width:20px}button.graphViewer-icon-button img{height:20px;padding-bottom:10px;width:20px}ul.headerButtonList{display:inline-block;margin-bottom:0;margin-left:0;padding-left:0!important}ul.headerButtonList li{display:inline}a.button-gui,a.headerButton{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:5px;margin-right:5px}a.headerButton{margin-top:2px;position:relative}a.headerButton .fa,a.headerButton [class*=" icon_"],a.headerButton [class^=icon_]{display:block;height:23px;line-height:23px;position:static;right:0;text-align:center;top:0;width:27px}a.headerButton .icon_arangodb_arrowleft,a.headerButton .icon_arangodb_arrowright{font-weight:700}a.headerButton.activated{background-color:#58d68d;border:1px solid #58d68d;color:#fff}a.headerButton.activated:hover{background-color:#fff;color:#58d68d}div.toolbox{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;border:1px solid rgba(140,138,137,.25);margin-right:5px;padding-bottom:5px;padding-top:5px;position:absolute;top:-10px}div.toolbox div.gv_action_button{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;color:#555;height:30px;margin:5px;position:relative;text-align:center;width:30px}div.toolbox div.gv_action_button.active{background-color:#2ecc71;color:#fff}div.toolbox div.gv_action_button:first-child{margin-top:0}div.toolbox div.gv_action_button:last-child{margin-bottom:0}h6.gv_button_title,h6.gv_icon_icon{left:0;margin:0;position:absolute;right:0}h6.gv_icon_icon{font-size:22px;left:1px;top:4px}h6.gv_button_title{bottom:1px;display:none}.btn-icon{background-color:#383434;padding:4px}.gv-icon-small{background-size:16px 16px;height:16px!important;width:16px!important}.gv-icon-small.delete{background-image:url(../img/icon_delete.png)}.gv-icon-small.add{background-image:url(../img/plus_icon.png)}a.pagination-button,ul.arango-pagination a{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.badge,.btn,.label{text-shadow:none!important}.navbar-inner,.thumbnail{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0}.modal-body th.actionCell>button{margin-top:-12px}.btn-old-padding{padding-bottom:4px!important;padding-top:4px!important}button.btn-overview,button.btn-server{margin:5px}a.button-gui{height:auto;margin-bottom:0;margin-top:0;padding-bottom:1px;padding-top:1px;position:absolute;right:2px;text-decoration:none!important;top:2px;width:auto}a.button-gui.button-gui-disabled{display:none}.clusterDownBtn{padding-bottom:10px;padding-top:10px;text-align:center}.clusterDownBtn button{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f1f1f1;border:1px solid rgba(0,0,0,.1875);color:#333;font-size:20px;font-weight:300;margin:0;padding:12px 18px;text-align:center;text-decoration:none!important;width:250px}.clusterDownBtn button:hover{background-color:#e8e8e8;color:#4a6c30;-webkit-transition-delay:0;-webkit-transition-duration:.2s;-webkit-transition-property:all;-webkit-transition-timing-function:ease-in}.clusterDownBtn button.green{background-color:#617e2b;color:#fff}.clusterDownBtn button.green:hover{background-color:#8ba142}.bottomButtonBar{background-color:#fff;border-top:1px solid rgba(104,103,102,.1);height:30px;padding:10px}.tileList{left:10px;padding-top:5px;position:absolute;right:10px}.tileList legend{padding-left:5px}.tileList .tile:first-child a{opacity:.8}.tileList .tile:first-child a:hover{opacity:1}div .bigtile,div .tile{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-radius:2px;font-size:14px;list-style:none;margin-bottom:13px;position:relative;text-align:center;z-index:1}div .bigtile progress[value],div .tile progress[value]{color:#5bc0de}div .bigtile progress::-webkit-progress-bar-value,div .tile progress::-webkit-progress-bar-value{background:#5bc0de}div .bigtile progress::-webkit-progress-value,div .tile progress::-webkit-progress-value{background:#5bc0de}div .bigtile progress::-moz-progress-bar,div .tile progress::-moz-progress-bar{background:#5bc0de}div .bigtile progress,div .tile progress{-webkit-appearance:none;border-radius:0;height:2px;margin-top:16px;position:relative;width:100%;z-index:10}div .locked.bigtile,div .locked.tile{cursor:not-allowed}div .locked.bigtile .borderBox,div .locked.bigtile .collection-type-icon,div .locked.bigtile .collectionName,div .locked.bigtile .iconSet,div .locked.tile .borderBox,div .locked.tile .collection-type-icon,div .locked.tile .collectionName,div .locked.tile .iconSet{opacity:.5}div .locked.bigtile .iconSet span:hover,div .locked.tile .iconSet span:hover{background-color:#fff!important;color:#000;cursor:not-allowed!important}div .locked.bigtile .iconSet:hover,div .locked.tile .iconSet:hover{cursor:not-allowed!important}div .bigtile .collection-type-icon:hover,div .bigtile img:hover,div .tile .collection-type-icon:hover,div .tile img:hover{cursor:pointer}div .bigtile .warning-icons,div .tile .warning-icons{background-color:#e74c3c;border-radius:2px;color:#fff;font-size:11px;height:17px;left:0;line-height:13px;margin-left:5px;margin-top:5px;padding-left:9px;padding-right:9px;position:absolute;top:0}div .bigtile .warning-icons .fa,div .tile .warning-icons .fa{font-size:11pt;margin-left:1px}div .bigtile .collection-type-icon,div .tile .collection-type-icon{color:#666;font-size:30pt;margin-left:-18px;position:absolute;top:15px}div .bigtile img,div .tile img{position:relative}div .bigtile img.icon,div .tile img.icon{height:50px;margin-top:-110px;width:50px}div .bigtile a span.add-Icon,div .tile a span.add-Icon{font-size:20px;margin-left:22px;margin-right:10px;position:relative;top:0}div .bigtile a span.icon,div .tile a span.icon{font-size:50px}div .bigtile a svg.icon,div .tile a svg.icon{height:50px;width:50px}div .bigtile .tile-icon-svg,div .tile .tile-icon-svg{cursor:pointer;fill:#686766;height:50px;margin-left:auto;margin-right:auto;margin-top:-63px;position:relative;width:50px}div .bigtile .tile-icon,div .tile .tile-icon{color:#686766;font-size:50px;line-height:1.2;margin-left:-50px}div .bigtile .icon_arangodb_edge5-2,div .bigtile .tile-icon,div .tile .icon_arangodb_edge5-2,div .tile .tile-icon{position:absolute;top:15px}div .bigtile .icon_arangodb_edge5-2,div .tile .icon_arangodb_edge5-2{display:inline-block;margin-left:5px;position:absolute;top:0;-moz-transform:rotate(80deg);-o-transform:rotate(80deg);-webkit-transform:rotate(80deg)}div .bigtile h5,div .tile h5{background:rgba(64,74,83,.8);color:#fff;font-size:12px;margin:0 5px;overflow:hidden!important;padding:4px 8px;text-overflow:ellipsis!important;white-space:nowrap!important}div .bigtile h5.inProgress,div .tile h5.inProgress{color:#5bc0de}div .bigtile .tileSelects,div .tile .tileSelects{margin-left:40px;position:relative;z-index:9999}div .bigtile .tileSelects select,div .tile .tileSelects select{float:right;height:20px;margin-right:5px;margin-top:16px;width:70px}div .bigtile .fullBorderBox,div .tile .fullBorderBox{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;box-sizing:border-box;height:100%;margin-left:5px;margin-right:5px;position:relative;width:auto}div .bigtile .fullBorderBox .add,div .tile .fullBorderBox .add{color:#404a53}div .bigtile .fullBorderBox .add span,div .tile .fullBorderBox .add span{color:#2ecc71}div .bigtile .paddingBox,div .tile .paddingBox{box-sizing:border-box;padding-left:5px;padding-right:5px}div .bigtile .borderBox,div .tile .borderBox{background-color:#fff;border:1px solid rgba(64,74,83,.2);border-bottom:0;border-radius:2px;box-sizing:border-box;height:75px;position:relative;width:100%}div .bigtile .iconSet,div .tile .iconSet{position:absolute;right:5px;top:5px}div .bigtile .iconSet span,div .tile .iconSet span{border-radius:2px;color:#666;font-size:18px;z-index:2;padding:2px 3px}div .bigtile .iconSet span:hover,div .tile .iconSet span:hover{background-color:#2ecc71;color:#fff}div .bigtile .iconSet span.disabled,div .tile .iconSet span.disabled{cursor:default;opacity:.2}div .bigtile .iconSet span.disabled:hover,div .tile .iconSet span.disabled:hover{background-color:#fff;color:#000;cursor:default;opacity:.2}div .bigtile .badge-success,div .tile .badge-success{font-weight:300}div .bigtile .unloaded div,div .tile .unloaded div{border-bottom:16px solid #ff8f35}div .bigtile .deleted div,div .tile .deleted div{border-bottom:16px solid #700}div .bigtile .tileBadge,div .tile .tileBadge{bottom:29px;font-size:11px;font-weight:300;position:absolute;right:0}div .bigtile .tileBadge button,div .tile .tileBadge button{margin-left:0;margin-right:5px}div .bigtile .tileBadge span,div .tile .tileBadge span{display:inline-block;line-height:15px}div .bigtile .tileBadge span .corneredBadge,div .tile .tileBadge span .corneredBadge{border-bottom-style:solid;border-bottom-width:17px;border-left:5px solid transparent;border-radius:2px;color:#fff;height:0;margin-bottom:4px;margin-right:10px;padding-left:1px;padding-right:6px}div .bigtile .tileBadge span .corneredBadge.loading,div .tile .tileBadge span .corneredBadge.loading{border-bottom-color:#ff8f35}div .bigtile .tileBadge span .corneredBadge.loaded,div .tile .tileBadge span .corneredBadge.loaded{border-bottom-color:#2ecc71}div .bigtile .tileBadge span .corneredBadge.inProgress,div .tile .tileBadge span .corneredBadge.inProgress{border-bottom-color:#5bc0de}div .bigtile .tileBadge span .corneredBadge.development,div .bigtile .tileBadge span .corneredBadge.unloaded,div .tile .tileBadge span .corneredBadge.development,div .tile .tileBadge span .corneredBadge.unloaded{border-bottom-color:#ff8f35}div .tile{height:100px}div .tile-graph h5{margin-left:5px;margin-right:5px}div .tile-graph .tile-icon:hover{cursor:pointer}div .bigtile{height:309px;width:452px}div .bigtile .shardContainer{font-size:30px}div .bigtile .shardContainer span{padding:2px}.collectionName{border-bottom-left-radius:2px;border-bottom-right-radius:2px;bottom:0;font-weight:300;left:0;position:absolute;right:0;text-align:left}#userManagementThumbnailsIn .tile .paddingBox img{border-radius:58px;margin-top:-99px;padding:0}.resizecontainer{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px}.dashboard-large-chart,.dashboard-medium-chart-outer,.dashboard-sub-bar,.tendency-box-sizing .dashboard-tendency-container,div.centralContent{box-sizing:border-box}@media (max-width:738px){#collectionsDropdown ul{width:auto!important}.footer-center p{display:none}#queryContent #querySize,#queryContent #querySizeDiv,#queryContent .styled-select{margin-right:6px;width:90px!important}}@media (max-width:970px){#documentsDiv #totalDocuments{display:none}}@media (min-width:250px) and (max-width:489px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:10px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:27px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:-15px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:-4.2px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:-3px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-45px;width:110px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:70px}.modal-body .dashboard-large-chart{width:51px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:22px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:5px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:-4.2px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:-3px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:-6px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:90px}.application-detail-view aside.meta{display:none}}@media (min-width:490px) and (max-width:729px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:130px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:147px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:51.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:21px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-165px;width:350px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:310px}.modal-body .dashboard-large-chart{width:211px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:142px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:125px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:51.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:21px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:74px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:330px}.application-detail-view aside.meta{display:none}}@media (min-width:730px) and (max-width:969px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:250px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:267px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:65px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:107.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:45px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-285px;width:590px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:550px}.modal-body .dashboard-large-chart{width:371px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:262px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:245px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:107.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:45px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:154px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:370px}}@media (min-width:970px) and (max-width:1209px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:220px}.dashboard-sub-bar-menu{font-size:13px}.dashboard-medium-chart .dashboard-interior-chart{height:220px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:13px;left:369px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:220px;width:387px}.dashboard-medium-chart #clusterGraphs svg text{font-size:11px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:229px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:11px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:101.5px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:105px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:31.17px;line-height:31.17px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:52.33px;line-height:25.17px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:98px}.dashboard-bar-chart-container .dashboard-bar-chart{height:93px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:31.33px;line-height:31.33px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:163.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:69px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-405px;width:830px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:13px;min-height:225px;width:130px}.absolut,.percentage{font-size:15px}.modal-chart-detail .modal-inner-detail{width:670px}.modal-body .dashboard-large-chart{width:531px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:382px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:364px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:163.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:69px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:234px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:11px;font-weight:400}.dashboard-subtitle-bar{font-size:15px;font-weight:300}.dashboard-figure{font-size:18px;font-weight:400}.dashboard-figurePer{font-size:16px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:11px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:11px;height:117.5px;width:60px}.application-detail-view section.info{width:610px}}@media (min-width:1210px) and (max-width:1449px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:255px}.dashboard-sub-bar-menu{font-size:15px}.dashboard-medium-chart .dashboard-interior-chart{height:255px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:16px;left:486px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:255px;width:507px}.dashboard-medium-chart #clusterGraphs svg text{font-size:12px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:264px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:13px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:119px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:145px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:37px;line-height:37px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:64px;line-height:31px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:115.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:110.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:37.17px;line-height:37.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:219.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:93px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-525px;width:1070px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:14px;min-height:260px;width:140px}.absolut,.percentage{font-size:18px}.modal-chart-detail .modal-inner-detail{width:900px}.modal-body .dashboard-large-chart{width:691px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:502px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:481px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:219.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:93px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:314px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:13px;font-weight:400}.dashboard-subtitle-bar{font-size:18px;font-weight:300}.dashboard-figure{font-size:22px;font-weight:400}.dashboard-figurePer{font-size:20px;font-weight:300}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-size:13px;font-weight:400}.dashboard-legend{font-size:12px;font-weight:400;height:30px;width:100%}.dashboard-half-height-legend{font-size:12px;height:135px;width:65px}.application-detail-view section.info{width:850px}}@media (min-width:1450px) and (max-width:1689px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:15px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:18px;left:604px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:627px}.dashboard-medium-chart #clusterGraphs svg text{font-size:13px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:13px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:185px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:275.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:117px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-645px;width:1310px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:15px;min-height:290px;width:150px}.absolut,.percentage{font-size:20px}.modal-chart-detail .modal-inner-detail{width:1130px}.modal-body .dashboard-large-chart{width:851px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:622px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:599px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:275.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:117px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:394px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:13px;font-weight:400}.dashboard-subtitle-bar{font-size:20px;font-weight:300}.dashboard-figure{font-size:26px;font-weight:400}.dashboard-figurePer{font-size:24px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:13px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:13px;height:150px;width:70px}.application-detail-view section.info{width:1090px}}@media (min-width:1690px) and (max-width:1929px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:325px}.dashboard-sub-bar-menu{font-size:16px}.dashboard-medium-chart .dashboard-interior-chart{height:325px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:22px;left:720px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:325px;width:747px}.dashboard-medium-chart #clusterGraphs svg text{font-size:14px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:334px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:14px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:154px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:225px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:48.67px;line-height:48.67px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:87.33px;line-height:42.67px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:150.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:145.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:48.83px;line-height:48.83px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:331.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:141px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-765px;width:1550px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:16px;min-height:330px;width:170px}.absolut,.percentage{font-size:24px}.modal-chart-detail .modal-inner-detail{width:1350px}.modal-body .dashboard-large-chart{width:1011px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:742px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:715px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:331.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:141px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:474px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:14px;font-weight:400}.dashboard-subtitle-bar{font-size:24px;font-weight:300}.dashboard-figure{font-size:30px;font-weight:400}.dashboard-figurePer{font-size:28px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:14px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:14px;height:170px;width:80px}.application-detail-view section.info{width:1330px}}@media (min-width:1930px) and (max-width:2169px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:385px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:385px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:26px;left:836px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:385px;width:867px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:394px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:14px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:184px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:265px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:58.67px;line-height:58.67px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:107.33px;line-height:52.67px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:180.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:175.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:58.83px;line-height:58.83px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:387.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:165px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-885px;width:1790px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:390px;width:180px}.absolut,.percentage{font-size:28px}.modal-chart-detail .modal-inner-detail{width:1580px}.modal-body .dashboard-large-chart{width:1171px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:862px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:831px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:387.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:165px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:554px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:28px;font-weight:300}.dashboard-figure{font-size:34px;font-weight:400}.dashboard-figurePer{font-size:32px;font-weight:300}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-size:14px;font-weight:400}.dashboard-legend{font-size:15px;font-weight:400;height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:200px;width:85px}.application-detail-view section.info{width:1570px}}@media (min-width:2170px) and (max-width:2409px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:962px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:987px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:305px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:443.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:189px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1005px;width:2030px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:1850px}.modal-body .dashboard-large-chart{width:1331px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:982px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:957px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:443.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:189px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:634px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:1810px}}@media (min-width:2410px) and (max-width:2649px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:1082px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:1107px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:345px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:499.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:213px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1125px;width:2270px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:2090px}.modal-body .dashboard-large-chart{width:1491px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:1102px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:1077px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:499.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:213px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:714px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:2050px}}@media (min-width:2650px) and (max-width:2889px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:1202px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:1227px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:385px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:555.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:237px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1245px;width:2510px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:2330px}.modal-body .dashboard-large-chart{width:1651px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:1222px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:1197px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:555.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:237px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:794px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:2290px}}div.headerBar{position:absolute}div.centralRow{background:rgba(64,74,83,.04);height:100%;min-height:100%;overflow-y:auto;position:relative;right:0}div.centralContent{background-color:transparent;margin-top:10px;width:100%;padding:5px 5px 20px}.contentDiv{list-style:none;padding:0}.contentDiv li{background-color:rgba(0,0,0,.05)}.contentDiv a.add{display:block;font-weight:400;padding:40px 0;text-align:left}.modal-body th .valueCell,.modal-body th th.actionCell,.modal-body th th.keyCell,.waitModal{text-align:center}.contentDiv .icon{padding-left:5px;padding-right:5px;padding-top:10px}.contentDiv:after{clear:both}.contentDiv:after,.contentDiv:before{display:table;line-height:0}.clusterInfoIcon{float:left;padding-left:5px;padding-top:2px}.waitModal.icon{font-size:100px;height:120px}.waitModal.message{font-size:20px}.icon_arangodb_info{color:#333;font-size:23px}li a [class*=" icon_arangodb"],li a [class^=icon_arangodb]{font-size:18px;position:absolute;right:4px;top:2px}.fa-minus-circle{color:#e74c3c;font-size:14pt}.fa-plus-circle{color:#2ecc71;font-size:16pt}.fa-minus-circle:hover,.fa-plus-circle:hover{cursor:pointer}.dropdownImport,div.headerDropdown{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;clear:both;display:none;margin-bottom:15px;padding:10px;position:relative;width:auto}.dropdownImport.smallDropdown .dropdownInner,div.headerDropdown.smallDropdown .dropdownInner{min-height:20px}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox{display:none}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox label.css-label,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label{background-position:0 0;background-repeat:no-repeat;display:inline-block;font-size:15px;height:15px;margin-top:0;padding-left:20px;vertical-align:middle}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox:checked+label.css-label,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox:checked+label.css-label{background-position:0 -15px}div.dropdown-title{margin-bottom:10px}div.dropdownInner{-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;min-height:125px;position:relative;width:auto}div.dropdownInner .nav-header{font-size:10pt}div.dropdownInner>.nav-header{color:#000;font-size:10pt;font-weight:400}div.dropdownInner>label{color:#000;font-weight:300}div.dropdownInner ul{border-left:1px solid rgba(140,138,137,.25);display:inline;list-style-type:none;margin-left:10px;margin-top:10px;min-height:105px;width:175px}div.dropdownInner ul:first-of-type,div.queryline input[type=file]{border:0}div.dropdownInner ul label{color:#000;padding-left:20px}div.dropdownInner ul li .fa{color:#999;margin-right:5px}div.dropdownInner ul li .fa.fa-square-o{margin-left:1px;margin-right:6px}div.dropdownInner ul li .fa.fa-check-circle-o,div.dropdownInner ul li .fa.fa-check-square-o,div.dropdownInner ul li .fa.fa-dot-circle-o{color:#2ecc71}div.queryline{color:#000;height:35px}div.queryline .textDiv{margin-right:10px;margin-top:4px}div.queryline input,div.queryline select{margin-bottom:5px}div.queryline input{width:16%}div.queryline.querylineAdd span{color:#fff;padding-left:10px;position:relative;top:-21px}div.queryline .removeFilterItem i{margin-left:5px!important;margin-top:0!important}div.queryline div.searchByAttribute{margin-left:6px;margin-right:6px;position:relative}div.queryline div.searchByAttribute input{width:140px}div.queryline div.searchByAttribute>ul.gv-dropdown-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background-color:#fff;color:#fff;display:none;left:0;position:absolute;top:20px;width:247px}div.dropdownImport{background-color:#fff;border-radius:3px;display:none;position:relative;padding:10px 10px 5px}div.dropdownImport input{line-height:0;margin-bottom:-15px;margin-top:5px}select.filterSelect{color:#00f;margin-left:10px;margin-right:10px;width:80px}#filterHeader button{float:right;margin-left:10px!important;margin-top:1px}div.input-append button.gv_example_toggle{-moz-border-radius:0 4px 4px 0;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;background-color:#8f8d8c;height:30px;margin-left:-1px;padding-left:10px;padding-right:10px;padding-top:12px;vertical-align:top}div.input-append button.gv_example_toggle:hover{background-color:#2ecc71}.searchEqualsLabel{margin-left:6px;margin-right:6px}img.gv-throbber{background-image:url(../img/swagger/throbber.gif)}span.gv_caret{border-top:5px solid #fff;margin-top:2px!important}input.search-input{border:1px solid #fff;height:20px;line-height:20px;margin-right:-4px;margin-top:3px;width:120px}.search-field{margin-left:10px;margin-right:3px}.search-field .fa-search{color:#c2c2c2;font-size:12pt;margin-left:-20px;opacity:.5;position:absolute;right:9px;top:9px}div.headerBar,div.headerBar .infoField{color:#000;float:right;padding-left:5px;padding-right:5px}.search-field .fa-search:hover{cursor:pointer;opacity:1}.gv-search-submit-icon,.search-submit-icon{background-image:url(../img/enter_icon.png);background-size:14px;height:14px;margin-left:-18px;opacity:.2;position:absolute;width:14px}.gv-search-submit-icon:hover,.search-submit-icon:hover{opacity:.8}.search-submit-icon{margin-top:11px}.gv-search-submit-icon{margin-top:6px}div.headerBar{background-color:none;border-radius:2px;font-size:16px;height:36px;margin-top:-55px;right:0}div.headerBar.marginTop5{margin-top:-60px}div.headerBar select:focus{outline:0}div.headerBar .infoField{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px!important;font-size:12px;margin-right:7px;margin-top:7px}div.headerBar .infoField .fa{cursor:pointer;margin-left:5px}div.headerBar input[type=checkbox].css-checkbox{display:none}div.headerBar input[type=checkbox].css-checkbox label.css-label{background-position:0 0;background-repeat:no-repeat;cursor:pointer;display:inline-block;font-size:15px;height:15px;margin-top:0;padding-left:20px;vertical-align:middle}div.headerBar input[type=checkbox].css-checkbox:checked+label.css-label{background-position:0 -15px}div.headerBar input[type=radio]{display:none}div.headerBar input[type=radio] label span{background:url(../img/check_radio_sheet.png) -38px top no-repeat;cursor:pointer;display:inline-block;height:19px;margin:-1px 4px 0 0;vertical-align:middle;width:19px}#transparentHeader input[type=checkbox].css-checkbox,.contentTables tr.contentRowActive span,.dashboard-legend .dashboard-legend-inner br,.dashboard-row .fa-arrows-alt,.modal-delete-confirmation,.nvtooltip{display:none}div.headerBar input[type=radio]:checked+label span{background:url(../img/check_radio_sheet.png) -57px top no-repeat}.headerButtonList a span .fa-top{color:#fff;font-size:7pt;position:absolute}.headerButtonList a span .fa-top:hover{color:#2ecc71}.headerButtonList a.error{color:#e74c3c}.headerButtonList a.error:hover{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.headerBar a.arangoHeader{color:#000;font-size:11.5pt;font-weight:100;left:0;position:relative;top:7px}.headerBar>div.headerButtonBar{margin:4px 0;margin-bottom:0!important}.breadcrumb{background:0 0;border:0;border-radius:0;color:#fff;font-size:12pt;font-weight:100;line-height:45px;margin:0 0 0 -4px;padding:0 0 0 10px}.breadcrumb .fa{margin-left:10px;margin-right:8px}.breadcrumb .fa-ellipsis-v{font-size:10pt;opacity:0}.breadcrumb .disabledBread{color:#fff;float:left;font-size:12pt;font-weight:100;padding-right:5px;position:relative}.breadcrumb .disabledBread i{font-size:10pt;margin-left:10px}.breadcrumb .disabledBread:hover{cursor:default}.breadcrumb .activeBread{color:#fff;float:left;font-size:11pt;font-weight:100;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .2s cubic-bezier(.645,.045,.355,1);transition:opacity .2s cubic-bezier(.645,.045,.355,1)}.breadcrumb .activeBread:hover{opacity:.65}.breadcrumb a{color:#fff!important;opacity:.8;transition:all .2s ease-in}.breadcrumb a:hover,.subViewNavbar li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.breadcrumb a:hover{opacity:1;transition:all .2s ease-in}.breadcrumb #app-development-path{background-color:#fff;border-bottom:1px solid rgba(140,138,137,.25);border-left:1px solid rgba(140,138,137,.25);border-radius:3px;border-right:1px solid rgba(140,138,137,.25);height:24px;margin-left:-6px;margin-top:-10px;padding-left:5px;width:100%}.arangoHeader{font-weight:400}.sectionHeader{background-color:#404a53;margin-bottom:10px;padding-bottom:2px;padding-top:10px;width:100%}.sectionHeader .title{color:#fff;font-size:12pt;font-weight:100;line-height:20pt;margin-left:10px}.sectionHeader .information{float:right;font-size:12.5pt;font-weight:100}.sectionHeader .information .fa{font-size:17pt}.sectionHeader .information span:first-child{margin-left:10px}.sectionHeader .information span span{position:relative;top:-2px}.sectionHeader .information span.positive{color:#2ecc71}.sectionHeader .information span.warning{color:#f1c40f}.sectionHeader .information span.negative{color:#e74c3c}.sectionHeader .information i{margin-left:5px;margin-right:10px}.sectionHeader .scaleGroup{float:right;margin-right:10px;position:inherit;width:80px}.sectionHeader .scaleGroup span{border-radius:30px;color:#fff;padding:3px 5px;position:relative;top:-4px}.sectionHeader .scaleGroup span.left{background:#e74c3c;margin-right:-19px}.sectionHeader .scaleGroup span.right{background:#2ecc71;margin-left:-16px}.sectionHeader .scaleGroup span.left:hover,.sectionHeader .scaleGroup span.right:hover{cursor:pointer}.sectionHeader .scaleGroup input{background:#404a53!important;border-color:rgba(255,255,255,.3);color:#fff;font-weight:100;height:10px;text-align:center;width:40px}.checkboxLabel{margin-top:4px;padding-left:0}.css-label{background-image:url(../img/dark-check-green.png)}.css-label-round{background-image:url(../img/dark-check-green-round.png)}.modal-dashboard-header,.modal-header{background-color:#fff;border-bottom:0!important;border-radius:3px;margin-top:5px;padding-left:5px;padding-right:10px;padding-top:4px}.modal-dashboard-header .arangoHeader,.modal-header .arangoHeader{color:#000;font-size:13pt;font-weight:100;left:5px;position:relative;top:2px}.modal-dashboard-header a,.modal-header a{top:2px!important}.modal-dashboard-header .close,.modal-header .close{color:#fff;font-weight:300;margin-top:2px;opacity:.5}.modal-dashboard-header .close:hover,.modal-header .close:hover{opacity:1}.select2-drop-active{border:2px solid #3498db;border-top:0;margin-top:-2px;width:452px!important;z-index:9999999}.select2-no-results,.select2-results{font-weight:100}.modal-tabbar{border-bottom:1px solid #666}.modal-body{color:#736b68;font-size:14px;font-weight:300;max-height:410px}.modal-body input{height:20px;width:436px}.modal-body select{height:33px;width:452px}.modal-body .select2-container-multi.select2-container-active .select2-choices{border:2px solid #3498db}.modal-body .select2-choices{background-image:none!important;border:2px solid rgba(140,138,137,.25);border-radius:3px;-webkit-box-shadow:none;box-shadow:none;width:448px}.modal-body .select2-choices input:active{-webkit-box-shadow:none;box-shadow:none;outline:0!important}.modal-body .select2-choices .select2-search-choice{margin:5px 0 3px 5px!important}.modal-body .select2-choices li{background-color:#fff!important;background-image:none!important;color:#000}.modal-body tr.first,.modal-body tr.last,.modal-body tr.middle{background-color:#f5f8f0}.modal-body .select2-choices li a{margin-left:1px;margin-top:-1px}.modal-body .select2-choices:active{border:1px solid #999;-webkit-box-shadow:none!important;box-shadow:none!important;outline:transparent!important}.modal-body .nav-tabs{margin-top:15px}.modal-body .nav-tabs>li>a:hover{border-color:#8c8a89}.modal-body input,.modal-body select,.modal-body textarea{margin-top:10px}.modal-body input[type=checkbox]{margin-bottom:10px}.modal-body input[type=text].invalid-input{border-color:rgba(234,23,23,.6)}.modal-body input[type=text].invalid-input:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6)}.modal-body input[type=file]{line-height:17px}.modal-body tr.spacer{height:20px}.modal-body tr.first th:first-child{border-top-left-radius:3px}.modal-body tr.first th:last-child{border-top-right-radius:3px}.modal-body tr.middle{padding-left:10px;padding-right:10px}.modal-body tr.last th:first-child{border-bottom-left-radius:3px}.modal-body tr.last th:last-child{border-bottom-right-radius:3px}.modal-body tr.first th:first-child,.modal-body tr.last th:first-child,.modal-body tr.middle th:first-child{padding-left:10px}.modal-body tr.first th:last-child,.modal-body tr.last th:last-child,.modal-body tr.middle th:last-child{padding-right:10px}.modal-body th.actionCell{width:30px}.modal-body th.keyCell{width:170px}.modal-body th.keyCell input{width:150px}.modal-body th .valueCell{width:300px}.modal-body th .valueCell input{width:290px}.modal-body th .select2-container{margin-bottom:10px;margin-top:10px}.modal-body .icon-info-sign{margin-bottom:10px;margin-left:10px;opacity:.7;padding-bottom:5px}.modal-body .icon-info-sign:hover{opacity:1}.modal-body .icon_arangodb_info{color:#736b68;font-size:18px;margin-top:-10px;position:absolute;right:12px}.modal-body .icon_arangodb_info:hover{color:#000}.modal-body .collapse{margin-right:-14px;position:relative}.modal-body .accordion-inner{border-top:0;margin-left:0;padding-left:0;padding-right:0}.modal-body .accordion-toggle span .caret{border-top-color:#000;float:right;margin-top:5px}.modal-body .accordion-toggle.collapsed span .caret{-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.modal-body .collectionTh{height:55px}.modal-body .tab-content{min-height:200px}.modal-body .tab-content .tab-pane{border-top:1px solid #666!important;margin-left:0!important;padding-top:10px}.modal-body .tab-content .tab-pane-modal{border-top:none!important}.modal-body .tab-content #appstore{max-height:290px}.modal-body .errorMessage{background:#e74c3c;border-radius:4px;color:#fff;font-size:9pt;font-weight:100;margin-top:-9px;padding-left:5px;padding-right:5px;position:absolute}.modal-body .nav .tab-icon{margin-right:5px;margin-top:-3px;width:20px}.modal-text{font-weight:300;padding-bottom:3px;padding-top:3px}.modal-backdrop,.modal-backdrop.fade.in{opacity:.4}.fade{opacity:0;-moz-transition:opacity .03s linear;-ms-transition:opacity .03s linear;-o-transition:opacity .03s linear;-webkit-transition:opacity .03s linear;transition:opacity .03s linear}.modal{border:0!important;border-radius:3px!important;box-shadow:0;margin-left:-325px!important;width:650px;z-index:9999999}.modal .fade.in{top:12.1%!important}.modal table tr:last-child{border-bottom:0!important}.waitModal{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:0 0;border:0;color:#fff}.waitModalBackdrop{opacity:.7!important}.modalTooltips span{color:#736b68;font-size:20px}.modalTooltips span:hover{color:#000}.gv-object-view{text-align:left;white-space:pre}.capitalize{text-transform:capitalize}.modal-footer{border-top:0!important;padding-right:17px}.modal-footer .button-close{margin-left:20px;margin-right:10px}.modal-header{margin-left:5px;margin-right:5px}.modal-dashboard-header{margin-left:0;margin-right:0;padding-bottom:9px}.modal-delete-confirmation button{margin-right:10px;margin-top:-4px}.modal-delete-confirmation button .modal-confirm-delete{margin-right:-18px}.modal-delete-confirmation fieldset input{float:left}.modal-delete-confirmation fieldset label{float:left;margin-left:10px}.createModalDialog table{width:100%}.createModalDialog .collection-info-figures table{float:left;margin-left:0;margin-right:0;margin-top:0;min-width:200px;padding:3px;text-align:left}.createModalDialog .figures1,.createModalDialog .figures2{margin-bottom:20px;width:300px}.createModalDialog .figures2{margin-left:20px!important}.createModalDialog .figures3{margin-bottom:0;width:100%}.foxx-store-row{border-bottom:10px solid #fff;border-top:10px solid #fff}.foxx-store-row .foxx-name{background:#404a53;border-radius:4px;color:#fff;font-weight:300;margin-bottom:8px;padding-bottom:1px;padding-left:5px;width:100%}.fixedDropdown .dropdown-header a,.fixedDropdown .notificationItem{color:#000}.foxx-store-row .foxx-store-install{padding-right:5px;padding-top:25px}.foxx-store-row .foxx-author{font-size:10pt;font-weight:300;margin-top:-4px}.foxx-store-row .foxx-version{font-weight:400;margin-top:25px}#new-app-mount{margin-right:24px;width:360px}#control_event_edge_delete_modal,#control_event_edge_edit_modal,#control_event_new_node_modal,#control_event_node_delete_modal,#control_event_node_edit_modal{margin-left:-320px;width:640px}.navlogo .stat_cpu,.navlogo .stat_ram{width:26px;height:26px}.navlogo .stat_cpu{margin-top:1px}.navlogo .stat_cpu path{fill:#aa0}.navlogo .stat_ram path{fill:#070}.navlogo .stat_req{height:22px;width:22px}.navlogo .stat_req path{fill:#aa0}#notification_menu .innerDropdownInnerUL{margin-left:0}#noty_bottom_layout_container li{border:0!important}.noty_type_error .arango_message{top:2px}.noty_bar .noty_buttons{background-color:transparent!important;border:0!important;bottom:0;height:1px;margin-bottom:30px!important;margin-top:-35px!important;position:relative;right:-23px}.noty_bar .noty_buttons button{margin-bottom:2px;margin-right:-1px}.noty_bar .arango_message{font-weight:400!important}.noty_bar .arango_message div{float:right;width:20px}.fixedDropdown{background:#fff!important;border-color:rgba(140,138,137,.25)!important;border-radius:3px!important;margin:10px -3px 0!important;right:-1px!important;width:210px}.fixedDropdown .dropdown-header,.fixedDropdown .dropdown-item,.innerDropdownInnerUL{border-bottom:1px solid rgba(0,0,0,.2)}.fixedDropdown .dropdown-header{margin-left:-1px;padding:0!important}.fixedDropdown a{padding-left:5px!important}.fixedDropdown .notificationItemContent{font-size:.9em;font-weight:300;margin-left:15px;max-width:180px;min-height:15px;white-space:normal;width:180px;word-wrap:break-word}.fixedDropdown button{margin-right:5px;margin-top:5px}.fixedDropdown .notificationItem .notificationItemTitle{color:#000;font-weight:400;max-width:165px;overflow-wrap:break-word;white-space:normal;word-wrap:break-word}.fixedDropdown .notificationItem .notificationItemTitle:hover{background-color:transparent;cursor:default}.fixedDropdown .notificationItem i{color:rgba(0,0,0,.2);font-size:20px;padding-left:5px;position:relative;right:2px}.fixedDropdown .notificationItem i:hover{color:#000}.innerDropdownInnerUL{height:220px!important;min-height:220px;overflow-x:hidden;overflow-y:auto;width:100%}.innerDropdownInnerUL .dropdown-item:hover{background-color:#e1e1e1!important}.innerDropdownInnerUL li{width:auto!important}#stat_hd{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid rgba(140,138,137,.25);height:25px;margin-left:-10px;margin-top:8px;position:relative;right:3px;text-align:center;width:25px}.contentButtons,.contentTables{margin-bottom:10px;width:100%}#stat_hd #stat_hd_counter{color:#c2c2c2;line-height:25px;text-align:center}.fullNotification{background-color:#e74c3c!important;border:1px solid #e74c3c!important}.fullNotification p{color:#fff!important}.contentTables tr.contentRowActive a,.contentTables tr.contentRowInactive a{color:#000!important}.contentButtons{clear:both}.contentButtons #createDatabase,.contentButtons #createUser{margin-left:0}.contentTables thead{text-align:left}.contentTables thead tr{background-color:#fff;border-bottom:1px solid #c2c2c2}.contentTables tbody tr:nth-child(odd){background-color:#d9d9d9}.contentTables tbody tr:nth-child(even){background-color:#fff}.contentTables tr.contentRowActive{background-color:#bdcc92!important;font-weight:400}.contentTables .dbThFirst{width:90%}.contentTables .dbThSecond{width:10%}.contentTables td{padding:12px 18px}.contentTables td span{float:right;font-size:22px}.contentTables .collectionThSec{margin-right:0;width:80%}.contentTables .collectionTh{margin-right:0;width:5%}.usermenu{width:40px}.userImg{margin-top:-11px}.userImg .caret{margin-top:13px}.user-menu-img{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;height:25px}.ui-tooltip{background-color:#2ecc71!important;border:0!important;border-radius:3px!important;box-shadow:none!important;color:#fff!important;font-size:10pt!important;font-weight:100!important;z-index:99999999}.tooltip-inner{max-width:300px!important;white-space:normal!important;word-wrap:break-word!important}.arangoDataTable .key,.dashboard-sub-bar .dashboard-sub-bar-title,.dbselection,.subnavmenu .icon,.subnavmenu .info,.subnavmenu .state,div.gv-colour-list li{text-overflow:ellipsis;white-space:nowrap}.index-tooltip{color:#736b68}.index-tooltip:hover{color:#000}.index-tooltip .arangoicon{font-size:18px!important}.tooltipInfoTh{width:10%}.arangoToolbar span.action:hover{background-color:#2ecc71;border-radius:3px;color:#fff;cursor:pointer}.arangoToolbar{background-color:#fff;border:1px solid rgba(140,138,137,.25);height:45px;width:100%}.arangoToolbar .pull-left,.arangoToolbar .pull-right{height:30px;margin-top:8px}.arangoToolbar .pull-left i.positive,.arangoToolbar .pull-right i.positive{color:#2ecc71}.arangoToolbar .pull-left i.warning,.arangoToolbar .pull-right i.warning{color:#f1c40f}.arangoToolbar .pull-left button{margin-left:8px}.arangoToolbar .pull-right button:first-child,.arangoToolbar .pull-right select:first-child{margin-right:6px}.arangoToolbar span{padding:5px 8px;position:relative;top:5px;font-weight:100;margin-left:10px}.arangoToolbar span.clickable{cursor:pointer;margin-left:0;opacity:.5;top:1px}.arangoToolbar span.clickable:hover{opacity:1}.arangoToolbar i{font-size:11pt;font-style:normal}.arangoToolbar i.fa{font-size:12pt;margin-right:5px}.arangoToolbar .toolbarType{background:#5bc0de;border-radius:3px;color:#fff;margin-left:8px}.arangoToolbar .styled-select{width:auto}.arangoToolbarBottom{clear:both}.arangoToolbarBottom #executeQuery{margin-right:8px}.arangoToolbarBottom .button-close:last-child{margin-right:10px}.dbselection{float:left;margin-right:3px;max-width:160px;overflow:hidden}.dbselection .fa{color:#fff;opacity:.3}.dbselection .fa-caret-square-o-down{margin-left:5px}.dashboard-bar-chart-container,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-medium-chart,.dashboard-small-chart .dashboard-small-chart-inner,.dashboard-tendency-container{background-color:#fff;border-left:0 solid #000;box-sizing:border-box}.dashboard-bar-chart-container:first-child,.dashboard-full-width-chart .dashboard-full-width-chart-inner:first-child,.dashboard-large-chart .dashboard-large-chart-inner:first-child,.dashboard-medium-chart:first-child,.dashboard-small-chart .dashboard-small-chart-inner:first-child,.dashboard-tendency-container:first-child{margin-left:0}.dashboard-bar-chart-container,.dashboard-full-width-chart,.dashboard-large-chart,.dashboard-medium-chart,.dashboard-small-chart,.dashboard-tendency-container{border:1px solid rgba(64,74,83,.2);margin-left:-1px;margin-top:-2px;position:relative}.dashboard-interior-chart{width:100%!important}.dashboard-interior-chart>div{margin-left:-15px;margin-top:10px}.dashboard-sub-bar-menu{cursor:pointer;position:absolute;right:9px;top:6px}.dataNotReadyYet{color:#f1c40f;font-size:14px;font-weight:100;text-align:center}.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title{font-size:11pt;font-weight:600;text-align:center;text-transform:uppercase}.dashboard-sub-bar{background-color:#fff;color:rgba(0,0,0,.5);height:50px;line-height:24px;margin:0;padding:10px 6px 20px}.dashboard-sub-bar .dashboard-sub-bar-title{color:#000;opacity:.5;overflow:hidden;width:100%}.dashboard-full-width-chart{border:1px solid rgba(104,103,102,.1);border-radius:0;margin-right:12px;width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-small-chart .dashboard-small-chart-inner{border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:10px}.dashboard-full-width-chart .dashboard-full-width-chart-inner{background-color:#fff;padding-top:12px;width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-subtitle-bar.top{border-bottom:1px solid #e1e1e1;height:48px;line-height:48px;text-align:right}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner{margin-left:10px;margin-right:10px}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table{margin-bottom:10px;margin-top:10px;table-layout:fixed;width:100%}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.dashboard-medium-chart .dashboard-interior-chart{margin-bottom:0}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table .no-data{font-style:italic;font-weight:100}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table tr{border-bottom:1px solid rgba(0,0,0,.025)}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table td:first-child{width:100px}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table td:last-child{text-align:right}.dashboard-full-width-chart .state{background-color:#8c8a89;border-radius:5px;color:#fff;font-weight:300;margin-left:5px;padding-left:6px;padding-right:6px}.dashboard-large-chart .dashboard-large-chart-inner{background-color:#fff}.dashboard-small-chart{background:#fff;border-radius:0}.dashboard-small-chart .dashboard-small-chart-inner{background-color:#fff;padding-top:5px}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-bar rect{fill-opacity:.15;stroke-opacity:.8;stroke-width:.5px}.dashboard-medium-chart-outer{border-radius:0}.dashboard-medium-chart{background-color:#fff;margin-bottom:0;padding-top:10px}.dashboard-medium-chart .dashboard-medium-chart-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border:0 solid rgba(0,0,0,.3);color:rgba(0,0,0,.3);cursor:pointer;padding:0 4px;position:absolute;z-index:1000}.dashboard-medium-chart .dashboard-medium-chart-menu:hover{color:rgba(0,0,0,.7)}.dashboard-medium-chart .dashboard-medium-chart-inner{padding-bottom:10px}.dashboard-medium-chart .clusterChart .slice path{fill-opacity:.15;stroke-opacity:1;stroke-width:1.5px}.tendency-box-sizing .dashboard-row:last-child .dashboard-medium-chart-outer:last-child{margin-left:-2px}.dashboard-tendency-container{box-sizing:content-box}.dashboard-tendency-container .dashboard-sub-bar{height:46px}.dashboard-tendency-container .dashboard-tendency-chart{background-color:#fff;border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:5px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{background-color:#fff;box-sizing:border-box;margin-top:5px;padding:0;width:50%}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency:first-child{border-right:1px solid #e1e1e1}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-subtitle-bar{border-bottom:1px solid #e1e1e1;box-sizing:inherit;padding-right:11px;text-align:right;width:100%}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-figure{box-sizing:border-box;text-align:center;width:100%}.dashboard-bar-chart-container{background:0 0;border-radius:0;box-sizing:border-box}.dashboard-bar-chart-container .dashboard-sub-bar{padding-bottom:17px;padding-top:13px}.dashboard-bar-chart-container .dashboard-bar-chart{background-color:#fff;border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:8px;width:auto}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{margin-top:5px;padding:0 8px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{font-weight:400;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{color:#000;font-weight:500;text-align:center;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{padding-top:10px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart .nv-bar rect{fill-opacity:.6;stroke-opacity:.6;stroke-width:.5px}.dashboard-legend .dashboard-legend-inner{margin-right:25px;padding:10px 5px 5px 0;text-align:right}#dashboardDetailedChart .dygraph-axis-label-y,.dashboardDetailChart .dygraph-axis-label-y,.innerDashboardChart .dygraph-axis-label-y{text-align:left}.dashboard-legend .dashboard-legend-inner span{padding-left:10px}.dashboard-spacer{margin:0 12px}.dashboard-headerbar{margin-bottom:15px;margin-top:10px}.modal-chart-detail .modal-dashboard-legend .dashboard-legend-inner{padding-left:20px}.dashboard-half-height-legend .dashboard-legend-inner{padding-top:20px}.dashboard-title-bar{background-color:#686766;color:#fff;font-size:14.5px;font-weight:400;height:30px;line-height:30px;padding:0 5px 0 10px}.dashboard-title-bar .dashboard-half-title-bar{border-left:1px solid #000;margin-left:-1px;width:50%}.dashboard-title-bar .dashboard-half-title-bar:first-child{border-left:0;margin-left:0}.dashboard-row{margin-bottom:0;margin-left:2px;margin-right:0}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{color:#666}#repl-numbers,#repl-progress,#repl-ticks{width:33.3%!important}#repl-numbers .inner,#repl-progress .inner,#repl-ticks .inner{margin-top:0}#replication,#requests,#system{margin-bottom:10px}.dashboardModal{-moz-border-radius:8px!important;-webkit-border-radius:8px!important;border-radius:8px!important;height:80%;margin-left:-45%;min-width:780px;overflow:auto;padding:10px;top:10%;width:90%!important}#dashboardHttpGroup{border:6px solid #000;height:100%;width:100%}#dashboardDetailedChart{border:1px solid #000;height:300px;width:100%}.innerDashboardChart{bottom:5px;left:5px;position:absolute;right:5px;top:5px}.dashboardChart{background-color:#fff;border:1px solid rgba(0,0,0,.2);float:left;height:210px;margin:1.05%;position:relative;width:31%}.dygraph-label.dygraph-title{color:#000;font-size:15px;font-weight:400;text-align:left}#dashboardDetailedLineChart{padding-top:10px}.dashboardDistribution{float:left;width:270px}.dashboardDistribution svg{height:220px;width:250px}.showHotkeyHelp{cursor:pointer}.shortcuts{font-size:14px;font-weight:200}.shortcuts b{border-left:1px solid rgba(0,0,0,.34);margin-left:5px;padding-left:5px}.shortcuts .clearShortcut,.shortcuts b:first-child{border-left:0;margin-left:0;padding-left:0}.loginFixedWindow{background:#649068;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.loginFixedWindow #databases{height:140px}.loginFixedWindow #databases .no-database{background:#fff;border-radius:2px;padding:40px;text-align:center}.loginFixedWindow #databases #logout{margin-top:20px}.loginFixedWindow .resizecontainer{position:relative;top:0}.loginFixedWindow .resizecontainer img{height:33px;margin-left:-6px;margin-top:9px}.login-window{background-color:rgba(255,255,255,.75);border:1px solid rgba(140,138,137,.25);border-radius:3px;height:auto;margin:0 auto;position:relative;top:100px;width:350px;padding:20px 20px 50px}.login-window select{margin-bottom:30px;padding-left:35px;-moz-appearance:none}.login-window .login-logo-round{margin-bottom:25px;margin-top:10px}.login-window .login-logo-round img{display:block;margin:0 auto;width:150px}.login-window .checking-password{box-sizing:border-box;color:rgba(0,0,0,.5);margin-left:-21px;margin-top:-25px;position:absolute;text-align:center;width:100%}.login-window form .fa{color:rgba(0,0,0,.2);float:left;font-size:14pt;left:30px;margin-top:11px;position:absolute}.login-window .wrong-credentials{color:#e74c3c;margin-top:-30px;text-align:center}.login-window .login-space{height:50px}.login-window .login-input{background:#f2f2f2!important;border:2px #f2f2f2!important;box-sizing:border-box;font-size:14px;height:40px;margin:0 0 15px;outline:0;padding:10px 10px 10px 35px;width:100%;border-radius:3px}.login-window .form-error{border:2px solid #e74c3c!important}.login-window button{height:40px;width:100%}.query-toolbar{background-color:#f0f0f0;border-bottom:0;border-style:solid;border-width:1px;font-size:20px;height:27px;margin-left:0;margin-right:0}.queryManagementBottomActions button,.querySizeDiv{margin-right:10px}.query-toolbar span:hover{background-color:#e74c3c;color:#fff}.queryBottomActions{border-top:1px solid rgba(140,138,137,.25);padding:10px}.queryExecutionTime{margin-left:10px;margin-top:15px}.queryManagementBottomActions{background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #c2c2c2;height:40px;margin-top:-2px;padding-top:10px}.styled-select{float:right;height:30px;overflow:hidden;width:220px}.styled-select select{background:#fff;border:1px solid #c2c2c2!important;border-radius:0!important;font-size:14px;font-weight:300;height:30px;line-height:1;outline:0;padding:5px;padding-left:5px!important;padding-top:3px!important}.querySizeDiv,.querySizeDiv select{height:30px!important}.styled-select select:focus{outline:0}.querySizeDiv{width:130px!important}.inputEditorWrapper{border-bottom:3px solid rgba(140,138,137,.25)!important;border-left:1px solid rgba(140,138,137,.25);border-right:1px solid rgba(140,138,137,.25);clear:both;height:300px;min-height:300px;width:100%}.inputEditorWrapper .aqlEditorWrapper{border:0!important;border-right:3px solid rgba(140,138,137,.25)!important;float:left;height:100%!important;max-width:85%;min-width:20%;width:70%}.outputEditorWrapper .ace_editor,.outputEditorWrapper .graphContent,.outputEditorWrapper .tableWrapper .arango-table{border-left:1px solid rgba(140,138,137,.25);border-right:1px solid rgba(140,138,137,.25)}.inputEditorWrapper #arangoMyQueriesTable tbody tr{cursor:copy}.inputEditorWrapper .aqlEditorWrapper,.inputEditorWrapper .bindParamEditorWrapper{background-color:#fff;overflow:hidden}.inputEditorWrapper .aqlEditorWrapper .stringtype,.inputEditorWrapper .bindParamEditorWrapper .stringtype{color:#ce2f30}.inputEditorWrapper .aqlEditorWrapper .arraytype,.inputEditorWrapper .aqlEditorWrapper .objecttype,.inputEditorWrapper .bindParamEditorWrapper .arraytype,.inputEditorWrapper .bindParamEditorWrapper .objecttype{color:#00f}.inputEditorWrapper .aqlEditorWrapper .numbertype,.inputEditorWrapper .bindParamEditorWrapper .numbertype{color:#044}.inputEditorWrapper .aqlEditorWrapper .booleantype,.inputEditorWrapper .bindParamEditorWrapper .booleantype{color:#c12dad}.inputEditorWrapper .aqlEditorWrapper table,.inputEditorWrapper .bindParamEditorWrapper table{border-top:0}.inputEditorWrapper .aqlEditorWrapper table tbody,.inputEditorWrapper .bindParamEditorWrapper table tbody{display:block;overflow-y:auto}.inputEditorWrapper .aqlEditorWrapper table .truncate,.inputEditorWrapper .bindParamEditorWrapper table .truncate{opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:30%}.inputEditorWrapper .aqlEditorWrapper table tr.noBgColor,.inputEditorWrapper .bindParamEditorWrapper table tr.noBgColor{background-color:transparent!important}.inputEditorWrapper .aqlEditorWrapper table tr.selected,.inputEditorWrapper .bindParamEditorWrapper table tr.selected{background-color:rgba(125,188,66,.64);color:#fff}.inputEditorWrapper .aqlEditorWrapper table tr.selected .spanWrapper,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .spanWrapper{background-color:rgba(255,255,255,.65)}.inputEditorWrapper .aqlEditorWrapper table tr.selected .fa-comments,.inputEditorWrapper .aqlEditorWrapper table tr.selected .fa-copy,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .fa-comments,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .fa-copy{color:#000}.inputEditorWrapper .aqlEditorWrapper table thead,.inputEditorWrapper .bindParamEditorWrapper table thead{display:block}#clearQuery,.arangoFrame,.display-none{display:none}.inputEditorWrapper .aqlEditorWrapper table td,.inputEditorWrapper .bindParamEditorWrapper table td{height:33px;padding:0 5px;width:50%}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper{border-radius:3px;cursor:auto;float:right}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper:hover,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper:hover{cursor:auto}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa{cursor:pointer;font-size:16pt;margin-left:5px;margin-right:5px}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa-minus-circle,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa-minus-circle{margin-left:20px}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa-play-circle-o,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa-play-circle-o{color:#2ecc71}.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table td input{clear:both;float:right;height:17px;margin-bottom:3px;margin-top:3px;width:auto!important}.inputEditorWrapper .aqlEditorWrapper table th,.inputEditorWrapper .bindParamEditorWrapper table th{font-weight:400;height:34px;padding:0;width:50%}.inputEditorWrapper .aqlEditorWrapper,.inputEditorWrapper .bindParamEditorWrapper{height:100%}.inputEditorWrapper .aqlEditorWrapper table thead tr th,.inputEditorWrapper .bindParamEditorWrapper table thead tr th{text-align:left}.inputEditorWrapper .aqlEditorWrapper table thead tr th:first-child,.inputEditorWrapper .bindParamEditorWrapper table thead tr th:first-child{padding-left:10px}.inputEditorWrapper .aqlEditorWrapper table tbody input,.inputEditorWrapper .bindParamEditorWrapper table tbody input{width:100%!important}.inputEditorWrapper .aqlEditorWrapper .selectError,.inputEditorWrapper .bindParamEditorWrapper .selectError{background:#e74c3c}.inputEditorWrapper .aqlEditorWrapper .aceAction,.inputEditorWrapper .bindParamEditorWrapper .aceAction{background-color:#404a53;border-radius:3px;color:#fff;cursor:pointer;font-size:13pt;height:23px;line-height:23px;opacity:.8;position:absolute;right:5px;text-align:center;top:5px;width:33px;z-index:10}.inputEditorWrapper .aqlEditorWrapper .aceAction.type,.inputEditorWrapper .bindParamEditorWrapper .aceAction.type{font-size:8pt}.inputEditorWrapper .aqlEditorWrapper .aceAction i,.inputEditorWrapper .bindParamEditorWrapper .aceAction i{margin-bottom:3px}.inputEditorWrapper .aqlEditorWrapper .aceAction:hover,.inputEditorWrapper .bindParamEditorWrapper .aceAction:hover{cursor:pointer;opacity:1}.inputEditorWrapper .aqlEditorWrapper .previewWrapper,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper{background-color:#fff}.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar{background-color:#fff;border-bottom:1px solid rgba(140,138,137,.25);height:34px}.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar span,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar span{margin-left:5px;padding-top:8px;position:absolute}.inputEditorWrapper .aqlEditorWrapper .previewWrapper #queryPreview,.inputEditorWrapper .aqlEditorWrapper>div,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper #queryPreview,.inputEditorWrapper .bindParamEditorWrapper>div{height:100%}.inputEditorWrapper .ui-resizable-s{cursor:ns-resize}.inputEditorWrapper .ui-resizable-e{cursor:ew-resize}.queryContent{clear:both;margin-top:0;width:100%}.queryContent .arangoToolbar .fa.fa-star,.queryContent .arangoToolbar .fa.fa-star-o{color:#ff0}.outputEditors{margin-bottom:60px}.outputEditorWrapper{clear:both;height:100px;padding-top:20px;width:100%}.outputEditorWrapper .tableWrapper{max-width:100%;overflow-x:scroll}.outputEditorWrapper .outputTable{margin-right:-2px}.outputEditorWrapper .graphContent{margin-right:-2px;margin-top:0}.outputEditorWrapper .switchAce{background-color:#404a53;border-radius:3px;color:#fff;cursor:pointer;position:relative;right:-24px;top:45px;z-index:10}.outputEditorWrapper .switchAce span{margin-left:0;padding:0 8px;top:0}.outputEditorWrapper .switchAce span.active{color:#2ecc71}.outputEditorWrapper .switchAce span.disabled{cursor:not-allowed}.outputEditorWrapper .ace_editor{height:280px;width:100%}.outputEditorWrapper .ace_editor .ace_active-line{background:#fff!important}.outputEditorWrapper .sentWrapper .pull-left,.outputEditorWrapper .sentWrapper .pull-right{width:50%}#queryManagementContent{border:1px solid rgba(140,138,137,.25);padding-top:0}#queryManagementContent .arango-table{border:0}#queryManagementContent .arango-table tr th:nth-child(1){width:10%}#queryManagementContent .arango-table tr th:nth-child(1) td{text-align:center}#queryManagementContent .arango-table tr th:nth-child(2){width:50%}#queryManagementContent .arango-table tr th:nth-child(3),#queryManagementContent .arango-table tr th:nth-child(4){width:20%}.contentBar{font-size:12pt;line-height:30px}.noContent{background-color:#fff;padding:50px}.noContent p{font-size:12pt;font-weight:100;text-align:center}.row{margin:0 0 20px}.innerContent{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;min-height:200px;padding-top:13px}.arangoFrame{background-color:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:77777}.arangoFrame .outerDiv{min-height:100%;padding:20px 40px 40px;z-index:88888}.arangoFrame .innerDiv{margin-top:25px;z-index:99999}.arangoFrame .fa-times{color:#fff;float:right;font-size:12pt}.arangoFrame .fa-times:hover{color:#c2c2c2;cursor:pointer}.arangoFrame .document-content-div,.arangoFrame .document-info-div{left:40px;position:absolute;right:40px}.arangoFrame .document-content-div{bottom:80px;top:130px}.arangoFrame .document-editor{height:100%}.arangoFrame .bottomButtonBar{left:-1px;position:absolute;right:-1px}.container{margin-left:20px;margin-right:20px;width:auto!important}.arango-tab{border-bottom:1px solid #ddd;list-style:none;margin-left:0;padding-bottom:0;padding-right:10px}.arango-tab a{-moz-border-radius:0;-webkit-border-radius:0;border-radius:3px 3px 0 0;background-color:#8c8a89;border:1px solid transparent;border-bottom-color:#888;color:#fff;display:block;font-size:13px;line-height:20px;margin-right:2px;min-width:50px;padding:2px 15px;text-align:center}.arango-tab li{background-color:transparent;border:0;margin-bottom:-1px;margin-left:2px;position:relative;z-index:900}.arango-tab li.active a{background:#fff;border-bottom-color:#fff!important;border-left-color:#c2c2c2;border-right-color:#c2c2c2;border-top-color:#c2c2c2;color:#000;height:21px;margin-top:-1px}.jsoneditor,.jsoneditor .menu{background-color:#fff!important}.jsoneditor{border:0 solid rgba(0,0,0,.2)!important}.jsoneditor .menu{border-bottom:1px solid #c2c2c2!important;border-left:0!important;border-right:0!important;border-top:0!important}.jsoneditor .menu button{border:0!important}.jsoneditor .menu button:hover{background-color:#2ecc71;color:#fff}.jsoneditor .search .frame{border:0!important;margin:3px!important}.jsoneditor .search .frame .refresh{background-position:-96px -73px;height:22px;width:25px}.jsoneditor .search .frame input{margin-left:15px;margin-right:15px;margin-top:0}.jsoneditor .search .results{color:#fff!important;margin-top:3px!important}.document-editor-extra{margin-top:10px}.document-editor{margin-top:-10px;width:100%}.disabledPag,.disabledPag a{cursor:default!important;opacity:.5!important}.pagination-line{background-color:#fff;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top:1px solid rgba(104,103,102,.1);margin:0;padding-top:12px;text-align:center}.pagination-line li a:hover,.pagination-line li.active a,.pagination-line li.active span{background-color:#404a53;color:#fff}.pagination-line li a{background-color:#fff;border:1px solid #fff;font-size:11.9px;line-height:20px;padding:2px 10px;text-decoration:none;border-width:0;min-width:12pt}.pagination-line ul{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;display:inline-block;margin-bottom:0;margin-left:0}.pagination-line li{display:inline-block;margin-left:11px}.pagination-line li span{color:#000;font-size:14px;position:relative;top:2px}.pagination-line li:first-child a,.pagination-line li:first-child span,.pagination-line li:last-child a,.pagination-line li:last-child span{-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;background:#404a53;border:0;color:#fff;height:21px;position:relative;width:14px}.pagination-line li.disabled:first-child a,.pagination-line li.disabled:first-child span,.pagination-line li.disabled:last-child a,.pagination-line li.disabled:last-child span{background-color:#777;color:#666;cursor:default;pointer-events:none}.collection-pagination{margin-left:23px!important}.arango-pagination i.fa,.las-pagi i.fa,.pre-pagi i.fa{font-size:19px;position:relative;top:-2px}.arango-pagination li:first-child{margin-right:20px}.arango-pagination li:last-child{margin-left:30px}.pre-pagi{margin-right:-5px!important}.accordion-group{border:0}.accordion-body{height:auto!important}.accordion-heading{padding-bottom:20px;padding-top:25px}.accordion-heading a{border:1px solid #ccc;color:#000;font-weight:400;width:397px!important}.accordion-heading .accordion-toggle{border-radius:3px;box-sizing:border-box;display:block;padding:8px 15px;width:100%!important}.shell_workspace{margin-top:13px}.shell_workspace ::-webkit-scrollbar{display:none}.replShell{background-color:#fff;float:left;height:100%;min-width:100px;overflow-y:hidden;position:relative;width:100%}.replShell>div{border-radius:3px}.replShell pre{border-bottom:0;border-left:0;border-right:1px solid #a0a0a0;border-top:1px solid #a0a0a0}.jqconsole{background-color:#000;border-radius:0;padding:10px}.jqconsole-header{color:#fff}.jserror{color:#f06;margin-left:-10px}.jssuccess{color:#6f0}.jqconsole-cursor{background-color:grey}.jqconsole-blurred .jqconsole-header .jqconsole-cursor{color:#c4cccc}.jqconsole-prompt{color:#b91}.jqconsole-old-prompt{color:#f60;font-weight:400}.jqconsole-input{color:#dd0}.jqconsole-old-input{color:#bb0;font-weight:400}.jqconsole-output{color:#fff}.query-output .ace_gutter-cell{background-color:#f0f0f0}.centralContent .api-actions{margin:0!important;padding:0}.centralContent .api-actions .container{padding-bottom:10px!important;padding-top:13px!important;margin:0 5px!important}.centralContent .api-actions .resource{border-bottom:0!important;padding-left:5px!important}.centralContent .api-actions .resource .heading>.options{margin:11px 10px 0 0!important}.centralContent .api-actions .resource .heading h2 a{color:#000!important;font-weight:300!important}.centralContent .api-actions .active .heading h2 a{color:#000!important}.centralContent .api-actions .endpoint .operations .content{margin:0!important}.centralContent .api-actions .endpoint .operations .content h4{font-weight:700!important}.centralContent .api-actions .endpoints{margin-right:5px!important}.centralContent .api-actions .endpoints .endpoint:last-child{padding-bottom:5px!important}.centralContent .api-actions input[type=button]{background:#8f8d8c!important;border:none!important;box-shadow:none!important;color:#fff!important;float:right!important;font-size:14px!important;font-weight:300!important;margin-top:10px!important;padding:8px 16px!important}.centralContent .api-actions .endpoint .operations .content,.centralContent .api-actions .endpoint .operations .heading{border-radius:0!important;font-weight:300!important}.centralContent .api-actions .http_method,.centralContent .api-actions .toggleOperation{border-radius:0!important}.centralContent .api-actions .required,.centralContent .api-actions em,.centralContent .api-actions strong{font-weight:400!important}.form-actions{background:0 0;border:0}.form-actions:after,.form-actions:before{display:table;line-height:0}.form-actions:after{clear:both}.swagger-section #swagger-ui-container{margin:.3em 1em!important}.alert{padding:15px 35px 15px 14px}.alert,textarea{border-radius:0!important}.log-content{word-wrap:break-word}.tab-content{min-height:390px}.crit-table-id,.debug-table-id,.info-table-id,.log-table-id,.warn-table-id{border-spacing:0 0;font-size:15px!important;margin-top:-5px!important}.crit-table-id thead,.debug-table-id thead,.info-table-id thead,.log-table-id thead,.warn-table-id thead{background-color:#f9f9f9;border-top:6px solid #888!important;text-align:center}.crit-table-id thead tr th,.debug-table-id thead tr th,.info-table-id thead tr th,.log-table-id thead tr th,.warn-table-id thead tr th{background-color:#fff!important;border-bottom:1px solid #c2c2c2;border-top:2px solid #888}.crit-table-id .firstcol,.debug-table-id .firstcol,.info-table-id .firstcol,.log-table-id .firstcol,.warn-table-id .firstcol{cursor:default!important;max-width:80px!important;width:80px!important}.crit-table-id tbody .firstcol,.debug-table-id tbody .firstcol,.info-table-id tbody .firstcol,.log-table-id tbody .firstcol,.warn-table-id tbody .firstcol{background-color:transparent!important}.crit-table-id tbody tr td,.debug-table-id tbody tr td,.info-table-id tbody tr td,.log-table-id tbody tr td,.warn-table-id tbody tr td{padding-bottom:8px!important;padding-top:8px!important}.thirdcol{cursor:default!important;max-width:500px!important}.dataTables_empty,.seccol{cursor:default!important;margin-bottom:5px;width:100px!important}.dataTables_info{display:none}#arangoLogTable{border-top:0}#arangoLogTable tbody tr{height:40px}#arangoLogTable tbody td:nth-child(1){text-align:center;width:70px}#arangoLogTable tbody td:nth-child(2){text-align:center;width:150px}#arangoLogTable tbody td:nth-child(3){width:auto}.log-content-id{padding-bottom:0!important;padding-top:0!important}.log-content-id .dataTable{border-collapse:separate;border-spacing:0 5px;table-layout:fixed!important}.log-content-id .arango-tab{border-bottom:0!important}.log-content-id .tab-content{margin-top:1px!important}.log-content-id .arango-tabbar{left:0;margin-top:-51px;position:absolute}.log-content-id .arango-tabbar button{background-color:#fff;border:0;color:#000;float:left;font-size:10.5pt;min-width:60px;opacity:.64;outline:0;padding-left:0;padding-right:0;text-align:center;width:auto}.log-content-id .arango-tabbar button.arango-active-tab{border-bottom:2px solid #77cb99;font-weight:400;height:35px;opacity:1;padding-bottom:9px}.collectionInfoTh2,.collectionTh,.figuresHeader th{font-weight:400!important}div.gv_zoom_widget{height:300px;left:62px;opacity:.7;position:absolute;top:0;width:40px;z-index:1}div.gv_zoom_widget div.gv_zoom_buttons_bg{background-image:url(../img/gv_button_bg_reverse.png);background-size:contain;height:40px;margin-bottom:20px}div.gv_zoom_widget div.gv_zoom_slider{background:#f5f8f0;border-radius:3px;height:200px;margin:0 17px;width:4px}div.gv_zoom_widget a.ui-slider-handle{background-color:#555;border:1px solid rgba(140,138,137,.25);height:.5em;left:-.55em;outline:0}div.gv_zoom_widget a.ui-slider-handle.ui-state-hover{outline-color:#fff}.documents-size,.spotlightWrapper .typeahead:focus{outline:transparent 0}div.gv_zoom_widget a.ui-slider-handle:hover{cursor:pointer}div.gv_zoom_widget .ui-state-default{background:#f6f6f6}#menubar{margin:0 0 10px}div.gv_colour_list{max-height:680px;overflow:auto;position:absolute;right:26px;text-align:right;top:20px;z-index:1}div.gv_colour_list li{background-color:transparent;float:none;padding:2px 6px}svg.graph-viewer{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px;left:54px;position:absolute;top:-10px;z-index:0}div.gv-colour-list ul ul,div.gv-colour-list ul ul:first-child,div.gv-colour-list ul ul:last-child{border-left:1px solid rgba(104,103,102,.1);border-right:1px solid rgba(104,103,102,.1)}svg.graph-viewer text{max-width:90px;pointer-events:none}div.gv-background{position:relative}.link>line{stroke-width:1}div.gv-colour-list:hover{opacity:1}div.gv-colour-list{border-radius:3px;max-height:350px;max-width:300px;min-width:190px;opacity:.1;overflow-x:hidden!important;overflow-y:auto;position:absolute;right:8px;text-align:right;top:0;z-index:1}div.gv-colour-list li{float:none;overflow:hidden;padding:2px 6px}div.gv-colour-list ul ul:first-child{border-top:1px solid rgba(104,103,102,.1);border-top-left-radius:3px;border-top-right-radius:3px}div.gv-colour-list ul ul:last-child{border-bottom:1px solid rgba(104,103,102,.1);border-bottom-left-radius:3px;border-bottom-right-radius:3px}#tab-content-create-graph .addAfter,#tab-content-create-graph .addDelete,#tab-content-create-graph .delete{margin-top:-9px;position:absolute;right:13px}#tab-content-create-graph .tableRow.first{border-top:10px solid #fff}.graphContent{margin-top:3px}.graphContent #graph-container{background-color:#fff;z-index:5}.graphContent #graph-container:-webkit-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:-moz-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:-ms-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:-o-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:full-screen{height:100%!important;width:100%!important}.graphContent .fa.fa-desktop{margin-top:6px;position:absolute;right:20px;z-index:10}.nodeContextMenu,.nodeInfoDiv{position:fixed}.nodeInfoDiv{left:175px;overflow:hidden;top:130px;z-index:10}.nodeInfoDiv pre{background-color:rgba(64,74,83,.9);border-radius:2px;color:#fff;max-height:400px;max-width:330px;overflow:hidden}.nodeContextMenu svg #wheelnav-nodeContextMenu-title-0{transform:translate(24px,14px) scale(.7)!important}.nodeContextMenu svg #wheelnav-nodeContextMenu-title-0,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-1,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-2,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-3{fill:#fff}.nodeContextMenu svg #wheelnav-nodeContextMenu-title-0:hover,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-1:hover,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-2:hover,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-3:hover{fill:#2ecc71}#graphSettingsView{background-color:rgba(64,74,83,.9);border:0;border-radius:0;height:100%;overflow-y:scroll}#graphSettingsView button{margin-bottom:125px}#graphSettingsView select{width:222px}#graphSettingsContent{height:100%;max-width:50%;min-width:400px;position:fixed;right:-1px;top:103px;width:400px}#graphSettingsContent .pure-g{font-size:10pt}#graphSettingsContent .pure-g input,#graphSettingsContent .pure-g select{color:#000}#graphSettingsContent .pure-g .left{color:#fff;height:40px}#graphSettingsContent .pure-g .pure-u-2-3{text-align:right}#graphSettingsContent .pure-g .heading{border-bottom:1px solid #fff;height:10px;margin-bottom:15px}#graphSettingsContent .pure-table{padding-left:10px;padding-right:10px}div.gv-manage-button-container{margin-top:10px}legend.gv-inner{font-size:16px}input.gv-radio-button{display:block;margin-top:3px;width:auto}.addCollection .accordion,.collectionTh textarea{margin-top:10px}.collectionTh{font-size:14px;text-align:left;width:20%!important}.collectionInfoTh{min-width:60px;text-align:left;width:320px}.addCollection table tr{border-bottom:0!important;height:53px}.addCollection .icon_arangodb_info{margin-left:20px!important;position:relative;top:2px!important}.addCollection .collectionThSec{width:320px!important}.addCollection .collectionTh{width:96px}.addCollection .modalInput{width:320px}.addCollection .modalSelect{width:334px}.addCollection .accordion-toggle{width:457px!important}.change-collection .tab-content{min-height:230px}.change-collection input{width:384px!important}.change-collection select{width:398px!important}.show-collection .tab-content{min-height:200px}.collectionInfoTh2{text-align:left;width:150px}.collection-info-figures table{float:left;margin-left:0;margin-right:0;margin-top:0;min-width:200px;padding:3px;text-align:left}.figuresHeader{border-bottom:1px solid #c2c2c2}#collectionIndexTable{margin-left:0;width:100%}#collectionTab,#graphTab,#infoTab{border-bottom:0;margin-bottom:1px;padding-bottom:0;padding-right:10px}#collectionTab li,#graphTab li,#infoTab li{float:right}#collectionTab li.disabled a,#graphTab li.disabled a,#infoTab li.disabled a{cursor:not-allowed}#collectionTab a,#graphTab a,#infoTab a{background-color:#404a53;border-bottom:1px solid #666;border-top-left-radius:3px!important;border-top-right-radius:3px!important;color:#fff;font-size:13px!important;height:21px;margin-bottom:-1px;margin-right:4px;padding:2px 15px!important}#collectionTab .active>a,#graphTab .active>a,#infoTab .active>a{background-color:#fff;border-color:#888 #888 transparent!important;color:#000}#confirmCreateEdge{margin-left:20px}.collection-info-figures .icon_arangodb_info{position:relative!important;right:-4px!important}.snippet-wrap .snippet-num li{list-style:decimal-leading-zero}.snippet-no-num{list-style-type:none;margin-left:0;padding-left:0}.snippet-no-num .prettify{font-size:1.2em}.snippet-no-num .sh_number{color:#044;font-weight:100;margin-left:5px}.snippet-no-num .sh_symbol{color:#00f;font-weight:100;margin-left:5px}.snippet-no-num .sh_cbracket{color:#c7a317;font-weight:100;margin-left:5px}.snippet-no-num .sh_keyword{color:#c12dad;font-weight:100;margin-left:5px}.snippet-no-num .sh_string{color:#ce2f30;font-weight:100;margin-left:5px}.snippet-no-num .sh_array,.snippet-no-num .sh_object{color:#00f;font-weight:100;margin-left:5px}@media (max-height:490px){.social-icons{display:none}}@media (max-height:525px){.navlogo .version,.shortcut-icons{display:none}}@media (max-width:568px){#arangoLogTable .table-cell0,.breadcrumb,.document-info-div .search,.navlogo .big,.pagination-line .las-pagi,.pagination-line .pre-pagi,.social-icons{display:none}.nodeInfoDiv{left:65px}.pagination-line .arango-pagination li:first-child,.pagination-line .arango-pagination li:last-child{margin-left:0;margin-right:0}.pagination-line li a{padding:2px 4px}.login-window{padding:10px 10px 40px;width:300px}#repl-numbers,#repl-progress,#repl-ticks{width:100%!important}.dashboard-large-chart,.dashboard-medium-chart-outer:first-child{padding-right:0!important}div.dropdownInner ul label{font-size:13px}.subnavmenu a{font-size:8pt}.subViewNavbar li{font-size:8pt!important;padding:0 6px!important}.subViewNavbar li.active{height:35px}.small-label-padding{max-width:calc(100% - 2px)}.navlogo .small{display:block;height:auto;width:28px}.headerButtonBar,.navlogo .version,.primary .version,.shortcut-icons{display:none}.navbar,.navlist,.navlist li,.navmenu,.primary,.primary li{width:40px!important}.arango-collection-ul .tab{font-size:12pt;height:30px;overflow:hidden}.arango-collection-ul .tab .fa{padding-left:6px;padding-right:20px}.social-icons p{float:left;margin-left:-3px}.social-icons p .fa{font-size:16px}.footer,div.bodyWrapper{left:40px}.dashboard-bar-chart-container .dashboard-bar-chart{padding-bottom:11px}}@media (max-width:768px){.breadcrumb,.outputEditors .additional,.pagination-line .las-pagi,.pagination-line .pre-pagi{display:none}.hide-small{visibility:hidden}.pagination-line .arango-pagination li:first-child,.pagination-line .arango-pagination li:last-child{margin-left:0;margin-right:0}.pagination-line li a{padding:2px 4px}.dashboard-large-chart,.dashboard-tendency-container{box-sizing:content-box}.tendency-box-sizing .dashboard-bar-chart-container,.tendency-box-sizing .dashboard-row:last-child .dashboard-medium-chart-outer:last-child,.tendency-box-sizing .dashboard-tendency-container{margin-left:0}.tendency-box-sizing .dashboard-bar-chart-container{height:140px}.tendency-box-sizing .dashboard-bar-chart-container .dashboard-sub-bar{margin-top:-3px}}@media (min-width:569px) and (max-width:738px){.dashboard-large-chart,.dashboard-medium-chart-outer:first-child{padding-right:0!important}.document-info-div .search,.headerButtonBar span{display:none}.dashboard-bar-chart-container{padding-left:0!important;padding-right:0!important}#repl-numbers,#repl-progress,#repl-ticks{width:100%!important}.subnavmenu a{font-size:9pt}.collection-dropdown ul{width:auto!important}.arango-collection-select{display:inline-block}.dashboard-bar-chart-container .dashboard-bar-chart{padding-bottom:11px}}@media (min-width:770px) and (max-width:972px){.dashboard-tendency-container .dashboard-sub-bar{font-size:11px;height:32px;margin-bottom:10px;margin-top:-10px}.dashboard-small-chart .dashboard-sub-bar{font-size:11px;height:33px}.dashboard-small-chart .dashboard-sub-bar-title{font-size:11px;line-height:12px;margin-top:-12px}.dashboard-bar-chart-chart{margin-top:10px}.dashboard-bar-chart-container .dashboard-sub-bar{font-size:11px;margin-bottom:10px;margin-top:-16px;padding-top:18px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{padding-top:3px}}@media (min-width:973px){.dashboard-large-chart .dashboard-sub-bar{padding-top:14px}#dataTransferDistribution .nvd3-svg,#totalTimeDistribution .nvd3-svg{padding-top:20px}#requests .small-label-padding .dashboard-small-chart .dashboard-sub-bar{font-size:12px;padding-top:30px}#requests .small-label-padding:last-child .dashboard-small-chart .dashboard-sub-bar{margin-bottom:1px}}.document-info-div{min-height:0}.document-content-div{margin-top:10px}.document-info{background-color:#fff;border-radius:3px;margin-bottom:8px;margin-top:-13px;min-height:65px;padding:5px}.document-info .document-info-container{clear:both;width:100%}.document-info .document-info-container .document-inner-info-container{float:left;margin-left:10px;margin-top:5px}.document-info .document-info-container .document-inner-info-container .document-attribute{margin-right:20px}.document-info .document-info-container .document-inner-info-container .document-attribute div{float:left}.document-info .document-bold-font{min-width:55px}.document-info .document-thin-font{color:#2ecc71}.document-info .document-type-container div{float:left}.document-info .document-type-container #document-id{margin-left:10px}.document-link:hover{cursor:pointer;text-decoration:underline}.jsoneditor .tree div{font-size:11pt}#progressPlaceholder{background-color:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.progress-view{background-color:#363c39;border-radius:2px;color:#fff;height:188px;left:50%;margin:-150px 0 0 -125px;position:absolute;top:38%;width:250px}.progress-view .progress-content{border:5px solid #fff;border-radius:3px}.progress-view .progress-content .fa-spinner{font-size:100pt}.progress-view .progress-message{background-color:#fff;border-radius:0 0 2px 2px;color:#fff;font-weight:200;height:44px;margin-top:-25px;padding-top:3px;text-align:center}.progress-view .progress-text{background:#fff;color:#000;float:left;font-weight:100;height:25px;left:-5px;margin-left:5px;margin-top:10px;position:relative;top:-10px;width:100%}.progress-view .progress-action{float:right;margin-right:5px;margin-top:5px}#progressPlaceholderIcon{color:#2ecc71;float:left;font-size:22px;margin-left:10px;margin-top:7px}.pong-spinner{height:100px;margin:50px auto;position:relative;width:200px}.pong-spinner i{animation:ball 2s infinite linear;background:#8cdb8b;border-radius:10px;height:10px;position:absolute;width:10px}.pong-spinner:after,.pong-spinner:before{animation:left-player 2s infinite linear;background:#8cdb8b;height:30px;position:absolute;width:5px}.pong-spinner:after{animation:right-player 2s infinite linear;right:0}@keyframes left-player{0%,100%{top:0}50%{top:70px}}@keyframes right-player{0%,100%{top:70px}50%{top:0}}@keyframes ball{0%,100%{left:5px;top:20px}25%,75%{left:190px;top:50px}50%{left:5px;top:80px}}#spotlightPlaceholder{background-color:rgba(0,0,0,.25);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.spotlightWrapper{height:50px;left:25%;position:absolute;top:115px;width:50%}.spotlightWrapper .twitter-typeahead{width:100%}.spotlightWrapper .tt-highlight{color:#5bc0de;font-weight:400}.spotlightWrapper input{box-sizing:border-box;height:40px!important}.spotlightWrapper .tt-dataset{clear:both}.spotlightWrapper .tt-menu{background:#3d4246;border-radius:3px;color:#fff;height:300px;overflow:auto;width:100%}.spotlightWrapper .tt-menu .tt-suggestion:hover{background-color:#404a53;cursor:pointer}.spotlightWrapper .tt-menu .header-type{background:#32373b;clear:both;color:#fff;height:30px;padding-left:5px}.spotlightWrapper .tt-menu .header-type h4{float:left;margin:4px 0 0;padding:0}.spotlightWrapper .tt-menu .header-type .fa{font-size:12pt;margin-left:6px;margin-top:6px}.spotlightWrapper .tt-menu .header-type .type{background-color:#5bc0de;border-radius:3px;float:right;margin:4px;padding:0 5px}.spotlightWrapper .tt-menu .tt-cursor{background-color:#fff;color:#000}.spotlightWrapper .tt-menu .tt-selectable{padding-left:10px}.spotlightWrapper .typeahead{background:#3d4246;border:0 solid #3d4246;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;font-size:22px;height:30px;line-height:30px;outline:transparent 0;padding:8px 12px;width:100%}.graphLabel{font-size:11pt;font-weight:600;margin-top:-25px;opacity:.5;padding-bottom:20px;text-align:center;text-transform:uppercase}.cluster-graphs>div .graphWrapper{border:1px solid rgba(140,138,137,.25);margin-left:-1px;margin-top:-1px;padding:20px 20px 10px}.cluster-graphs>div .graphWrapper .nv-controlsWrap{display:none}.cluster-graphs>div .graphWrapper .nv-legendWrap{margin-bottom:10px}.cluster-graphs>div .graphWrapper svg{height:250px;margin-left:-17px}.cluster-values{margin-top:-13px}.cluster-values>div .valueWrapper{border:1px solid rgba(140,138,137,.25);margin-left:-1px;margin-top:-1px}.cluster-values>div .valueWrapper .value{color:#000;font-size:24pt;line-height:150px;text-align:center}.cluster-values>div .valueWrapper .value.positive{color:#2ecc71}.cluster-values>div .valueWrapper .value.warning{color:#f1c40f}.cluster-values>div .valueWrapper .value.negative{color:#e74c3c}.cluster-values>div .valueWrapper div:first-child{height:150px}.application-detail-view .headerBar .subMenuEntries{margin-left:5px;margin-top:-2px}.application-detail-view .headerBar .headerButtonBar{position:absolute;right:5px}.application-detail-view section.info{float:left;padding:13px 0 0}.application-detail-view section.info .header{height:200px;margin-bottom:0;position:absolute;width:calc(100% - 20px)}.application-detail-view section.info .header div.header-icon-container{border:2px solid #d9dbdc;border-radius:150px;height:182px;left:0;margin:0 auto;overflow:hidden;width:182px}.application-detail-view section.info .header div.header-icon-container img.icon{background-color:#fff;border-radius:3px;box-sizing:border-box;height:100%;padding:10px;width:100%}.application-detail-view section.info .header .information{background-color:#fff;border:1px solid #d9dbdc;border-radius:3px;margin-bottom:20px;padding:10px 10px 0;position:relative;top:35px;width:calc(100% - 30px)}.application-detail-view section.info .header .information span{display:block;float:left;font-weight:500;width:90px}.application-detail-view section.info .header .information a{margin-right:10px}.application-detail-view section.info .header .header_right{left:190px;margin:40px auto 0;width:137px}.application-detail-view section.info .header .header_right input.delete,.application-detail-view section.info .header .header_right input.switch-docu,.application-detail-view section.info .header .header_right input.switch-mode,.application-detail-view section.info .header .header_right input.upgrade{margin-top:7.83px;padding-left:10px;padding-right:10px}.application-detail-view section.info .header .header_right input{width:130px}.application-detail-view section.info .header .header_left{margin:0 auto;padding-left:10px;padding-top:1px;text-align:center;width:33.3%}.application-detail-view section.info .header .header_left input{margin-left:0;margin-top:-4px}.application-detail-view section.info .header .header_left .header_line{margin-top:10px}.application-detail-view section.info .header .header_left .header_line p{font-size:14pt;font-weight:200}.application-detail-view section.info .header .header_left .header_line h3{float:left;margin-bottom:0;margin-top:0;padding-right:5px;width:100%}.application-detail-view section.info .header .header_left .header_line .license,.application-detail-view section.info .header .header_left .header_line .mode,.application-detail-view section.info .header .header_left .header_line .version{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#404a53;border:1px solid rgba(140,138,137,.25);color:#fff;font-size:13px;font-weight:300;padding:2px 8px;position:relative;top:-3px}.application-detail-view section.info .header .header_left .header_line .production{color:#2ecc71}.application-detail-view section.info .header .header_left .header_line .development{color:#f1c40f}.application-detail-view section.info .header .header_left .header_line:after{clear:both;content:'';display:table}.application-detail-view section.info .header .header_left .header_line_bottom>div{display:table;left:-3px;margin:-10px auto 0;position:absolute;width:100%}.application-detail-view section.info .header .header_left .header_line_bottom h3{width:auto}.application-detail-view section.info .header .header_left .header_line_bottom .inner{display:table;margin:0 auto;padding-left:15px;width:auto}.application-detail-view section.info .header .app-warning{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#e74c3c;color:#fff;padding:6px 8px}.application-detail-view section.info .header .app-warning h4,.application-detail-view section.info .header .app-warning p{font-size:1em;margin:0}.application-detail-view aside.meta{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px;clear:right;float:right;height:182px;margin-top:12px;max-height:182px;max-width:182px;overflow-x:hidden;position:relative;width:182px}.application-detail-view aside.meta dl{margin-bottom:0;margin-top:0;padding-left:7px;padding-top:5px}main{background-color:#fff;border-radius:3px}main .app-info{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#5bc0de;color:#fff;margin:10px;padding:6px 8px}main .app-info h4,main .app-info p{font-size:1em;margin:0}main .swagger iframe{border:0;border-radius:3px;height:100%;width:100%}main .readme{background:#fff;padding:1em 2em}main .readme .buttons{background:#fff;height:30px;position:relative;right:-15px;width:100%}.centralContent .contentIn table tr,.centralContent .modal-body .arango-table tr,.centralContent .modal-body table tr{height:40px}main .readme .buttons button{float:right}main .readme .modal-body{border-bottom:1px solid rgba(140,138,137,.25);border-left:0;border-right:0;border-top:0;padding-bottom:15px}main .readme .modal-footer{border-bottom:0;border-left:0;border-right:0;border-top:1px solid rgba(140,138,137,.25);padding-right:0}main .readme h1{float:left;text-align:left;width:100%}.tests-result .stack{border-color:#e74c3c;color:#e74c3c;font-size:12px;line-height:1.5;margin:5px 0}.tests-result-stats .fail,.tests-result-stats .pass,.tests-result-stats .pending{padding:0 2px}.tests-result-spec{margin-bottom:0}.tests-result-spec-suites .tests-result-spec-suites{margin-left:20px}.tests-result-spec-suites dd{margin-bottom:20px;margin-left:0}.tests-result-spec-tests{margin-left:20px}.tests-result-spec-test-title{padding-left:20px}.tests-result-spec-test-title .fa{line-height:18px;margin-left:-20px;margin-top:2px;position:absolute}.tests-result-spec-test-title .fa-circle{font-size:50%;margin-left:-16px}.tests-result .pass{color:#2ecc71}.tests-result .fail{color:#e74c3c}.tests-result .pending{color:#666}#swagger #jsonLink{color:rgba(64,74,83,.8);font-weight:500;opacity:.5;position:absolute;right:33px;z-index:99}#swagger #jsonLink:hover{cursor:pointer;opacity:1}#indexHeaderContent{padding:0}#indexHeaderContent #collectionEditIndexTable th,#indexHeaderContent .figuresHeader th{padding-left:10px}.new-index-view{padding:20px}.centralContent .createModalDialog{background-color:#fff;outline:0}.centralContent .contentIn{background:#fff;border:1px solid rgba(64,74,83,.2);border-radius:2px;padding:20px}.centralContent .contentIn table{border:0}.centralContent .contentIn table select{margin-top:-10px}.centralContent .modal-body{border:1px solid rgba(64,74,83,.2);color:#000;max-height:none;padding:0}.centralContent .modal-body .arango-table tr th,.centralContent .modal-body table tr th{padding-left:10px}.centralContent .modal-body .figuresHeader{background-color:#404a53;color:#fff}.centralContent .modal-body .icon_arangodb_info{margin-left:10px;right:inherit}.centralContent .modal-body .modalSelect{margin-top:0}.centralContent .modal-body .tab-pane{padding-top:0!important}.centralContent .modal-footer{background-color:transparent;border-bottom:1px solid rgba(64,74,83,.2);border-left:1px solid rgba(64,74,83,.2);border-radius:0;border-right:1px solid rgba(64,74,83,.2);border-top:0;box-shadow:none;padding:8px}.centralContent .figures1,.centralContent .figures2,.centralContent .figures3{margin-left:0!important;margin-top:40px;width:100%}.centralContent .figures1 .icon_arangodb_info,.centralContent .figures2 .icon_arangodb_info,.centralContent .figures3 .icon_arangodb_info{position:relative;text-align:center}.pure-table-body{overflow-x:none;overflow-y:auto}.pure-table-body .selected-row{background-color:rgba(46,204,113,.2)}.pure-table-body .dataTables_empty{padding-left:10px}.pure-table-body .heading{font-weight:600;height:40px;padding-bottom:10px;padding-top:10px}.pure-table-body .fa.fa-info-circle{cursor:pointer;margin-right:3px;opacity:.4}.pure-table-body .fa:hover{opacity:1}.pure-table{padding-left:20px;padding-right:20px}.pure-table.no-padding{padding-left:0;padding-right:0}.pure-table.no-padding .pure-table-row div div{padding-left:2.5px}.pure-table.no-padding.pure-table-header .pure-table-row>div:first-child .title{padding-left:10px}.pure-table.pure-title .pure-table-row{color:#717d90;font-weight:600}.pure-table.pure-title .pure-table-row:hover{background-color:#fff;cursor:default}.pure-table.pure-title .pure-table-row:last-child{border-bottom:1px solid rgba(140,138,137,.25);margin-bottom:0}.pure-table .pure-table-row{border-bottom:1px solid rgba(140,138,137,.25);color:#8a969f;font-weight:100;line-height:40px;width:100%}.pure-table .pure-table-row .padding-left{padding-left:30px}.pure-table .pure-table-row .padding-right{padding-right:30px}.pure-table .pure-table-row .actions i{margin-left:5px;margin-right:5px}.pure-table .pure-table-row:hover{background-color:#eff0eb;cursor:pointer}.pure-table .pure-table-row.disabled:hover{background-color:#fff;cursor:not-allowed}.pure-table .pure-table-row.noHover:hover{background-color:#fff;cursor:default}.pure-table .pure-table-row .left{text-align:left}.pure-table .pure-table-row .right{text-align:right}.pure-table .pure-table-row .mid{text-align:center}.pure-table .pure-table-row .positive{color:#2ecc71}.pure-table .pure-table-row .negative{color:#e74c3c}.pure-table .pure-table-row .warning{color:#f1c40f}.pure-table .pure-table-row .fa.fa-check-circle{color:#2ecc71}.pure-table .pure-table-row .fa.fa-exclamation-circle{color:#e74c3c}.pure-table .pure-table-row:last-child{border-bottom:0;margin-bottom:10px}.hotkeysList .hotkeysLabel{clear:both;color:#000;font-size:16px;font-weight:400}.hotkeysList .hotkeysContent{padding-left:10px}.hotkeysList li{line-height:25px}.hotkeysList li .hotkeysDiv{float:left}.hotkeysList .hotkeysicons{background-color:#686766;border:1px solid #000;border-radius:2px;color:#fff;display:inline;height:19px;margin-left:10px;text-align:center;width:19px}.hotkeysContentLabel{float:left;width:30%}.coords-dbs .pure-table-row.noHover,.coords-dbs .pure-table-row.noHover:hover{cursor:not-allowed!important}#nodesContent{padding-top:0}#nodesContent .pure-table-body .fa-check-circle,#nodesContent .pure-table-body .fa-exclamation-circle{font-size:15pt}.shardFollowers span:hover,.shardLeader span:hover{color:#000;cursor:pointer}input[type=range]{-webkit-appearance:none;border:1px solid #fff;border-radius:3px;margin-top:10px;width:218px}input[type=range]::-webkit-slider-runnable-track{background:#ddd;border:0;border-radius:3px;height:5px;width:218px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#2ecc71;border:0;border-radius:50%;height:16px;margin-top:-5px;width:16px}input[type=range]:focus{outline:0}input[type=range]:focus::-webkit-slider-runnable-track{background:#ccc}input[type=range]::-moz-range-track{background:#e1e1e1;border:0;border-radius:3px;height:5px;width:218px}input[type=range]::-moz-range-thumb{background:#2ecc71;border:0;border-radius:50%;height:16px;width:16px}input[type=range]:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input[type=range]::-ms-track{background:0 0;border-color:transparent;border-width:6px 0;color:transparent;height:5px;width:218px}input[type=range]::-ms-fill-lower{background:#666;border-radius:10px}input[type=range]::-ms-fill-upper{background:#ddd;border-radius:10px}input[type=range]::-ms-thumb{background:#2ecc71;border:0;border-radius:50%;height:16px;width:16px}input[type=range]:focus::-ms-fill-lower{background:#999}input[type=range]:focus::-ms-fill-upper{background:#ccc}.arangoState{background-color:#404a53;border-radius:3px;color:#fff;font-size:10pt;font-weight:100;padding:5px 8px}.arango-table tbody tr:nth-child(even),.arango-table thead{background-color:#fff}.arango-table{width:100%}.arango-table thead th{border-bottom:1px solid #c2c2c2;font-weight:400;height:43px}.arango-table tbody tr:nth-child(odd){background:rgba(104,103,102,.05)}.arango-table tbody td{padding:10px 18px}.arango-tabbar{height:27px;width:100%}.arango-tabbar button{background-color:#404a53;border:0;border-top-left-radius:2px;border-top-right-radius:2px;color:#fff;float:right;font-weight:100;height:27px;margin-right:5px;width:82px}.arango-tabbar button:first-child{margin-right:10px}.arango-tabbar .arango-active-tab{background-color:#fff;border-bottom:1px solid #fff;border-left:1px solid #c2c2c2;border-right:1px solid #c2c2c2;border-top:1px solid #c2c2c2;color:#000;height:28px;margin-bottom:-1px}.subViewNavbar{border-bottom:2px solid #d9dbdc;height:40px;list-style:none;width:100%;z-index:1000;margin:-57px 0 15px -15px}.subViewNavbar li{cursor:pointer;float:left;font-size:10pt;line-height:30px;margin-bottom:5px;margin-top:5px;padding:0 12px}.subViewNavbar li.active{border-bottom:2px solid #77cb99;cursor:default;padding-bottom:5px}.subViewNavbar li.active a{color:#000}.subViewNavbar li.disabled{cursor:not-allowed}.subViewNavbar li.disabled:hover a{color:rgba(51,51,51,.6)}.subViewNavbar li:hover a{color:#333;transition:all .2s ease-in}.subViewNavbar li a,.subnavmenu ul li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.subViewNavbar li a{color:rgba(51,51,51,.6);transition:all .2s ease-in}.subnavmenu{background-color:#fff;height:auto}.subnavmenu .bar-img{background:0 0;border-radius:25px;margin-right:5px;width:25px}.subnavmenu .bar-img:hover{cursor:pointer}.subnavmenu ul{list-style:none;margin:0}.subnavmenu ul.top{background-color:#404a53;height:60px;width:100%}.subnavmenu ul.top li{padding:0 10px 0 0}.subnavmenu ul.bottom{border-bottom:2px solid #d9dbdc;height:40px;width:100%;z-index:1000}.subnavmenu ul.bottom li{float:left;padding:0 12px}.subnavmenu ul li{cursor:pointer;font-size:10pt;line-height:30px;margin-bottom:5px;margin-top:5px}.subnavmenu ul li.active{border-bottom:2px solid #77cb99;cursor:default;padding-bottom:5px}.subnavmenu ul li.active a{color:#000}.subnavmenu ul li.disabled{cursor:not-allowed}.subnavmenu ul li.disabled:hover a{color:rgba(51,51,51,.6)}.subnavmenu ul li:hover a{color:#333;transition:all .2s ease-in}.subnavmenu ul li a{color:rgba(51,51,51,.6);-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.subnavmenu .infoEntry{line-height:45px}.subnavmenu .infoEntry a{margin-right:5px}.subnavmenu .infoEntry a.default-icon i{color:#fff}.subnavmenu .infoEntry a.default-icon i:hover{color:#2ecc71;cursor:pointer}.subnavmenu .infoEntry:hover{cursor:default}.subnavmenu .infoEntry:hover .info{-webkit-touch-callout:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;color:#fff}.subnavmenu .infoEntry.positive .health-icon,.subnavmenu .infoEntry.positive .health-state,.subnavmenu .infoEntry.positive .state{color:#2ecc71}.subnavmenu .infoEntry.negative .health-icon,.subnavmenu .infoEntry.negative .health-state{color:#e74c3c}.subnavmenu .icon,.subnavmenu .info,.subnavmenu .state{color:rgba(255,255,255,.95);display:block;float:left;font-weight:300;max-width:150px;overflow:hidden;text-transform:uppercase}.subnavmenu .icon span,.subnavmenu .info span,.subnavmenu .state span{color:#2ecc71}.subnavmenu .icon span:hover,.subnavmenu .info span:hover,.subnavmenu .state span:hover{cursor:pointer}.subnavmenu #dbStatus{padding-right:20px}.subBarDropdown{background:#fff;border:1px solid rgba(64,74,83,.2);display:none;margin-top:55px!important;min-width:200px;position:absolute;z-index:9999}.subBarDropdown li{padding:0}.subBarDropdown .dropdown-header{background-color:#77cb99;cursor:default;margin:0 -1px;padding:0!important}.subBarDropdown .dropdown-header img{border:3px solid #6dba8c;border-radius:75px;display:block;margin:10px auto 0;width:75px}.subBarDropdown .dropdown-header p,.subBarDropdown .dropdown-header small{color:#fff;text-align:center}.subBarDropdown .dropdown-header small{display:block;margin-top:-10px}.subBarDropdown .dropdown-footer{padding:0 5px 0 0!important}.subBarDropdown .dropdown-footer button{margin-bottom:5px;margin-top:-4px}.helpUs iframe{left:0;position:absolute;right:0;top:101px}#community,#documentation{padding:20px 40px 40px}#community h4,#documentation h4{font-weight:400}#community a,#documentation a{color:#3498db}#community .pure-u-1-1,#documentation .pure-u-1-1{font-weight:100}#community .center,#documentation .center{margin-top:10px;text-align:center}#community ul,#documentation ul{list-style-type:none;margin:0 0 10px 10px}#community .menu li:first-child,#community .menu li:last-child,#documentation .menu li:first-child,#documentation .menu li:last-child{padding-top:20px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){div .bigtile .collection-type-icon,div .tile .collection-type-icon{margin-left:0!important;position:relative!important;top:-58px!important}.tile .icon_arangodb_edge5{margin-left:0!important;position:relative!important;top:-67px!important}}.arangoDataTable{display:block;position:relative;width:100%}.arangoDataTable tbody{display:inline-block;max-height:200px;overflow-y:auto;position:absolute;width:100%}.arangoDataTable thead{background-color:#fff!important;display:inline-block;font-weight:400!important;text-align:left;width:100%}.arangoDataTable thead td{overflow:hidden}.arangoDataTable thead th{border-bottom:0;cursor:default!important;font-weight:400!important;padding:10px 14px!important}.arangoDataTable thead tr{border-bottom:1px solid #c2c2c2}.arangoDataTable tr{cursor:pointer}.arangoDataTable td{padding:8px 18px!important}.arangoDataTable .key{font-weight:100;margin-top:4px;overflow:hidden}.arangoDataTable .dataTable .noPointer tr{cursor:default}.arangoDataTable .selected-row{background-color:#2ecc71!important}.arangoDataTable .selected-row div,.arangoDataTable .selected-row li,.arangoDataTable .selected-row span{color:#fff!important}.api-container #resources>li.resource:nth-child(even),table.arangoDataTable tr.even{background-color:#fff}.api-container #resources>li.resource:nth-child(odd),table.arangoDataTable tr.odd{background-color:rgba(104,103,102,.05)}#tableDiv table.dataTable td{padding:12px 18px!important}#documentsTableID_filter,#documentsTableID_length{display:none}#documentsTableID_wrapper{padding-bottom:0!important}.snippet-no-num{font-size:1em;font-weight:400;margin-bottom:0}.cuttedContent,.prettify ul li,.writeable a{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.totalDocuments{color:#666;float:left;font-weight:100;margin-top:-37px!important;padding-left:10px}.prettify{border:none!important;font-size:1em!important;margin:0!important;padding:0!important}.edit-index-table tfoot,.newIndexClass table{border-top:1px solid #f7f3f2}table .sorting{background:0 0!important}.new-index-view input[type=checkbox]{float:left}.new-index-view table tr{width:600px!important}.new-index-view table tr th:last-child{width:50px!important}.new-index-view table th{font-weight:300!important;width:200px!important}#documentsDiv{padding-top:0}#documentsDiv .pure-table .snippet-container{margin-top:10px}.edit-index-table{margin-top:5px;min-width:auto!important}.edit-index-table th{padding-bottom:5px;padding-left:5px;padding-top:5px}.edit-index-table .icon_arangodb_locked{color:rgba(0,0,0,.5);cursor:default;font-size:20px;margin-left:10px}.index-button-bar i:hover,.queryline .fa-info-circle:hover{cursor:pointer}.edit-index-table .icon_arangodb_roundminus{font-size:20px;margin-left:10px}.edit-index-table tfoot i{color:#2ecc71;font-size:19px;margin-left:22px;margin-top:5px}.edit-index-table tfoot i:hover{color:#58d68d;cursor:pointer}.contentIn .arangoicon{font-size:25px;position:relative;top:-3px!important}#collectionEditIndexTable thead{border-bottom:1px solid #e5e5e5}.newIndexClass table{margin-bottom:60px}.newIndexClass table select{margin-right:7px}.newIndexClass table .arangoicon{float:right;margin-right:-12px;margin-top:5px}.index-button-bar{float:right}.index-button-bar i{color:#2ecc71;font-size:16pt;margin-right:43px}.index-button-bar #cancelIndex{margin-right:13px}.docsFirstCol,.docsSecCol,.docsThirdCol{border:0!important}.docsFirstCol{height:26px;width:80%}.docsSecCol{height:26px;min-width:400px!important;width:10%}.docsThirdCol{height:26px}.add-filter-item{margin-left:5px}.add-filter-item i{margin-top:0!important}.upload-indicator{display:none;margin-top:-3px;padding-right:10px}.documentsDropdown .dropdownImport,.documentsDropdown .headerDropdown{clear:both;margin-bottom:10px}.documents-size{background-color:#fff!important;border:1px solid #e5e5e5;border-radius:0;box-shadow:none;color:#000;float:right;font-size:11pt;font-weight:300;height:28px;line-height:18px;margin-left:10px;margin-top:0;width:115px}.ace_error{background:0 0!important}#exportHeader .fa-exclamation-circle{color:#fff;font-size:13pt;margin-right:10px}.totalDocuments:hover{color:#000}.ajax-file-upload-statusbar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid rgba(0,0,0,.7);margin:10px 10px 5px 5px;padding:5px;width:420px}.ajax-file-upload-filename{color:grey;height:auto;margin:0 5px 5px 10px;width:100%}.ajax-file-upload-progress{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid #d9d9d9;display:inline-block;margin:0 10px 5px;padding:1px;position:relative;width:250px}.ajax-file-upload-bar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:rgba(0,0,0,.7);color:#fff;height:20px;width:0}.ajax-file-upload-percent{display:inline-block;left:48%;position:absolute;top:3px}.ajax-file-upload-red{font-size:13px;font-weight:400;margin-right:5px;padding:4px 15px;vertical-align:top}.ajax-file-upload{display:inline-block;font-size:16px;font-weight:700;height:25px;margin:0 10px 10px 0;padding:6px 10px 4px}.ajax-upload-dragdrop{border:1px dotted #8f8d8c;color:#736b68;padding:10px 10px 0;text-align:left;vertical-align:middle;width:506px}.ajax-upload-dragdrop span{position:relative;top:-22px}/*! + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome/fontawesome-webfont.eot?v=4.4.0);src:url(../fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.4.0) format("embedded-opentype"),url(../fonts/fontawesome/fontawesome-webfont.woff2?v=4.4.0) format("woff2"),url(../fonts/fontawesome/fontawesome-webfont.woff?v=4.4.0) format("woff"),url(../fonts/fontawesome/fontawesome-webfont.ttf?v=4.4.0) format("truetype"),url(../fonts/fontawesome/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.contentDiv li,.dashboard-bar-chart-container,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut,.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage,.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-half-height-legend,.dashboard-large-chart,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-interior-chart,.dashboard-small-chart,.dashboard-small-chart .dashboard-small-chart-inner,.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart,.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title,.dashboard-tendency-container,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-subtitle-bar,.dashboard-title-bar .dashboard-half-title-bar,.dashboardModal,.dropdown-toolbar,.fixedDropdown .notificationItemContent,.gv-dropdown-menu,.innerDropdownInnerUL,.link-dropdown-menu,.modal-chart-detail,.modal-chart-detail .modal-body,.modal-chart-detail .modal-dashboard-legend,.modal-chart-detail .modal-inner-detail,.navlist li,.navlogo,.pagination-line li a,.pull-left,.script-dropdown-menu,.user-dropdown-menu,a.button-gui,a.headerButton,div .bigtile,div .bigtile a span.add-Icon,div .tile,div .tile a span.add-Icon,div.centralContent,div.dropdownInner ul,div.footer-center,div.footer-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}@font-face{font-family:Roboto;font-weight:300;font-style:normal;src:url(../fonts/roboto/Roboto-300/Roboto-300.eot);src:url(../fonts/roboto/Roboto-300/Roboto-300.eot?#iefix) format("embedded-opentype"),local("Roboto Light"),local("Roboto-300"),url(../fonts/roboto/Roboto-300/Roboto-300.woff2) format("woff2"),url(../fonts/roboto/Roboto-300/Roboto-300.woff) format("woff"),url(../fonts/roboto/Roboto-300/Roboto-300.ttf) format("truetype"),url(../fonts/roboto/Roboto-300/Roboto-300.svg#Roboto) format("svg")}@font-face{font-family:Roboto;font-weight:400;font-style:normal;src:url(../fonts/roboto/Roboto-regular/Roboto-regular.eot);src:url(../fonts/roboto/Roboto-regular/Roboto-regular.eot?#iefix) format("embedded-opentype"),local("Roboto"),local("Roboto-regular"),url(../fonts/roboto/Roboto-regular/Roboto-regular.woff2) format("woff2"),url(../fonts/roboto/Roboto-regular/Roboto-regular.woff) format("woff"),url(../fonts/roboto/Roboto-regular/Roboto-regular.ttf) format("truetype"),url(../fonts/roboto/Roboto-regular/Roboto-regular.svg#Roboto) format("svg")}@font-face{font-family:Roboto;font-weight:500;font-style:normal;src:url(../fonts/roboto/Roboto-500/Roboto-500.eot);src:url(../fonts/roboto/Roboto-500/Roboto-500.eot?#iefix) format("embedded-opentype"),local("Roboto Medium"),local("Roboto-500"),url(../fonts/roboto/Roboto-500/Roboto-500.woff2) format("woff2"),url(../fonts/roboto/Roboto-500/Roboto-500.woff) format("woff"),url(../fonts/roboto/Roboto-500/Roboto-500.ttf) format("truetype"),url(../fonts/roboto/Roboto-500/Roboto-500.svg#Roboto) format("svg")}@font-face{font-family:Roboto;font-weight:700;font-style:normal;src:url(../fonts/roboto/Roboto-700/Roboto-700.eot);src:url(../fonts/roboto/Roboto-700/Roboto-700.eot?#iefix) format("embedded-opentype"),local("Roboto Bold"),local("Roboto-700"),url(../fonts/roboto/Roboto-700/Roboto-700.woff2) format("woff2"),url(../fonts/roboto/Roboto-700/Roboto-700.woff) format("woff"),url(../fonts/roboto/Roboto-700/Roboto-700.ttf) format("truetype"),url(../fonts/roboto/Roboto-700/Roboto-700.svg#Roboto) format("svg")}.arango-tab li,.dashboard-legend,.dashboard-sub-bar-menu,.docsThirdCol,.fixedDropdown .notificationItem i,.fixedDropdown button,.headerBar>div.headerButtonBar,.query-button,.search-field,div .bigtile .iconSet span,div .tile .iconSet span,div.footer-right,div.footer-right p,div.gv_colour_list,ul.headerButtonList li{float:right}.collectionInfoTh2,.collectionTh,.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title,.dataNotReadyYet,.dygraph-label.dygraph-title,.figuresHeader th,.graphLabel,.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .aqlEditorWrapper table,.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .aqlEditorWrapper table th,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .bindParamEditorWrapper table,.inputEditorWrapper .bindParamEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table th,.modal-body,.page-title span,.pingback a.url,.snippet-no-num,.ui-tooltip,body,button,input,textarea{font-family:Roboto,sans-serif!important}.document-info .document-bold-font,.document-info .document-thin-font{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:11pt}#distributionChartDiv:after,.arango-tab:after,.dashboard-bar-chart-container .dashboard-bar-chart:after,.dashboard-medium-chart .dashboard-medium-chart-inner:after,.dashboard-medium-chart .dashboard-medium-chart-menu:after,.dashboard-row:after,.dashboard-sub-bar:after,.dashboard-tendency-container .dashboard-tendency-chart:after,.detail-chart:after,.document-info .document-info-container .document-inner-info-container .document-attribute:after,.headerBar>div.headerButtonBar:after,.lineChartDiv:after,.pagination-line li:after,.resizecontainer:after,.tileList:after{clear:both;content:'.';display:block;font-size:0;height:0;visibility:hidden}.caret,.contentDiv:after,.contentDiv:before,.form-actions:after,.form-actions:before,.pong-spinner:after,.pong-spinner:before{content:''}.addButton,.arango-tab a,.arango-tab li,.arangoicon,.clusterDownBtn button,.contentDiv .icon,.contentTables tr.contentRowInactive a,.deleteButton i,.dropdownImport.headerDropdown input[type=checkbox].css-checkbox label.css-label,.edit-index-table .icon_arangodb_roundminus,.fixedDropdown .notificationItem i,.fullNotification:hover,.gv-search-submit-icon,.icon-info-sign,.link>line,.node,.pagination-line li a,.script-dropdown-menu .dropdown-item,.search-submit-icon,a.button-gui,a.headerButton,div .bigtile,div .bigtile .iconSet span,div .bigtile a span.icon,div .bigtile a svg,div .tile .iconSet span,div .tile a span.icon,div .tile a svg,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label,div.toolbox div.gv_action_button{cursor:pointer}.graphContent #graph-container{outline:0;-webkit-touch-callout:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}#swagger #jsonLink,.arangoToolbar span.clickable:hover,.login-window button,.pure-table-body .fa,.shardFollowers span,.shardLeader span,.subnavmenu .infoEntry a.default-icon i{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.login-window select{-webkit-appearance:none;background:url("data:image/svg+xml;utf8,") right 10px top 12px no-repeat #f2f2f2;background-size:16px 16px;border:0;-webkit-border-radius:2px;border-radius:2px;color:#000;font-size:14px;font-weight:400;height:40px;line-height:initial;outline:0;padding:12px;text-align:center;-moz-transition:.3s ease all;-ms-transition:.3s ease all;-o-transition:.3s ease all;-webkit-transition:.3s ease all;transition:.3s ease all;width:100%}.breadcrumb a,.navlist .dropdown-item:hover a,.navlist>li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.login-window select:disabled{opacity:.5}.login-window select:active,.login-window select:focus{border:0;outline:0}.navbar{color:#fff;left:0;right:0;z-index:1000}.ajax-file-upload-red,.button-danger{background-color:#e74c3c}.ajax-file-upload-red:focus,.ajax-file-upload-red:hover,.button-danger:focus,.button-danger:hover{background-color:#ec7063}.contentTables td span,.deleteButton i,.edit-index-table .icon_arangodb_roundminus{color:#e74c3c}.contentTables td span:focus,.contentTables td span:hover,.deleteButton i:focus,.deleteButton i:hover,.edit-index-table .icon_arangodb_roundminus:focus,.edit-index-table .icon_arangodb_roundminus:hover{color:#ec7063}.ajax-file-upload,.button-success{background-color:#2ecc71}.ajax-file-upload:focus,.ajax-file-upload:hover,.button-success:focus,.button-success:hover{background-color:#58d68d}.button-info{background-color:#3498db}.button-info:focus,.button-info:hover{background-color:#5dade2}.addButton,.contentTables td.dbThSecond span{color:#2ecc71}.addButton:focus,.addButton:hover,.contentTables td.dbThSecond span:focus,.contentTables td.dbThSecond span:hover{color:#58d68d}.button-warning{background-color:#f1c40f}.button-warning:focus,.button-warning:hover{background-color:#f4d313}.button-close,.button-neutral{background-color:#8f8d8c}.button-close:focus,.button-close:hover,.button-neutral:focus,.button-neutral:hover{background-color:#736b68}.dashboard-sub-bar-menu{color:#8f8d8c}.dashboard-sub-bar-menu:focus,.dashboard-sub-bar-menu:hover{color:#736b68}.button-primary{background-color:#34495e}.button-primary:focus,.button-primary:hover{background-color:#415b76}.button-header,a.button-gui,a.headerButton{background-color:#fff;border:1px solid #fff;color:#555}.button-header:focus,.button-header:hover,a.button-gui:focus,a.button-gui:hover,a.headerButton:focus,a.headerButton:hover{background-color:#2ecc71;border:1px solid #2ecc71;color:#fff}.button-notification{background-color:#faa020}.button-notification:focus,.button-notification:hover{background-color:#f87c0f}.button-inactive,.button-inactive:focus,.button-inactive:hover,[class*=' button-']:disabled,[class*=' button-']:focus:disabled,[class*=' button-']:hover:disabled,[class^=button-]:disabled,[class^=button-]:focus:disabled,[class^=button-]:hover:disabled,button.disabled,button.disabled:focus,button.disabled:hover{background-color:#d3d3d3}a.headerButton.disabled,a.headerButton.disabled:focus,a.headerButton.disabled:hover{color:#d3d3d3}div.queryline .fa.fa-search{color:#c2c2c2;font-size:12pt;opacity:.5;position:relative;right:21px;top:-1px}div.queryline .fa.fa-search:hover{cursor:pointer;opacity:1}.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table td input,.jsoneditor .search .frame input,.login-window .login-input,.modal-body .select2-choices input,.modal-body input,.modal-body select,.modal-body textarea,.navbar .arango-collection-select,.newIndexClass table input,.newIndexClass table select,.pure-table-body input,.pure-table-body select,.sectionHeader .scaleGroup input,div.queryline input,div.queryline select,input.search-input{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#fff!important;border:2px solid rgba(140,138,137,.25);box-shadow:none;outline:transparent 0}.inputEditorWrapper .aqlEditorWrapper table td input:focus,.inputEditorWrapper .bindParamEditorWrapper table td input:focus,.jsoneditor .search .frame input:focus,.login-window .login-input:focus,.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus,.navbar .arango-collection-select:focus,.newIndexClass table input:focus,.newIndexClass table select:focus,.pure-table-body input:focus,.pure-table-body select:focus,.sectionHeader .scaleGroup input:focus,div.queryline input:focus,div.queryline select:focus,input.search-input:focus{border-color:#2ecc71;box-shadow:none;outline:transparent 0}.dropdown-toolbar,.gv-dropdown-menu,.link-dropdown-menu,.script-dropdown-menu,.user-dropdown-menu{background-color:#f5f8f0;border-color:#666;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;display:none;left:initial;list-style:none;margin:5px 0 0;padding:5px 0;position:absolute;right:0;top:80%;z-index:1000}.dropdown-toolbar li,.gv-dropdown-menu li,.link-dropdown-menu li,.script-dropdown-menu li,.user-dropdown-menu li{line-height:23px;white-space:nowrap;width:100%}.dropdown-toolbar .dropdown-header,.gv-dropdown-menu .dropdown-header,.link-dropdown-menu .dropdown-header,.script-dropdown-menu .dropdown-header,.user-dropdown-menu .dropdown-header{color:#999;font-size:15px;font-weight:600;font-variant:small-caps;padding:0}.dropdown-toolbar .dropdown-header:hover,.gv-dropdown-menu .dropdown-header:hover,.link-dropdown-menu .dropdown-header:hover,.script-dropdown-menu .dropdown-header:hover,.user-dropdown-menu .dropdown-header:hover{cursor:default}.dropdown-toolbar .divider,.gv-dropdown-menu .divider,.link-dropdown-menu .divider,.script-dropdown-menu .divider,.user-dropdown-menu .divider{background-color:#666;height:1px;margin:10px 0 5px}.dropdown-toolbar a,.gv-dropdown-menu a,.link-dropdown-menu a,.script-dropdown-menu a,.user-dropdown-menu a{color:#fff;padding:0 20px}.navbar2{color:#fff}.navbar2>.secondary{background-color:rgba(255,255,255,.85)}.navbar{bottom:0;float:left;-webkit-font-smoothing:subpixel-antialiased;margin-bottom:0;position:absolute;top:0;width:150px}.navbar>.primary{background-color:#404a53;float:left;height:100%;width:150px}.navbar>.resizecontainer{background-color:#fff}.navbar .no-left-margin{border:0;margin-left:0}.navbar .no-left-margin.hover{background-color:transparent}.navbar .arangodbLogo{height:auto;margin-left:6px;margin-top:15px;width:138px}.navbar .arango-collection-select{position:relative;right:-22px;top:4px}.navbar .nav .dropdown .active>.dropdown-toggle,.navbar .nav .dropdown .open.active>.dropdown-toggle,.navbar .nav .dropdown .open>.dropdown-toggle{background:#58d68d}.navbar .nav>.active>a{-webkit-box-shadow:0 0 0 transparent inset;-moz-box-shadow:0 0 0 transparent inset;box-shadow:0 0 0 transparent inset;background-color:#fff;color:#000}.navbar .nav>li>a:focus{background-color:#fff}.navbar .nav>li>a:hover{background-color:#000;color:#686766}.navbar .shortcut{bottom:31px;left:13px;position:absolute}.navbar .shortcut i{background-color:transparent;border-radius:20px;color:#fff;width:20px;padding:5px 0 6px 4px}.navbar .shortcut i:hover{background-color:#2ecc71;color:#fff;cursor:pointer}.navbar .social-icons{bottom:0;float:left;margin-left:9px;position:absolute;width:100%}.navbar .social-icons a{display:block;float:left;height:25px;width:25px}.navbar .social-icons p{background:0 0;border-radius:20px;float:left;height:25px;margin-right:10px;padding:0;width:25px}.navlist li .fa,.navlogo .version{padding-left:5px;text-align:center}.navbar .social-icons p:hover{background:#2ecc71;cursor:pointer}.navlist li.divider,.navlist li.navbar-spacer{background-color:rgba(0,0,0,.2)}.navbar .social-icons p:hover i{color:#fff}.navbar .social-icons i{color:#fff;margin-top:6px;position:absolute}.navbar .social-icons i.fa-google,.navbar .social-icons i.fa-slack,.navbar .social-icons i.fa-stack-overflow,.navbar .social-icons i.fa-twitter{margin-left:7px}.navlogo{height:60px;width:100%}.navlogo .small{display:none}.script-dropdown-menu .dropdown-item a,.tab{display:block}.navlogo .version{bottom:33px;color:rgba(255,255,255,.7);font-size:11px;font-weight:100;left:0;padding-bottom:10px;position:absolute;text-transform:uppercase;width:100%}.navlist,.navlist li{width:150px}.navlogo .version .out-of-date{color:#f1c40f;font-weight:400}.navlogo .version .out-of-date i{font-size:9pt;margin-left:5px;margin-top:3px;position:absolute}.navlogo .version .out-of-date:hover{cursor:pointer}.navlogo .version .up-to-date{color:#2ecc71}.navmenu{clear:both}.navlist{list-style:none;margin:0;position:relative;top:0}.navlist>li{line-height:30px}.navlist li a{outline:0}.navlist li .fa{opacity:.3;padding-right:15px;width:10px}.navlist li .fa.fa-heart{color:#ff7a7a;opacity:1}.navlist li.disabled:hover{cursor:default}.navlist li.disabled:hover a:hover{cursor:default;opacity:.8}div .bigtile:hover,div .tile:hover,div.footer-center p:hover{cursor:pointer}.navlist .active .tab .fa,.navlist>.active a{opacity:1}.navlist li.dropdown:hover{border-bottom-left-radius:0;border-bottom-right-radius:0}.navlist li.divider,.navlist li.navbar-spacer{border:0}.navlist li.navbar-spacer{height:2px;margin-bottom:0;margin-top:0}.navlist .active{border-left:2px solid #77cb99}.navlist .active .tab{color:#fff;margin-left:-2px}.navlist .dropdown-item,.script-dropdown-menu .dropdown-item{margin-left:0}.navlist>.active{background-color:rgba(255,255,255,.2)}.navlist .dropdown-item:hover a,.navlist>li:hover a{color:#fff;opacity:1;transition:all .2s ease-in}.navlist .dropdown-item a{border-bottom:0;display:block;font-size:11pt}.navlist .dropdown-item a:hover{background-color:#dee9cf;color:#686766}.tab{color:rgba(255,255,255,.8);font-size:9pt;font-weight:100;text-transform:uppercase;padding:5px}.tab.userImg{padding-bottom:5px}.dropdown-item a{border-bottom:0!important;font-weight:300}.dropdown-toolbar li a,footer.footer p{font-weight:100}.dropdown-toolbar{background-color:#fff!important}.dropdown-toolbar li a:hover{background:0 0;background-color:#dee9cf!important;color:#000!important}.link-dropdown-menu,.user-dropdown-menu{background-color:rgba(0,0,0,.7);border-top-right-radius:0;margin-right:-1px;margin-top:7px;z-index:50}.link-dropdown-menu .dropdown-item,.user-dropdown-menu .dropdown-item{border-left:0;border-right:0}.script-dropdown-menu .dropdown-item a:hover{color:#fff}.script-dropdown-menu .dropdown-item:hover{background-color:#2ecc71}.gv-dropdown-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background-color:rgba(0,0,0,.7);border:1px solid #c2c2c2;margin-right:-20px;margin-top:6px}.gv-dropdown-menu:after{border-bottom-color:#fff}.gv-dropdown-menu li:hover{background-color:#fff;background-image:none}.gv-dropdown-menu li a{padding:0}.gv-dropdown-menu li a label{color:#fff;padding-left:5px}.gv-dropdown-menu li a:focus{background-color:#2ecc71!important;background-image:none}#arangoCollectionSelect{display:none;float:right;margin-bottom:0;margin-right:15px;padding-bottom:0}.caret{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #686766;display:inline-block;height:0;vertical-align:top;width:0}.applications-menu{display:block}.arango-logo{height:34px;padding:0!important}.arango-logo img{margin-left:22px}.footer{background-color:rgba(239,240,241,.8);display:none;font-size:14px;left:160px;right:10px;text-align:center;z-index:1000}div.footer-center,div.footer-left,div.footer-right{background:none;color:#686766}footer.footer{bottom:0;height:43px;position:fixed}footer.footer p{font-size:10pt;margin-bottom:0;padding-bottom:10px;padding-top:10px}div.footer-left{width:45%}div.footer-center{width:10%}div.footer-center p{padding-top:5px}[class*=' button-']:disabled,[class^=button-]:disabled,a.headerButton.disabled,button.disabled{cursor:not-allowed}div.footer-right{width:45%}div.footer-right p{color:#fff}div.footer-right i{color:#e74c3c;font-size:18px}div.footer-right a{color:#686766;margin-left:5px;position:relative;top:-1px}div.footer-right .isOnline{color:#2ecc71!important}.ajax-file-upload,.ajax-file-upload-red,.button-close,.button-danger,.button-header,.button-inactive,.button-info,.button-neutral,.button-notification,.button-primary,.button-success,.button-warning{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;font-size:13px;font-weight:300!important}.addButton,.deleteButton i{font-size:16pt;position:relative}.ajax-file-upload,.ajax-file-upload-red,.button-close,.button-danger,.button-inactive,.button-info,.button-neutral,.button-notification,.button-primary,.button-success,.button-warning{border:0;color:#fff;margin-left:10px;padding:4px 12px}.ajax-file-upload-red:focus,.ajax-file-upload:focus,.button-close:focus,.button-danger:focus,.button-inactive:focus,.button-info:focus,.button-neutral:focus,.button-notification:focus,.button-primary:focus,.button-success:focus,.button-warning:focus{outline:0}.ajax-file-upload i,.ajax-file-upload-red i,.button-close i,.button-danger i,.button-inactive i,.button-info i,.button-neutral i,.button-notification i,.button-primary i,.button-success i,.button-warning i{margin-left:-5px}.ajax-file-upload .fa,.ajax-file-upload-red .fa,.button-close .fa,.button-danger .fa,.button-inactive .fa,.button-info .fa,.button-neutral .fa,.button-notification .fa,.button-primary .fa,.button-success .fa,.button-warning .fa{position:relative;top:1px}.button-header{margin-top:5px}.addButton{margin-right:7px;margin-top:2px}.deleteButton i{float:right;padding-right:7px;top:12px}#closeBtnInfoView{margin-left:0!important}button.btn-server{width:120px}button.btn-small{padding:0 8px}button.gv-zoom-btn{background-size:14px 14px;height:14px;vertical-align:baseline;width:14px}button.gv-zoom-btn.btn-zoom-right{border:0;box-shadow:none;right:0;top:13px}button.gv-zoom-btn.pan-right{background-image:url(../img/gv_arrow_right.png)}button.gv-zoom-btn.pan-right:hover{background:inherit;background-image:url(../img/gv_arrow_right.png)}button.gv-zoom-btn.pan-left{background-image:url(../img/gv_arrow_left.png)}button.gv-zoom-btn.pan-left:hover{background:inherit;background-image:url(../img/gv_arrow_left.png)}button.gv-zoom-btn.pan-top{background-image:url(../img/gv_arrow_top.png)}button.gv-zoom-btn.pan-top:hover{background:inherit;background-image:url(../img/gv_arrow_top.png)}button.gv-zoom-btn.pan-bottom{background-image:url(../img/gv_arrow_bottom.png)}button.gv-zoom-btn.pan-bottom:hover{background:inherit;background-image:url(../img/gv_arrow_bottom.png)}button.gv-zoom-btn.btn-zoom{height:14px;margin:0;padding:0;position:absolute;width:16px}button.gv-zoom-btn.btn-zoom-top{border:0;box-shadow:none;left:13px;top:1}button.gv-zoom-btn.btn-zoom-left{border:0;box-shadow:none;left:0;top:13px}button.gv-zoom-btn.btn-zoom-bottom{border:0;box-shadow:none;left:13px;top:25px}button.gv-icon-btn{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;background-size:36px 36px;height:36px;width:36px}button.gv-icon-btn.active{background-color:#2ecc71}button.gv_dropdown_entry{height:30px;margin:4px 4px 4px 12px;width:160px}button.gv_context_button{width:65px}button.large-distance{margin-left:12px}button.short-distance{margin-left:6px}button.shutdown{margin-top:6px;padding:3px 14px}button.graphViewer-icon-button{background-color:transparent;border:0;height:20px;margin-left:5px;margin-top:-2px;padding:0;width:20px}button.graphViewer-icon-button img{height:20px;padding-bottom:10px;width:20px}ul.headerButtonList{display:inline-block;margin-bottom:0;margin-left:0;padding-left:0!important}ul.headerButtonList li{display:inline}a.button-gui,a.headerButton{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:5px;margin-right:5px}a.headerButton{margin-top:2px;position:relative}a.headerButton .fa,a.headerButton [class*=" icon_"],a.headerButton [class^=icon_]{display:block;height:23px;line-height:23px;position:static;right:0;text-align:center;top:0;width:27px}a.headerButton .icon_arangodb_arrowleft,a.headerButton .icon_arangodb_arrowright{font-weight:700}a.headerButton.activated{background-color:#58d68d;border:1px solid #58d68d;color:#fff}a.headerButton.activated:hover{background-color:#fff;color:#58d68d}div.toolbox{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;border:1px solid rgba(140,138,137,.25);margin-right:5px;padding-bottom:5px;padding-top:5px;position:absolute;top:-10px}div.toolbox div.gv_action_button{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;color:#555;height:30px;margin:5px;position:relative;text-align:center;width:30px}div.toolbox div.gv_action_button.active{background-color:#2ecc71;color:#fff}div.toolbox div.gv_action_button:first-child{margin-top:0}div.toolbox div.gv_action_button:last-child{margin-bottom:0}h6.gv_button_title,h6.gv_icon_icon{left:0;margin:0;position:absolute;right:0}h6.gv_icon_icon{font-size:22px;left:1px;top:4px}h6.gv_button_title{bottom:1px;display:none}.btn-icon{background-color:#383434;padding:4px}.gv-icon-small{background-size:16px 16px;height:16px!important;width:16px!important}.gv-icon-small.delete{background-image:url(../img/icon_delete.png)}.gv-icon-small.add{background-image:url(../img/plus_icon.png)}a.pagination-button,ul.arango-pagination a{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.badge,.btn,.label{text-shadow:none!important}.navbar-inner,.thumbnail{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0}.modal-body th.actionCell>button{margin-top:-12px}.btn-old-padding{padding-bottom:4px!important;padding-top:4px!important}button.btn-overview,button.btn-server{margin:5px}a.button-gui{height:auto;margin-bottom:0;margin-top:0;padding-bottom:1px;padding-top:1px;position:absolute;right:2px;text-decoration:none!important;top:2px;width:auto}a.button-gui.button-gui-disabled{display:none}.clusterDownBtn{padding-bottom:10px;padding-top:10px;text-align:center}.clusterDownBtn button{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f1f1f1;border:1px solid rgba(0,0,0,.1875);color:#333;font-size:20px;font-weight:300;margin:0;padding:12px 18px;text-align:center;text-decoration:none!important;width:250px}.clusterDownBtn button:hover{background-color:#e8e8e8;color:#4a6c30;-webkit-transition-delay:0;-webkit-transition-duration:.2s;-webkit-transition-property:all;-webkit-transition-timing-function:ease-in}.clusterDownBtn button.green{background-color:#617e2b;color:#fff}.clusterDownBtn button.green:hover{background-color:#8ba142}.bottomButtonBar{background-color:#fff;border-top:1px solid rgba(104,103,102,.1);height:30px;padding:10px}.tileList{left:10px;padding-top:5px;position:absolute;right:10px}.tileList legend{padding-left:5px}.tileList .tile:first-child a{opacity:.8}.tileList .tile:first-child a:hover{opacity:1}div .bigtile,div .tile{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-radius:2px;font-size:14px;list-style:none;margin-bottom:13px;position:relative;text-align:center;z-index:1}div .bigtile progress[value],div .tile progress[value]{color:#5bc0de}div .bigtile progress::-webkit-progress-bar-value,div .tile progress::-webkit-progress-bar-value{background:#5bc0de}div .bigtile progress::-webkit-progress-value,div .tile progress::-webkit-progress-value{background:#5bc0de}div .bigtile progress::-moz-progress-bar,div .tile progress::-moz-progress-bar{background:#5bc0de}div .bigtile progress,div .tile progress{-webkit-appearance:none;border-radius:0;height:2px;margin-top:16px;position:relative;width:100%;z-index:10}div .locked.bigtile,div .locked.tile{cursor:not-allowed}div .locked.bigtile .borderBox,div .locked.bigtile .collection-type-icon,div .locked.bigtile .collectionName,div .locked.bigtile .iconSet,div .locked.tile .borderBox,div .locked.tile .collection-type-icon,div .locked.tile .collectionName,div .locked.tile .iconSet{opacity:.5}div .locked.bigtile .iconSet span:hover,div .locked.tile .iconSet span:hover{background-color:#fff!important;color:#000;cursor:not-allowed!important}div .locked.bigtile .iconSet:hover,div .locked.tile .iconSet:hover{cursor:not-allowed!important}div .bigtile .collection-type-icon:hover,div .bigtile img:hover,div .tile .collection-type-icon:hover,div .tile img:hover{cursor:pointer}div .bigtile .warning-icons,div .tile .warning-icons{background-color:#e74c3c;border-radius:2px;color:#fff;font-size:11px;height:17px;left:0;line-height:13px;margin-left:5px;margin-top:5px;padding-left:9px;padding-right:9px;position:absolute;top:0}div .bigtile .warning-icons .fa,div .tile .warning-icons .fa{font-size:11pt;margin-left:1px}div .bigtile .collection-type-icon,div .tile .collection-type-icon{color:#666;font-size:30pt;margin-left:-18px;position:absolute;top:15px}div .bigtile img,div .tile img{position:relative}div .bigtile img.icon,div .tile img.icon{height:50px;margin-top:-110px;width:50px}div .bigtile a span.add-Icon,div .tile a span.add-Icon{font-size:20px;margin-left:22px;margin-right:10px;position:relative;top:0}div .bigtile a span.icon,div .tile a span.icon{font-size:50px}div .bigtile a svg.icon,div .tile a svg.icon{height:50px;width:50px}div .bigtile .tile-icon-svg,div .tile .tile-icon-svg{cursor:pointer;fill:#686766;height:50px;margin-left:auto;margin-right:auto;margin-top:-63px;position:relative;width:50px}div .bigtile .tile-icon,div .tile .tile-icon{color:#686766;font-size:50px;line-height:1.2;margin-left:-50px}div .bigtile .icon_arangodb_edge5-2,div .bigtile .tile-icon,div .tile .icon_arangodb_edge5-2,div .tile .tile-icon{position:absolute;top:15px}div .bigtile .icon_arangodb_edge5-2,div .tile .icon_arangodb_edge5-2{display:inline-block;margin-left:5px;position:absolute;top:0;-moz-transform:rotate(80deg);-o-transform:rotate(80deg);-webkit-transform:rotate(80deg)}div .bigtile h5,div .tile h5{background:rgba(64,74,83,.8);color:#fff;font-size:12px;margin:0 5px;overflow:hidden!important;padding:4px 8px;text-overflow:ellipsis!important;white-space:nowrap!important}div .bigtile h5.inProgress,div .tile h5.inProgress{color:#5bc0de}div .bigtile .tileSelects,div .tile .tileSelects{margin-left:40px;position:relative;z-index:9999}div .bigtile .tileSelects select,div .tile .tileSelects select{float:right;height:20px;margin-right:5px;margin-top:16px;width:70px}div .bigtile .fullBorderBox,div .tile .fullBorderBox{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;box-sizing:border-box;height:100%;margin-left:5px;margin-right:5px;position:relative;width:auto}div .bigtile .fullBorderBox .add,div .tile .fullBorderBox .add{color:#404a53}div .bigtile .fullBorderBox .add span,div .tile .fullBorderBox .add span{color:#2ecc71}div .bigtile .paddingBox,div .tile .paddingBox{box-sizing:border-box;padding-left:5px;padding-right:5px}div .bigtile .borderBox,div .tile .borderBox{background-color:#fff;border:1px solid rgba(64,74,83,.2);border-bottom:0;border-radius:2px;box-sizing:border-box;height:75px;position:relative;width:100%}div .bigtile .iconSet,div .tile .iconSet{position:absolute;right:5px;top:5px}div .bigtile .iconSet span,div .tile .iconSet span{border-radius:2px;color:#666;font-size:18px;z-index:2;padding:2px 3px}div .bigtile .iconSet span:hover,div .tile .iconSet span:hover{background-color:#2ecc71;color:#fff}div .bigtile .iconSet span.disabled,div .tile .iconSet span.disabled{cursor:default;opacity:.2}div .bigtile .iconSet span.disabled:hover,div .tile .iconSet span.disabled:hover{background-color:#fff;color:#000;cursor:default;opacity:.2}div .bigtile .badge-success,div .tile .badge-success{font-weight:300}div .bigtile .unloaded div,div .tile .unloaded div{border-bottom:16px solid #ff8f35}div .bigtile .deleted div,div .tile .deleted div{border-bottom:16px solid #700}div .bigtile .tileBadge,div .tile .tileBadge{bottom:29px;font-size:11px;font-weight:300;position:absolute;right:0}div .bigtile .tileBadge button,div .tile .tileBadge button{margin-left:0;margin-right:5px}div .bigtile .tileBadge span,div .tile .tileBadge span{display:inline-block;line-height:15px}div .bigtile .tileBadge span .corneredBadge,div .tile .tileBadge span .corneredBadge{border-bottom-style:solid;border-bottom-width:17px;border-left:5px solid transparent;border-radius:2px;color:#fff;height:0;margin-bottom:4px;margin-right:10px;padding-left:1px;padding-right:6px}div .bigtile .tileBadge span .corneredBadge.loading,div .tile .tileBadge span .corneredBadge.loading{border-bottom-color:#ff8f35}div .bigtile .tileBadge span .corneredBadge.loaded,div .tile .tileBadge span .corneredBadge.loaded{border-bottom-color:#2ecc71}div .bigtile .tileBadge span .corneredBadge.inProgress,div .tile .tileBadge span .corneredBadge.inProgress{border-bottom-color:#5bc0de}div .bigtile .tileBadge span .corneredBadge.development,div .bigtile .tileBadge span .corneredBadge.unloaded,div .tile .tileBadge span .corneredBadge.development,div .tile .tileBadge span .corneredBadge.unloaded{border-bottom-color:#ff8f35}div .tile{height:100px}div .tile-graph h5{margin-left:5px;margin-right:5px}div .tile-graph .tile-icon:hover{cursor:pointer}div .bigtile{height:309px;width:452px}div .bigtile .shardContainer{font-size:30px}div .bigtile .shardContainer span{padding:2px}.collectionName{border-bottom-left-radius:2px;border-bottom-right-radius:2px;bottom:0;font-weight:300;left:0;position:absolute;right:0;text-align:left}#userManagementThumbnailsIn .tile .paddingBox img{border-radius:58px;margin-top:-99px;padding:0}.resizecontainer{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px}.dashboard-large-chart,.dashboard-medium-chart-outer,.dashboard-sub-bar,.tendency-box-sizing .dashboard-tendency-container,div.centralContent{box-sizing:border-box}@media (max-width:738px){#collectionsDropdown ul{width:auto!important}.footer-center p{display:none}#queryContent #querySize,#queryContent #querySizeDiv,#queryContent .styled-select{margin-right:6px;width:90px!important}}@media (max-width:970px){#documentsDiv #totalDocuments{display:none}}@media (min-width:250px) and (max-width:489px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:10px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:27px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:-15px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:-4.2px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:-3px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-45px;width:110px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:70px}.modal-body .dashboard-large-chart{width:51px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:22px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:5px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:-4.2px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:-3px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:-6px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:90px}.application-detail-view aside.meta{display:none}}@media (min-width:490px) and (max-width:729px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:130px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:147px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:51.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:21px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-165px;width:350px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:310px}.modal-body .dashboard-large-chart{width:211px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:142px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:125px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:51.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:21px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:74px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:330px}.application-detail-view aside.meta{display:none}}@media (min-width:730px) and (max-width:969px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:185px}.dashboard-sub-bar-menu{font-size:12px}.dashboard-medium-chart .dashboard-interior-chart{height:185px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:12px;left:250px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:185px;width:267px}.dashboard-medium-chart #clusterGraphs svg text{font-size:10px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:197px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:10px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:83.25px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:65px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:25.08px;line-height:25.08px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:40.17px;line-height:19.08px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:79.75px}.dashboard-bar-chart-container .dashboard-bar-chart{height:74.75px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:25.25px;line-height:25.25px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:107.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:45px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-285px;width:590px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{display:none;font-size:12px;min-height:190px;width:10px}.absolut,.percentage{font-size:14px}.modal-chart-detail .modal-inner-detail{width:550px}.modal-body .dashboard-large-chart{width:371px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:262px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:245px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:107.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:45px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:154px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:10px;font-weight:400}.dashboard-subtitle-bar{font-size:14px;font-weight:300}.dashboard-figure{font-size:16px;font-weight:400}.dashboard-figurePer{font-size:14px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:10px}.dashboard-legend{display:none;height:30px;width:100%}.dashboard-half-height-legend{display:none;font-size:10px;height:100px;width:0}.application-detail-view section.info{width:370px}}@media (min-width:970px) and (max-width:1209px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:220px}.dashboard-sub-bar-menu{font-size:13px}.dashboard-medium-chart .dashboard-interior-chart{height:220px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:13px;left:369px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:220px;width:387px}.dashboard-medium-chart #clusterGraphs svg text{font-size:11px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:229px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:11px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:101.5px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:105px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:31.17px;line-height:31.17px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:52.33px;line-height:25.17px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:98px}.dashboard-bar-chart-container .dashboard-bar-chart{height:93px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:31.33px;line-height:31.33px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:163.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:69px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-405px;width:830px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:13px;min-height:225px;width:130px}.absolut,.percentage{font-size:15px}.modal-chart-detail .modal-inner-detail{width:670px}.modal-body .dashboard-large-chart{width:531px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:382px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:364px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:163.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:69px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:234px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:11px;font-weight:400}.dashboard-subtitle-bar{font-size:15px;font-weight:300}.dashboard-figure{font-size:18px;font-weight:400}.dashboard-figurePer{font-size:16px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:11px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:11px;height:117.5px;width:60px}.application-detail-view section.info{width:610px}}@media (min-width:1210px) and (max-width:1449px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:255px}.dashboard-sub-bar-menu{font-size:15px}.dashboard-medium-chart .dashboard-interior-chart{height:255px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:16px;left:486px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:255px;width:507px}.dashboard-medium-chart #clusterGraphs svg text{font-size:12px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:264px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:13px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:119px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:145px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:37px;line-height:37px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:64px;line-height:31px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:115.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:110.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:37.17px;line-height:37.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:219.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:93px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-525px;width:1070px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:14px;min-height:260px;width:140px}.absolut,.percentage{font-size:18px}.modal-chart-detail .modal-inner-detail{width:900px}.modal-body .dashboard-large-chart{width:691px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:502px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:481px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:219.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:93px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:314px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:13px;font-weight:400}.dashboard-subtitle-bar{font-size:18px;font-weight:300}.dashboard-figure{font-size:22px;font-weight:400}.dashboard-figurePer{font-size:20px;font-weight:300}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-size:13px;font-weight:400}.dashboard-legend{font-size:12px;font-weight:400;height:30px;width:100%}.dashboard-half-height-legend{font-size:12px;height:135px;width:65px}.application-detail-view section.info{width:850px}}@media (min-width:1450px) and (max-width:1689px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:15px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:18px;left:604px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:627px}.dashboard-medium-chart #clusterGraphs svg text{font-size:13px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:13px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:185px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:275.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:117px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-645px;width:1310px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:15px;min-height:290px;width:150px}.absolut,.percentage{font-size:20px}.modal-chart-detail .modal-inner-detail{width:1130px}.modal-body .dashboard-large-chart{width:851px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:622px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:599px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:275.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:117px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:394px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:13px;font-weight:400}.dashboard-subtitle-bar{font-size:20px;font-weight:300}.dashboard-figure{font-size:26px;font-weight:400}.dashboard-figurePer{font-size:24px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:13px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:13px;height:150px;width:70px}.application-detail-view section.info{width:1090px}}@media (min-width:1690px) and (max-width:1929px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:325px}.dashboard-sub-bar-menu{font-size:16px}.dashboard-medium-chart .dashboard-interior-chart{height:325px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:22px;left:720px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:325px;width:747px}.dashboard-medium-chart #clusterGraphs svg text{font-size:14px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:334px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:14px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:154px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:225px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:48.67px;line-height:48.67px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:87.33px;line-height:42.67px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:150.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:145.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:48.83px;line-height:48.83px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:331.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:141px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-765px;width:1550px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:16px;min-height:330px;width:170px}.absolut,.percentage{font-size:24px}.modal-chart-detail .modal-inner-detail{width:1350px}.modal-body .dashboard-large-chart{width:1011px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:742px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:715px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:331.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:141px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:474px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:14px;font-weight:400}.dashboard-subtitle-bar{font-size:24px;font-weight:300}.dashboard-figure{font-size:30px;font-weight:400}.dashboard-figurePer{font-size:28px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:14px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:14px;height:170px;width:80px}.application-detail-view section.info{width:1330px}}@media (min-width:1930px) and (max-width:2169px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:385px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:385px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:26px;left:836px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:385px;width:867px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:394px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:14px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:184px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:265px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:58.67px;line-height:58.67px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:107.33px;line-height:52.67px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:180.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:175.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:58.83px;line-height:58.83px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:387.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:165px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-885px;width:1790px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:390px;width:180px}.absolut,.percentage{font-size:28px}.modal-chart-detail .modal-inner-detail{width:1580px}.modal-body .dashboard-large-chart{width:1171px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:862px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:831px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:387.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:165px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:554px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:28px;font-weight:300}.dashboard-figure{font-size:34px;font-weight:400}.dashboard-figurePer{font-size:32px;font-weight:300}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-size:14px;font-weight:400}.dashboard-legend{font-size:15px;font-weight:400;height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:200px;width:85px}.application-detail-view section.info{width:1570px}}@media (min-width:2170px) and (max-width:2409px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:962px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:987px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:305px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:443.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:189px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1005px;width:2030px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:1850px}.modal-body .dashboard-large-chart{width:1331px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:982px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:957px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:443.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:189px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:634px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:1810px}}@media (min-width:2410px) and (max-width:2649px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:1082px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:1107px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:345px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:499.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:213px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1125px;width:2270px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:2090px}.modal-body .dashboard-large-chart{width:1491px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:1102px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:1077px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:499.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:213px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:714px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:2050px}}@media (min-width:2650px) and (max-width:2889px){.dashboard-full-width-chart,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-full-width-chart .dashboard-sub-bar,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-large-chart .dashboard-sub-bar,.dashboard-medium-chart,.dashboard-medium-chart .dashboard-sub-bar,.resizecontainer{width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart,.dashboard-medium-chart-outer{float:left}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart{height:285px}.dashboard-sub-bar-menu{font-size:17px}.dashboard-medium-chart .dashboard-interior-chart{height:285px;width:100%}.dashboard-medium-chart .dashboard-medium-chart-menu{font-size:20px;left:1202px;top:0}.dashboard-medium-chart #clusterGraphs svg{height:285px;width:1227px}.dashboard-medium-chart #clusterGraphs svg text{font-size:15px}.dashboard-small-chart .dashboard-sub-bar{clear:both;height:65px;margin-bottom:0;width:100%}.dashboard-small-chart .dashboard-small-chart-inner{width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{height:294px;width:100%}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-axis text{fill:#666;font-size:15px;font-weight:400}.dashboard-tendency-container .dashboard-tendency-chart{height:134px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{width:385px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar{height:42px;line-height:42px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure{height:74px;line-height:36px;padding-top:5px}.dashboard-tendency-container .dashboard-sub-bar{width:100%}.dashboard-bar-chart-container{height:130.5px}.dashboard-bar-chart-container .dashboard-bar-chart{height:125.5px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{height:42.17px;line-height:42.17px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:555.8px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{line-height:40px;padding-top:15px;width:237px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{box-sizing:border-box;height:50px;margin-top:5px;width:100%}.dashboard-bar-chart-container .dashboard-sub-bar{padding-top:13px;width:100%}.modal-chart-detail{bottom:12.1%!important;left:50%;margin-left:-1245px;width:2510px!important}.modal-chart-detail .modal-body{height:95%;max-height:none;padding:5px}.modal-chart-detail .modal-dashboard-legend{font-size:17px;min-height:290px;width:150px}.absolut,.percentage{font-size:22px}.modal-chart-detail .modal-inner-detail{width:2330px}.modal-body .dashboard-large-chart{width:1651px}.modal-body .dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.modal-body .dashboard-large-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-medium-chart-outer{float:left;width:1222px}.modal-body .dashboard-medium-chart,.modal-body .dashboard-medium-chart .dashboard-interior-chart,.modal-body .dashboard-medium-chart .dashboard-sub-bar{width:100%}.modal-body .dashboard-small-chart,.modal-body .dashboard-small-chart .dashboard-small-chart-inner,.modal-body .dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart{width:auto}.modal-body .dashboard-medium-chart .dashboard-medium-chart-menu{left:1197px}.modal-body .dashboard-small-chart .dashboard-sub-bar{clear:both;width:auto}.modal-body .dashboard-tendency-container,.modal-body .dashboard-tendency-container .dashboard-tendency-chart,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-figure,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-subtitle-bar,.modal-body .dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{box-sizing:border-box;width:100%}.modal-body .dashboard-tendency-container .dashboard-sub-bar{width:100%}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart{width:auto}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{width:555.8px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{width:237px}.modal-body .dashboard-bar-chart-container .dashboard-bar-chart-chart{width:794px}.modal-body .dashboard-bar-chart-container .dashboard-sub-bar{width:100%}.absolut{font-weight:300}.dashboard-sub-bar{font-size:15px;font-weight:400}.dashboard-subtitle-bar{font-size:22px;font-weight:300}.dashboard-figure{font-size:36px;font-weight:400}.dashboard-figurePer{font-size:34px;font-weight:300}.dashboard-legend,.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{font-weight:400;font-size:15px}.dashboard-legend{height:30px;width:100%}.dashboard-half-height-legend{font-size:15px;height:150px;width:70px}.application-detail-view section.info{width:2290px}}div.headerBar{position:absolute}div.centralRow{background:rgba(64,74,83,.04);height:100%;min-height:100%;overflow-y:auto;position:relative;right:0}div.centralContent{background-color:transparent;margin-top:10px;width:100%;padding:5px 5px 20px}.contentDiv{list-style:none;padding:0}.contentDiv li{background-color:rgba(0,0,0,.05)}.contentDiv a.add{display:block;font-weight:400;padding:40px 0;text-align:left}.modal-body th .valueCell,.modal-body th th.actionCell,.modal-body th th.keyCell,.waitModal{text-align:center}.contentDiv .icon{padding-left:5px;padding-right:5px;padding-top:10px}.contentDiv:after{clear:both}.contentDiv:after,.contentDiv:before{display:table;line-height:0}.clusterInfoIcon{float:left;padding-left:5px;padding-top:2px}.waitModal.icon{font-size:100px;height:120px}.waitModal.message{font-size:20px}.icon_arangodb_info{color:#333;font-size:23px}li a [class*=" icon_arangodb"],li a [class^=icon_arangodb]{font-size:18px;position:absolute;right:4px;top:2px}.fa-minus-circle{color:#e74c3c;font-size:14pt}.fa-plus-circle{color:#2ecc71;font-size:16pt}.fa-minus-circle:hover,.fa-plus-circle:hover{cursor:pointer}.dropdownImport,div.headerDropdown{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;clear:both;display:none;margin-bottom:15px;padding:10px;position:relative;width:auto}.dropdownImport.smallDropdown .dropdownInner,div.headerDropdown.smallDropdown .dropdownInner{min-height:20px}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox{display:none}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox label.css-label,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label{background-position:0 0;background-repeat:no-repeat;display:inline-block;font-size:15px;height:15px;margin-top:0;padding-left:20px;vertical-align:middle}.dropdownImport.headerDropdown input[type=checkbox].css-checkbox:checked+label.css-label,div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox:checked+label.css-label{background-position:0 -15px}div.dropdown-title{margin-bottom:10px}div.dropdownInner{-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;min-height:125px;position:relative;width:auto}div.dropdownInner .nav-header{font-size:10pt}div.dropdownInner>.nav-header{color:#000;font-size:10pt;font-weight:400}div.dropdownInner>label{color:#000;font-weight:300}div.dropdownInner ul{border-left:1px solid rgba(140,138,137,.25);display:inline;list-style-type:none;margin-left:10px;margin-top:10px;min-height:105px;width:175px}div.dropdownInner ul:first-of-type,div.queryline input[type=file]{border:0}div.dropdownInner ul label{color:#000;padding-left:20px}div.dropdownInner ul li .fa{color:#999;margin-right:5px}div.dropdownInner ul li .fa.fa-square-o{margin-left:1px;margin-right:6px}div.dropdownInner ul li .fa.fa-check-circle-o,div.dropdownInner ul li .fa.fa-check-square-o,div.dropdownInner ul li .fa.fa-dot-circle-o{color:#2ecc71}div.queryline{color:#000;height:35px}div.queryline .textDiv{margin-right:10px;margin-top:4px}div.queryline input,div.queryline select{margin-bottom:5px}div.queryline input{width:16%}div.queryline.querylineAdd span{color:#fff;padding-left:10px;position:relative;top:-21px}div.queryline .removeFilterItem i{font-size:16pt;margin-left:4px!important;margin-top:0!important}div.queryline div.searchByAttribute{margin-left:6px;margin-right:6px;position:relative}div.queryline div.searchByAttribute input{width:140px}div.queryline div.searchByAttribute>ul.gv-dropdown-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background-color:#fff;color:#fff;display:none;left:0;position:absolute;top:20px;width:247px}div.dropdownImport{background-color:#fff;border-radius:3px;display:none;position:relative;padding:10px 10px 5px}div.dropdownImport input{line-height:0;margin-bottom:-15px;margin-top:5px}select.filterSelect{color:#00f;margin-left:10px;margin-right:10px;width:80px}#filterHeader button{float:right;margin-left:10px!important;margin-top:1px}div.input-append button.gv_example_toggle{-moz-border-radius:0 4px 4px 0;-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;background-color:#8f8d8c;height:30px;margin-left:-1px;padding-left:10px;padding-right:10px;padding-top:12px;vertical-align:top}div.input-append button.gv_example_toggle:hover{background-color:#2ecc71}.searchEqualsLabel{margin-left:6px;margin-right:6px}img.gv-throbber{background-image:url(../img/swagger/throbber.gif)}span.gv_caret{border-top:5px solid #fff;margin-top:2px!important}input.search-input{border:1px solid #fff;height:20px;line-height:20px;margin-right:-4px;margin-top:3px;width:120px}.search-field{margin-left:10px;margin-right:3px}.search-field .fa-search{color:#c2c2c2;font-size:12pt;margin-left:-20px;opacity:.5;position:absolute;right:9px;top:9px}div.headerBar,div.headerBar .infoField{color:#000;float:right;padding-left:5px;padding-right:5px}.search-field .fa-search:hover{cursor:pointer;opacity:1}.gv-search-submit-icon,.search-submit-icon{background-image:url(../img/enter_icon.png);background-size:14px;height:14px;margin-left:-18px;opacity:.2;position:absolute;width:14px}.gv-search-submit-icon:hover,.search-submit-icon:hover{opacity:.8}.search-submit-icon{margin-top:11px}.gv-search-submit-icon{margin-top:6px}div.headerBar{background-color:none;border-radius:2px;font-size:16px;height:36px;margin-top:-55px;right:0}div.headerBar.marginTop5{margin-top:-60px}div.headerBar select:focus{outline:0}div.headerBar .infoField{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px!important;font-size:12px;margin-right:7px;margin-top:7px}div.headerBar .infoField .fa{cursor:pointer;margin-left:5px}div.headerBar input[type=checkbox].css-checkbox{display:none}div.headerBar input[type=checkbox].css-checkbox label.css-label{background-position:0 0;background-repeat:no-repeat;cursor:pointer;display:inline-block;font-size:15px;height:15px;margin-top:0;padding-left:20px;vertical-align:middle}div.headerBar input[type=checkbox].css-checkbox:checked+label.css-label{background-position:0 -15px}div.headerBar input[type=radio]{display:none}div.headerBar input[type=radio] label span{background:url(../img/check_radio_sheet.png) -38px top no-repeat;cursor:pointer;display:inline-block;height:19px;margin:-1px 4px 0 0;vertical-align:middle;width:19px}#transparentHeader input[type=checkbox].css-checkbox,.contentTables tr.contentRowActive span,.dashboard-legend .dashboard-legend-inner br,.dashboard-row .fa-arrows-alt,.modal-delete-confirmation,.nvtooltip{display:none}div.headerBar input[type=radio]:checked+label span{background:url(../img/check_radio_sheet.png) -57px top no-repeat}.headerButtonList a span .fa-top{color:#fff;font-size:7pt;position:absolute}.headerButtonList a span .fa-top:hover{color:#2ecc71}.headerButtonList a.error{color:#e74c3c}.headerButtonList a.error:hover{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.headerBar a.arangoHeader{color:#000;font-size:11.5pt;font-weight:100;left:0;position:relative;top:7px}.headerBar>div.headerButtonBar{margin:4px 0;margin-bottom:0!important}.breadcrumb{background:0 0;border:0;border-radius:0;color:#fff;font-size:12pt;font-weight:100;line-height:45px;margin:0 0 0 -4px;padding:0 0 0 10px}.breadcrumb .fa{margin-left:10px;margin-right:8px}.breadcrumb .fa-ellipsis-v{font-size:10pt;opacity:0}.breadcrumb .disabledBread{color:#fff;float:left;font-size:12pt;font-weight:100;padding-right:5px;position:relative}.breadcrumb .disabledBread i{font-size:10pt;margin-left:10px}.breadcrumb .disabledBread:hover{cursor:default}.breadcrumb .activeBread{color:#fff;float:left;font-size:11pt;font-weight:100;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .2s cubic-bezier(.645,.045,.355,1);transition:opacity .2s cubic-bezier(.645,.045,.355,1)}.breadcrumb .activeBread:hover{opacity:.65}.breadcrumb a{color:#fff!important;opacity:.8;transition:all .2s ease-in}.breadcrumb a:hover,.subViewNavbar li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.breadcrumb a:hover{opacity:1;transition:all .2s ease-in}.breadcrumb #app-development-path{background-color:#fff;border-bottom:1px solid rgba(140,138,137,.25);border-left:1px solid rgba(140,138,137,.25);border-radius:3px;border-right:1px solid rgba(140,138,137,.25);height:24px;margin-left:-6px;margin-top:-10px;padding-left:5px;width:100%}.arangoHeader{font-weight:400}.sectionHeader{background-color:#404a53;margin-bottom:10px;padding-bottom:2px;padding-top:10px;width:100%}.sectionHeader .title{color:#fff;font-size:12pt;font-weight:100;line-height:20pt;margin-left:10px}.sectionHeader .information{float:right;font-size:12.5pt;font-weight:100}.sectionHeader .information .fa{font-size:17pt}.sectionHeader .information span:first-child{margin-left:10px}.sectionHeader .information span span{position:relative;top:-2px}.sectionHeader .information span.positive{color:#2ecc71}.sectionHeader .information span.warning{color:#f1c40f}.sectionHeader .information span.negative{color:#e74c3c}.sectionHeader .information i{margin-left:5px;margin-right:10px}.sectionHeader .scaleGroup{float:right;margin-right:10px;position:inherit;width:80px}.sectionHeader .scaleGroup span{border-radius:30px;color:#fff;padding:3px 5px;position:relative;top:-4px}.sectionHeader .scaleGroup span.left{background:#e74c3c;margin-right:-19px}.sectionHeader .scaleGroup span.right{background:#2ecc71;margin-left:-16px}.sectionHeader .scaleGroup span.left:hover,.sectionHeader .scaleGroup span.right:hover{cursor:pointer}.sectionHeader .scaleGroup input{background:#404a53!important;border-color:rgba(255,255,255,.3);color:#fff;font-weight:100;height:10px;text-align:center;width:40px}.checkboxLabel{margin-top:4px;padding-left:0}.css-label{background-image:url(../img/dark-check-green.png)}.css-label-round{background-image:url(../img/dark-check-green-round.png)}.modal-dashboard-header,.modal-header{background-color:#fff;border-bottom:0!important;border-radius:3px;margin-top:5px;padding-left:5px;padding-right:10px;padding-top:4px}.modal-dashboard-header .arangoHeader,.modal-header .arangoHeader{color:#000;font-size:13pt;font-weight:100;left:5px;position:relative;top:2px}.modal-dashboard-header a,.modal-header a{top:2px!important}.modal-dashboard-header .close,.modal-header .close{color:#fff;font-weight:300;margin-top:2px;opacity:.5}.modal-dashboard-header .close:hover,.modal-header .close:hover{opacity:1}.select2-drop-active{border:2px solid #3498db;border-top:0;margin-top:-2px;width:452px!important;z-index:9999999}.select2-no-results,.select2-results{font-weight:100}.modal-tabbar{border-bottom:1px solid #666}.modal-body{color:#736b68;font-size:14px;font-weight:300;max-height:410px}.modal-body input{height:20px;width:436px}.modal-body select{height:33px;width:452px}.modal-body .select2-container-multi.select2-container-active .select2-choices{border:2px solid #3498db}.modal-body .select2-choices{background-image:none!important;border:2px solid rgba(140,138,137,.25);border-radius:3px;-webkit-box-shadow:none;box-shadow:none;width:448px}.modal-body .select2-choices input:active{-webkit-box-shadow:none;box-shadow:none;outline:0!important}.modal-body .select2-choices .select2-search-choice{margin:5px 0 3px 5px!important}.modal-body .select2-choices li{background-color:#fff!important;background-image:none!important;color:#000}.modal-body tr.first,.modal-body tr.last,.modal-body tr.middle{background-color:#f5f8f0}.modal-body .select2-choices li a{margin-left:1px;margin-top:-1px}.modal-body .select2-choices:active{border:1px solid #999;-webkit-box-shadow:none!important;box-shadow:none!important;outline:transparent!important}.modal-body .nav-tabs{margin-top:15px}.modal-body .nav-tabs>li>a:hover{border-color:#8c8a89}.modal-body input,.modal-body select,.modal-body textarea{margin-top:10px}.modal-body input[type=checkbox]{margin-bottom:10px}.modal-body input[type=text].invalid-input{border-color:rgba(234,23,23,.6)}.modal-body input[type=text].invalid-input:focus{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(234,23,23,.6)}.modal-body input[type=file]{line-height:17px}.modal-body tr.spacer{height:20px}.modal-body tr.first th:first-child{border-top-left-radius:3px}.modal-body tr.first th:last-child{border-top-right-radius:3px}.modal-body tr.middle{padding-left:10px;padding-right:10px}.modal-body tr.last th:first-child{border-bottom-left-radius:3px}.modal-body tr.last th:last-child{border-bottom-right-radius:3px}.modal-body tr.first th:first-child,.modal-body tr.last th:first-child,.modal-body tr.middle th:first-child{padding-left:10px}.modal-body tr.first th:last-child,.modal-body tr.last th:last-child,.modal-body tr.middle th:last-child{padding-right:10px}.modal-body th.actionCell{width:30px}.modal-body th.keyCell{width:170px}.modal-body th.keyCell input{width:150px}.modal-body th .valueCell{width:300px}.modal-body th .valueCell input{width:290px}.modal-body th .select2-container{margin-bottom:10px;margin-top:10px}.modal-body .icon-info-sign{margin-bottom:10px;margin-left:10px;opacity:.7;padding-bottom:5px}.modal-body .icon-info-sign:hover{opacity:1}.modal-body .icon_arangodb_info{color:#736b68;font-size:18px;margin-top:-10px;position:absolute;right:12px}.modal-body .icon_arangodb_info:hover{color:#000}.modal-body .collapse{margin-right:-14px;position:relative}.modal-body .accordion-inner{border-top:0;margin-left:0;padding-left:0;padding-right:0}.modal-body .accordion-toggle span .caret{border-top-color:#000;float:right;margin-top:5px}.modal-body .accordion-toggle.collapsed span .caret{-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.modal-body .collectionTh{height:55px}.modal-body .tab-content{min-height:200px}.modal-body .tab-content .tab-pane{border-top:1px solid #666!important;margin-left:0!important;padding-top:10px}.modal-body .tab-content .tab-pane-modal{border-top:none!important}.modal-body .tab-content #appstore{max-height:290px}.modal-body .errorMessage{background:#e74c3c;border-radius:4px;color:#fff;font-size:9pt;font-weight:100;margin-top:-9px;padding-left:5px;padding-right:5px;position:absolute}.modal-body .nav .tab-icon{margin-right:5px;margin-top:-3px;width:20px}.modal-body pre{margin-right:20px;margin-top:20px}.modal-text{font-weight:300;padding-bottom:3px;padding-top:3px}.modal-backdrop,.modal-backdrop.fade.in{opacity:.4}.fade{opacity:0;-moz-transition:opacity .03s linear;-ms-transition:opacity .03s linear;-o-transition:opacity .03s linear;-webkit-transition:opacity .03s linear;transition:opacity .03s linear}.modal{border:0!important;border-radius:3px!important;box-shadow:0;margin-left:-325px!important;width:650px;z-index:9999999}.modal .fade.in{top:12.1%!important}.modal table tr:last-child{border-bottom:0!important}.waitModal{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:0 0;border:0;color:#fff}.waitModalBackdrop{opacity:.7!important}.modalTooltips span{color:#736b68;font-size:20px}.modalTooltips span:hover{color:#000}.gv-object-view{text-align:left;white-space:pre}.capitalize{text-transform:capitalize}.modal-footer{border-top:0!important;padding-right:17px}.modal-footer .button-close{margin-left:20px;margin-right:10px}.modal-header{margin-left:5px;margin-right:5px}.modal-dashboard-header{margin-left:0;margin-right:0;padding-bottom:9px}.modal-delete-confirmation button{margin-right:10px;margin-top:-4px}.modal-delete-confirmation button .modal-confirm-delete{margin-right:-18px}.modal-delete-confirmation fieldset input{float:left}.modal-delete-confirmation fieldset label{float:left;margin-left:10px}.createModalDialog table{width:100%}.createModalDialog .collection-info-figures table{float:left;margin-left:0;margin-right:0;margin-top:0;min-width:200px;padding:3px;text-align:left}.createModalDialog .figures1,.createModalDialog .figures2{margin-bottom:20px;width:300px}.createModalDialog .figures2{margin-left:20px!important}.createModalDialog .figures3{margin-bottom:0;width:100%}.foxx-store-row{border-bottom:10px solid #fff;border-top:10px solid #fff}.foxx-store-row .foxx-name{background:#404a53;border-radius:4px;color:#fff;font-weight:300;margin-bottom:8px;padding-bottom:1px;padding-left:5px;width:100%}.fixedDropdown .dropdown-header a,.fixedDropdown .notificationItem{color:#000}.foxx-store-row .foxx-store-install{padding-right:5px;padding-top:25px}.foxx-store-row .foxx-author{font-size:10pt;font-weight:300;margin-top:-4px}.foxx-store-row .foxx-version{font-weight:400;margin-top:25px}#new-app-mount{margin-right:24px;width:360px}#control_event_edge_delete_modal,#control_event_edge_edit_modal,#control_event_new_node_modal,#control_event_node_delete_modal,#control_event_node_edit_modal{margin-left:-320px;width:640px}.navlogo .stat_cpu,.navlogo .stat_ram{width:26px;height:26px}.navlogo .stat_cpu{margin-top:1px}.navlogo .stat_cpu path{fill:#aa0}.navlogo .stat_ram path{fill:#070}.navlogo .stat_req{height:22px;width:22px}.navlogo .stat_req path{fill:#aa0}#notification_menu .innerDropdownInnerUL{margin-left:0}#noty_bottom_layout_container li{border:0!important}.noty_type_error .arango_message{top:2px}.noty_bar .noty_buttons{background-color:transparent!important;border:0!important;bottom:0;height:1px;margin-bottom:30px!important;margin-top:-35px!important;position:relative;right:-23px}.noty_bar .noty_buttons button{margin-bottom:2px;margin-right:-1px}.noty_bar .arango_message{font-weight:400!important}.noty_bar .arango_message div{float:right;width:20px}.fixedDropdown{background:#fff!important;border-color:rgba(140,138,137,.25)!important;border-radius:3px!important;margin:10px -3px 0!important;right:-1px!important;width:210px}.fixedDropdown .dropdown-header,.fixedDropdown .dropdown-item,.innerDropdownInnerUL{border-bottom:1px solid rgba(0,0,0,.2)}.fixedDropdown .dropdown-header{margin-left:-1px;padding:0!important}.fixedDropdown a{padding-left:5px!important}.fixedDropdown .notificationItemContent{font-size:.9em;font-weight:300;margin-left:15px;max-width:180px;min-height:15px;white-space:normal;width:180px;word-wrap:break-word}.fixedDropdown button{margin-right:5px;margin-top:5px}.fixedDropdown .notificationItem .notificationItemTitle{color:#000;font-weight:400;max-width:165px;overflow-wrap:break-word;white-space:normal;word-wrap:break-word}.fixedDropdown .notificationItem .notificationItemTitle:hover{background-color:transparent;cursor:default}.fixedDropdown .notificationItem i{color:rgba(0,0,0,.2);font-size:20px;padding-left:5px;position:relative;right:2px}.fixedDropdown .notificationItem i:hover{color:#000}.innerDropdownInnerUL{height:220px!important;min-height:220px;overflow-x:hidden;overflow-y:auto;width:100%}.innerDropdownInnerUL .dropdown-item:hover{background-color:#e1e1e1!important}.innerDropdownInnerUL li{width:auto!important}#stat_hd{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid rgba(140,138,137,.25);height:25px;margin-left:-10px;margin-top:8px;position:relative;right:3px;text-align:center;width:25px}.contentButtons,.contentTables{margin-bottom:10px;width:100%}#stat_hd #stat_hd_counter{color:#c2c2c2;line-height:25px;text-align:center}.fullNotification{background-color:#e74c3c!important;border:1px solid #e74c3c!important}.fullNotification p{color:#fff!important}.contentTables tr.contentRowActive a,.contentTables tr.contentRowInactive a{color:#000!important}.contentButtons{clear:both}.contentButtons #createDatabase,.contentButtons #createUser{margin-left:0}.contentTables thead{text-align:left}.contentTables thead tr{background-color:#fff;border-bottom:1px solid #c2c2c2}.contentTables tbody tr:nth-child(odd){background-color:#d9d9d9}.contentTables tbody tr:nth-child(even){background-color:#fff}.contentTables tr.contentRowActive{background-color:#bdcc92!important;font-weight:400}.contentTables .dbThFirst{width:90%}.contentTables .dbThSecond{width:10%}.contentTables td{padding:12px 18px}.contentTables td span{float:right;font-size:22px}.contentTables .collectionThSec{margin-right:0;width:80%}.contentTables .collectionTh{margin-right:0;width:5%}.usermenu{width:40px}.userImg{margin-top:-11px}.userImg .caret{margin-top:13px}.user-menu-img{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:#fff;height:25px}.ui-tooltip{background-color:#2ecc71!important;border:0!important;border-radius:3px!important;box-shadow:none!important;color:#fff!important;font-size:10pt!important;font-weight:100!important;z-index:99999999}.tooltip-inner{max-width:300px!important;white-space:normal!important;word-wrap:break-word!important}.arangoDataTable .key,.dashboard-sub-bar .dashboard-sub-bar-title,.dbselection,.subnavmenu .icon,.subnavmenu .info,.subnavmenu .state,div.gv-colour-list li{text-overflow:ellipsis;white-space:nowrap}.index-tooltip{color:#736b68}.index-tooltip:hover{color:#000}.index-tooltip .arangoicon{font-size:18px!important}.tooltipInfoTh{width:10%}.arangoToolbar span.action:hover{background-color:#2ecc71;border-radius:3px;color:#fff;cursor:pointer}.arangoToolbar{background-color:#fff;border:1px solid rgba(140,138,137,.25);height:45px;width:100%}.arangoToolbar .pull-left,.arangoToolbar .pull-right{height:30px;margin-top:8px}.arangoToolbar .pull-left i.positive,.arangoToolbar .pull-right i.positive{color:#2ecc71}.arangoToolbar .pull-left i.warning,.arangoToolbar .pull-right i.warning{color:#f1c40f}.arangoToolbar .pull-left button{margin-left:8px}.arangoToolbar .pull-right button:first-child,.arangoToolbar .pull-right select:first-child{margin-right:6px}.arangoToolbar span{padding:5px 8px;position:relative;top:5px;font-weight:100;margin-left:10px}.arangoToolbar span.clickable{cursor:pointer;margin-left:0;opacity:.5;top:1px}.arangoToolbar span.clickable:hover{opacity:1}.arangoToolbar i{font-size:11pt;font-style:normal}.arangoToolbar i.fa{font-size:12pt;margin-right:5px}.arangoToolbar .toolbarType{background:#5bc0de;border-radius:3px;color:#fff;margin-left:8px}.arangoToolbar .styled-select{width:auto}.arangoToolbarBottom{clear:both}.arangoToolbarBottom #executeQuery{margin-right:8px}.arangoToolbarBottom .button-close:last-child{margin-right:10px}.dbselection{float:left;margin-right:3px;max-width:160px;overflow:hidden}.dbselection .fa{color:#fff;opacity:.3}.dbselection .fa-caret-square-o-down{margin-left:5px}.dashboard-bar-chart-container,.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-medium-chart,.dashboard-small-chart .dashboard-small-chart-inner,.dashboard-tendency-container{background-color:#fff;border-left:0 solid #000;box-sizing:border-box}.dashboard-bar-chart-container:first-child,.dashboard-full-width-chart .dashboard-full-width-chart-inner:first-child,.dashboard-large-chart .dashboard-large-chart-inner:first-child,.dashboard-medium-chart:first-child,.dashboard-small-chart .dashboard-small-chart-inner:first-child,.dashboard-tendency-container:first-child{margin-left:0}.dashboard-bar-chart-container,.dashboard-full-width-chart,.dashboard-large-chart,.dashboard-medium-chart,.dashboard-small-chart,.dashboard-tendency-container{border:1px solid rgba(64,74,83,.2);margin-left:-1px;margin-top:-2px;position:relative}.dashboard-interior-chart{width:100%!important}.dashboard-interior-chart>div{margin-left:-15px;margin-top:10px}.dashboard-sub-bar-menu{cursor:pointer;position:absolute;right:9px;top:6px}.dataNotReadyYet{color:#f1c40f;font-size:14px;font-weight:100;text-align:center}.dashboard-sub-bar,.dashboard-sub-bar .dashboard-sub-bar-title{font-size:11pt;font-weight:600;text-align:center;text-transform:uppercase}.dashboard-sub-bar{background-color:#fff;color:rgba(0,0,0,.5);height:50px;line-height:24px;margin:0;padding:10px 6px 20px}.dashboard-sub-bar .dashboard-sub-bar-title{color:#000;opacity:.5;overflow:hidden;width:100%}.dashboard-full-width-chart{border:1px solid rgba(104,103,102,.1);border-radius:0;margin-right:12px;width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner,.dashboard-large-chart .dashboard-large-chart-inner,.dashboard-small-chart .dashboard-small-chart-inner{border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:10px}.dashboard-full-width-chart .dashboard-full-width-chart-inner{background-color:#fff;padding-top:12px;width:100%}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-subtitle-bar.top{border-bottom:1px solid #e1e1e1;height:48px;line-height:48px;text-align:right}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner{margin-left:10px;margin-right:10px}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table{margin-bottom:10px;margin-top:10px;table-layout:fixed;width:100%}.dashboard-large-chart .dashboard-large-chart-inner .dashboard-interior-chart,.dashboard-medium-chart .dashboard-interior-chart{margin-bottom:0}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table .no-data{font-style:italic;font-weight:100}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table tr{border-bottom:1px solid rgba(0,0,0,.025)}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table td:first-child{width:100px}.dashboard-full-width-chart .dashboard-full-width-chart-inner .dashboard-interior-chart .inner table td:last-child{text-align:right}.dashboard-full-width-chart .state{background-color:#8c8a89;border-radius:5px;color:#fff;font-weight:300;margin-left:5px;padding-left:6px;padding-right:6px}.dashboard-large-chart .dashboard-large-chart-inner{background-color:#fff}.dashboard-small-chart{background:#fff;border-radius:0}.dashboard-small-chart .dashboard-small-chart-inner{background-color:#fff;padding-top:5px}.dashboard-small-chart .dashboard-small-chart-inner .dashboard-interior-chart .nv-bar rect{fill-opacity:.15;stroke-opacity:.8;stroke-width:.5px}.dashboard-medium-chart-outer{border-radius:0}.dashboard-medium-chart{background-color:#fff;margin-bottom:0;padding-top:10px}.dashboard-medium-chart .dashboard-medium-chart-menu{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border:0 solid rgba(0,0,0,.3);color:rgba(0,0,0,.3);cursor:pointer;padding:0 4px;position:absolute;z-index:1000}.dashboard-medium-chart .dashboard-medium-chart-menu:hover{color:rgba(0,0,0,.7)}.dashboard-medium-chart .dashboard-medium-chart-inner{padding-bottom:10px}.dashboard-medium-chart .clusterChart .slice path{fill-opacity:.15;stroke-opacity:1;stroke-width:1.5px}.tendency-box-sizing .dashboard-row:last-child .dashboard-medium-chart-outer:last-child{margin-left:-2px}.dashboard-tendency-container{box-sizing:content-box}.dashboard-tendency-container .dashboard-sub-bar{height:46px}.dashboard-tendency-container .dashboard-tendency-chart{background-color:#fff;border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:5px}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency{background-color:#fff;box-sizing:border-box;margin-top:5px;padding:0;width:50%}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency:first-child{border-right:1px solid #e1e1e1}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-subtitle-bar{border-bottom:1px solid #e1e1e1;box-sizing:inherit;padding-right:11px;text-align:right;width:100%}.dashboard-tendency-container .dashboard-tendency-chart .dashboard-tendency .dashboard-figure{box-sizing:border-box;text-align:center;width:100%}.dashboard-bar-chart-container{background:0 0;border-radius:0;box-sizing:border-box}.dashboard-bar-chart-container .dashboard-sub-bar{padding-bottom:17px;padding-top:13px}.dashboard-bar-chart-container .dashboard-bar-chart{background-color:#fff;border-left:5px solid #fff;border-right:5px solid #fff;border-top:5px solid #fff;padding-bottom:8px;width:auto}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title{margin-top:5px;padding:0 8px;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .percentage{font-weight:400;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{color:#000;font-weight:500;text-align:center;width:100%}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart{padding-top:10px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-chart .nv-bar rect{fill-opacity:.6;stroke-opacity:.6;stroke-width:.5px}.dashboard-legend .dashboard-legend-inner{margin-right:25px;padding:10px 5px 5px 0;text-align:right}#dashboardDetailedChart .dygraph-axis-label-y,.dashboardDetailChart .dygraph-axis-label-y,.innerDashboardChart .dygraph-axis-label-y{text-align:left}.dashboard-legend .dashboard-legend-inner span{padding-left:10px}.dashboard-spacer{margin:0 12px}.dashboard-headerbar{margin-bottom:15px;margin-top:10px}.modal-chart-detail .modal-dashboard-legend .dashboard-legend-inner{padding-left:20px}.dashboard-half-height-legend .dashboard-legend-inner{padding-top:20px}.dashboard-title-bar{background-color:#686766;color:#fff;font-size:14.5px;font-weight:400;height:30px;line-height:30px;padding:0 5px 0 10px}.dashboard-title-bar .dashboard-half-title-bar{border-left:1px solid #000;margin-left:-1px;width:50%}.dashboard-title-bar .dashboard-half-title-bar:first-child{border-left:0;margin-left:0}.dashboard-row{margin-bottom:0;margin-left:2px;margin-right:0}.dygraph-axis-label.dygraph-axis-label-x,.dygraph-axis-label.dygraph-axis-label-y{color:#666}#repl-numbers,#repl-progress,#repl-ticks{width:33.3%!important}#repl-numbers .inner,#repl-progress .inner,#repl-ticks .inner{margin-top:0}#replication,#requests,#system{margin-bottom:10px}.dashboardModal{-moz-border-radius:8px!important;-webkit-border-radius:8px!important;border-radius:8px!important;height:80%;margin-left:-45%;min-width:780px;overflow:auto;padding:10px;top:10%;width:90%!important}#dashboardHttpGroup{border:6px solid #000;height:100%;width:100%}#dashboardDetailedChart{border:1px solid #000;height:300px;width:100%}.innerDashboardChart{bottom:5px;left:5px;position:absolute;right:5px;top:5px}.dashboardChart{background-color:#fff;border:1px solid rgba(0,0,0,.2);float:left;height:210px;margin:1.05%;position:relative;width:31%}.dygraph-label.dygraph-title{color:#000;font-size:15px;font-weight:400;text-align:left}#dashboardDetailedLineChart{padding-top:10px}.dashboardDistribution{float:left;width:270px}.dashboardDistribution svg{height:220px;width:250px}.showHotkeyHelp{cursor:pointer}.shortcuts{font-size:14px;font-weight:200}.shortcuts b{border-left:1px solid rgba(0,0,0,.34);margin-left:5px;padding-left:5px}.shortcuts .clearShortcut,.shortcuts b:first-child{border-left:0;margin-left:0;padding-left:0}.loginFixedWindow{background:#649068;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.loginFixedWindow #databases{height:140px}.loginFixedWindow #databases .no-database{background:#fff;border-radius:2px;padding:40px;text-align:center}.loginFixedWindow #databases #logout{margin-top:20px}.loginFixedWindow .resizecontainer{position:relative;top:0}.loginFixedWindow .resizecontainer img{height:33px;margin-left:-6px;margin-top:9px}.login-window{background-color:rgba(255,255,255,.75);border:1px solid rgba(140,138,137,.25);border-radius:3px;height:auto;margin:0 auto;position:relative;top:100px;width:350px;padding:20px 20px 50px}.login-window select{margin-bottom:30px;padding-left:35px;-moz-appearance:none}.login-window .login-logo-round{margin-bottom:25px;margin-top:10px}.login-window .login-logo-round img{display:block;margin:0 auto;width:150px}.login-window .checking-password{box-sizing:border-box;color:rgba(0,0,0,.5);margin-left:-21px;margin-top:-25px;position:absolute;text-align:center;width:100%}.login-window form .fa{color:rgba(0,0,0,.2);float:left;font-size:14pt;left:30px;margin-top:11px;position:absolute}.login-window .wrong-credentials{color:#e74c3c;margin-left:-20px;margin-top:-24px;position:absolute;text-align:center;width:100%}.login-window .login-space{height:50px}.login-window .login-input{background:#f2f2f2!important;border:2px #f2f2f2!important;box-sizing:border-box;font-size:14px;height:40px;margin:0 0 15px;outline:0;padding:10px 10px 10px 35px;width:100%;border-radius:3px}.login-window .form-error{border:2px solid #e74c3c!important}.login-window button{height:40px;width:100%}.query-toolbar{background-color:#f0f0f0;border-bottom:0;border-style:solid;border-width:1px;font-size:20px;height:27px;margin-left:0;margin-right:0}.queryManagementBottomActions button,.querySizeDiv{margin-right:10px}.query-toolbar span:hover{background-color:#e74c3c;color:#fff}.queryBottomActions{border-top:1px solid rgba(140,138,137,.25);padding:10px}.queryExecutionTime{margin-left:10px;margin-top:15px}.queryManagementBottomActions{background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #c2c2c2;height:40px;margin-top:-2px;padding-top:10px}.styled-select{float:right;height:30px;overflow:hidden;width:220px}.styled-select select{background:#fff;border:1px solid #c2c2c2!important;border-radius:0!important;font-size:14px;font-weight:300;height:30px;line-height:1;outline:0;padding:5px;padding-left:5px!important;padding-top:3px!important}.querySizeDiv,.querySizeDiv select{height:30px!important}.styled-select select:focus{outline:0}.querySizeDiv{width:130px!important}.inputEditorWrapper{border-bottom:3px solid rgba(140,138,137,.25)!important;border-left:1px solid rgba(140,138,137,.25);border-right:1px solid rgba(140,138,137,.25);clear:both;height:300px;min-height:300px;width:100%}.inputEditorWrapper .aqlEditorWrapper{border:0!important;border-right:3px solid rgba(140,138,137,.25)!important;float:left;height:100%!important;max-width:85%;min-width:20%;width:70%}.outputEditorWrapper .ace_editor,.outputEditorWrapper .graphContent,.outputEditorWrapper .tableWrapper .arango-table{border-left:1px solid rgba(140,138,137,.25);border-right:1px solid rgba(140,138,137,.25)}.inputEditorWrapper #arangoMyQueriesTable tbody tr{cursor:copy}.inputEditorWrapper .aqlEditorWrapper,.inputEditorWrapper .bindParamEditorWrapper{background-color:#fff;overflow:hidden}.inputEditorWrapper .aqlEditorWrapper .stringtype,.inputEditorWrapper .bindParamEditorWrapper .stringtype{color:#ce2f30}.inputEditorWrapper .aqlEditorWrapper .arraytype,.inputEditorWrapper .aqlEditorWrapper .objecttype,.inputEditorWrapper .bindParamEditorWrapper .arraytype,.inputEditorWrapper .bindParamEditorWrapper .objecttype{color:#00f}.inputEditorWrapper .aqlEditorWrapper .numbertype,.inputEditorWrapper .bindParamEditorWrapper .numbertype{color:#044}.inputEditorWrapper .aqlEditorWrapper .booleantype,.inputEditorWrapper .bindParamEditorWrapper .booleantype{color:#c12dad}.inputEditorWrapper .aqlEditorWrapper table,.inputEditorWrapper .bindParamEditorWrapper table{border-top:0}.inputEditorWrapper .aqlEditorWrapper table tbody,.inputEditorWrapper .bindParamEditorWrapper table tbody{display:block;overflow-y:auto}.inputEditorWrapper .aqlEditorWrapper table .truncate,.inputEditorWrapper .bindParamEditorWrapper table .truncate{opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:30%}.inputEditorWrapper .aqlEditorWrapper table tr.noBgColor,.inputEditorWrapper .bindParamEditorWrapper table tr.noBgColor{background-color:transparent!important}.inputEditorWrapper .aqlEditorWrapper table tr.selected,.inputEditorWrapper .bindParamEditorWrapper table tr.selected{background-color:rgba(125,188,66,.64);color:#fff}.inputEditorWrapper .aqlEditorWrapper table tr.selected .spanWrapper,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .spanWrapper{background-color:rgba(255,255,255,.65)}.inputEditorWrapper .aqlEditorWrapper table tr.selected .fa-comments,.inputEditorWrapper .aqlEditorWrapper table tr.selected .fa-copy,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .fa-comments,.inputEditorWrapper .bindParamEditorWrapper table tr.selected .fa-copy{color:#000}.inputEditorWrapper .aqlEditorWrapper table thead,.inputEditorWrapper .bindParamEditorWrapper table thead{display:block}#clearQuery,.arangoFrame,.display-none{display:none}.inputEditorWrapper .aqlEditorWrapper table td,.inputEditorWrapper .bindParamEditorWrapper table td{height:33px;padding:0 5px;width:50%}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper{border-radius:3px;cursor:auto;float:right}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper:hover,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper:hover{cursor:auto}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa{cursor:pointer;font-size:16pt;margin-left:5px;margin-right:5px}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa-minus-circle,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa-minus-circle{margin-left:20px}.inputEditorWrapper .aqlEditorWrapper table td .spanWrapper .fa-play-circle-o,.inputEditorWrapper .bindParamEditorWrapper table td .spanWrapper .fa-play-circle-o{color:#2ecc71}.inputEditorWrapper .aqlEditorWrapper table td input,.inputEditorWrapper .bindParamEditorWrapper table td input{clear:both;float:right;height:17px;margin-bottom:3px;margin-top:3px;width:auto!important}.inputEditorWrapper .aqlEditorWrapper table th,.inputEditorWrapper .bindParamEditorWrapper table th{font-weight:400;height:34px;padding:0;width:50%}.inputEditorWrapper .aqlEditorWrapper,.inputEditorWrapper .bindParamEditorWrapper{height:100%}.inputEditorWrapper .aqlEditorWrapper table thead tr th,.inputEditorWrapper .bindParamEditorWrapper table thead tr th{text-align:left}.inputEditorWrapper .aqlEditorWrapper table thead tr th:first-child,.inputEditorWrapper .bindParamEditorWrapper table thead tr th:first-child{padding-left:10px}.inputEditorWrapper .aqlEditorWrapper table tbody input,.inputEditorWrapper .bindParamEditorWrapper table tbody input{width:100%!important}.inputEditorWrapper .aqlEditorWrapper .selectError,.inputEditorWrapper .bindParamEditorWrapper .selectError{background:#e74c3c}.inputEditorWrapper .aqlEditorWrapper .aceAction,.inputEditorWrapper .bindParamEditorWrapper .aceAction{background-color:#404a53;border-radius:3px;color:#fff;cursor:pointer;font-size:13pt;height:23px;line-height:23px;opacity:.8;position:absolute;right:5px;text-align:center;top:5px;width:33px;z-index:10}.inputEditorWrapper .aqlEditorWrapper .aceAction.type,.inputEditorWrapper .bindParamEditorWrapper .aceAction.type{font-size:8pt}.inputEditorWrapper .aqlEditorWrapper .aceAction i,.inputEditorWrapper .bindParamEditorWrapper .aceAction i{margin-bottom:3px}.inputEditorWrapper .aqlEditorWrapper .aceAction:hover,.inputEditorWrapper .bindParamEditorWrapper .aceAction:hover{cursor:pointer;opacity:1}.inputEditorWrapper .aqlEditorWrapper .previewWrapper,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper{background-color:#fff}.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar{background-color:#fff;border-bottom:1px solid rgba(140,138,137,.25);height:34px}.inputEditorWrapper .aqlEditorWrapper .previewWrapper .previewBar span,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper .previewBar span{margin-left:5px;padding-top:8px;position:absolute}.inputEditorWrapper .aqlEditorWrapper .previewWrapper #queryPreview,.inputEditorWrapper .aqlEditorWrapper>div,.inputEditorWrapper .bindParamEditorWrapper .previewWrapper #queryPreview,.inputEditorWrapper .bindParamEditorWrapper>div{height:100%}.inputEditorWrapper .ui-resizable-s{cursor:ns-resize}.inputEditorWrapper .ui-resizable-e{cursor:ew-resize}.queryContent{clear:both;margin-top:0;width:100%}.queryContent .arangoToolbar .fa.fa-star,.queryContent .arangoToolbar .fa.fa-star-o{color:#ff0}.outputEditors{margin-bottom:60px}.outputEditorWrapper{clear:both;height:100px;padding-top:20px;width:100%}.outputEditorWrapper .tableWrapper{max-width:100%;overflow-x:scroll}.outputEditorWrapper .outputTable{margin-right:-2px}.outputEditorWrapper .graphContent{margin-right:-2px;margin-top:0}.outputEditorWrapper .switchAce{background-color:#404a53;border-radius:3px;color:#fff;cursor:pointer;position:relative;right:-24px;top:45px;z-index:10}.outputEditorWrapper .switchAce span{margin-left:0;padding:0 8px;top:0}.outputEditorWrapper .switchAce span.active{color:#2ecc71}.outputEditorWrapper .switchAce span.disabled{cursor:not-allowed}.outputEditorWrapper .ace_editor{height:280px;width:100%}.outputEditorWrapper .ace_editor .ace_active-line{background:#fff!important}.outputEditorWrapper .sentWrapper .pull-left,.outputEditorWrapper .sentWrapper .pull-right{width:50%}#queryManagementContent{border:1px solid rgba(140,138,137,.25);padding-top:0}#queryManagementContent .arango-table{border:0}#queryManagementContent .arango-table tr th:nth-child(1){width:10%}#queryManagementContent .arango-table tr th:nth-child(1) td{text-align:center}#queryManagementContent .arango-table tr th:nth-child(2){width:50%}#queryManagementContent .arango-table tr th:nth-child(3),#queryManagementContent .arango-table tr th:nth-child(4){width:20%}.contentBar{font-size:12pt;line-height:30px}.noContent{background-color:#fff;padding:50px}.noContent p{font-size:12pt;font-weight:100;text-align:center}.row{margin:0 0 20px}.innerContent{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:2px;min-height:200px;padding-top:13px}.arangoFrame{background-color:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:77777}.arangoFrame .outerDiv{min-height:100%;padding:20px 40px 40px;z-index:88888}.arangoFrame .innerDiv{margin-top:25px;z-index:99999}.arangoFrame .fa-times{color:#fff;float:right;font-size:12pt}.arangoFrame .fa-times:hover{color:#c2c2c2;cursor:pointer}.arangoFrame .document-content-div,.arangoFrame .document-info-div{left:40px;position:absolute;right:40px}.arangoFrame .document-content-div{bottom:80px;top:130px}.arangoFrame .document-editor{height:100%}.arangoFrame .bottomButtonBar{left:-1px;position:absolute;right:-1px}.container{margin-left:20px;margin-right:20px;width:auto!important}.arango-tab{border-bottom:1px solid #ddd;list-style:none;margin-left:0;padding-bottom:0;padding-right:10px}.arango-tab a{-moz-border-radius:0;-webkit-border-radius:0;border-radius:3px 3px 0 0;background-color:#8c8a89;border:1px solid transparent;border-bottom-color:#888;color:#fff;display:block;font-size:13px;line-height:20px;margin-right:2px;min-width:50px;padding:2px 15px;text-align:center}.arango-tab li{background-color:transparent;border:0;margin-bottom:-1px;margin-left:2px;position:relative;z-index:900}.arango-tab li.active a{background:#fff;border-bottom-color:#fff!important;border-left-color:#c2c2c2;border-right-color:#c2c2c2;border-top-color:#c2c2c2;color:#000;height:21px;margin-top:-1px}.jsoneditor,.jsoneditor .menu{background-color:#fff!important}.jsoneditor{border:0 solid rgba(0,0,0,.2)!important}.jsoneditor .menu{border-bottom:1px solid #c2c2c2!important;border-left:0!important;border-right:0!important;border-top:0!important}.jsoneditor .menu button{border:0!important}.jsoneditor .menu button:hover{background-color:#2ecc71;color:#fff}.jsoneditor .search .frame{border:0!important;margin:3px!important}.jsoneditor .search .frame .refresh{background-position:-96px -73px;height:22px;width:25px}.jsoneditor .search .frame input{margin-left:15px;margin-right:15px;margin-top:0}.jsoneditor .search .results{color:#fff!important;margin-top:3px!important}.document-editor-extra{margin-top:10px}.document-editor{margin-top:-10px;width:100%}.disabledPag,.disabledPag a{cursor:default!important;opacity:.5!important}.pagination-line{background-color:#fff;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top:1px solid rgba(104,103,102,.1);margin:0;padding-top:12px;text-align:center}.pagination-line li a:hover,.pagination-line li.active a,.pagination-line li.active span{background-color:#404a53;color:#fff}.pagination-line li a{background-color:#fff;border:1px solid #fff;font-size:11.9px;line-height:20px;padding:2px 10px;text-decoration:none;border-width:0;min-width:12pt}.pagination-line ul{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;display:inline-block;margin-bottom:0;margin-left:0}.pagination-line li{display:inline-block;margin-left:11px}.pagination-line li span{color:#000;font-size:14px;position:relative;top:2px}.pagination-line li:first-child a,.pagination-line li:first-child span,.pagination-line li:last-child a,.pagination-line li:last-child span{-webkit-box-shadow:0;-moz-box-shadow:0;box-shadow:0;background:#404a53;border:0;color:#fff;height:21px;position:relative;width:14px}.pagination-line li.disabled:first-child a,.pagination-line li.disabled:first-child span,.pagination-line li.disabled:last-child a,.pagination-line li.disabled:last-child span{background-color:#777;color:#666;cursor:default;pointer-events:none}.collection-pagination{margin-left:23px!important}.arango-pagination i.fa,.las-pagi i.fa,.pre-pagi i.fa{font-size:19px;position:relative;top:-2px}.arango-pagination li:first-child{margin-right:20px}.arango-pagination li:last-child{margin-left:30px}.pre-pagi{margin-right:-5px!important}.accordion-group{border:0}.accordion-body{height:auto!important}.accordion-heading{padding-bottom:20px;padding-top:25px}.accordion-heading a{border:1px solid #ccc;color:#000;font-weight:400;width:397px!important}.accordion-heading .accordion-toggle{border-radius:3px;box-sizing:border-box;display:block;padding:8px 15px;width:100%!important}.shell_workspace{margin-top:13px}.shell_workspace ::-webkit-scrollbar{display:none}.replShell{background-color:#fff;float:left;height:100%;min-width:100px;overflow-y:hidden;position:relative;width:100%}.replShell>div{border-radius:3px}.replShell pre{border-bottom:0;border-left:0;border-right:1px solid #a0a0a0;border-top:1px solid #a0a0a0}.jqconsole{background-color:#000;border-radius:0;padding:10px}.jqconsole-header{color:#fff}.jserror{color:#f06;margin-left:-10px}.jssuccess{color:#6f0}.jqconsole-cursor{background-color:grey}.jqconsole-blurred .jqconsole-header .jqconsole-cursor{color:#c4cccc}.jqconsole-prompt{color:#b91}.jqconsole-old-prompt{color:#f60;font-weight:400}.jqconsole-input{color:#dd0}.jqconsole-old-input{color:#bb0;font-weight:400}.jqconsole-output{color:#fff}.query-output .ace_gutter-cell{background-color:#f0f0f0}.centralContent .api-actions{margin:0!important;padding:0}.centralContent .api-actions .container{padding-bottom:10px!important;padding-top:13px!important;margin:0 5px!important}.centralContent .api-actions .resource{border-bottom:0!important;padding-left:5px!important}.centralContent .api-actions .resource .heading>.options{margin:11px 10px 0 0!important}.centralContent .api-actions .resource .heading h2 a{color:#000!important;font-weight:300!important}.centralContent .api-actions .active .heading h2 a{color:#000!important}.centralContent .api-actions .endpoint .operations .content{margin:0!important}.centralContent .api-actions .endpoint .operations .content h4{font-weight:700!important}.centralContent .api-actions .endpoints{margin-right:5px!important}.centralContent .api-actions .endpoints .endpoint:last-child{padding-bottom:5px!important}.centralContent .api-actions input[type=button]{background:#8f8d8c!important;border:none!important;box-shadow:none!important;color:#fff!important;float:right!important;font-size:14px!important;font-weight:300!important;margin-top:10px!important;padding:8px 16px!important}.centralContent .api-actions .endpoint .operations .content,.centralContent .api-actions .endpoint .operations .heading{border-radius:0!important;font-weight:300!important}.centralContent .api-actions .http_method,.centralContent .api-actions .toggleOperation{border-radius:0!important}.centralContent .api-actions .required,.centralContent .api-actions em,.centralContent .api-actions strong{font-weight:400!important}.form-actions{background:0 0;border:0}.form-actions:after,.form-actions:before{display:table;line-height:0}.form-actions:after{clear:both}.swagger-section #swagger-ui-container{margin:.3em 1em!important}.alert{padding:15px 35px 15px 14px}.alert,textarea{border-radius:0!important}.log-content{word-wrap:break-word}.tab-content{min-height:390px}.crit-table-id,.debug-table-id,.info-table-id,.log-table-id,.warn-table-id{border-spacing:0 0;font-size:15px!important;margin-top:-5px!important}.crit-table-id thead,.debug-table-id thead,.info-table-id thead,.log-table-id thead,.warn-table-id thead{background-color:#f9f9f9;border-top:6px solid #888!important;text-align:center}.crit-table-id thead tr th,.debug-table-id thead tr th,.info-table-id thead tr th,.log-table-id thead tr th,.warn-table-id thead tr th{background-color:#fff!important;border-bottom:1px solid #c2c2c2;border-top:2px solid #888}.crit-table-id .firstcol,.debug-table-id .firstcol,.info-table-id .firstcol,.log-table-id .firstcol,.warn-table-id .firstcol{cursor:default!important;max-width:80px!important;width:80px!important}.crit-table-id tbody .firstcol,.debug-table-id tbody .firstcol,.info-table-id tbody .firstcol,.log-table-id tbody .firstcol,.warn-table-id tbody .firstcol{background-color:transparent!important}.crit-table-id tbody tr td,.debug-table-id tbody tr td,.info-table-id tbody tr td,.log-table-id tbody tr td,.warn-table-id tbody tr td{padding-bottom:8px!important;padding-top:8px!important}.thirdcol{cursor:default!important;max-width:500px!important}.dataTables_empty,.seccol{cursor:default!important;margin-bottom:5px;width:100px!important}.dataTables_info{display:none}#arangoLogTable{border-top:0}#arangoLogTable tbody tr{height:40px}#arangoLogTable tbody td:nth-child(1){text-align:center;width:70px}#arangoLogTable tbody td:nth-child(2){text-align:center;width:150px}#arangoLogTable tbody td:nth-child(3){width:auto}.log-content-id{padding-bottom:0!important;padding-top:0!important}.log-content-id .dataTable{border-collapse:separate;border-spacing:0 5px;table-layout:fixed!important}.log-content-id .arango-tab{border-bottom:0!important}.log-content-id .tab-content{margin-top:1px!important}.log-content-id .arango-tabbar{left:0;margin-top:-51px;position:absolute}.log-content-id .arango-tabbar button{background-color:#fff;border:0;color:#000;float:left;font-size:10.5pt;min-width:60px;opacity:.64;outline:0;padding-left:0;padding-right:0;text-align:center;width:auto}.log-content-id .arango-tabbar button.arango-active-tab{border-bottom:2px solid #77cb99;font-weight:400;height:35px;opacity:1;padding-bottom:9px}.collectionInfoTh2,.collectionTh,.figuresHeader th{font-weight:400!important}div.gv_zoom_widget{height:300px;left:62px;opacity:.7;position:absolute;top:0;width:40px;z-index:1}div.gv_zoom_widget div.gv_zoom_buttons_bg{background-image:url(../img/gv_button_bg_reverse.png);background-size:contain;height:40px;margin-bottom:20px}div.gv_zoom_widget div.gv_zoom_slider{background:#f5f8f0;border-radius:3px;height:200px;margin:0 17px;width:4px}div.gv_zoom_widget a.ui-slider-handle{background-color:#555;border:1px solid rgba(140,138,137,.25);height:.5em;left:-.55em;outline:0}div.gv_zoom_widget a.ui-slider-handle.ui-state-hover{outline-color:#fff}.documents-size,.spotlightWrapper .typeahead:focus{outline:transparent 0}div.gv_zoom_widget a.ui-slider-handle:hover{cursor:pointer}div.gv_zoom_widget .ui-state-default{background:#f6f6f6}#menubar{margin:0 0 10px}div.gv_colour_list{max-height:680px;overflow:auto;position:absolute;right:26px;text-align:right;top:20px;z-index:1}div.gv_colour_list li{background-color:transparent;float:none;padding:2px 6px}svg.graph-viewer{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px;left:54px;position:absolute;top:-10px;z-index:0}div.gv-colour-list ul ul,div.gv-colour-list ul ul:first-child,div.gv-colour-list ul ul:last-child{border-left:1px solid rgba(104,103,102,.1);border-right:1px solid rgba(104,103,102,.1)}svg.graph-viewer text{max-width:90px;pointer-events:none}div.gv-background{position:relative}.link>line{stroke-width:1}div.gv-colour-list:hover{opacity:1}div.gv-colour-list{border-radius:3px;max-height:350px;max-width:300px;min-width:190px;opacity:.1;overflow-x:hidden!important;overflow-y:auto;position:absolute;right:8px;text-align:right;top:0;z-index:1}div.gv-colour-list li{float:none;overflow:hidden;padding:2px 6px}div.gv-colour-list ul ul:first-child{border-top:1px solid rgba(104,103,102,.1);border-top-left-radius:3px;border-top-right-radius:3px}div.gv-colour-list ul ul:last-child{border-bottom:1px solid rgba(104,103,102,.1);border-bottom-left-radius:3px;border-bottom-right-radius:3px}#tab-content-create-graph .addAfter,#tab-content-create-graph .addDelete,#tab-content-create-graph .delete{margin-top:-9px;position:absolute;right:13px}#tab-content-create-graph .tableRow.first{border-top:10px solid #fff}.graphContent{margin-top:3px}.graphContent #graph-container{background-color:#fff;z-index:5}.graphContent #graph-container:-webkit-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:-moz-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:-ms-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:-o-full-screen{height:100%!important;width:100%!important}.graphContent #graph-container:full-screen{height:100%!important;width:100%!important}.graphContent .fa.fa-desktop{margin-top:6px;position:absolute;right:20px;z-index:10}.nodeContextMenu,.nodeInfoDiv{position:fixed}.nodeInfoDiv{left:175px;overflow:hidden;top:130px;z-index:10}.nodeInfoDiv pre{background-color:rgba(64,74,83,.9);border-radius:2px;color:#fff;max-height:400px;max-width:330px;overflow:hidden}.nodeContextMenu svg #wheelnav-nodeContextMenu-title-0{transform:translate(24px,14px) scale(.7)!important}.nodeContextMenu svg #wheelnav-nodeContextMenu-title-0,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-1,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-2,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-3{fill:#fff}.nodeContextMenu svg #wheelnav-nodeContextMenu-title-0:hover,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-1:hover,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-2:hover,.nodeContextMenu svg #wheelnav-nodeContextMenu-title-3:hover{fill:#2ecc71}#graphSettingsView{background-color:rgba(64,74,83,.9);border:0;border-radius:0;height:100%;overflow-y:scroll}#graphSettingsView button{margin-bottom:125px}#graphSettingsView select{width:222px}#graphSettingsContent{height:100%;max-width:50%;min-width:400px;position:fixed;right:-1px;top:103px;width:400px}#graphSettingsContent .pure-g{font-size:10pt}#graphSettingsContent .pure-g input,#graphSettingsContent .pure-g select{color:#000}#graphSettingsContent .pure-g .left{color:#fff;height:40px}#graphSettingsContent .pure-g .pure-u-1-3{line-height:30px}#graphSettingsContent .pure-g .pure-u-2-3{text-align:right}#graphSettingsContent .pure-g .heading{border-bottom:1px solid #fff;height:10px;margin-bottom:15px}#graphSettingsContent .pure-g .rangeLabel{float:left;margin-left:4px;margin-top:5px;position:relative}#graphSettingsContent .pure-table{padding-left:10px;padding-right:10px}div.gv-manage-button-container{margin-top:10px}legend.gv-inner{font-size:16px}input.gv-radio-button{display:block;margin-top:3px;width:auto}.addCollection .accordion,.collectionTh textarea{margin-top:10px}.collectionTh{font-size:14px;text-align:left;width:20%!important}.collectionInfoTh{min-width:60px;text-align:left;width:320px}.addCollection table tr{border-bottom:0!important;height:53px}.addCollection .icon_arangodb_info{margin-left:20px!important;position:relative;top:2px!important}.addCollection .collectionThSec{width:320px!important}.addCollection .collectionTh{width:96px}.addCollection .modalInput{width:320px}.addCollection .modalSelect{width:334px}.addCollection .accordion-toggle{width:457px!important}.change-collection .tab-content{min-height:230px}.change-collection input{width:384px!important}.change-collection select{width:398px!important}.show-collection .tab-content{min-height:200px}.collectionInfoTh2{text-align:left;width:150px}.collection-info-figures table{float:left;margin-left:0;margin-right:0;margin-top:0;min-width:200px;padding:3px;text-align:left}.figuresHeader{border-bottom:1px solid #c2c2c2}#collectionIndexTable{margin-left:0;width:100%}#collectionTab,#graphTab,#infoTab{border-bottom:0;margin-bottom:1px;padding-bottom:0;padding-right:10px}#collectionTab li,#graphTab li,#infoTab li{float:right}#collectionTab li.disabled a,#graphTab li.disabled a,#infoTab li.disabled a{cursor:not-allowed}#collectionTab a,#graphTab a,#infoTab a{background-color:#404a53;border-bottom:1px solid #666;border-top-left-radius:3px!important;border-top-right-radius:3px!important;color:#fff;font-size:13px!important;height:21px;margin-bottom:-1px;margin-right:4px;padding:2px 15px!important}#collectionTab .active>a,#graphTab .active>a,#infoTab .active>a{background-color:#fff;border-color:#888 #888 transparent!important;color:#000}#confirmCreateEdge{margin-left:20px}.collection-info-figures .icon_arangodb_info{position:relative!important;right:-4px!important}.snippet-wrap .snippet-num li{list-style:decimal-leading-zero}.snippet-no-num{list-style-type:none;margin-left:0;padding-left:0}.snippet-no-num .prettify{font-size:1.2em}.snippet-no-num .sh_number{color:#044;font-weight:100;margin-left:5px}.snippet-no-num .sh_symbol{color:#00f;font-weight:100;margin-left:5px}.snippet-no-num .sh_cbracket{color:#c7a317;font-weight:100;margin-left:5px}.snippet-no-num .sh_keyword{color:#c12dad;font-weight:100;margin-left:5px}.snippet-no-num .sh_string{color:#ce2f30;font-weight:100;margin-left:5px}.snippet-no-num .sh_array,.snippet-no-num .sh_object{color:#00f;font-weight:100;margin-left:5px}@media (max-height:490px){.social-icons{display:none}#navigationBar{overflow:scroll;overflow-x:hidden!important}}@media (max-height:525px){.navlogo .version,.shortcut-icons{display:none}}@media (max-width:568px){#arangoLogTable .table-cell0,.breadcrumb,.document-info-div .search,.navlogo .big,.pagination-line .las-pagi,.pagination-line .pre-pagi,.social-icons{display:none}.nodeInfoDiv{left:65px}.pagination-line .arango-pagination li:first-child,.pagination-line .arango-pagination li:last-child{margin-left:0;margin-right:0}.pagination-line li a{padding:2px 4px}.login-window{padding:10px 10px 40px;width:300px}#repl-numbers,#repl-progress,#repl-ticks{width:100%!important}.dashboard-large-chart,.dashboard-medium-chart-outer:first-child{padding-right:0!important}div.dropdownInner ul label{font-size:13px}.subnavmenu a{font-size:8pt}.subViewNavbar li{font-size:8pt!important;padding:0 6px!important}.subViewNavbar li.active{height:35px}.small-label-padding{max-width:calc(100% - 2px)}.navlogo .small{display:block;height:auto;width:28px}.headerButtonBar,.navlogo .version,.primary .version,.shortcut-icons{display:none}.navbar,.navlist,.navlist li,.navmenu,.primary,.primary li{width:40px!important}.arango-collection-ul .tab{font-size:12pt;height:30px;overflow:hidden}.arango-collection-ul .tab .fa{padding-left:6px;padding-right:20px}.social-icons p{float:left;margin-left:-3px}.social-icons p .fa{font-size:16px}.footer,div.bodyWrapper{left:40px}.dashboard-bar-chart-container .dashboard-bar-chart{padding-bottom:11px}}@media (max-width:768px){.breadcrumb,.outputEditors .additional,.pagination-line .las-pagi,.pagination-line .pre-pagi{display:none}.hide-small{visibility:hidden}.pagination-line .arango-pagination li:first-child,.pagination-line .arango-pagination li:last-child{margin-left:0;margin-right:0}.pagination-line li a{padding:2px 4px}.dashboard-large-chart,.dashboard-tendency-container{box-sizing:content-box}.tendency-box-sizing .dashboard-bar-chart-container,.tendency-box-sizing .dashboard-row:last-child .dashboard-medium-chart-outer:last-child,.tendency-box-sizing .dashboard-tendency-container{margin-left:0}.tendency-box-sizing .dashboard-bar-chart-container{height:140px}.tendency-box-sizing .dashboard-bar-chart-container .dashboard-sub-bar{margin-top:-3px}}@media (min-width:569px) and (max-width:738px){.dashboard-large-chart,.dashboard-medium-chart-outer:first-child{padding-right:0!important}.document-info-div .search,.headerButtonBar span{display:none}.dashboard-bar-chart-container{padding-left:0!important;padding-right:0!important}#repl-numbers,#repl-progress,#repl-ticks{width:100%!important}.subnavmenu a{font-size:9pt}.collection-dropdown ul{width:auto!important}.arango-collection-select{display:inline-block}.dashboard-bar-chart-container .dashboard-bar-chart{padding-bottom:11px}}@media (min-width:770px) and (max-width:972px){.dashboard-tendency-container .dashboard-sub-bar{font-size:11px;height:32px;margin-bottom:10px;margin-top:-10px}.dashboard-small-chart .dashboard-sub-bar{font-size:11px;height:33px}.dashboard-small-chart .dashboard-sub-bar-title{font-size:11px;line-height:12px;margin-top:-12px}.dashboard-bar-chart-chart{margin-top:10px}.dashboard-bar-chart-container .dashboard-sub-bar{font-size:11px;margin-bottom:10px;margin-top:-16px;padding-top:18px}.dashboard-bar-chart-container .dashboard-bar-chart .dashboard-bar-chart-title .absolut{padding-top:3px}}@media (min-width:973px){.dashboard-large-chart .dashboard-sub-bar{padding-top:14px}#dataTransferDistribution .nvd3-svg,#totalTimeDistribution .nvd3-svg{padding-top:20px}#requests .small-label-padding .dashboard-small-chart .dashboard-sub-bar{font-size:12px;padding-top:30px}#requests .small-label-padding:last-child .dashboard-small-chart .dashboard-sub-bar{margin-bottom:1px}}@media (max-width:1024px){#docsSort{display:none}}.document-info-div{min-height:0}.document-content-div{margin-top:10px}.document-info{background-color:#fff;border-radius:3px;margin-bottom:8px;margin-top:-13px;min-height:65px;padding:5px}.document-info .document-info-container{clear:both;width:100%}.document-info .document-info-container .document-inner-info-container{float:left;margin-left:10px;margin-top:5px}.document-info .document-info-container .document-inner-info-container .document-attribute{margin-right:20px}.document-info .document-info-container .document-inner-info-container .document-attribute div{float:left}.document-info .document-bold-font{min-width:55px}.document-info .document-thin-font{color:#2ecc71}.document-info .document-type-container div{float:left}.document-info .document-type-container #document-id{margin-left:10px}.document-link:hover{cursor:pointer;text-decoration:underline}.jsoneditor .tree div{font-size:11pt}#progressPlaceholder{background-color:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.progress-view{background-color:#363c39;border-radius:2px;color:#fff;height:188px;left:50%;margin:-150px 0 0 -125px;position:absolute;top:38%;width:250px}.progress-view .progress-content{border:5px solid #fff;border-radius:3px}.progress-view .progress-content .fa-spinner{font-size:100pt}.progress-view .progress-message{background-color:#fff;border-radius:0 0 2px 2px;color:#fff;font-weight:200;height:44px;margin-top:-25px;padding-top:3px;text-align:center}.progress-view .progress-text{background:#fff;color:#000;float:left;font-weight:100;height:25px;left:-5px;margin-left:5px;margin-top:10px;position:relative;top:-10px;width:100%}.progress-view .progress-action{float:right;margin-right:5px;margin-top:5px}#progressPlaceholderIcon{color:#2ecc71;float:left;font-size:22px;margin-left:10px;margin-top:7px}.pong-spinner{height:100px;margin:50px auto;position:relative;width:200px}.pong-spinner i{animation:ball 2s infinite linear;background:#8cdb8b;border-radius:10px;height:10px;position:absolute;width:10px}.pong-spinner:after,.pong-spinner:before{animation:left-player 2s infinite linear;background:#8cdb8b;height:30px;position:absolute;width:5px}.pong-spinner:after{animation:right-player 2s infinite linear;right:0}@keyframes left-player{0%,100%{top:0}50%{top:70px}}@keyframes right-player{0%,100%{top:70px}50%{top:0}}@keyframes ball{0%,100%{left:5px;top:20px}25%,75%{left:190px;top:50px}50%{left:5px;top:80px}}#spotlightPlaceholder{background-color:rgba(0,0,0,.25);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.spotlightWrapper{height:50px;left:25%;position:absolute;top:115px;width:50%}.spotlightWrapper .twitter-typeahead{width:100%}.spotlightWrapper .tt-highlight{color:#5bc0de;font-weight:400}.spotlightWrapper input{box-sizing:border-box;height:40px!important}.spotlightWrapper .tt-dataset{clear:both}.spotlightWrapper .tt-menu{background:#3d4246;border-radius:3px;color:#fff;height:300px;overflow:auto;width:100%}.spotlightWrapper .tt-menu .tt-suggestion:hover{background-color:#404a53;cursor:pointer}.spotlightWrapper .tt-menu .header-type{background:#32373b;clear:both;color:#fff;height:30px;padding-left:5px}.spotlightWrapper .tt-menu .header-type h4{float:left;margin:4px 0 0;padding:0}.spotlightWrapper .tt-menu .header-type .fa{font-size:12pt;margin-left:6px;margin-top:6px}.spotlightWrapper .tt-menu .header-type .type{background-color:#5bc0de;border-radius:3px;float:right;margin:4px;padding:0 5px}.spotlightWrapper .tt-menu .tt-cursor{background-color:#fff;color:#000}.spotlightWrapper .tt-menu .tt-selectable{padding-left:10px}.spotlightWrapper .typeahead{background:#3d4246;border:0 solid #3d4246;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;font-size:22px;height:30px;line-height:30px;outline:transparent 0;padding:8px 12px;width:100%}.graphLabel{font-size:11pt;font-weight:600;margin-top:-25px;opacity:.5;padding-bottom:20px;text-align:center;text-transform:uppercase}.cluster-graphs>div .graphWrapper{border:1px solid rgba(140,138,137,.25);margin-left:-1px;margin-top:-1px;padding:20px 20px 10px}.cluster-graphs>div .graphWrapper .nv-controlsWrap{display:none}.cluster-graphs>div .graphWrapper .nv-legendWrap{margin-bottom:10px}.cluster-graphs>div .graphWrapper svg{height:250px;margin-left:-17px}.cluster-values{margin-top:-13px}.cluster-values>div .valueWrapper{border:1px solid rgba(140,138,137,.25);margin-left:-1px;margin-top:-1px}.cluster-values>div .valueWrapper .value{color:#000;font-size:24pt;line-height:150px;text-align:center}.cluster-values>div .valueWrapper .value.positive{color:#2ecc71}.cluster-values>div .valueWrapper .value.warning{color:#f1c40f}.cluster-values>div .valueWrapper .value.negative{color:#e74c3c}.cluster-values>div .valueWrapper div:first-child{height:150px}.application-detail-view .headerBar .subMenuEntries{margin-left:5px;margin-top:-2px}.application-detail-view .headerBar .headerButtonBar{position:absolute;right:5px}.application-detail-view section.info{float:left;padding:13px 0 0}.application-detail-view section.info .header{height:200px;margin-bottom:0;position:absolute;width:calc(100% - 20px)}.application-detail-view section.info .header div.header-icon-container{border:2px solid #d9dbdc;border-radius:150px;height:182px;left:0;margin:0 auto;overflow:hidden;width:182px}.application-detail-view section.info .header div.header-icon-container img.icon{background-color:#fff;border-radius:3px;box-sizing:border-box;height:100%;padding:10px;width:100%}.application-detail-view section.info .header .information{background-color:#fff;border:1px solid #d9dbdc;border-radius:3px;margin-bottom:20px;padding:10px 10px 0;position:relative;top:35px;width:calc(100% - 30px)}.application-detail-view section.info .header .information span{display:block;float:left;font-weight:500;width:90px}.application-detail-view section.info .header .information a{margin-right:10px}.application-detail-view section.info .header .header_right{left:190px;margin:40px auto 0;width:137px}.application-detail-view section.info .header .header_right input.delete,.application-detail-view section.info .header .header_right input.switch-docu,.application-detail-view section.info .header .header_right input.switch-mode,.application-detail-view section.info .header .header_right input.upgrade{margin-top:7.83px;padding-left:10px;padding-right:10px}.application-detail-view section.info .header .header_right input{width:130px}.application-detail-view section.info .header .header_left{margin:0 auto;padding-left:10px;padding-top:1px;text-align:center;width:33.3%}.application-detail-view section.info .header .header_left input{margin-left:0;margin-top:-4px}.application-detail-view section.info .header .header_left .header_line{margin-top:10px}.application-detail-view section.info .header .header_left .header_line p{font-size:14pt;font-weight:200}.application-detail-view section.info .header .header_left .header_line h3{float:left;margin-bottom:0;margin-top:0;padding-right:5px;width:100%}.application-detail-view section.info .header .header_left .header_line .license,.application-detail-view section.info .header .header_left .header_line .mode,.application-detail-view section.info .header .header_left .header_line .version{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#404a53;border:1px solid rgba(140,138,137,.25);color:#fff;font-size:13px;font-weight:300;padding:2px 8px;position:relative;top:-3px}.application-detail-view section.info .header .header_left .header_line .production{color:#2ecc71}.application-detail-view section.info .header .header_left .header_line .development{color:#f1c40f}.application-detail-view section.info .header .header_left .header_line:after{clear:both;content:'';display:table}.application-detail-view section.info .header .header_left .header_line_bottom>div{display:table;left:-3px;margin:-10px auto 0;position:absolute;width:100%}.application-detail-view section.info .header .header_left .header_line_bottom h3{width:auto}.application-detail-view section.info .header .header_left .header_line_bottom .inner{display:table;margin:0 auto;padding-left:15px;width:auto}.application-detail-view section.info .header .app-warning{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#e74c3c;color:#fff;padding:6px 8px}.application-detail-view section.info .header .app-warning h4,.application-detail-view section.info .header .app-warning p{font-size:1em;margin:0}.application-detail-view aside.meta{background-color:#fff;border:1px solid rgba(140,138,137,.25);border-radius:3px;clear:right;float:right;height:182px;margin-top:12px;max-height:182px;max-width:182px;overflow-x:hidden;position:relative;width:182px}.application-detail-view aside.meta dl{margin-bottom:0;margin-top:0;padding-left:7px;padding-top:5px}main{background-color:#fff;border-radius:3px}main .app-info{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#5bc0de;color:#fff;margin:10px;padding:6px 8px}main .app-info h4,main .app-info p{font-size:1em;margin:0}main .swagger iframe{border:0;border-radius:3px;height:100%;width:100%}main .readme{background:#fff;padding:1em 2em}main .readme .buttons{background:#fff;height:30px;position:relative;right:-15px;width:100%}.centralContent .contentIn table tr,.centralContent .modal-body .arango-table tr,.centralContent .modal-body table tr{height:40px}main .readme .buttons button{float:right}main .readme .modal-body{border-bottom:1px solid rgba(140,138,137,.25);border-left:0;border-right:0;border-top:0;padding-bottom:15px}main .readme .modal-footer{border-bottom:0;border-left:0;border-right:0;border-top:1px solid rgba(140,138,137,.25);padding-right:0}main .readme h1{float:left;text-align:left;width:100%}.tests-result .stack{border-color:#e74c3c;color:#e74c3c;font-size:12px;line-height:1.5;margin:5px 0}.tests-result-stats .fail,.tests-result-stats .pass,.tests-result-stats .pending{padding:0 2px}.tests-result-spec{margin-bottom:0}.tests-result-spec-suites .tests-result-spec-suites{margin-left:20px}.tests-result-spec-suites dd{margin-bottom:20px;margin-left:0}.tests-result-spec-tests{margin-left:20px}.tests-result-spec-test-title{padding-left:20px}.tests-result-spec-test-title .fa{line-height:18px;margin-left:-20px;margin-top:2px;position:absolute}.tests-result-spec-test-title .fa-circle{font-size:50%;margin-left:-16px}.tests-result .pass{color:#2ecc71}.tests-result .fail{color:#e74c3c}.tests-result .pending{color:#666}#swagger #jsonLink{color:rgba(64,74,83,.8);font-weight:500;opacity:.5;position:absolute;right:33px;z-index:99}#swagger #jsonLink:hover{cursor:pointer;opacity:1}#indexHeaderContent{padding:0}#indexHeaderContent #collectionEditIndexTable th,#indexHeaderContent .figuresHeader th{padding-left:10px}.new-index-view{padding:20px}.centralContent .createModalDialog{background-color:#fff;outline:0}.centralContent .contentIn{background:#fff;border:1px solid rgba(64,74,83,.2);border-radius:2px;padding:20px}.centralContent .contentIn table{border:0}.centralContent .contentIn table select{margin-top:-10px}.centralContent .modal-body{border:1px solid rgba(64,74,83,.2);color:#000;max-height:none;padding:0}.centralContent .modal-body .arango-table tr th,.centralContent .modal-body table tr th{padding-left:10px}.centralContent .modal-body .figuresHeader{background-color:#404a53;color:#fff}.centralContent .modal-body .icon_arangodb_info{margin-left:10px;right:inherit}.centralContent .modal-body .modalSelect{margin-top:0}.centralContent .modal-body .tab-pane{padding-top:0!important}.centralContent .modal-footer{background-color:transparent;border-bottom:1px solid rgba(64,74,83,.2);border-left:1px solid rgba(64,74,83,.2);border-radius:0;border-right:1px solid rgba(64,74,83,.2);border-top:0;box-shadow:none;padding:8px}.centralContent .figures1,.centralContent .figures2,.centralContent .figures3{margin-left:0!important;margin-top:40px;width:100%}.centralContent .figures1 .icon_arangodb_info,.centralContent .figures2 .icon_arangodb_info,.centralContent .figures3 .icon_arangodb_info{position:relative;text-align:center}.pure-table-body{overflow-x:none;overflow-y:auto}.pure-table-body .selected-row{background-color:rgba(46,204,113,.2)}.pure-table-body .dataTables_empty{padding-left:10px}.pure-table-body .heading{font-weight:600;height:40px;padding-bottom:10px;padding-top:10px}.pure-table-body .fa.fa-info-circle{cursor:pointer;margin-right:3px;opacity:.4}.pure-table-body .fa:hover{opacity:1}.pure-table{padding-left:20px;padding-right:20px}.pure-table.no-padding{padding-left:0;padding-right:0}.pure-table.no-padding .pure-table-row div div{padding-left:2.5px}.pure-table.no-padding.pure-table-header .pure-table-row>div:first-child .title{padding-left:10px}.pure-table.pure-title .pure-table-row{color:#717d90;font-weight:600}.pure-table.pure-title .pure-table-row:hover{background-color:#fff;cursor:default}.pure-table.pure-title .pure-table-row:last-child{border-bottom:1px solid rgba(140,138,137,.25);margin-bottom:0}.pure-table .pure-table-row{border-bottom:1px solid rgba(140,138,137,.25);color:#8a969f;font-weight:100;line-height:40px;width:100%}.pure-table .pure-table-row .padding-left{padding-left:30px}.pure-table .pure-table-row .padding-right{padding-right:30px}.pure-table .pure-table-row .actions i{margin-left:5px;margin-right:5px}.pure-table .pure-table-row:hover{background-color:#eff0eb;cursor:pointer}.pure-table .pure-table-row.disabled:hover{background-color:#fff;cursor:not-allowed}.pure-table .pure-table-row.noHover:hover{background-color:#fff;cursor:default}.pure-table .pure-table-row .left{text-align:left}.pure-table .pure-table-row .right{text-align:right}.pure-table .pure-table-row .mid{text-align:center}.pure-table .pure-table-row .positive{color:#2ecc71}.pure-table .pure-table-row .negative{color:#e74c3c}.pure-table .pure-table-row .warning{color:#f1c40f}.pure-table .pure-table-row .fa.fa-check-circle{color:#2ecc71}.pure-table .pure-table-row .fa.fa-exclamation-circle{color:#e74c3c}.pure-table .pure-table-row:last-child{border-bottom:0;margin-bottom:10px}.hotkeysList .hotkeysLabel{clear:both;color:#000;font-size:16px;font-weight:400}.hotkeysList .hotkeysContent{padding-left:10px}.hotkeysList li{line-height:25px}.hotkeysList li .hotkeysDiv{float:left}.hotkeysList .hotkeysicons{background-color:#686766;border:1px solid #000;border-radius:2px;color:#fff;display:inline;height:19px;margin-left:10px;text-align:center;width:19px}.hotkeysContentLabel{float:left;width:30%}.coords-dbs .pure-table-row.noHover,.coords-dbs .pure-table-row.noHover:hover{cursor:not-allowed!important}#nodesContent{padding-top:0}#nodesContent .pure-table-body .fa-check-circle,#nodesContent .pure-table-body .fa-exclamation-circle{font-size:15pt}.shardFollowers span:hover,.shardLeader span:hover{color:#000;cursor:pointer}input[type=range]{-webkit-appearance:none;border:1px solid #fff;border-radius:3px;margin-top:10px;width:218px}input[type=range]::-webkit-slider-runnable-track{background:#ddd;border:0;border-radius:3px;height:5px;width:218px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#2ecc71;border:0;border-radius:50%;height:16px;margin-top:-5px;width:16px}input[type=range]:focus{outline:0}input[type=range]:focus::-webkit-slider-runnable-track{background:#ccc}input[type=range]::-moz-range-track{background:#e1e1e1;border:0;border-radius:3px;height:5px;width:218px}input[type=range]::-moz-range-thumb{background:#2ecc71;border:0;border-radius:50%;height:16px;width:16px}input[type=range]:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input[type=range]::-ms-track{background:0 0;border-color:transparent;border-width:6px 0;color:transparent;height:5px;width:218px}input[type=range]::-ms-fill-lower{background:#666;border-radius:10px}input[type=range]::-ms-fill-upper{background:#ddd;border-radius:10px}input[type=range]::-ms-thumb{background:#2ecc71;border:0;border-radius:50%;height:16px;width:16px}input[type=range]:focus::-ms-fill-lower{background:#999}input[type=range]:focus::-ms-fill-upper{background:#ccc}.arangoState{background-color:#404a53;border-radius:3px;color:#fff;font-size:10pt;font-weight:100;padding:5px 8px}.arango-table tbody tr:nth-child(even),.arango-table thead{background-color:#fff}.arango-table{width:100%}.arango-table thead th{border-bottom:1px solid #c2c2c2;font-weight:400;height:43px}.arango-table tbody tr:nth-child(odd){background:rgba(104,103,102,.05)}.arango-table tbody td{padding:10px 18px}.arango-tabbar{height:27px;width:100%}.arango-tabbar button{background-color:#404a53;border:0;border-top-left-radius:2px;border-top-right-radius:2px;color:#fff;float:right;font-weight:100;height:27px;margin-right:5px;width:82px}.arango-tabbar button:first-child{margin-right:10px}.arango-tabbar .arango-active-tab{background-color:#fff;border-bottom:1px solid #fff;border-left:1px solid #c2c2c2;border-right:1px solid #c2c2c2;border-top:1px solid #c2c2c2;color:#000;height:28px;margin-bottom:-1px}.subViewNavbar{border-bottom:2px solid #d9dbdc;height:40px;list-style:none;width:100%;z-index:1000;margin:-57px 0 15px -15px}.subViewNavbar li{cursor:pointer;float:left;font-size:10pt;line-height:30px;margin-bottom:5px;margin-top:5px;padding:0 12px}.subViewNavbar li.active{border-bottom:2px solid #77cb99;cursor:default;padding-bottom:5px}.subViewNavbar li.active a{color:#000}.subViewNavbar li.disabled{cursor:not-allowed}.subViewNavbar li.disabled:hover a{color:rgba(51,51,51,.6)}.subViewNavbar li:hover a{color:#333;transition:all .2s ease-in}.subViewNavbar li a,.subnavmenu ul li:hover a{-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in}.subViewNavbar li a{color:rgba(51,51,51,.6);transition:all .2s ease-in}.subnavmenu{background-color:#fff;height:auto}.subnavmenu .bar-img{background:0 0;border-radius:25px;margin-right:5px;width:25px}.subnavmenu .bar-img:hover{cursor:pointer}.subnavmenu ul{list-style:none;margin:0}.subnavmenu ul.top{background-color:#404a53;height:60px;width:100%}.subnavmenu ul.top li{padding:0 10px 0 0}.subnavmenu ul.bottom{border-bottom:2px solid #d9dbdc;height:40px;width:100%;z-index:1000}.subnavmenu ul.bottom li{float:left;padding:0 12px}.subnavmenu ul li{cursor:pointer;font-size:10pt;line-height:30px;margin-bottom:5px;margin-top:5px}.subnavmenu ul li.active{border-bottom:2px solid #77cb99;cursor:default;padding-bottom:5px}.subnavmenu ul li.active a{color:#000}.subnavmenu ul li.disabled{cursor:not-allowed}.subnavmenu ul li.disabled:hover a{color:rgba(51,51,51,.6)}.subnavmenu ul li:hover a{color:#333;transition:all .2s ease-in}.subnavmenu ul li a{color:rgba(51,51,51,.6);-moz-transition:all .2s ease-in;-o-transition:all .2s ease-in;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.subnavmenu .infoEntry{line-height:45px}.subnavmenu .infoEntry a{margin-right:5px}.subnavmenu .infoEntry a.default-icon i{color:#fff}.subnavmenu .infoEntry a.default-icon i:hover{color:#2ecc71;cursor:pointer}.subnavmenu .infoEntry:hover{cursor:default}.subnavmenu .infoEntry:hover .info{-webkit-touch-callout:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none;color:#fff}.subnavmenu .infoEntry.positive .health-icon,.subnavmenu .infoEntry.positive .health-state,.subnavmenu .infoEntry.positive .state{color:#2ecc71}.subnavmenu .infoEntry.negative .health-icon,.subnavmenu .infoEntry.negative .health-state{color:#e74c3c}.subnavmenu .icon,.subnavmenu .info,.subnavmenu .state{color:rgba(255,255,255,.95);display:block;float:left;font-weight:300;max-width:150px;overflow:hidden;text-transform:uppercase}.subnavmenu .icon span,.subnavmenu .info span,.subnavmenu .state span{color:#2ecc71}.subnavmenu .icon span:hover,.subnavmenu .info span:hover,.subnavmenu .state span:hover{cursor:pointer}.subnavmenu #dbStatus{padding-right:20px}.subBarDropdown{background:#fff;border:1px solid rgba(64,74,83,.2);display:none;margin-top:55px!important;min-width:200px;position:absolute;z-index:9999}.subBarDropdown li{padding:0}.subBarDropdown .dropdown-header{background-color:#77cb99;cursor:default;margin:0 -1px;padding:0!important}.subBarDropdown .dropdown-header img{border:3px solid #6dba8c;border-radius:75px;display:block;margin:10px auto 0;width:75px}.subBarDropdown .dropdown-header p,.subBarDropdown .dropdown-header small{color:#fff;text-align:center}.subBarDropdown .dropdown-header small{display:block;margin-top:-10px}.subBarDropdown .dropdown-footer{padding:0 5px 0 0!important}.subBarDropdown .dropdown-footer button{margin-bottom:5px;margin-top:-4px}.helpUs iframe{left:0;position:absolute;right:0;top:101px}#community,#documentation{padding:20px 40px 40px}#community h4,#documentation h4{font-weight:400}#community a,#documentation a{color:#3498db}#community .pure-u-1-1,#documentation .pure-u-1-1{font-weight:100}#community .center,#documentation .center{margin-top:10px;text-align:center}#community ul,#documentation ul{list-style-type:none;margin:0 0 10px 10px}#community .menu li:first-child,#community .menu li:last-child,#documentation .menu li:first-child,#documentation .menu li:last-child{padding-top:20px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){div .bigtile .collection-type-icon,div .tile .collection-type-icon{margin-left:0!important;position:relative!important;top:-58px!important}.tile .icon_arangodb_edge5{margin-left:0!important;position:relative!important;top:-67px!important}}.arangoDataTable{display:block;position:relative;width:100%}.arangoDataTable tbody{display:inline-block;max-height:200px;overflow-y:auto;position:absolute;width:100%}.arangoDataTable thead{background-color:#fff!important;display:inline-block;font-weight:400!important;text-align:left;width:100%}.arangoDataTable thead td{overflow:hidden}.arangoDataTable thead th{border-bottom:0;cursor:default!important;font-weight:400!important;padding:10px 14px!important}.arangoDataTable thead tr{border-bottom:1px solid #c2c2c2}.arangoDataTable tr{cursor:pointer}.arangoDataTable td{padding:8px 18px!important}.arangoDataTable .key{font-weight:100;margin-top:4px;overflow:hidden}.arangoDataTable .dataTable .noPointer tr{cursor:default}.arangoDataTable .selected-row{background-color:#2ecc71!important}.arangoDataTable .selected-row div,.arangoDataTable .selected-row li,.arangoDataTable .selected-row span{color:#fff!important}.api-container #resources>li.resource:nth-child(even),table.arangoDataTable tr.even{background-color:#fff}.api-container #resources>li.resource:nth-child(odd),table.arangoDataTable tr.odd{background-color:rgba(104,103,102,.05)}#tableDiv table.dataTable td{padding:12px 18px!important}#documentsTableID_filter,#documentsTableID_length{display:none}#documentsTableID_wrapper{padding-bottom:0!important}.snippet-no-num{font-size:1em;font-weight:400;margin-bottom:0}.cuttedContent,.prettify ul li,.writeable a{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.totalDocuments{color:#666;float:left;font-weight:100;margin-top:-37px!important;padding-left:10px}.prettify{border:none!important;font-size:1em!important;margin:0!important;padding:0!important}.edit-index-table tfoot,.newIndexClass table{border-top:1px solid #f7f3f2}table .sorting{background:0 0!important}.new-index-view input[type=checkbox]{float:left}.new-index-view table tr{width:600px!important}.new-index-view table tr th:last-child{width:50px!important}.new-index-view table th{font-weight:300!important;width:200px!important}#documentsDiv{padding-top:0}#documentsDiv .pure-table .snippet-container{margin-top:10px}.edit-index-table{margin-top:5px;min-width:auto!important}.edit-index-table th{padding-bottom:5px;padding-left:5px;padding-top:5px}.edit-index-table .icon_arangodb_locked{color:rgba(0,0,0,.5);cursor:default;font-size:20px;margin-left:10px}.index-button-bar i:hover,.queryline .fa-info-circle:hover{cursor:pointer}.edit-index-table .icon_arangodb_roundminus{font-size:20px;margin-left:10px}.edit-index-table tfoot i{color:#2ecc71;font-size:19px;margin-left:22px;margin-top:5px}.edit-index-table tfoot i:hover{color:#58d68d;cursor:pointer}.contentIn .arangoicon{font-size:25px;position:relative;top:-3px!important}#collectionEditIndexTable thead{border-bottom:1px solid #e5e5e5}.newIndexClass table{margin-bottom:60px}.newIndexClass table select{margin-right:7px}.newIndexClass table .arangoicon{float:right;margin-right:-12px;margin-top:5px}.index-button-bar{float:right}.index-button-bar i{color:#2ecc71;font-size:16pt;margin-right:43px}.index-button-bar #cancelIndex{margin-right:13px}.docsFirstCol,.docsSecCol,.docsThirdCol{border:0!important}.docsFirstCol{height:26px;width:80%}.docsSecCol{height:26px;min-width:400px!important;width:10%}.docsThirdCol{height:26px}.add-filter-item{margin-left:4px}.add-filter-item i{margin-top:0!important}.upload-indicator{display:none;margin-top:-3px;padding-right:10px}.documentsDropdown .dropdownImport,.documentsDropdown .headerDropdown{clear:both;margin-bottom:10px}.documents-size{background-color:#fff!important;border:1px solid #e5e5e5;border-radius:0;box-shadow:none;color:#000;float:right;font-size:11pt;font-weight:300;height:28px;line-height:18px;margin-left:10px;margin-top:0;width:115px}.ace_error{background:0 0!important}#exportHeader .fa-exclamation-circle{color:#fff;font-size:13pt;margin-right:10px}.totalDocuments:hover{color:#000}.ajax-file-upload-statusbar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid rgba(0,0,0,.7);margin:10px 10px 5px 5px;padding:5px;width:420px}.ajax-file-upload-filename{color:grey;height:auto;margin:0 5px 5px 10px;width:100%}.ajax-file-upload-progress{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;border:1px solid #d9d9d9;display:inline-block;margin:0 10px 5px;padding:1px;position:relative;width:250px}.ajax-file-upload-bar{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;background-color:rgba(0,0,0,.7);color:#fff;height:20px;width:0}.ajax-file-upload-percent{display:inline-block;left:48%;position:absolute;top:3px}.ajax-file-upload-red{font-size:13px;font-weight:400;margin-right:5px;padding:4px 15px;vertical-align:top}.ajax-file-upload{display:inline-block;font-size:16px;font-weight:700;height:25px;margin:0 10px 10px 0;padding:6px 10px 4px}.ajax-upload-dragdrop{border:1px dotted #8f8d8c;color:#736b68;padding:10px 10px 0;text-align:left;vertical-align:middle;width:506px}.ajax-upload-dragdrop span{position:relative;top:-22px}/*! Animate.css - http://daneden.me/animate Licensed under the MIT license - http://opensource.org/licenses/MIT diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css.gz b/js/apps/system/_admin/aardvark/APP/frontend/build/style-minified.css.gz index 82b2009288bef00810c018289562a3718e67194a..2aef56720a3c6308e58ea92444bdb40ae55e272e 100644 GIT binary patch delta 48654 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

    M6 z>K*!4)yIH>xp>nzH?@jEE}&zuj2rOIH|8IaTzTYw^o`;Uttu-K6nJQs26>?PL!gs- zxEh)?EaIJEO?^;Ql2n@|QXxr_v4K>@C+FkoX>M>8pj;!WFXzMlMj^_wSUk!JSp_M& zxmTASicn7H2m~D<7_iO*-zWxAMVED)eWO5x&XSo8#!O3|?F?Dps)9oZPLOGwKQ9Eo zRXsO<7*AKWCY-MMR<#=(b2%*et*W&_km=miVlY}PrdjHOs+*ZWUp%S440m_*YW`na=Ad{{-4>-a`m}^7W!U$U=T7W;zOOEQx z)S*g|U81X;08pjK8K$`msuLH$wU5f>1sLFeJcEV4RgH*~hUJ|0g)+3LLgaIdnPgRj z0HV3Qo^OL1T;(M1x2gq!8=-DtnPwVL4H&XC>X&a-7oJb20P?(b(VSP+qRX3U+N^Y_ zPUASw->Mm*FG@t2&{@#hLjKl_bIubMp|3@?qSTTXhTp1UlspYm@LRLV$%{QP-t#Sg zsT#!UvTEeWKd0FISpsHHnee7M2GoJfzRl$-BpvF}%p~K=@l#xRS34E`O_fmt(*# zb2>{EFS@k6m@Wp`e$I4FRqtXoTIQAWx2kvvzUBJ;jk4STdrf7o1+)KGIK?-A&&eLO z|9P{LH$8HUtxkZ`)o9G;oO5~934qSdXmce;?YHUzC@wLN#bl5pSe*cfh{d6X%#fM& zPuu|0`8PRF!nf)II4!fQM{WO$W}&XOKf7L=jPq~R{AX_u7-~gV5;#HOc<-6Qp(JaA z^nIpSD9M`>bI%kNB^mR|zRTbH7GJ%{!DSsZ&wJZY?^Ha zI+CYpB+c#z96{V{h86`pO`h{-ig?&FjJpxTUWB#)Y zX^MF)2R7VttNod|1aRUvyX*B#5z86E6!JAFT)8Z>VHnTMT*p2!&W&dXRiFZgmmDm~ z&8R{X+V#)&!pwC_=dA_c%UoNEIv|wb70;>rXNo%V+wsp7am4vV3`2q40VxFddO^jy-LM}#SE@I-D zLJ-@8$SxA~BhfZX8y-)1?^mM*&Mam|NfF5$9<-e9ex`urvUofg8VC4}RW>BnI)9#3 zb|y4)lT224V*41HJFDgtrc|;vs9(h_bjQ(tW<(UN3>J&sOsb+4z$JM2GU}J=0b44hCnWNcav}kAW|8qqqAx~!45i8t>+3y zaK<#tCeIa#$i{aQMtiPk#OKQK?{h^Y;}VuzcBA6CK@!f9pXcWaOIS-ZcVEGYgsC)V zQ!J9~A2jDyT*CXo&AAkr(6(r(D^Z;X?SC(E-oR;d7eNUC$Nm45u(@lgd_$3=Vj% zsAn`u^3I_-GUm>6bNx&bW&NAfF*(0H)fK{>coHAt*z zu}AZ3U-&wIcp80P#bu{3Tc@dm_jGB#9iLx;8X1|HrLHI~n4p;~-hWh#XBR~~dV_pJ ziNA>RId7BCsAx?bOP9DI4I!h!zvMG2X!98xs#E~SIVXt!oR0<#bsAbD$Cu@7s8r#X z?vG~Iiy|-0(y%BMfIY#+=jzl#%rXP5C`|KZGAP`CdYp}Cc&<>3Qk$iaA}*sP9~Aan zAr~F6%Z3|2H@HRnukCP8Sj}_#Trt;Z0tk#74>C~_&lPsz*vH_JEnCk73b=|KAbGAx z3ya|tzUdsMd9DyEWN9871zSt_(8f7R6lh6$b2SRG##79LY*IDwg`zE&G0S5Lx?Hxr z7vZ^o0xp-aNkE$~Xg13V1qE1grB}uY{ais6wj1YD9B8Z0yTU4%4XaGF`g6rq!};j+ zG%pbqSuGynew0l83aZYgt9cXtc%iTg7dVc`8O8HLA=Mcis<}~kp>V1pRe=<&`DNIX zVhsT{#}~TKu^ManLUGk%m9@BE7_6G+qX1rin0p5YZg6E{rhY|Ir>ji3(+dSrR~h^7 zg@Pws`*oTdDMd}#CdL0}+Eutjcb3uqQ-)(+7)D}&(d;RHp(rWY+-=WnaXp|Ix)CwQifvgC#0pJi}= z9}A7E`6HNk2y4lO=)X`DDm?v*J zzfeFk1b)x?^j;{I`OS2CncMJsp(qBs9p|ffw!sgx!kDunqoiIacCn3@Oh*)dxbGMp~!@jn=4URGA{>Da2PJr8$%g@Kjw3em-o37JiQj~514=(^{INSYUlS%w9+PO{NJFBP${F*X~X<)rpY zLoMXj=gYJ+;^(D87p@4(7JijnE`>1C9G&l+!Jx#w*7ZSpsmO)1;zn28@MF1nlB5bc zFO>V7FjK?!DBHCL9MZpF1Vx%j!43eN&a;cDk4HqV@m^-Be5zx{27HbrLFCBUQ6&h4TynD?0y3eq@84nb4#L<1LF z-~>aakU}?CC@^s-7QXl{DwMmxVc%&$raprLIfck{DPpF1MRRh0QBNjaA=(U&5dfym zGG6hQ=5oSSdD&RVm*#5Xvwhhu*O%sGvMkLrtDx)@oRJ|{vDn!P&jdtyD+4(lAj%h~ z`0{}yFU`@EL#i(ol7SiVNCLc|#;1O~6_Ww+XE51I#bgT_rG`UGFBOwfSa)_QD;9fF zjx%oBmx{z_6$v+gK@KO=k4Dri2`Z{0b0^(jODmxv`mls32^q_c@L3b||m|;JpkSowKT~c5M zd!#ALD@A7H-Du3C$P58|%d?E5^Ob@!NpF-guN0N(K2P=@gI5a2EKf$dzEWg$I%+`O zuM|9;=8U|5SBi~B)5nM@GZp0K@s+|Km{znUna!f$XOP*Hc%{&1G&X4_a`K{l6tIDP z`EB^(+gE6GSr(I7f!8)_>*|$4qtn%s1xPH0){?KqfXozeKm(kz=eue$bt#acV9~rq z_DazU;w#`i&e<8S6tUo}ByR1`D3DhQSBTn$VKz^HtRj}h1z3K8dq7rW^Md$X3O^R3 zON1qn?V6iC1t0LP7EADBrpF3FAo-RJ_s6_a%)wdK`MF;y&KQmgoNvkq(pQQn(6fwk zd8J^2!#x)zo`%WwNWsJ^;U31^ z&?!uRz&Wd2s=@?pQ4Ll(?DR^(00+}Ag2v$0z*lF{g{uLmd$JTLxJ-G!$}2?+Ouq(C zW;j4m19hW0lfnk6s-edU9k?QlJ%WoettoY=N!NjDbH=Hu9DUgt% z#KDu?L@AiC6Kiy%418iaN7O6D3-NSAj*S(6EnEZAFYxYGhAM>$h)&8viC2mgcp>D^ zhQCszz*!nDhk6yDf-ObnEg0`vL93tvz7MzE?Ab2jg&fL%rFa2>S=YHekyi>9u za9YrT;wSArPoI5sfq!oBUMsG!T)VlVIQUbRZ91uh>NA}BT7idE(#utnKe+o^F^LuJ z=89^|n&hchsA8pea;1GRq%W%w2HXD&1ly70DK|&26~>I(ke1lp&k&(FW_n8Zg0%f9 zIp3TD8qKwuH04uVgAIkjqbF@RHZsD0>a`*pmnny&Uz>kt(EiOJqwrrVh5@WcU_Yj| zJs9VJ!D~e_@GIudcD+^*1M8B!y=}gQF*8nzVJ@&`%2)nnNmdvWGbJ1mKT||&X2HBx zkP|Z|%osm6u%kktm@ion@pIOn@!DKE*2ByoC_3T;u5c>E^DH6*>HI7OM`p)=MnMyo zO|9HmnC{8R7FImPh3#}?Hlv~{&Nv=@MOX4?jOo{ksieMH6UpYNp?>Ka%hsk4OS)Fl zeqgRm#aI9sL+qL70*PNM#KJorunF?P+OHL10mxzF4gOv_Nd+05nJoocxs9gR>b5yY zV0gp*Hm?2NZA1Sq_ij2>m&6R#DOCD|HnxYr8B&H*!NZgPnA zwW6?Vv`5;dXlKyqYjfQcXT>~6mg27g&W7f$Lwv2+i(-S%a`y(lR@?<07`(JzY%1Pj z>5Mx{5MPWt4CYx$t(Xfa0vjcZ%3ka;6R-MOQ5fAhTIBdm5!gOG>X_kw4t3+;3LD(G zn@Kk>j$Ys*XGwGIm>jgP~&8$$2ZYQLJ+L@8~$ADZ7??wIP6b}ea<@F%<0-ikX<6aZ0 zKL<7Ek{?P1ZM;tD{z)%MWnPfFt;pY#=cD3NN4aOC^!+_)7f)g(ukuA|s!utsZJVEw zip^$UmAbWpwEP>jk9VYE>8AIi))Ih6p|+&+u_Asb>J277`;63oZ4R1^@}gzk{^CD#k)GmtMc{td|G&FEzKft)@<8zHO2fRdLu^m#O3jt zkLf`toUnvv$ujG`?q_spP+qLjw{2P-LOoxUOL;UHRp9}DdqfJ=zuUt!yocxCrQr{) z8GkyzdPt82tmY4Ci)VW^P6+!P-!NF!cjd6@I^g$tbvZ)JC2)MIvW-e*cj zezrTS5x>BNFnxJPTi2D0IbFm-+r{#froNdiaB`b}p0RGjKR-JAJJ?^N2;m8yT!aX~ zkt6I?(H zFDZUdeAy%SMf`V+6J5KYbi`JDp2o5yb?ZfOi$VRPijI0he5{UK59E9G&Bat2u~3>{ zPSeeQBfVi(<=SOecg%;jm`##_wPb7{@NAXVsOo{dla3=Mf1#{&eeL_5_fNo2a$=0` zV07HJW3S`voRIGaH-Avn{RN^H%L(2ZrPHXS2e=}~g6>O*M#KYQ?Sd7^!f3;$di-V? z5$ld)ZhC`<&PVdC5)ttJ`%meWH_@q{`{}*8iuRYEq)I_Gt^mh+`4rb=e7u~rOa({M zMYo3TeOcf@f77D1oLhhYa(eyQgnD#^m*gM`;2&F-LI%MB3WK5ZVV|))Q3d;{eiSwE zH}rz?PuYWn(|Et`;IKOQ5O2reS4;FBed2#@cL4H95)I48gl0_lKa@TVPaoot>STCH zuf0^UNbUJShATL?4uu<@CG1~NpcB7Hs4xV}?2?+~f8nCPg~7=aB@YtfY2FDQXq+I< zwdujX+$(=rlR6A-y7dZA0fHw7xH-tRceh9XGAPLal)eYZoniRo60Xh#Y~>M^BCT2l z_Jp96u1s*{=N;x7M0S?b>6mzd{te6~%jco6>Wyxksr&z_AfQiVEw;7klxRplqc;+be%$5BQgl@>34eTI`egr`KT{v*K$`sJl$Gc z7w6{?(ObV+Oede?A`)A#UsAV=xxC3@zFAfL1ftmw01HI@a? z8r@*S`73#hZ^S2(FmQO~dC@8n^N*Erf@@qkM57^9$7M~H=A@^cq|=Bb!qkMf6ba#y z6u^lPo<({xg0?{slCzqRKX{Lzb)SR#KZK$5cOPGlPgcvbqwPP&uNHny7C(LeV!534 ze?R>2`ue(az1x}2&p+(#z@|lx_gnlJ%TM3mhqwOymOS60zdrio*>wDb_^QQhh>G?O zI^Esl?e2bOzkAf`?RUBd2iv;`oxS7MUZ;D!D=EkCfB4ZKQ|%wU_n;+~Nf*_(u*=r! z_V5oNI(f^ewRP5`KPRzQ`k49wvUTy7e?6}qIa}V_ws*BrUFD^1`l64ep_5MC(R=ao zQ{BYmEz}2V_CR0qKpef-iLjBAxU#StMK`(isR#9U)aAu^H_4q{VV)K^DZcwB?31P? zoRuck*(ynIYEB;5p(iu;T%ot^N}(VY{C zj@>!=N|bRQgSZ0-@|)sun-7i1^@df8fnf#bg!EY>qx`$gFRqgMc&B28`BxqC%0B1}jqe zs(Cl3&+2)D5;BH1XF71zc?q+=m|FE73z z3q^R$_#_O9fp}{-pn4mI+iJ9ex8_Ucvob#Vu1KbjXWhZx&RG~Ddw_&RNSJ*4+B6$y zd&Au>mYvQ9Vt*C@&-#nv8u9partPD%qu~(*g)e5^O}=rv)e0*)wVB4rJls7vJvf5@ z17Xo}$Ddl+YW(9)wE76vxBjTD<fFX-1j^F^P;H$3m{e37Stx;O2P^lkfx_slB zFZpD-)NQ~EIpj+|%D6U3o(#>h`iyM!Adrn1xnLaThM*{RdQg1Ye@UOa($yrXiNLd? z!+~2|IHAXub>L+CP^mk7mLd8ZynM7+{LxR}SHqzF{;va0*v=*L;$5GGYp!Pb+n;K` zYxTR7Y~?P!QnS?9F*#er+1i;V%7oS|qOhSb4+uELVk6x~7!JwFNRxc^iZ6 z02p5M*t3}QCMpI!Q~Kk9c5k*kiMZ_~Je(ZfXBL#z!|FPr>uTHh$I~?}8D$bosy1_we}rQT zZl+IYEwyA!w2@qr6|0)yTBQ2fvg5=DnbE%#OT5F;t$zxub*5cRCtE5@ziCaJWIiPR zAqGim1(IcFFR#~AGGA)o4YDzA4wxh*TUDh0{QR`|pu4xT-Q7LHe}~(h-u?q*dyFes z3OEAAHaBCD?J}Hz1u$+wh%(tff4^nND& z7<*ch7+=jy8uB%<>beXm6;=M^@wDRA#I)!wEUcBJOzW#pQ*+l_K+Vo+?# zWx?&renr}TKEG;*kA&^SuUq|=bK+vN4f|zj&KyeEKRY_x(bZyR(80lhe|`7nImYiKJ(5gZ&@<5*Xzmlq@FF)uWBX(3&+RD z9w}gk5|`Y8dF-wbIgM@F{sI@djp4_hEyAoqqTV_Lf*3X!2+O#^a9Gxj2E{UOFf@|Y zJpSsJ&h~Lc7n@`jHm28-vi-2c2FfitORFSi7C)_Xd;2V`v> z;ai4g^6w9D0swE{*lrTL@bNuEWntV!HkvK|omLM{U32yIT$b?dBgkO#SY+){R{6dC z{cZcNbF}}!ir!$8755%t!v)V*;mABmr+`2t!0d90eOPiB!@Qo29^*D2@H1S>BkU*) zb-1vdq16P89E21JAEzB#_~f3qwm<4L+t7PEd&T~)C(5P>&ft7ym96E>lfWz`f3c|T zeSSVYpWbLU3fwl8G(}qkLJERIX8kS+6cv`cM{&%W!NyG(`HFSY?y;jEl>%KxsxS^w znxa}ZWIyr}iEet1NW7AtjxFA)P^}3!QT;7*bA?$du0FD6im;dD@G8_K{aBLP9@GH z3PuAradGxoL1gQhxt{h3&86lWkDU{`zHaS>co#?$MP**n7FT{#vXPf?XdO@SW8Q>s$~D7w;C*zrS$c-Ce}f3B8Zms6jjz44rPsDc*OXpr~^G>snq(m*2}<3-RgFdf+e zPxGK53TKK)p>0kW+o2$HtIR1^i#QoN2WQJ?LnCMld^*AT4|<|s6{nn6D&?b*%{^2)|T2wn>d45m@m z&Vz+#V;7V*!=+FX3L>$qb`3x2_&{2jvqrlp>zP7J;+FHS$q#wAio};qq{;@J@Y;I% z73C{GsmK>iB>++tYETE7#`9poAjwp2BAOMvCZvEWij-yZe|v7Ylc1nVs-QmgcglD+ z1`rNcA93sOaBzBj92@jQ7J1^#8e@grMtN5vSVS6Mm$Q>nk(UVBI7l`tPT{H( zr!MJKQ88zxmCKYh1dl}J6_~Gk!tyK|NY&I!@J+%Jus14T17QdnIYc4UfwfXn!@8&; zxUFGX9uL9>f1kld(i2Ux|H#Y!W9)cTMSr90cF6B3EfqFtKf64?G2x;t##kkp?fN)4 zr?qb%hgmcB_jrV9k|nJxyEVJ<#h|h3#p>)qd!e!6dIeF@(fUX z{D|0}ny)SA3aHcS(H7LTvJn=oJj)(Lhpjjf?6f0ge_v>U1DOOb;XcNwPE9llHSRUz zr%1WcSXxYGqfFXI6IuU9T0^9d+Bh6!u{lw}QI_m*uD8o9Zwt7O z>C3d!e<~#I+sk=d^2`Lh;IjoAEn}InxKJAC-4bWYCt*ME3yCr{Dau}Sv8tE>jrXg{ zPPmi3EJnFy(Gvp+SEEBZr8yIs4!*O`UiR2BS!n6SI<`bC2hl&G2M%$AGMk%f2jVD0 zImaymuyzHKp$f%gm=pxlBH)-`4p>OIiw%HUe*rQ~ZEt|=(&nOx>_jBF%&if`xAG=W zB{`3ts*r6EN%?v^ytSe<`)|M+*O=~X~LxNf1KvWGdaRDA7r6Jm)8scHF z84)w!O$u8dda7gs#BQr}hLbRQPRzURNNVr`NMxp<5gBRngVyo~pSdn7&%79m1`8`h zYA9bx+nv$k&v`8xg;l9k4~oo3zJ`FHe>8GVB5XsVZDDDUjztNDbc$sRKQtUJ{&s;+ z;iEd#!*7kc48JXGP`#s!?9Ic6vC4-Ykjw zHyRiE?)&b3OTXO*>vQr62W(>%+E@R@_0xUUKDsa3KlerZ20y76U~Q7-wXTRuBHKZB zRwP~YU$m3{Q|M;;kxmkm-$Sdif37Cqd}n=vb=QBh4*PG`WqiA-En|+S1CkD*n<6Z2 zbQDlIL18H@$=S})fuyVqVyc3K{ra5UmX(-NT$oCAsn`~;5*)t#4AS@?;3&Q|#Ea4k zEg7rM>2gAcv;p5tYZKsq>QmX_YfE{jMS4w>0h+(UgFY|)$31(KP?&7@}y|=aj zhTLp?k#Q}t#My60>uoIve+=G?TFJYXU`5q$NAoT1(4wXFV180wS|UKOD#B8Ya3kz> z=mrHD@%1$v*BMWr#TZmq8S@Ws+|uN9*H%P%o7XGXw0^l-S9K5PmbwB}ywe$b$S18y zN@bv=6N(Lx(&tE_Ws(y8Ee!Z}X>*zWG6Bf{mIT|;v|EW5pvP=TkI_{SAXTsRsgF?Ije(V* zqvBmy%yMLDIekl>fBry$1^;+8$OpgcRIvNOx1qgA_8VnDxwg!mKw&>L@v10oDoQF* zK1Qi*aySlrnyDWSvPu&;y&yBz&Ya50EDth$@|G5*q{|`A8%!zI%~fNIKUPJHcDy=C zqSuKhQ={K=5zk?Df3lLFQDRy}%e)WowTQnSzV~Y!TN3p4e=(m4(hPt5Q%?SM7|q20 z#Q~)37BhCBp$IS$O9#%e7yyg)rhYQrx};?g7?1YjD>U#W4DnhDh9)#fRa$fT1T%T- z6*qlV8W6#QZRufsWoeX?PPO+JOZbzs02^zqsc`2Uw(=TGMJ^M)qai1)X`1uwNGT~h z@|P%;ou#VQe{1x8vv0h1(m>fUuwPhux-vFKA`p zPQ7s;8+PncF7K0uNeQ&amK z%L*XDf8=eISf^gg<0VDSe&Uf36IReN?aa6;a1MEGd3v(rA?26SMaNyzBpwQycnL-3F0MP%0u_x-LTK!9Xg65#=G7Wy1*B8A;{?hmp)92 z(KtuR=DT-M#sxKco5S*{yXXz~_wfqERc3f1=_463zjoS;-I%xN<~5aKHzv)L8NsTt zr^aUNxKC0HDiWvCjYo6`p!wnHn>rYD9f=-~e;~xbtB*3aRqA0{uxtXps)%1&I!#NI z#3)bV5V7a<>O3OA2!goo(b}YJBISr0=(9+s`zOI%xhErCspTOv ze|Pq_IZ^a10d?7NX@nN#5&bc`_lkqTZd`sb7^V#=g~xXCNh{?P+({HrhbuZm{1o;* zpY-{*ncB56xOe>$M-kd*s|laW?CZ5g4Ks|}rphvLr0JL+bPvnksr7{S)3ZY%6*LaW z(P`1$!+jF6wmxQb`!TL#$#4bjz)K_*e=UkCOxoGo?(X2$p`G4#r~4oQ6e>SxpApVb zyC_c-X^sCA*b(58sMNHAmfS2GR+JeCu?e|R%p(OC^@hm1Kua#84p|J610o4=dND%p zCL@$Lw{7a!G_E6d;N-(DgRo01iZviDY(^703cYB7SHWM4#ot^N<5l_V*sE&Fe~oh8 z{^?+6SmrC~_iZSwT0Gb~Z*$d|n%8A_?1uvtZ`S4;w8vTBq%GPT^qtFhtD0-$7BbZZ z_NrYzCQC6y_Lz+cfvOe?uTu7-7(xvUA`-Mq2ay72FmP_+fIOaC8CpE5P^8~ze` zSIdFLn7)svkCQ6wGC+5yahon@e`FYVTh2ejss4N(0)@D=IZ2dD2J>V{8hF}{rqOHA-!WdxueUZSq+giA#2I4Kd$ZqHd!{ zNzo|gHTAEZVc&{n#LkNUTpjbs9<^Mdq%oyMK_@b95%Qd(#F~h3hR)a#Tl6i$?Sp$ z+?3+iO(<#7u2z5@VrePu#;&5llzdElD398hO$)Ge10Rt&D<V#~r-u|lLqS<%p;Tn~fS2=&WgRh6XSUJc-p=hu1ThxY zT|$KVC)hsXb5rvv{NCjUM}U#%55irpxg>8o)zi~eeX;L`?qc5w^FCXx2YcIxd)r65 z9Nn20-(=;hGlCDzf1i-k0&%$4dJT6}q~`M=*BV7Wh`k!J(|g{t#c1IQ)UT0rcU|ok|59qwGi^PEE;IjR|QcK>IhE z=O_t!;Rs4_e=OFaUcLjWs}5<7o2HZ)qB0AL?fr7mPZ<#&nTFOweN41uZ65u1jDMAh zRrsYKj3JjT`CgE3{c z1#3%t3Me!p*)n}1(V`u4me{Sd@U{Z3~A2 z-;EcP*=dW%&iI_+?x=&X*W3)6|`nQ<}DN_bHYbd#T#8cGH)VU z#Um`W80)y;0??49(%7P1UY~1N(-M_v-fE4dtS`Mlc5U&cDS6HlTb2jl$uD9@7fuxBy1sSIBn5`>N8K%&i%z8+twldsI04^fWvKYO7 zkk6lQKC5ciH=o6fw+ulnlP9AQT{e&Eu)HeA8`Bvs5l~DRq{({nO-^k-ezlgU0deCu zlV{E3lleX(f07t4F|GC89TJJMO854$`NR*v?&w{TJ*L2W39U(8T z3)?-B_;T>SdPK?9Ss5l;s&+N3Arz)e*#?l%Of&8J&* ze)m_!q&P2$v%a*=^u=dbRx)*mR3Xiw#AXh zh54@u+)bok6o@#v9WDWv;K~6#o`vU)!e{@wR~uJm(DidMRc{VQtU-x8WhVnXc1Y)z zxC1y49cl^5a4!hY(4y;5%o%P(C+5JvF!NRxZ&>LxKYsc%BB5w~aET`v)Hb7=y&l|b zMaEftf2#LKv{vJrXxun^H$4c6vvkRR`4(SstaP;G*B3aYxZRZSDIiY(Y(SI0n%3d# zD2IB_t}Rm;>u6RUV^uqiI0`=%Q>W3d*l;( z&?;~lzZjpLX7IM^xgl9oVrYi(&oFHGe zg@Z}_Hh+?m`Y|}1>;?dd%7E@^_T#CevNEOWOFOHOY*8+JRafFa)g84s2e}o z*5TP_CXFvV`B|u|A>Uj~rD-yzINHTk-|1w=jDM!hnyc|C@~*8HKzFSPe8X{~6zlLV z>N7f&McQ=1!(9i?_t?{E1BzF}b_g4Ji&Ve8iza1|t+BnG4qKVNvF@=DUf-aFsTOm5#)NDfu(aTN`#EM$*uXKTxTM3C4r z8h;>|65{*nG*#EaJ7}@hp-b%m00Fg)0rxr;1@lhYQP7{<3@2L=>IdLW0P3{}u{QZ3 z9b3E|5zG{Mkb9EZhg7z_+f18c@jT9P0A4!Fo&LhBLw+b1)Jf=fuhacW#HpfN_Yt_` ztXM^@t{ zkg*PNmmqi;RGMGq3OsTe+0Y>!xRTa&hl8yVx(Tz!Ob^~Wa=rDd&0#X-^?f*^tO0r5 z(shkbym9v%D!C2VCGUhdR(5pwnvHMjY*Ho7V=6HW9XQqTl}m8k(-DpUU%rV*pMS?w znZl1ZExmak9cXE4#AWdmy3aC0Z(H71o_1f^h&S^Zn67CY{dd9C>=|Vhm7g`&FHeyT zsl&0tLF=fhE7_(&s^|2L$5b((@|4G1Ih7t$s}S8l+qT&}P-n1&u7qJWv^?w?ekstq9K8pfF^4c~Ha>!^2pm@9H1YGKvwQ0|y zVbuo$H=jqN*4t2Wm1J<`+4MUNNeb1M;A?}U67#(7O=Q}m@x>|)DUf&VkQ>bxsI(&m z{sQ-hxH7jiBG>^Y)DwA9o9s(@l0EaO{dm)iPlSYMg$mtr?yce)$iWxIDt~-3(yy~P zs29cfOd$<|HqYUHO`L+2_6%Rb_7C7Ey$(+iOq&i&A%uoci6Hm~uZc?ggqi@A;{AC^ zfntG&NjjGRK?xO4Gp@-!s;TChJfuC?d)H)~U$2_IfYIf*UE4m$vq{zc=&P!x-3}%5 zx$@D zd7N-#-y}Vr`|gNf7gK}5_=EIKc6kF$K+!JkhTl6UbueUWGH-)ASbwItzemxKO%|rh z?s?mNz75@Epdg;=vTf<;VK2(96m-D4g3@w^gvY zXDi=&?^?H&yZ2Gr zah4_@Wk4JG32+KLH@hL(Ger1U-5nJt<+`;Mi)MX_E}77_YLM>!y_YgXc;3fRE@pHQ zH=jnSIFT)w=+1GJyL>n#6BjAxzN<&JyFI#z;XW`j?tfS%&M0SN|KWNadvvdzH?x|& zj+N7FO(U7^UYn)Ct-MRGBVC`#$4z$0v3_T-qo-^4=qc5Q})^9)HX(a-R_(rvHWIlOl5r@1a!AkaX!S1IT#XCt4=skhwmbg z5$n<&`hSU|9NT^~%B-A$n4NdjV^60o|J`o=Ahmw;qQ^+uWUf5Z=vJz^aeAFy77uuk z)y{3g@5v{*{fX8$>aR-0Fj%-K(WwuI3vCjt>&JHt_Y38zEBW=6Y1NNPNX~vt&ue2c zYGbC~Zs}*X^6W=L`^@=l2X|-^%u?+hlBKHE@RR6`F^rjW*#~@_BjZo(_9&$m#n|23yLTwwhcRB9 zPH`(QwpIPzlV-5?_8Cn_2Zc(XTHs(M+kYE66seVl)zegy|6Zepqz5|`_m1eFcRgv% zy;r*Sciz&W$hg`KWOST)@L|&39Zpf{@Pl+H5-M$&*d|aK$3?dK{ph4jx`{)PtjRUH z$52;Z)yCAsq1dgs7GkzHgM2?6cVabq>#jXcAcbj8I*jixW!$YSw7WKzIue-^lYeGN z^ZxE#h~4gf)g65c;0wtnlySqJ!wJ<(TtoIePlsf`uENKPBk?ff>6LHq&b8JQOVGpR zoOg7$uIbvFpRPWJ2zhtC{n0rR_q~5^ha73&8&4wX9`8vcL~Y85?)tp-zDH)iH}WJN z^IHuYhbtZ&vr&<^EM0V?XK45NHh%@# zw|!ftVw-Lb&wj{G#p55NQ-4u*1fzf0P+Z=N6H}{u)IS`jV)cEg*r&T=X>*a$bzX^6 zkv@2lbJxaFry|{GlQgqS+YP@5r{XSq1bqi15M2*mZNzYs*6+rtxQ7QtsxDvsb{G1+ z_>O&UbSfV1e=nShT^fRS*WDkTSMh*$9L!g@OWW7q8?Pb}=Dmvk5jq(;tgI$qLwuqf z(GU}G!}!E*R{|gNcBAv=-H4TW^do*q=HUJ%85~v=&u^3Gs0jvczO|~1wCXU_rAo%f7$@W-Rc_8_uP}*I`6iY4#qfjiCGsIbzr63-;{;JCU+*1t=nB)s&!^wsMU$yV5b@}+ zes&k$F(%;m;8)y#dz0`?7ab(~br3!_o_gNJ`ReaOuwr+QgLmT6kECazdPvTbBuzYj zX_K965cDWrVU(qd{)i>J_i{^2UV& zV!JBvf-=m5?T~yUYjK@(JmkHlD$kU$Ow;aVKpA;vj}_cS*XJFJf+yaty~MG&_q})p z<`%0fF$0`qv0AL+!Bi+83vl?JcM?{AtUD=?zEj=1B`Wgw;aFs75kciUaxBtlnq!d= zj-s6-{ImIe=}e4bSKfQcITnv;25Kjtd)@m7T<#rTE7;Ym%7#Y!N@W+>2HHM=et z@SQjo$%PmRK?*8aJi$_jlb`O95Pq;)Q zgrjY}XVFJ2D%f7{S!B<)*npdVdKUMk;=JLQ@ho+_yP!4q%SUgBBY z|6aV@LWp#Y$1kx1qK>}J>8Dse7T~y*HSI`&)U&u-J!t%$ABDcf230?QV(b-dN%jSfSzC=w%ZQ`e$gNwo1Di--o&5+5D6H|8^L}jx!rKd;_>}+Ek8)t;_*J?`TWFhj$H45U5mqZM3~j9aJ;YO zT{}aq)%(-Xx1EL#FeA_GZ>Q|@u0;V9Z`WSpT09VoZ!OEmOD8wwSV@fh+8mYL`xC=e z8>y+Z$$98ol$_zNylWt)CJ(m!;rSE4%LiNT{fV1m);}(6!Iob4os%_DD1Y}z zHaS#$9`E-|k-(dl&Kc2pYuv%Krbb*APoew#!#f2Hw0rMS>_oJFAFMbjlTFUeSJ1}j z=63J%rd9c67|S#rgWfZsk(U6mf_HWdS|P>TwU>Al55E`hw%lTD-Fp=A5=$DL==Z6= zXCB4g4)3_;;u8-jr5>MnbpKY%y?;mXNA6MV5uklH9>w0*a?7oL&K%rv8yU z0ev5#xMqvmU}^-e(S`Xo=V;!(KBGeeRrsO;&%Bnti6gec-Hhw_&Sv$L-+L4{#jJl= z9>x9r@5gH`z3P+Xn@*Q!d{>4yCr+o2+juZ=G&%2|PUpjNj#Fb{YngYJFMo^q`DoIn zJ3OMpt{T4Ys?7-uQzriIQ1Xwe`_IRp`S?48wJev@%YGM+_537y2PNizf9EGBN*kX6 zXm@+=xt8Ak_v*Qp-$R6APwpey+@pB#BYv-?+q-|TBtK53 zSLOU{JiTr|>5~vR2~Ew*aj_g-l_zr^#U0<|C&0aE+%*e%HJ;A}sSUL`C| z@YKOyd#;l(c8mU#2l{C500loCUEPdFi)DMUd@?Tklj)=k1$LfxVy@PBRHuNuzq3t$ zIy?IhlKe%d7!GfSqkqM0Ts-NYj;Di1!WoWJ6t#nEK-bO*MX0rl@#uWgC*Yl2+`YVL zb*_r>s{EuJkCUBGq%1Ew#en9lA@Nc9L{hGc(ehW*VKKgOZPC=0^Mv@$2tB_sqk^pf zTKV=tX32lCf%moai!;=F6a8HE#BDdi{nPSnIxoYJEsN7}nSUH?qzRF*zRxCS)6a-R za8t45(F(-Xs3qEX*E{rHy5~Iqd~bk-{R)G`%$Mb2QJj~u&iM^^$w6cEumBUDPlu-u zMuGSN3EjuH-mApSp3mX-)kjh-~08pOa9xRCW*gx?RM$z*sy49 zed?m2%NRme&wq+G&TXw0?ZIe{2{6LS!@a@oz|n?nD)1R{&oHo+%)N3jIPCh&2b$Se z-M^q!ySC1>MI% zuhwEZ9t~T(^16FF+uhwG{CBwB>FqzzZ0&h59IX~K=YJ=W`A%#p@)}qB*34kX$|66) zAP33hcSF-|blA~rJpf3sPEN2#o9W}){5KfewsNAdS*VW3Oa*mlZ8Vv!mVdK+GAn;N zxF`pY;AHr9XRyFr>aQFDBJ4M>BdkdpyXq{yF-0v_oJ=JD>s?S-t<&>Sn9Ci=*r>eP z^Kw=~cz;Z$`mewtqX|DU;$$|jdcM8HgamPnbKvZx;)iDL1j}MM8Wdv{>6fG7aQyb8 z*XM~Xhky4w7{#W#8%DFuG1Rn(jYs7Hm7B`y!eFpMw_Kmm!nkQ)m#2?LOLB{~7Z(M@ zLVxF^eL4Lq{gNcR#UW8{VQzEl)KkW7B0#yg!hh-_sN==z4&+)b^G80j3ih28-l3d` z$EedY_3%WQ1P(Q55jsdyYr3@>!$ZeTL)K=u$vqQo!nn|x258zO7zEXLj~+uL$G!49 z3ZAYzk=#85t7l2Qe#nW1;GEf35xL=X)#5*N>4w4emb+ z!hhT-0hP6&d92{^@v$w+08z4}YdKO{i{GvQA=^`9S{v}RB6?nK4FOaUuS->-?I{mO z!tj_>*R15W#&63#oGwGn)>%={OjQ_mOCv5*NwsU!7c#Xv1pYn+@>Ld)v8pl!-33ft zj^%hxEAzZ4$K_yYHK{(WH_1iS{_h_AB!8_qHt{FJVGEFcV*Mc9pKt;bSzq*od)hrZ z2cA;gnU|M}Y= zrTo&5`1WOF=|hd?O{$euWWz>Q!X~9YT8%sBS8ZcHd8AndE6WtcN07Eb1gGCs_J4$Y zPHCzjq=|9=Gy%leiboa-v1&&OIwj4hvB~_RA&sYzDzMON8`nlk6zy>&t%l};CQ!y< zK-VJ1A@h$1Fl|pq**`3{bE3SU49%L(z7exgO~U#eh&M3T7qSk5o;b7IB2TE-_0=Zh zz*nhmNj1M@-P8h4ErWH#Ok|})b$^jTEs5x|CBW;gjoZ)4$xv$pPdqFi7nief`EWTs zKZjM2V~Q5mJ^$Cp9xg{ZCp$hRI0@8R-#R)w8XgUTSaKu6eQJaB+**efjXkuslTjuR zxW5GQD?kh1d6qXC12t6Y9IoP3*ZR+)CB}=-$>VdQ^T<@^*80=Y19S#w|@grvVmfA2-N$c zBM_=T3S;Fv=U7ahqsxwqF&Hfh17~3({Q${CvSLc56-f@~0-}{{kjbrTs=vKYGc7YL z_%*cD5o*7j&h|Y;?E{Fnl+{|IF8XKF!D?}X`(8-jC>##ec@A_FSJQ%S6>s7R!E%eT z!FQU*K*w9U$J^;KE`Nb`2$Kcl2o&I*IC!isTOF0MEQi+lDpEf~+VHJ~--!z#byx+2 z@tt}E-msr{Hqs-Pxv?aSH~sa71236nparK#CiO~;fr@c8SiJq(Ih}*&2lLhCsZ)%7_J%UDgx@Vyjek3?uWkmr1i*Mg)p^C8fEqK0 zHHV2QRj3|+7&Mw8CZ7lmK6Ny)9#QI9an#`=KTr{S!F+~ou+eORZP=@u$YUtF4Dbcp zMZOHIMOw+jk7+b)o|r}B9+Imm*H=S-0qjMFwz*r=CVUUBexkJ6>otXK9f-aimS@Fk zjGY_bL4Vo;yec>BUN0l!mivo++S4OrPLR!rCG^cJnb>U1<{ zpO#;Z%J~PKgS~y)7{*__`}^D72PZ6x-?UU?Ppg>nU_Z$kT!WZs2Z164_2d-eF?XOW z79~V>T9GsaIKDdl2cz=(&x$L=wZNe#-&=(k(|@jWmD*0))AqVlb;UGi$&qto9qDe` zk1hBF+Qagy98YJLuoc>~VtL`jf(b%e7%CK0q>#qlVDn9u@Md|{!9tE+6UtBbvzy<&gY*0Bu~xi+j({YF6B zK7WyPXTsE!VmgwR;GrEY8J5NJg# z%AJgZ%3qtEK!ffg3@%0)ufeUQ1u)(SdO_9|?V8^mZHE^f1PUCbwN zOa(>K9qjF#-QL`!Jm*LkD`!Y$O>;GuwSV!Os3BsdTDuGEJC=WnAe~t zr`;u}pDx)}r$TdwyPnh~6K-S5LZaOzm%?pTaaN6fxTOO!;GDM>6VY6hZIpyok$*Q% zktINtT>(94S^KZE`@qkL7jFdJ%&ww|tHlE;Bk-m}$4sQe0ZMX=B(TXf9uJDqLG*#_ zc{+hvb9@eq`6JykJD-=Oc&l9DHb7 z<>Nj!r|JJQwR&Cn1M;B9#XR2bPtBv~6q; zcMnbvj=XB8b?e0e!VoapkAop6N=3$x!@Wfo8So;BA?Rg~-XZpFs-N>lv+|pynw177 z$r`#1SI4q|AvtefVmwBf?|(8ekmov3gNx~CP%av0s-Yb#6`kTDRmeXa`B!b1Lqe6}91YB$#4UUQCu7-is4Cs-oT=drCsddHu_!WBpntCf%|-G3*m#`T!jl`S|IZsNd3ZPKb$ zhu%vFCF~sz9%^4M#P3Y*zW#i=ESBX5$2-Fku_30>7)4~#8@{I_M}sbI(l0Me`cuF} znhOX7os^SYmod_qU+iqm2|p-`!AV&9`EW1__D+O7#%eN6?z_piEb`zcl(N_!BID?k zR8%h!DYn`|ZZEu37o^`z*yE9dpsI-epto;Uy){1QCf?OnPJ*yWVD;Tz-Xt_hwj z^5V;=@`6dP2vPc4SeWAyK@okY%#~$zIvwdx;Vrj=hbD6z#cab?Pkv+#TenVttkG+V zTYrXtj!VNe^|3NZ;Dyd%90%>kml9Kf7Xlz<8r>z1lam4&b%bEG>FIAE58GGRCG^KE zX*y1>FGh&$V5r=m&2buNP|QY4SS??bk~fOnm||=3Y&xX_l};$RF%C;dp_D`DQm)mJ zsN%M`-E_?|lW-iReyAfc^_BVpZqZAAe19-1tBykx7u-@{PSuuyYGoRB;fu(~M8Q~G zbdA(R0zp;=TI!KBT1QJk4dfZn?IpHEDdxs#73$h_-f~@49J)#tpm@jPVbqNZiH|%M zvQF?o2?QL#ZeEtZB3<<9s2ET2iUqAZ!@0b3SkJ>qKvc3|M!ALzF-%;zp~c$N=zl1a z5I`DqwuyB@mnx`9Nc+75q8&_KBO4x@^A((%U7YxBOzhe4D>E=#8t7*XzCqc*(0;8q zm)othxuePp`y)SrDw#fp-;T67_7-sRT{gUwJeneN50g@M>#~wmtq2m9DxMUV05-uD z+27LbWUXk8>aY9Al_o;mrbCTP_kW28hZe7ls&;bpxEy|}hgRe9RXrz1e*d#H$7H%3 zo#A971*XxV8k3vss7r@Tdn!W+*91h}_{Infq9c$@yhi$}VZd-{zy*T5+zxZ~1fKY@ z!@XJ*e$-GGf(93$KLI6ldxPV8reteUUeiGe=%*EKAxK0|k6@WHC`bHm5r2@JPsa}t zU@=)fEQjaiLy;^GS*UI2GL*y7GM|j5A5NyjvLTgH*455MW9>#eGXZb`En^}6Kz8|n z@*rZS@CL(3csQ7?5OtV*nirQhQldwZ7Ut^V9e^|^3R`mwB4`?FIa(Zh0`Jnezf}~l zoYEX<&F9!Ttmi0yYZeFHLVu;bkqfCRb(O#Mbx~_uo{b+O7G_1U46yxdDe#fezxv$z z!NVrSo;;Mb^$=G(z!UqBW}UY$fG1T*c;tqTO_xs|(pk)h9Hwa7cW70v7GS>TF`|qV zSR_S6V`G;i2nn?m875TyzAAxy)A+=DL~*kh!=yZ{N$G>LmPiz}>3{5C6r-6PeASbD z!+}ylVx5*;+3P-xUx<%wj!1}C(yar;l7VlE%G>35Y@J+_xH zHdU=3XibT7Tdz-f@h5%$(uaeEZGJ@oqP0Tj4yeU&(@urr#D4&>UT)B{+AK8CXgf!1 z`#@Ne8K^LhYLr&&X1uk{jA@ru4yFT%hRDR8 zxq3`qn2^W)3tR+IPT~~lWk|}Kj5~8pxm8cAx@n}h$}athv^>o&f6`RaBHhH~a&NKn zzZm8YhZ5M2_J6xSGfXKdY>i)TJ*;G7=#~o4qWFv5;$d`ao+|U>s`RAx$jhX+ZOElY zh6s4ok(LH3`D&!an$+47%k0wvrYWMXL$j6izgl3Vl@XXV00k=ql9xhUDEH(pGV5Hd^#Kq zj(c%#5`Q(xAOlEK<&le>=4mDG^o@qHW9gjFHgZnXDD`}C7sd4#;Dvdhbd^^gYpQ*BDHFdrL< zUw^QVn|>jkTk>Ia_>XBQSMxUA;zL@Rm72kaz8!n206Btrr05Z77^YvRM7CusiCK8# z3Y&$>`#o+Np@IFd>D+vV4q@}p5DXTQm~Z4Pr%@y4y53OO2wOA^JLP#&>XEYyIfm=x zl2$U(FADWdF^Ie9T%2P`6Rpk+x|@SNwtp*KloXaj=8_=8`ozfub|yE~*BXVB2y3c# zxeR#Nd4)9<>rsXE^){SmXsq^>VU!6)R?3YX1pWE6JVb4ydlsewS zF~>B7Aw^zg%m6jR5><%FwyEN-h}B)M9zn#T!6SB~S57V`=p+VT?DJ6+;I{0V2!FNd zvT!jMY1_%s!EkoZE-fWvwOaoOyLdNl<+{r=WB^%Pq^+>5#e)43o+`JT`dj;_14Ine zRfAugegJZuz{C!5#RXp&6>X0S;UBZZD#45ik&@opDj$~v+`RPn>Bg~?GwO|NnPdaZ zZ(J(rGA=UpPMoU~iTJ{JL~@dJihug3OCI20)v1+-%Mznr;NwwFoY`!5c5B(%9J~=O zCu`HCnbu2YP@cWG)rLs}1f`4U2{5rQ(yK2rImG!Pxx5~$rir5UrN_7s0>{y*dSB3e zu9xxeg!;Og9z_BNkF^JE{Q5HWw`d%5n#mMpy~OJ7*wzfWOL()n`WOcWJ%2o8o*6$c zdOS7N@$y4bO_OnHs>uzYuf%;`U*3;#QyZI(cT@TL*!!FbOTs2wJD}?Z(Wklo`_I0& z{=4g;|6C{hM!{}0qS@6Mudjwv$qO;|X6gq9{e-}4M-6?a(?@Uv9@=qFtTbn*BmT*F z)-D}W$rPB@5GY$L6?GKow10peb(2s$5Os#t=MZ=oo`}DM>HOp$;-V>&O?;NoIoRki z%bL2ZIa_?!lr%pf`pI*;bwEzLI%O3!oZ1KnSi`mUhPdGjnv@nsQ|}dzE8y1t>S&XE3YuWQs((OE3{;a%8!N90 zng-tP?(A)McXsh#Z@YuD_bIv#kVh3C@%LuU`AMvjQr87;LHmO4bG?jP)xM1TEM>Ig zBJ&CJ$q{w7i>qG3KA*Zbz(=i6xWLe(opUtQW8 z8%XUyqNuAQ<7=s=-A0+tn~WOm5Vc9es1?EwEO4xwUO*rHKY!mbA1OWL_m%Bjo5;ZZ zUIXmlCi&kHLBj+~1=0Jq0>@8b$_VKMEr;F+db7pN9;=LGlT%_9MFZLEEk#!JI{PkQ z$LtzYts>K*TEhof_X=I?VOzIye8=5q(-b-9sh?@5TwKpMB%sovWCgimo&fiG9RZ

    34@;O05#P+h5)a^Qf<5p(oq>%^b7> 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 Date: Fri, 22 Jul 2016 11:02:20 +0200 Subject: [PATCH 10/13] Split Http- and HttpsCommTask add .ctags_exclude and new CommTasks move some code form GeneralCommTask to HttpCommTask move more code into HttpCommTask fix ording or initialization if access of classes make _requestAsHttp() private more cleanup --- .ctags_exclude | 7 + .gitignore | 3 + arangod/GeneralServer/GeneralCommTask.cpp | 1009 +-------------------- arangod/GeneralServer/GeneralCommTask.h | 181 +--- arangod/GeneralServer/HttpCommTask.cpp | 954 +++++++++++++++++++ arangod/GeneralServer/HttpCommTask.h | 72 +- arangod/GeneralServer/HttpsCommTask.cpp | 9 +- arangod/GeneralServer/HttpsCommTask.h | 82 +- arangod/GeneralServer/VppCommTask.cpp | 0 arangod/GeneralServer/VppCommTask.h | 0 arangod/GeneralServer/VppsCommTask.cpp | 0 arangod/GeneralServer/VppsCommTask.h | 0 12 files changed, 1078 insertions(+), 1239 deletions(-) create mode 100644 .ctags_exclude create mode 100644 arangod/GeneralServer/VppCommTask.cpp create mode 100644 arangod/GeneralServer/VppCommTask.h create mode 100644 arangod/GeneralServer/VppsCommTask.cpp create mode 100644 arangod/GeneralServer/VppsCommTask.h diff --git a/.ctags_exclude b/.ctags_exclude new file mode 100644 index 0000000000..da2a54ade9 --- /dev/null +++ b/.ctags_exclude @@ -0,0 +1,7 @@ +Installation +out +3rdParty +Documentation +js/node/node_modules +.git +.svn diff --git a/.gitignore b/.gitignore index 173eed27cf..4e38be737d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ build core.* build.sh +*.vim .deps .dirstamp *.o @@ -27,6 +28,8 @@ build.sh Thumbs.db testresult.json +botschaft.txt +testsStarted build*/ Build64/ diff --git a/arangod/GeneralServer/GeneralCommTask.cpp b/arangod/GeneralServer/GeneralCommTask.cpp index 0bd2afdd27..ab5eec91b9 100644 --- a/arangod/GeneralServer/GeneralCommTask.cpp +++ b/arangod/GeneralServer/GeneralCommTask.cpp @@ -45,45 +45,20 @@ using namespace arangodb::rest; /// @brief static initializers //////////////////////////////////////////////////////////////////////////////// -size_t const GeneralCommTask::MaximalHeaderSize = 1 * 1024 * 1024; // 1 MB -size_t const GeneralCommTask::MaximalBodySize = 512 * 1024 * 1024; // 512 MB -size_t const GeneralCommTask::MaximalPipelineSize = - 512 * 1024 * 1024; // 512 MB -size_t const GeneralCommTask::RunCompactEvery = 500; - -//////////////////////////////////////////////////////////////////////////////// -/// @brief constructs a new task -//////////////////////////////////////////////////////////////////////////////// - GeneralCommTask::GeneralCommTask(GeneralServer* server, TRI_socket_t socket, ConnectionInfo&& info, double keepAliveTimeout) : Task("GeneralCommTask"), SocketTask(socket, keepAliveTimeout), - _connectionInfo(std::move(info)), _server(server), - _allowMethodOverride(server->allowMethodOverride()), + _request(nullptr), + _connectionInfo(std::move(info)), _protocol("unknown"), + _protocolVersion(GeneralRequest::ProtocolVersion::UNKNOWN), + _startThread(false), _writeBuffers(), _writeBuffersStats(), - _readPosition(0), - _bodyPosition(0), - _bodyLength(0), - _requestPending(false), - _closeRequested(false), - _readRequestBody(false), - _denyCredentials(true), - _acceptDeflate(false), - _newRequest(true), _isChunked(false), - _startThread(false), - _request(nullptr), - _httpVersion(GeneralRequest::ProtocolVersion::UNKNOWN), - _requestType(GeneralRequest::RequestType::ILLEGAL), - _fullUrl(), - _origin(), - _startPosition(0), - _sinceCompactification(0), - _originalBodyLength(0), + _requestPending(false), _setupDone(false) { LOG(TRACE) << "connection established, client " << TRI_get_fd_or_handle_of_socket(socket) << ", server ip " @@ -91,32 +66,21 @@ GeneralCommTask::GeneralCommTask(GeneralServer* server, TRI_socket_t socket, << _connectionInfo.serverPort << ", client ip " << _connectionInfo.clientAddress << ", client port " << _connectionInfo.clientPort; - - connectionStatisticsAgentSetHttp(); } -//////////////////////////////////////////////////////////////////////////////// -/// @brief destructs a task -//////////////////////////////////////////////////////////////////////////////// - GeneralCommTask::~GeneralCommTask() { LOG(TRACE) << "connection closed, client " << TRI_get_fd_or_handle_of_socket(_commSocket); // free write buffers and statistics - for (auto& i : _writeBuffers) { - delete i; - } - - for (auto& i : _writeBuffersStats) { - TRI_ReleaseRequestStatistics(i); - } + for (auto& i : _writeBuffers) delete i; + for (auto& i : _writeBuffersStats) TRI_ReleaseRequestStatistics(i); // free request delete _request; } -void GeneralCommTask::handleResponse(HttpResponse* response) { +void GeneralCommTask::handleResponse(GeneralResponse* response) { _requestPending = false; _isChunked = false; _startThread = false; @@ -130,7 +94,6 @@ void GeneralCommTask::handleResponse(HttpResponse* response) { void GeneralCommTask::handleSimpleError(GeneralResponse::ResponseCode code) { HttpResponse response(code); - resetState(true); addResponse(&response); } @@ -151,7 +114,6 @@ void GeneralCommTask::handleSimpleError( try { response.setPayload(_request, builder.slice(), true, VPackOptions::Defaults); - clearRequest(); handleResponse(&response); } catch (...) { @@ -160,972 +122,21 @@ void GeneralCommTask::handleSimpleError( } } -GeneralResponse::ResponseCode GeneralCommTask::authenticateRequest() { - auto context = (_request == nullptr) ? nullptr : _request->requestContext(); - - if (context == nullptr && _request != nullptr) { - bool res = RestServerFeature::HANDLER_FACTORY->setRequestContext(_request); - - if (!res) { - return GeneralResponse::ResponseCode::NOT_FOUND; - } - - context = _request->requestContext(); - } - - if (context == nullptr) { - return GeneralResponse::ResponseCode::SERVER_ERROR; - } - - return context->authenticate(); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief reads data from the socket -//////////////////////////////////////////////////////////////////////////////// - -bool GeneralCommTask::processRead() { - if (_requestPending || _readBuffer->c_str() == nullptr) { - return false; - } - - bool handleRequest = false; - - // still trying to read the header fields - if (!_readRequestBody) { - char const* ptr = _readBuffer->c_str() + _readPosition; - char const* etr = _readBuffer->end(); - - if (ptr == etr) { - return false; - } - - // starting a new request - if (_newRequest) { - // acquire a new statistics entry for the request - RequestStatisticsAgent::acquire(); - -#if USE_DEV_TIMERS - if (RequestStatisticsAgent::_statistics != nullptr) { - RequestStatisticsAgent::_statistics->_id = (void*)this; - } -#endif - - _newRequest = false; - _startPosition = _readPosition; - _httpVersion = GeneralRequest::ProtocolVersion::UNKNOWN; - _requestType = GeneralRequest::RequestType::ILLEGAL; - _fullUrl = ""; - _denyCredentials = true; - _acceptDeflate = false; - - _sinceCompactification++; - } - - char const* end = etr - 3; - - // read buffer contents are way to small. we can exit here directly - if (ptr >= end) { - return false; - } - - // request started - requestStatisticsAgentSetReadStart(); - - // check for the end of the request - for (; ptr < end; ptr++) { - if (ptr[0] == '\r' && ptr[1] == '\n' && ptr[2] == '\r' && - ptr[3] == '\n') { - break; - } - } - - // check if header is too large - size_t headerLength = ptr - (_readBuffer->c_str() + _startPosition); - - if (headerLength > MaximalHeaderSize) { - LOG(WARN) << "maximal header size is " << MaximalHeaderSize - << ", request header size is " << headerLength; - - // header is too large - handleSimpleError( - GeneralResponse::ResponseCode::REQUEST_HEADER_FIELDS_TOO_LARGE); - return false; - } - - // header is complete - if (ptr < end) { - _readPosition = ptr - _readBuffer->c_str() + 4; - - LOG(TRACE) << "HTTP READ FOR " << (void*)this << ": " - << std::string(_readBuffer->c_str() + _startPosition, - _readPosition - _startPosition); - - // check that we know, how to serve this request and update the connection - // information, i. e. client and server addresses and ports and create a - // request context for that request - _request = new HttpRequest( - _connectionInfo, _readBuffer->c_str() + _startPosition, - _readPosition - _startPosition, _allowMethodOverride); - - if (_request == nullptr) { - LOG(ERR) << "cannot generate request"; - - // internal server error - handleSimpleError(GeneralResponse::ResponseCode::SERVER_ERROR); - return false; - } - - RestServerFeature::HANDLER_FACTORY->setRequestContext(_request); - _request->setClientTaskId(_taskId); - - // check HTTP protocol version - _httpVersion = _request->protocolVersion(); - - if (_httpVersion != GeneralRequest::ProtocolVersion::HTTP_1_0 && - _httpVersion != GeneralRequest::ProtocolVersion::HTTP_1_1) { - handleSimpleError( - GeneralResponse::ResponseCode::HTTP_VERSION_NOT_SUPPORTED); - return false; - } - - // check max URL length - _fullUrl = _request->fullUrl(); - - if (_fullUrl.size() > 16384) { - handleSimpleError(GeneralResponse::ResponseCode::REQUEST_URI_TOO_LONG); - return false; - } - - // update the connection information, i. e. client and server addresses - // and ports - _request->setProtocol(_protocol); - - LOG(TRACE) << "server port " << _connectionInfo.serverPort - << ", client port " << _connectionInfo.clientPort; - - // set body start to current position - _bodyPosition = _readPosition; - _bodyLength = 0; - - // keep track of the original value of the "origin" request header (if - // any), we need this value to handle CORS requests - _origin = _request->header(StaticStrings::Origin); - - if (!_origin.empty()) { - // check for Access-Control-Allow-Credentials header - bool found; - std::string const& allowCredentials = _request->header( - StaticStrings::AccessControlAllowCredentials, found); - - if (found) { - // default is to allow nothing - _denyCredentials = true; - - // if the request asks to allow credentials, we'll check against the - // configured whitelist of origins - std::vector const& accessControlAllowOrigins = - _server->trustedOrigins(); - - if (StringUtils::boolean(allowCredentials) && - !accessControlAllowOrigins.empty()) { - if (accessControlAllowOrigins[0] == "*") { - // special case: allow everything - _denyCredentials = false; - } else if (!_origin.empty()) { - // copy origin string - if (_origin[_origin.size() - 1] == '/') { - // strip trailing slash - auto result = std::find(accessControlAllowOrigins.begin(), - accessControlAllowOrigins.end(), - _origin.substr(0, _origin.size() - 1)); - _denyCredentials = (result == accessControlAllowOrigins.end()); - } else { - auto result = - std::find(accessControlAllowOrigins.begin(), - accessControlAllowOrigins.end(), _origin); - _denyCredentials = (result == accessControlAllowOrigins.end()); - } - } else { - TRI_ASSERT(_denyCredentials); - } - } - } - } - - // store the original request's type. we need it later when responding - // (original request object gets deleted before responding) - _requestType = _request->requestType(); - - requestStatisticsAgentSetRequestType(_requestType); - - // handle different HTTP methods - switch (_requestType) { - case GeneralRequest::RequestType::GET: - case GeneralRequest::RequestType::DELETE_REQ: - case GeneralRequest::RequestType::HEAD: - case GeneralRequest::RequestType::OPTIONS: - case GeneralRequest::RequestType::POST: - case GeneralRequest::RequestType::PUT: - case GeneralRequest::RequestType::PATCH: { - // technically, sending a body for an HTTP DELETE request is not - // forbidden, but it is not explicitly supported - bool const expectContentLength = - (_requestType == GeneralRequest::RequestType::POST || - _requestType == GeneralRequest::RequestType::PUT || - _requestType == GeneralRequest::RequestType::PATCH || - _requestType == GeneralRequest::RequestType::OPTIONS || - _requestType == GeneralRequest::RequestType::DELETE_REQ); - - if (!checkContentLength(expectContentLength)) { - return false; - } - - if (_bodyLength == 0) { - handleRequest = true; - } - - break; - } - - default: { - size_t l = _readPosition - _startPosition; - - if (6 < l) { - l = 6; - } - - LOG(WARN) << "got corrupted HTTP request '" - << std::string(_readBuffer->c_str() + _startPosition, l) - << "'"; - - // force a socket close, response will be ignored! - TRI_CLOSE_SOCKET(_commSocket); - TRI_invalidatesocket(&_commSocket); - - // bad request, method not allowed - handleSimpleError(GeneralResponse::ResponseCode::METHOD_NOT_ALLOWED); - return false; - } - } - - // ............................................................................. - // check if server is active - // ............................................................................. - - Scheduler const* scheduler = SchedulerFeature::SCHEDULER; - - if (scheduler != nullptr && !scheduler->isActive()) { - // server is inactive and will intentionally respond with HTTP 503 - LOG(TRACE) << "cannot serve request - server is inactive"; - - handleSimpleError(GeneralResponse::ResponseCode::SERVICE_UNAVAILABLE); - return false; - } - - // check for a 100-continue - if (_readRequestBody) { - bool found; - std::string const& expect = - _request->header(StaticStrings::Expect, found); - - if (found && StringUtils::trim(expect) == "100-continue") { - LOG(TRACE) << "received a 100-continue request"; - - auto buffer = std::make_unique(TRI_UNKNOWN_MEM_ZONE); - buffer->appendText( - TRI_CHAR_LENGTH_PAIR("HTTP/1.1 100 (Continue)\r\n\r\n")); - buffer->ensureNullTerminated(); - - _writeBuffers.push_back(buffer.get()); - buffer.release(); - - _writeBuffersStats.push_back(nullptr); - - fillWriteBuffer(); - } - } - } else { - size_t l = (_readBuffer->end() - _readBuffer->c_str()); - - if (_startPosition + 4 <= l) { - _readPosition = l - 4; - } - } - } - - // readRequestBody might have changed, so cannot use else - if (_readRequestBody) { - if (_readBuffer->length() - _bodyPosition < _bodyLength) { - setKeepAliveTimeout(_keepAliveTimeout); - - // let client send more - return false; - } - - // read "bodyLength" from read buffer and add this body to "httpRequest" - _request->setBody(_readBuffer->c_str() + _bodyPosition, _bodyLength); - - LOG(TRACE) << "" << std::string(_readBuffer->c_str() + _bodyPosition, - _bodyLength); - - // remove body from read buffer and reset read position - _readRequestBody = false; - handleRequest = true; - } - - // ............................................................................. - // request complete - // - // we have to delete request in here or pass it to a handler, which will - // delete - // it - // ............................................................................. - - if (!handleRequest) { - return false; - } - - requestStatisticsAgentSetReadEnd(); - requestStatisticsAgentAddReceivedBytes(_bodyPosition - _startPosition + - _bodyLength); - - bool const isOptionsRequest = - (_requestType == GeneralRequest::RequestType::OPTIONS); - resetState(false); - - // ............................................................................. - // keep-alive handling - // ............................................................................. - - std::string connectionType = - StringUtils::tolower(_request->header(StaticStrings::Connection)); - - if (connectionType == "close") { - // client has sent an explicit "Connection: Close" header. we should close - // the connection - LOG(DEBUG) << "connection close requested by client"; - _closeRequested = true; - } else if (_request->isHttp10() && connectionType != "keep-alive") { - // HTTP 1.0 request, and no "Connection: Keep-Alive" header sent - // we should close the connection - LOG(DEBUG) << "no keep-alive, connection close requested by client"; - _closeRequested = true; - } else if (_keepAliveTimeout <= 0.0) { - // if keepAliveTimeout was set to 0.0, we'll close even keep-alive - // connections immediately - LOG(DEBUG) << "keep-alive disabled by admin"; - _closeRequested = true; - } - - // we keep the connection open in all other cases (HTTP 1.1 or Keep-Alive - // header sent) - - // ............................................................................. - // authenticate - // ............................................................................. - - GeneralResponse::ResponseCode authResult = authenticateRequest(); - - // authenticated or an OPTIONS request. OPTIONS requests currently go - // unauthenticated - if (authResult == GeneralResponse::ResponseCode::OK || isOptionsRequest) { - // handle HTTP OPTIONS requests directly - if (isOptionsRequest) { - processCorsOptions(); - } else { - processRequest(); - } - } - - // not found - else if (authResult == GeneralResponse::ResponseCode::NOT_FOUND) { - handleSimpleError(authResult, TRI_ERROR_ARANGO_DATABASE_NOT_FOUND, - TRI_errno_string(TRI_ERROR_ARANGO_DATABASE_NOT_FOUND)); - } - - // forbidden - else if (authResult == GeneralResponse::ResponseCode::FORBIDDEN) { - handleSimpleError(authResult, TRI_ERROR_USER_CHANGE_PASSWORD, - "change password"); - } - - // not authenticated - else { - HttpResponse response(GeneralResponse::ResponseCode::UNAUTHORIZED); - std::string realm = "Bearer token_type=\"JWT\", realm=\"ArangoDB\""; - - response.setHeaderNC(StaticStrings::WwwAuthenticate, std::move(realm)); - - clearRequest(); - handleResponse(&response); - } - - return true; -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief sends more chunked data -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::sendChunk(StringBuffer* buffer) { - if (_isChunked) { - TRI_ASSERT(buffer != nullptr); - - _writeBuffers.push_back(buffer); - _writeBuffersStats.push_back(nullptr); - - fillWriteBuffer(); - } else { - delete buffer; - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief chunking is finished -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::finishedChunked() { - auto buffer = std::make_unique(TRI_UNKNOWN_MEM_ZONE, 6, true); - buffer->appendText(TRI_CHAR_LENGTH_PAIR("0\r\n\r\n")); - buffer->ensureNullTerminated(); - - _writeBuffers.push_back(buffer.get()); - buffer.release(); - _writeBuffersStats.push_back(nullptr); - - _isChunked = false; - _startThread = false; - _requestPending = false; - - fillWriteBuffer(); - processRead(); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief task set up complete -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::setupDone() { - _setupDone.store(true, std::memory_order_relaxed); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief reads data from the socket -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::addResponse(HttpResponse* response) { - // CORS response handling - if (!_origin.empty()) { - // the request contained an Origin header. We have to send back the - // access-control-allow-origin header now - LOG(TRACE) << "handling CORS response"; - - response->setHeaderNC(StaticStrings::AccessControlExposeHeaders, - StaticStrings::ExposedCorsHeaders); - - // send back original value of "Origin" header - response->setHeaderNC(StaticStrings::AccessControlAllowOrigin, _origin); - - // send back "Access-Control-Allow-Credentials" header - response->setHeaderNC(StaticStrings::AccessControlAllowCredentials, - (_denyCredentials ? "false" : "true")); - } - // CORS request handling EOF - - // set "connection" header - // keep-alive is the default - response->setConnectionType(_closeRequested - ? HttpResponse::CONNECTION_CLOSE - : HttpResponse::CONNECTION_KEEP_ALIVE); - - size_t const responseBodyLength = response->bodySize(); - - if (_requestType == GeneralRequest::RequestType::HEAD) { - // clear body if this is an HTTP HEAD request - // HEAD must not return a body - response->headResponse(responseBodyLength); - } - // else { - // // to enable automatic deflating of responses, activate this. - // // deflate takes a lot of CPU time so it should only be enabled for - // // dedicated purposes and not generally - // if (responseBodyLength > 16384 && _acceptDeflate) { - // response->deflate(); - // responseBodyLength = response->bodySize(); - // } - // } - - // reserve a buffer with some spare capacity - auto buffer = std::make_unique(TRI_UNKNOWN_MEM_ZONE, - responseBodyLength + 128, false); - - // write header - response->writeHeader(buffer.get()); - - // write body - if (_requestType != GeneralRequest::RequestType::HEAD) { - if (_isChunked) { - if (0 != responseBodyLength) { - buffer->appendHex(response->body().length()); - buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); - buffer->appendText(response->body()); - buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); - } - } else { - buffer->appendText(response->body()); - } - } - - buffer->ensureNullTerminated(); - - _writeBuffers.push_back(buffer.get()); - auto b = buffer.release(); - - if (!b->empty()) { - LOG_TOPIC(TRACE, Logger::REQUESTS) - << "\"http-request-response\",\"" << (void*)this << "\",\"" - << StringUtils::escapeUnicode(std::string(b->c_str(), b->length())) - << "\""; - } - - // clear body - response->body().clear(); - - double const totalTime = RequestStatisticsAgent::elapsedSinceReadStart(); - - _writeBuffersStats.push_back(RequestStatisticsAgent::steal()); - - LOG_TOPIC(INFO, Logger::REQUESTS) - << "\"http-request-end\",\"" << (void*)this << "\",\"" - << _connectionInfo.clientAddress << "\",\"" - << HttpRequest::translateMethod(_requestType) << "\",\"" - << HttpRequest::translateVersion(_httpVersion) << "\"," - << static_cast(response->responseCode()) << "," - << _originalBodyLength << "," << responseBodyLength << ",\"" << _fullUrl - << "\"," << Logger::FIXED(totalTime, 6); - - // start output - fillWriteBuffer(); -} - -//////////////////////////////////////////////////////////////////////////////// -/// check the content-length header of a request and fail it is broken -//////////////////////////////////////////////////////////////////////////////// - -bool GeneralCommTask::checkContentLength(bool expectContentLength) { - int64_t const bodyLength = _request->contentLength(); - - if (bodyLength < 0) { - // bad request, body length is < 0. this is a client error - handleSimpleError(GeneralResponse::ResponseCode::LENGTH_REQUIRED); - return false; - } - - if (!expectContentLength && bodyLength > 0) { - // content-length header was sent but the request method does not support - // that - // we'll warn but read the body anyway - LOG(WARN) << "received HTTP GET/HEAD request with content-length, this " - "should not happen"; - } - - if ((size_t)bodyLength > MaximalBodySize) { - LOG(WARN) << "maximal body size is " << MaximalBodySize - << ", request body size is " << bodyLength; - - // request entity too large - handleSimpleError(GeneralResponse::ResponseCode::REQUEST_ENTITY_TOO_LARGE); - return false; - } - - // set instance variable to content-length value - _bodyLength = (size_t)bodyLength; - _originalBodyLength = _bodyLength; - - if (_bodyLength > 0) { - // we'll read the body - _readRequestBody = true; - } - - // everything's fine - return true; -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief fills the write buffer -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::fillWriteBuffer() { - if (!hasWriteBuffer() && !_writeBuffers.empty()) { - StringBuffer* buffer = _writeBuffers.front(); - _writeBuffers.pop_front(); - - TRI_ASSERT(buffer != nullptr); - - TRI_request_statistics_t* statistics = _writeBuffersStats.front(); - _writeBuffersStats.pop_front(); - - setWriteBuffer(buffer, statistics); - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief handles CORS options -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::processCorsOptions() { - HttpResponse response(GeneralResponse::ResponseCode::OK); - - response.setHeaderNC(StaticStrings::Allow, StaticStrings::CorsMethods); - - if (!_origin.empty()) { - LOG(TRACE) << "got CORS preflight request"; - std::string const allowHeaders = StringUtils::trim( - _request->header(StaticStrings::AccessControlRequestHeaders)); - - // send back which HTTP methods are allowed for the resource - // we'll allow all - response.setHeaderNC(StaticStrings::AccessControlAllowMethods, - StaticStrings::CorsMethods); - - if (!allowHeaders.empty()) { - // allow all extra headers the client requested - // we don't verify them here. the worst that can happen is that the client - // sends some broken headers and then later cannot access the data on the - // server. that's a client problem. - response.setHeaderNC(StaticStrings::AccessControlAllowHeaders, - allowHeaders); - - LOG(TRACE) << "client requested validation of the following headers: " - << allowHeaders; - } - - // set caching time (hard-coded value) - response.setHeaderNC(StaticStrings::AccessControlMaxAge, - StaticStrings::N1800); - } - - clearRequest(); - handleResponse(&response); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief processes a request -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::processRequest() { - // check for deflate - bool found; - std::string const& acceptEncoding = - _request->header(StaticStrings::AcceptEncoding, found); - - if (found) { - if (acceptEncoding.find("deflate") != std::string::npos) { - _acceptDeflate = true; - } - } - - if (_request != nullptr) { - LOG_TOPIC(DEBUG, Logger::REQUESTS) - << "\"http-request-begin\",\"" << (void*)this << "\",\"" - << _connectionInfo.clientAddress << "\",\"" - << HttpRequest::translateMethod(_requestType) << "\",\"" - << HttpRequest::translateVersion(_httpVersion) << "\"," << _fullUrl - << "\""; - - std::string const& body = _request->body(); - - if (!body.empty()) { - LOG_TOPIC(DEBUG, Logger::REQUESTS) - << "\"http-request-body\",\"" << (void*)this << "\",\"" - << (StringUtils::escapeUnicode(body)) << "\""; - } - } - - // check for an HLC time stamp - std::string const& timeStamp = - _request->header(StaticStrings::HLCHeader, found); - if (found) { - uint64_t timeStampInt = - arangodb::basics::HybridLogicalClock::decodeTimeStampWithCheck( - timeStamp); - if (timeStampInt != 0) { - TRI_HybridLogicalClock(timeStampInt); - } - } - - // check for an async request - std::string const& asyncExecution = - _request->header(StaticStrings::Async, found); - - // create handler, this will take over the request and the response - std::unique_ptr response( - new HttpResponse(GeneralResponse::ResponseCode::SERVER_ERROR)); - - WorkItem::uptr handler( - RestServerFeature::HANDLER_FACTORY->createHandler(_request, - response.get())); - - if (handler == nullptr) { - LOG(TRACE) << "no handler is known, giving up"; - - clearRequest(); - - handleSimpleError(GeneralResponse::ResponseCode::NOT_FOUND); - return; - } - - response.release(); - - if (_request != nullptr) { - bool found; - std::string const& startThread = - _request->header(StaticStrings::StartThread, found); - - if (found) { - _startThread = StringUtils::boolean(startThread); - } - } - - handler->setTaskId(_taskId, _loop); - - // clear request object - _request = nullptr; - - // async execution - bool ok = false; - - if (found && (asyncExecution == "true" || asyncExecution == "store")) { - requestStatisticsAgentSetAsync(); - uint64_t jobId = 0; - - if (asyncExecution == "store") { - // persist the responses - ok = _server->handleRequestAsync(this, handler, &jobId); - } else { - // don't persist the responses - ok = _server->handleRequestAsync(this, handler, nullptr); - } - - if (ok) { - HttpResponse response(GeneralResponse::ResponseCode::ACCEPTED); - - if (jobId > 0) { - // return the job id we just created - response.setHeaderNC(StaticStrings::AsyncId, StringUtils::itoa(jobId)); - } - - handleResponse(&response); - - return; - } - } - - // synchronous request - else { - ok = _server->handleRequest(this, handler); - } - - if (!ok) { - handleSimpleError(GeneralResponse::ResponseCode::SERVER_ERROR); - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief clears the request object -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::clearRequest() { - delete _request; - _request = nullptr; -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief resets the internal state -/// -/// this method can be called to clean up when the request handling aborts -/// prematurely -//////////////////////////////////////////////////////////////////////////////// - -void GeneralCommTask::resetState(bool close) { - if (close) { - clearRequest(); - - _requestPending = false; - _isChunked = false; - _closeRequested = true; - - _readPosition = 0; - _bodyPosition = 0; - _bodyLength = 0; - } else { - _requestPending = true; - - bool compact = false; - - if (_sinceCompactification > RunCompactEvery) { - compact = true; - } else if (_readBuffer->length() > MaximalPipelineSize) { - compact = true; - } - - if (compact) { - _readBuffer->erase_front(_bodyPosition + _bodyLength); - - _sinceCompactification = 0; - _readPosition = 0; - } else { - _readPosition = _bodyPosition + _bodyLength; - - if (_readPosition == _readBuffer->length()) { - _sinceCompactification = 0; - _readPosition = 0; - _readBuffer->reset(); - } - } - - _bodyPosition = 0; - _bodyLength = 0; - } - - _newRequest = true; - _readRequestBody = false; - _startThread = false; -} - bool GeneralCommTask::setup(Scheduler* scheduler, EventLoop loop) { bool ok = SocketTask::setup(scheduler, loop); - - if (!ok) { - return false; - } - + if (!ok) return false; _scheduler = scheduler; _loop = loop; - setupDone(); - return true; } -void GeneralCommTask::cleanup() { SocketTask::cleanup(); } - bool GeneralCommTask::handleEvent(EventToken token, EventType events) { bool result = SocketTask::handleEvent(token, events); - - if (_clientClosed) { - _scheduler->destroyTask(this); - } - + if (_clientClosed) _scheduler->destroyTask(this); return result; } -void GeneralCommTask::signalTask(TaskData* data) { - // data response - if (data->_type == TaskData::TASK_DATA_RESPONSE) { - data->RequestStatisticsAgent::transferTo(this); - - HttpResponse* response = dynamic_cast(data->_response.get()); - - if (response != nullptr) { - handleResponse(response); - processRead(); - } else { - handleSimpleError(GeneralResponse::ResponseCode::SERVER_ERROR); - } - } - - // data response - else if (data->_type == TaskData::TASK_DATA_BUFFER) { - data->RequestStatisticsAgent::transferTo(this); - - HttpResponse response(GeneralResponse::ResponseCode::OK); - - velocypack::Slice slice(data->_buffer->data()); - response.setPayload(_request, slice, true, VPackOptions::Defaults); - - handleResponse(&response); - processRead(); - } - - // data chunk - else if (data->_type == TaskData::TASK_DATA_CHUNK) { - size_t len = data->_data.size(); - - if (0 == len) { - finishedChunked(); - } else { - StringBuffer* buffer = new StringBuffer(TRI_UNKNOWN_MEM_ZONE, len); - - buffer->appendHex(len); - buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); - buffer->appendText(data->_data.c_str(), len); - buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); - - sendChunk(buffer); - } - } - - // do not know, what to do - give up - else { - _scheduler->destroyTask(this); - } -} - -bool GeneralCommTask::handleRead() { - bool res = true; - - if (!_setupDone.load(std::memory_order_relaxed)) { - return res; - } - - if (!_closeRequested) { - res = fillReadBuffer(); - - // process as much data as we got - while (processRead()) { - if (_closeRequested) { - break; - } - } - } else { - // if we don't close here, the scheduler thread may fall into a - // busy wait state, consuming 100% CPU! - _clientClosed = true; - } - - if (_clientClosed) { - res = false; - _server->handleCommunicationClosed(this); - } else if (!res) { - _clientClosed = true; - _server->handleCommunicationFailure(this); - } - - return res; -} - -void GeneralCommTask::completedWriteBuffer() { - _writeBuffer = nullptr; - _writeLength = 0; - - if (_writeBufferStatistics != nullptr) { - _writeBufferStatistics->_writeEnd = TRI_StatisticsTime(); - - TRI_ReleaseRequestStatistics(_writeBufferStatistics); - _writeBufferStatistics = nullptr; - } - - fillWriteBuffer(); - - if (!_clientClosed && _closeRequested && !hasWriteBuffer() && - _writeBuffers.empty() && !_isChunked) { - _clientClosed = true; - _server->handleCommunicationClosed(this); - } -} - void GeneralCommTask::handleTimeout() { _clientClosed = true; _server->handleCommunicationClosed(this); diff --git a/arangod/GeneralServer/GeneralCommTask.h b/arangod/GeneralServer/GeneralCommTask.h index 8a47c75f41..545c2b1670 100644 --- a/arangod/GeneralServer/GeneralCommTask.h +++ b/arangod/GeneralServer/GeneralCommTask.h @@ -32,10 +32,9 @@ #include "Basics/WorkItem.h" #include - namespace arangodb { -class HttpRequest; -class HttpResponse; +class GeneralRequest; +class GeneralResponse; namespace rest { class GeneralServer; @@ -44,171 +43,59 @@ class GeneralCommTask : public SocketTask, public RequestStatisticsAgent { GeneralCommTask(GeneralCommTask const&) = delete; GeneralCommTask const& operator=(GeneralCommTask const&) = delete; - public: - static size_t const MaximalHeaderSize; - static size_t const MaximalBodySize; - static size_t const MaximalPipelineSize; - static size_t const RunCompactEvery; - public: GeneralCommTask(GeneralServer*, TRI_socket_t, ConnectionInfo&&, double keepAliveTimeout); - protected: - ~GeneralCommTask(); - - public: // return whether or not the task desires to start a dispatcher thread - bool startThread() const { return _startThread; } + bool startThread() const { return _startThread; } // called by server + void handleResponse(GeneralResponse*); // called by server - // handles response - void handleResponse(HttpResponse*); - - // handles simple errors void handleSimpleError(GeneralResponse::ResponseCode); void handleSimpleError(GeneralResponse::ResponseCode, int code, std::string const& errorMessage); - // reads data from the socket - bool processRead(); - - // sends more chunked data - void sendChunk(basics::StringBuffer*); - - // chunking is finished - void finishedChunked(); - // task set up complete - void setupDone(); + void setupDone() { _setupDone.store(true, std::memory_order_relaxed); } - private: - // returns the authentication realm - std::string authenticationRealm() const; + protected: + virtual ~GeneralCommTask(); - // checks the authentication - GeneralResponse::ResponseCode authenticateRequest(); + virtual void addResponse(GeneralResponse*) = 0; + virtual bool processRead() = 0; + virtual void processRequest() = 0; + virtual void resetState(bool) = 0; - // reads data from the socket - void addResponse(HttpResponse*); + virtual bool handleEvent(EventToken token, + EventType events) override; // called by TODO + virtual bool setup(Scheduler* scheduler, + EventLoop loop) override; // called by - // check the content-length header of a request and fail it is broken - bool checkContentLength(bool expectContentLength); - - // fills the write buffer - void fillWriteBuffer(); - - // handles CORS options - void processCorsOptions(); - - // processes a request - void processRequest(); + void cleanup() override final { SocketTask::cleanup(); } // clears the request object - void clearRequest(); - - // resets the internal state - // - // this method can be called to clean up when the request handling aborts - // prematurely - void resetState(bool close); - - protected: - bool setup(Scheduler* scheduler, EventLoop loop) override; - void cleanup() override; - bool handleEvent(EventToken token, EventType events) override; - void signalTask(TaskData*) override; - - protected: - bool handleRead() override; - void completedWriteBuffer() override; - void handleTimeout() override; - - protected: - // connection info - ConnectionInfo _connectionInfo; - - // the underlying server - GeneralServer* const _server; - - // allow method override - bool _allowMethodOverride; - - char const* _protocol; + void clearRequest() { + delete _request; + _request = nullptr; + } private: - // write buffers - std::deque _writeBuffers; - - // statistics buffers - std::deque _writeBuffersStats; - - // current read position - size_t _readPosition; - - // start of the body position - size_t _bodyPosition; - - // body length - size_t _bodyLength; - - // true if request is complete but not handled - bool _requestPending; - - // true if a close has been requested by the client - bool _closeRequested; - - // true if reading the request body - bool _readRequestBody; - - // whether or not to allow credentialed requests (only CORS) - bool _denyCredentials; - - // whether the client accepts deflate algorithm - bool _acceptDeflate; - - // new request started - bool _newRequest; - - // true if within a chunked response - bool _isChunked; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief start a separate thread if the task is added to the dispatcher? - ////////////////////////////////////////////////////////////////////////////// + void handleTimeout() override final; + protected: + GeneralServer* const _server; + GeneralRequest* _request; // the request with possible incomplete body + ConnectionInfo _connectionInfo; + char const* _protocol; // protocal to use http, vpp + GeneralRequest::ProtocolVersion _protocolVersion; bool _startThread; - - // the request with possible incomplete body - HttpRequest* _request; - - // http version number used - GeneralRequest::ProtocolVersion _httpVersion; - - // type of request (GET, POST, ...) - GeneralRequest::RequestType _requestType; - - // value of requested URL - std::string _fullUrl; - - // value of the HTTP origin header the client sent (if any, CORS only) - std::string _origin; - - // start position of current request - size_t _startPosition; - - // number of requests since last compactification - size_t _sinceCompactification; - - // original body length - size_t _originalBodyLength; - - // task ready - std::atomic _setupDone; - - // authentication real - std::string const _authenticationRealm; - -}; // Commontask + std::deque _writeBuffers; + std::deque + _writeBuffersStats; // statistics buffers + bool _isChunked; // true if within a chunked response + bool _requestPending; // true if request is complete but not handled + std::atomic _setupDone; // task ready +}; // Commontask } // rest } // arango diff --git a/arangod/GeneralServer/HttpCommTask.cpp b/arangod/GeneralServer/HttpCommTask.cpp index e69de29bb2..7a15f27207 100644 --- a/arangod/GeneralServer/HttpCommTask.cpp +++ b/arangod/GeneralServer/HttpCommTask.cpp @@ -0,0 +1,954 @@ +#include "GeneralServer/HttpCommTask.h" + +#include "GeneralServer/GeneralServer.h" +#include "GeneralServer/RestHandler.h" +#include "GeneralServer/RestHandlerFactory.h" +#include "RestServer/RestServerFeature.h" +#include "Scheduler/Scheduler.h" +#include "Scheduler/SchedulerFeature.h" +#include "Basics/HybridLogicalClock.h" +#include "VocBase/server.h" //clock +//////////////////////////////////////////////////////////////////////////////// +/// @brief reads data from the socket +//////////////////////////////////////////////////////////////////////////////// + +using namespace arangodb; +using namespace arangodb::basics; +using namespace arangodb::rest; + +namespace arangodb { +class HttpRequest; +class HttpResponse; +namespace rest { +class GeneralServer; + +size_t const HttpCommTask::MaximalHeaderSize = 1 * 1024 * 1024; // 1 MB +size_t const HttpCommTask::MaximalBodySize = 512 * 1024 * 1024; // 512 MB +size_t const HttpCommTask::MaximalPipelineSize = 512 * 1024 * 1024; // 512 MB +size_t const HttpCommTask::RunCompactEvery = 500; + +HttpCommTask::HttpCommTask(GeneralServer* server, TRI_socket_t sock, + ConnectionInfo&& info, double timeout) + : Task("HttpCommTask"), + GeneralCommTask(server, sock, std::move(info), timeout), + _readPosition(0), + _startPosition(0), + _bodyPosition(0), + _bodyLength(0), + _closeRequested(false), + _readRequestBody(false), + _allowMethodOverride(server->allowMethodOverride()), + _denyCredentials(true), + _acceptDeflate(false), + _newRequest(true), + _requestType(GeneralRequest::RequestType::ILLEGAL), + _fullUrl(), + _origin(), + _sinceCompactification(0), + _originalBodyLength(0) + +{ + _protocol = "http"; + connectionStatisticsAgentSetHttp(); +} + +void HttpCommTask::addResponse(HttpResponse* response) { + // CORS response handling + if (!_origin.empty()) { + // the request contained an Origin header. We have to send back the + // access-control-allow-origin header now + LOG(TRACE) << "handling CORS response"; + + response->setHeaderNC(StaticStrings::AccessControlExposeHeaders, + StaticStrings::ExposedCorsHeaders); + + // send back original value of "Origin" header + response->setHeaderNC(StaticStrings::AccessControlAllowOrigin, _origin); + + // send back "Access-Control-Allow-Credentials" header + response->setHeaderNC(StaticStrings::AccessControlAllowCredentials, + (_denyCredentials ? "false" : "true")); + } + // CORS request handling EOF + + // set "connection" header + // keep-alive is the default + response->setConnectionType(_closeRequested + ? HttpResponse::CONNECTION_CLOSE + : HttpResponse::CONNECTION_KEEP_ALIVE); + + size_t const responseBodyLength = response->bodySize(); + + if (_requestType == GeneralRequest::RequestType::HEAD) { + // clear body if this is an HTTP HEAD request + // HEAD must not return a body + response->headResponse(responseBodyLength); + } + // else { + // // to enable automatic deflating of responses, activate this. + // // deflate takes a lot of CPU time so it should only be enabled for + // // dedicated purposes and not generally + // if (responseBodyLength > 16384 && _acceptDeflate) { + // response->deflate(); + // responseBodyLength = response->bodySize(); + // } + // } + + // reserve a buffer with some spare capacity + auto buffer = std::make_unique(TRI_UNKNOWN_MEM_ZONE, + responseBodyLength + 128, false); + + // write header + response->writeHeader(buffer.get()); + + // write body + if (_requestType != GeneralRequest::RequestType::HEAD) { + if (_isChunked) { + if (0 != responseBodyLength) { + buffer->appendHex(response->body().length()); + buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); + buffer->appendText(response->body()); + buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); + } + } else { + buffer->appendText(response->body()); + } + } + + buffer->ensureNullTerminated(); + + _writeBuffers.push_back(buffer.get()); + auto b = buffer.release(); + + if (!b->empty()) { + LOG_TOPIC(TRACE, Logger::REQUESTS) + << "\"http-request-response\",\"" << (void*)this << "\",\"" + << StringUtils::escapeUnicode(std::string(b->c_str(), b->length())) + << "\""; + } + + // clear body + response->body().clear(); + + double const totalTime = RequestStatisticsAgent::elapsedSinceReadStart(); + + _writeBuffersStats.push_back(RequestStatisticsAgent::steal()); + + LOG_TOPIC(INFO, Logger::REQUESTS) + << "\"http-request-end\",\"" << (void*)this << "\",\"" + << _connectionInfo.clientAddress << "\",\"" + << HttpRequest::translateMethod(_requestType) << "\",\"" + << HttpRequest::translateVersion(_protocolVersion) << "\"," + << static_cast(response->responseCode()) << "," + << _originalBodyLength << "," << responseBodyLength << ",\"" << _fullUrl + << "\"," << Logger::FIXED(totalTime, 6); + + // start output + fillWriteBuffer(); +} // addResponse + +//////////////////////////////////////////////////////////////////////////////// +/// @brief reads data from the socket +//////////////////////////////////////////////////////////////////////////////// + +bool HttpCommTask::processRead() { + if (_requestPending || _readBuffer->c_str() == nullptr) { + return false; + } + + bool handleRequest = false; + + // still trying to read the header fields + if (!_readRequestBody) { + char const* ptr = _readBuffer->c_str() + _readPosition; + char const* etr = _readBuffer->end(); + + if (ptr == etr) { + return false; + } + + // starting a new request + if (_newRequest) { + // acquire a new statistics entry for the request + RequestStatisticsAgent::acquire(); + +#if USE_DEV_TIMERS + if (RequestStatisticsAgent::_statistics != nullptr) { + RequestStatisticsAgent::_statistics->_id = (void*)this; + } +#endif + + _newRequest = false; + _startPosition = _readPosition; + _protocolVersion = GeneralRequest::ProtocolVersion::UNKNOWN; + _requestType = GeneralRequest::RequestType::ILLEGAL; + _fullUrl = ""; + _denyCredentials = true; + _acceptDeflate = false; + + _sinceCompactification++; + } + + char const* end = etr - 3; + + // read buffer contents are way to small. we can exit here directly + if (ptr >= end) { + return false; + } + + // request started + requestStatisticsAgentSetReadStart(); + + // check for the end of the request + for (; ptr < end; ptr++) { + if (ptr[0] == '\r' && ptr[1] == '\n' && ptr[2] == '\r' && + ptr[3] == '\n') { + break; + } + } + + // check if header is too large + size_t headerLength = ptr - (_readBuffer->c_str() + _startPosition); + + if (headerLength > MaximalHeaderSize) { + LOG(WARN) << "maximal header size is " << MaximalHeaderSize + << ", request header size is " << headerLength; + + // header is too large + handleSimpleError( + GeneralResponse::ResponseCode::REQUEST_HEADER_FIELDS_TOO_LARGE); + return false; + } + + // header is complete + if (ptr < end) { + _readPosition = ptr - _readBuffer->c_str() + 4; + + LOG(TRACE) << "HTTP READ FOR " << (void*)this << ": " + << std::string(_readBuffer->c_str() + _startPosition, + _readPosition - _startPosition); + + // check that we know, how to serve this request and update the connection + // information, i. e. client and server addresses and ports and create a + // request context for that request + _request = new HttpRequest( + _connectionInfo, _readBuffer->c_str() + _startPosition, + _readPosition - _startPosition, _allowMethodOverride); + + if (_request == nullptr) { + LOG(ERR) << "cannot generate request"; + + // internal server error + handleSimpleError(GeneralResponse::ResponseCode::SERVER_ERROR); + return false; + } + + RestServerFeature::HANDLER_FACTORY->setRequestContext(_request); + _request->setClientTaskId(_taskId); + + // check HTTP protocol version + _protocolVersion = _request->protocolVersion(); + + if (_protocolVersion != GeneralRequest::ProtocolVersion::HTTP_1_0 && + _protocolVersion != GeneralRequest::ProtocolVersion::HTTP_1_1) { + handleSimpleError( + GeneralResponse::ResponseCode::HTTP_VERSION_NOT_SUPPORTED); + return false; + } + + // check max URL length + _fullUrl = _request->fullUrl(); + + if (_fullUrl.size() > 16384) { + handleSimpleError(GeneralResponse::ResponseCode::REQUEST_URI_TOO_LONG); + return false; + } + + // update the connection information, i. e. client and server addresses + // and ports + _request->setProtocol(_protocol); + + LOG(TRACE) << "server port " << _connectionInfo.serverPort + << ", client port " << _connectionInfo.clientPort; + + // set body start to current position + _bodyPosition = _readPosition; + _bodyLength = 0; + + // keep track of the original value of the "origin" request header (if + // any), we need this value to handle CORS requests + _origin = _request->header(StaticStrings::Origin); + + if (!_origin.empty()) { + // check for Access-Control-Allow-Credentials header + bool found; + std::string const& allowCredentials = _request->header( + StaticStrings::AccessControlAllowCredentials, found); + + if (found) { + // default is to allow nothing + _denyCredentials = true; + + // if the request asks to allow credentials, we'll check against the + // configured whitelist of origins + std::vector const& accessControlAllowOrigins = + _server->trustedOrigins(); + + if (StringUtils::boolean(allowCredentials) && + !accessControlAllowOrigins.empty()) { + if (accessControlAllowOrigins[0] == "*") { + // special case: allow everything + _denyCredentials = false; + } else if (!_origin.empty()) { + // copy origin string + if (_origin[_origin.size() - 1] == '/') { + // strip trailing slash + auto result = std::find(accessControlAllowOrigins.begin(), + accessControlAllowOrigins.end(), + _origin.substr(0, _origin.size() - 1)); + _denyCredentials = (result == accessControlAllowOrigins.end()); + } else { + auto result = + std::find(accessControlAllowOrigins.begin(), + accessControlAllowOrigins.end(), _origin); + _denyCredentials = (result == accessControlAllowOrigins.end()); + } + } else { + TRI_ASSERT(_denyCredentials); + } + } + } + } + + // store the original request's type. we need it later when responding + // (original request object gets deleted before responding) + _requestType = _request->requestType(); + + requestStatisticsAgentSetRequestType(_requestType); + + // handle different HTTP methods + switch (_requestType) { + case GeneralRequest::RequestType::GET: + case GeneralRequest::RequestType::DELETE_REQ: + case GeneralRequest::RequestType::HEAD: + case GeneralRequest::RequestType::OPTIONS: + case GeneralRequest::RequestType::POST: + case GeneralRequest::RequestType::PUT: + case GeneralRequest::RequestType::PATCH: { + // technically, sending a body for an HTTP DELETE request is not + // forbidden, but it is not explicitly supported + bool const expectContentLength = + (_requestType == GeneralRequest::RequestType::POST || + _requestType == GeneralRequest::RequestType::PUT || + _requestType == GeneralRequest::RequestType::PATCH || + _requestType == GeneralRequest::RequestType::OPTIONS || + _requestType == GeneralRequest::RequestType::DELETE_REQ); + + if (!checkContentLength(expectContentLength)) { + return false; + } + + if (_bodyLength == 0) { + handleRequest = true; + } + + break; + } + + default: { + size_t l = _readPosition - _startPosition; + + if (6 < l) { + l = 6; + } + + LOG(WARN) << "got corrupted HTTP request '" + << std::string(_readBuffer->c_str() + _startPosition, l) + << "'"; + + // force a socket close, response will be ignored! + TRI_CLOSE_SOCKET(_commSocket); + TRI_invalidatesocket(&_commSocket); + + // bad request, method not allowed + handleSimpleError(GeneralResponse::ResponseCode::METHOD_NOT_ALLOWED); + return false; + } + } + + // ............................................................................. + // check if server is active + // ............................................................................. + + Scheduler const* scheduler = SchedulerFeature::SCHEDULER; + + if (scheduler != nullptr && !scheduler->isActive()) { + // server is inactive and will intentionally respond with HTTP 503 + LOG(TRACE) << "cannot serve request - server is inactive"; + + handleSimpleError(GeneralResponse::ResponseCode::SERVICE_UNAVAILABLE); + return false; + } + + // check for a 100-continue + if (_readRequestBody) { + bool found; + std::string const& expect = + _request->header(StaticStrings::Expect, found); + + if (found && StringUtils::trim(expect) == "100-continue") { + LOG(TRACE) << "received a 100-continue request"; + + auto buffer = std::make_unique(TRI_UNKNOWN_MEM_ZONE); + buffer->appendText( + TRI_CHAR_LENGTH_PAIR("HTTP/1.1 100 (Continue)\r\n\r\n")); + buffer->ensureNullTerminated(); + + _writeBuffers.push_back(buffer.get()); + buffer.release(); + + _writeBuffersStats.push_back(nullptr); + + fillWriteBuffer(); + } + } + } else { + size_t l = (_readBuffer->end() - _readBuffer->c_str()); + + if (_startPosition + 4 <= l) { + _readPosition = l - 4; + } + } + } + + // readRequestBody might have changed, so cannot use else + if (_readRequestBody) { + if (_readBuffer->length() - _bodyPosition < _bodyLength) { + setKeepAliveTimeout(_keepAliveTimeout); + + // let client send more + return false; + } + + // read "bodyLength" from read buffer and add this body to "httpRequest" + _requestAsHttp()->setBody(_readBuffer->c_str() + _bodyPosition, + _bodyLength); + + LOG(TRACE) << "" << std::string(_readBuffer->c_str() + _bodyPosition, + _bodyLength); + + // remove body from read buffer and reset read position + _readRequestBody = false; + handleRequest = true; + } + + // ............................................................................. + // request complete + // + // we have to delete request in here or pass it to a handler, which will + // delete + // it + // ............................................................................. + + if (!handleRequest) { + return false; + } + + requestStatisticsAgentSetReadEnd(); + requestStatisticsAgentAddReceivedBytes(_bodyPosition - _startPosition + + _bodyLength); + + bool const isOptionsRequest = + (_requestType == GeneralRequest::RequestType::OPTIONS); + resetState(false); + + // ............................................................................. + // keep-alive handling + // ............................................................................. + + std::string connectionType = + StringUtils::tolower(_request->header(StaticStrings::Connection)); + + if (connectionType == "close") { + // client has sent an explicit "Connection: Close" header. we should close + // the connection + LOG(DEBUG) << "connection close requested by client"; + _closeRequested = true; + } else if (_requestAsHttp()->isHttp10() && connectionType != "keep-alive") { + // HTTP 1.0 request, and no "Connection: Keep-Alive" header sent + // we should close the connection + LOG(DEBUG) << "no keep-alive, connection close requested by client"; + _closeRequested = true; + } else if (_keepAliveTimeout <= 0.0) { + // if keepAliveTimeout was set to 0.0, we'll close even keep-alive + // connections immediately + LOG(DEBUG) << "keep-alive disabled by admin"; + _closeRequested = true; + } + + // we keep the connection open in all other cases (HTTP 1.1 or Keep-Alive + // header sent) + + // ............................................................................. + // authenticate + // ............................................................................. + + GeneralResponse::ResponseCode authResult = authenticateRequest(); + + // authenticated or an OPTIONS request. OPTIONS requests currently go + // unauthenticated + if (authResult == GeneralResponse::ResponseCode::OK || isOptionsRequest) { + // handle HTTP OPTIONS requests directly + if (isOptionsRequest) { + processCorsOptions(); + } else { + processRequest(); + } + } + // not found + else if (authResult == GeneralResponse::ResponseCode::NOT_FOUND) { + handleSimpleError(authResult, TRI_ERROR_ARANGO_DATABASE_NOT_FOUND, + TRI_errno_string(TRI_ERROR_ARANGO_DATABASE_NOT_FOUND)); + } + // forbidden + else if (authResult == GeneralResponse::ResponseCode::FORBIDDEN) { + handleSimpleError(authResult, TRI_ERROR_USER_CHANGE_PASSWORD, + "change password"); + } + // not authenticated + else { + HttpResponse response(GeneralResponse::ResponseCode::UNAUTHORIZED); + std::string realm = "Bearer token_type=\"JWT\", realm=\"ArangoDB\""; + + response.setHeaderNC(StaticStrings::WwwAuthenticate, std::move(realm)); + + clearRequest(); + handleResponse(&response); + } + + return true; +} // processsRead + +//////////////////////////////////////////////////////////////////////////////// +/// @brief processes a request +//////////////////////////////////////////////////////////////////////////////// + +void HttpCommTask::processRequest() { + // check for deflate + bool found; + + auto httpRequest = _requestAsHttp(); + std::string const& acceptEncoding = + httpRequest->header(StaticStrings::AcceptEncoding, found); + + if (found) { + if (acceptEncoding.find("deflate") != std::string::npos) { + _acceptDeflate = true; + } + } + + if (httpRequest != nullptr) { + LOG_TOPIC(DEBUG, Logger::REQUESTS) + << "\"http-request-begin\",\"" << (void*)this << "\",\"" + << _connectionInfo.clientAddress << "\",\"" + << HttpRequest::translateMethod(_requestType) << "\",\"" + << HttpRequest::translateVersion(_protocolVersion) << "\"," << _fullUrl + << "\""; + + std::string const& body = httpRequest->body(); + + if (!body.empty()) { + LOG_TOPIC(DEBUG, Logger::REQUESTS) + << "\"http-request-body\",\"" << (void*)this << "\",\"" + << (StringUtils::escapeUnicode(body)) << "\""; + } + } + + // check for an HLC time stamp + std::string const& timeStamp = + _request->header(StaticStrings::HLCHeader, found); + if (found) { + uint64_t timeStampInt = + arangodb::basics::HybridLogicalClock::decodeTimeStampWithCheck( + timeStamp); + if (timeStampInt != 0) { + TRI_HybridLogicalClock(timeStampInt); + } + } + + // check for an async request + std::string const& asyncExecution = + _request->header(StaticStrings::Async, found); + + // create handler, this will take over the request and the response + std::unique_ptr response( + new HttpResponse(GeneralResponse::ResponseCode::SERVER_ERROR)); + + // execute response + WorkItem::uptr handler( + RestServerFeature::HANDLER_FACTORY->createHandler(_request, + response.get())); + + // ab hier generell + if (handler == nullptr) { + LOG(TRACE) << "no handler is known, giving up"; + + clearRequest(); + + handleSimpleError(GeneralResponse::ResponseCode::NOT_FOUND); + return; + } + + response.release(); + + if (_request != nullptr) { + bool found; + std::string const& startThread = + _request->header(StaticStrings::StartThread, found); + + if (found) { + _startThread = StringUtils::boolean(startThread); + } + } + + handler->setTaskId(_taskId, _loop); + + // clear request object + _request = nullptr; + + // async execution + bool ok = false; + + if (found && (asyncExecution == "true" || asyncExecution == "store")) { + requestStatisticsAgentSetAsync(); + uint64_t jobId = 0; + + if (asyncExecution == "store") { + // persist the responses + ok = _server->handleRequestAsync(this, handler, &jobId); + } else { + // don't persist the responses + ok = _server->handleRequestAsync(this, handler, nullptr); + } + + if (ok) { + HttpResponse response(GeneralResponse::ResponseCode::ACCEPTED); + + if (jobId > 0) { + // return the job id we just created + response.setHeaderNC(StaticStrings::AsyncId, StringUtils::itoa(jobId)); + } + + handleResponse(&response); + + return; + } + } + + // synchronous request + else { + ok = _server->handleRequest(this, handler); + } + + if (!ok) { + handleSimpleError(GeneralResponse::ResponseCode::SERVER_ERROR); + } +} // processRequest + +//////////////////////////////////////////////////////////////////////////////// +/// @brief chunking is finished +//////////////////////////////////////////////////////////////////////////////// + +void HttpCommTask::finishedChunked() { + auto buffer = std::make_unique(TRI_UNKNOWN_MEM_ZONE, 6, true); + buffer->appendText(TRI_CHAR_LENGTH_PAIR("0\r\n\r\n")); + buffer->ensureNullTerminated(); + + _writeBuffers.push_back(buffer.get()); + buffer.release(); + _writeBuffersStats.push_back(nullptr); + + _isChunked = false; + _startThread = false; + _requestPending = false; + + fillWriteBuffer(); + processRead(); +} + +//////////////////////////////////////////////////////////////////////////////// +/// check the content-length header of a request and fail it is broken +//////////////////////////////////////////////////////////////////////////////// + +bool HttpCommTask::checkContentLength(bool expectContentLength) { + int64_t const bodyLength = _request->contentLength(); + + if (bodyLength < 0) { + // bad request, body length is < 0. this is a client error + handleSimpleError(GeneralResponse::ResponseCode::LENGTH_REQUIRED); + return false; + } + + if (!expectContentLength && bodyLength > 0) { + // content-length header was sent but the request method does not support + // that + // we'll warn but read the body anyway + LOG(WARN) << "received HTTP GET/HEAD request with content-length, this " + "should not happen"; + } + + if ((size_t)bodyLength > MaximalBodySize) { + LOG(WARN) << "maximal body size is " << MaximalBodySize + << ", request body size is " << bodyLength; + + // request entity too large + handleSimpleError(GeneralResponse::ResponseCode::REQUEST_ENTITY_TOO_LARGE); + return false; + } + + // set instance variable to content-length value + _bodyLength = (size_t)bodyLength; + _originalBodyLength = _bodyLength; + + if (_bodyLength > 0) { + // we'll read the body + _readRequestBody = true; + } + + // everything's fine + return true; +} + +void HttpCommTask::fillWriteBuffer() { + if (!hasWriteBuffer() && !_writeBuffers.empty()) { + StringBuffer* buffer = _writeBuffers.front(); + _writeBuffers.pop_front(); + + TRI_ASSERT(buffer != nullptr); + + TRI_request_statistics_t* statistics = _writeBuffersStats.front(); + _writeBuffersStats.pop_front(); + + setWriteBuffer(buffer, statistics); + } +} + +void HttpCommTask::processCorsOptions() { + HttpResponse response(GeneralResponse::ResponseCode::OK); + + response.setHeaderNC(StaticStrings::Allow, StaticStrings::CorsMethods); + + if (!_origin.empty()) { + LOG(TRACE) << "got CORS preflight request"; + std::string const allowHeaders = StringUtils::trim( + _request->header(StaticStrings::AccessControlRequestHeaders)); + + // send back which HTTP methods are allowed for the resource + // we'll allow all + response.setHeaderNC(StaticStrings::AccessControlAllowMethods, + StaticStrings::CorsMethods); + + if (!allowHeaders.empty()) { + // allow all extra headers the client requested + // we don't verify them here. the worst that can happen is that the client + // sends some broken headers and then later cannot access the data on the + // server. that's a client problem. + response.setHeaderNC(StaticStrings::AccessControlAllowHeaders, + allowHeaders); + + LOG(TRACE) << "client requested validation of the following headers: " + << allowHeaders; + } + + // set caching time (hard-coded value) + response.setHeaderNC(StaticStrings::AccessControlMaxAge, + StaticStrings::N1800); + } + clearRequest(); + handleResponse(&response); +} + +void HttpCommTask::signalTask(TaskData* data) { + // data response + if (data->_type == TaskData::TASK_DATA_RESPONSE) { + data->RequestStatisticsAgent::transferTo(this); + + HttpResponse* response = dynamic_cast(data->_response.get()); + + if (response != nullptr) { + handleResponse(response); + processRead(); + } else { + handleSimpleError(GeneralResponse::ResponseCode::SERVER_ERROR); + } + } + + // data response + else if (data->_type == TaskData::TASK_DATA_BUFFER) { + data->RequestStatisticsAgent::transferTo(this); + HttpResponse response(GeneralResponse::ResponseCode::OK); + velocypack::Slice slice(data->_buffer->data()); + response.setPayload(_request, slice, true, VPackOptions::Defaults); + handleResponse(&response); + processRead(); + } + + // data chunk + else if (data->_type == TaskData::TASK_DATA_CHUNK) { + size_t len = data->_data.size(); + + if (0 == len) { + finishedChunked(); + } else { + StringBuffer* buffer = new StringBuffer(TRI_UNKNOWN_MEM_ZONE, len); + + buffer->appendHex(len); + buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); + buffer->appendText(data->_data.c_str(), len); + buffer->appendText(TRI_CHAR_LENGTH_PAIR("\r\n")); + + sendChunk(buffer); + } + } + + // do not know, what to do - give up + else { + _scheduler->destroyTask(this); + } +} + +bool HttpCommTask::handleRead() { + bool res = true; + if (!_setupDone.load(std::memory_order_relaxed)) return res; + + if (!_closeRequested) { + res = fillReadBuffer(); + // process as much data as we got + while (processRead()) { + if (_closeRequested) { + break; + } + } + } else { + // if we don't close here, the scheduler thread may fall into a + // busy wait state, consuming 100% CPU! + _clientClosed = true; + } + + if (_clientClosed) { + res = false; + _server->handleCommunicationClosed(this); + } else if (!res) { + _clientClosed = true; + _server->handleCommunicationFailure(this); + } + + return res; +} + +void HttpCommTask::completedWriteBuffer() { + _writeBuffer = nullptr; + _writeLength = 0; + + if (_writeBufferStatistics != nullptr) { + _writeBufferStatistics->_writeEnd = TRI_StatisticsTime(); + TRI_ReleaseRequestStatistics(_writeBufferStatistics); + _writeBufferStatistics = nullptr; + } + + fillWriteBuffer(); + + if (!_clientClosed && _closeRequested && !hasWriteBuffer() && + _writeBuffers.empty() && !_isChunked) { + _clientClosed = true; + _server->handleCommunicationClosed(this); + } +} + +void HttpCommTask::resetState(bool close) { + if (close) { + clearRequest(); + + _requestPending = false; + _isChunked = false; + _closeRequested = true; + + _readPosition = 0; + _bodyPosition = 0; + _bodyLength = 0; + } else { + _requestPending = true; + + bool compact = false; + + if (_sinceCompactification > RunCompactEvery) { + compact = true; + } else if (_readBuffer->length() > MaximalPipelineSize) { + compact = true; + } + + if (compact) { + _readBuffer->erase_front(_bodyPosition + _bodyLength); + + _sinceCompactification = 0; + _readPosition = 0; + } else { + _readPosition = _bodyPosition + _bodyLength; + + if (_readPosition == _readBuffer->length()) { + _sinceCompactification = 0; + _readPosition = 0; + _readBuffer->reset(); + } + } + + _bodyPosition = 0; + _bodyLength = 0; + } + + _newRequest = true; + _readRequestBody = false; + _startThread = false; +} + +GeneralResponse::ResponseCode HttpCommTask::authenticateRequest() { + auto context = (_request == nullptr) ? nullptr : _request->requestContext(); + + if (context == nullptr && _request != nullptr) { + bool res = RestServerFeature::HANDLER_FACTORY->setRequestContext(_request); + + if (!res) { + return GeneralResponse::ResponseCode::NOT_FOUND; + } + + context = _request->requestContext(); + } + + if (context == nullptr) { + return GeneralResponse::ResponseCode::SERVER_ERROR; + } + + return context->authenticate(); +} + +void HttpCommTask::sendChunk(StringBuffer* buffer) { + if (_isChunked) { + TRI_ASSERT(buffer != nullptr); + _writeBuffers.push_back(buffer); + _writeBuffersStats.push_back(nullptr); + fillWriteBuffer(); + } else { + delete buffer; + } +} + +// convert internal GeneralRequest to HttpRequest +HttpRequest* HttpCommTask::_requestAsHttp() { + HttpRequest* request = dynamic_cast(_request); + if (request == nullptr) { + // everything is borken FIXME + } + return request; +}; +} // rest +} // arangodb diff --git a/arangod/GeneralServer/HttpCommTask.h b/arangod/GeneralServer/HttpCommTask.h index e3e34d7e51..182af94921 100644 --- a/arangod/GeneralServer/HttpCommTask.h +++ b/arangod/GeneralServer/HttpCommTask.h @@ -7,12 +7,72 @@ namespace rest { class HttpCommTask : public GeneralCommTask { public: - HttpCommTask(GeneralServer* serv, TRI_socket_t sock, ConnectionInfo&& info, - double timeout) - : Task("HttpCommTask"), - GeneralCommTask(serv, sock, std::move(info), timeout) { - _protocol = "http"; - } + static size_t const MaximalHeaderSize; + static size_t const MaximalBodySize; + static size_t const MaximalPipelineSize; + static size_t const RunCompactEvery; + + public: + HttpCommTask(GeneralServer*, TRI_socket_t, ConnectionInfo&&, double timeout); + + bool processRead() override; + virtual void processRequest() override; + + void addResponse(GeneralResponse* response) override { + // convert from GeneralResponse to httpResponse ad dispatch request to class + // internal addResponse + HttpResponse* httpResponse = dynamic_cast(response); + if (httpResponse == nullptr) { + // everything is borken + } + addResponse(httpResponse); + }; + + protected: + void completedWriteBuffer() override final; + + private: + void signalTask(TaskData*) override final; + // resets the internal state + // this method can be called to clean up when the request handling aborts + // prematurely + virtual void resetState(bool close) override final; + + HttpRequest* _requestAsHttp(); + void addResponse(HttpResponse*); + void finishedChunked(); + // check the content-length header of a request and fail it is broken + bool checkContentLength(bool expectContentLength); + void fillWriteBuffer(); // fills the write buffer + void processCorsOptions(); // handles CORS options + std::string authenticationRealm() const; // returns the authentication realm + GeneralResponse::ResponseCode + authenticateRequest(); // checks the authentication + void sendChunk(basics::StringBuffer*); // sends more chunked data + bool handleRead() override final; + + private: + size_t _readPosition; // current read position + size_t _startPosition; // start position of current request + size_t _bodyPosition; // start of the body position + size_t _bodyLength; // body length + bool _closeRequested; // true if a close has been requested by the client + bool _readRequestBody; // true if reading the request body + bool _allowMethodOverride; // allow method override + bool _denyCredentials; // whether or not to allow credentialed requests (only + // CORS) + bool _acceptDeflate; // whether the client accepts deflate algorithm + bool _newRequest; // new request started + GeneralRequest::RequestType _requestType; // type of request (GET, POST, ...) + std::string _fullUrl; // value of requested URL + std::string _origin; // value of the HTTP origin header the client sent (if + // any, CORS only) + size_t + _sinceCompactification; // number of requests since last compactification + size_t _originalBodyLength; + + // authentication real + std::string const _authenticationRealm; }; } // rest } // arangodb diff --git a/arangod/GeneralServer/HttpsCommTask.cpp b/arangod/GeneralServer/HttpsCommTask.cpp index 1c55c2d42d..a7292cdcaa 100644 --- a/arangod/GeneralServer/HttpsCommTask.cpp +++ b/arangod/GeneralServer/HttpsCommTask.cpp @@ -20,6 +20,7 @@ /// /// @author Dr. Frank Celler /// @author Achim Brandt +// @author Jan Christoph Uhde //////////////////////////////////////////////////////////////////////////////// #include "HttpsCommTask.h" @@ -35,10 +36,6 @@ using namespace arangodb; using namespace arangodb::rest; -//////////////////////////////////////////////////////////////////////////////// -/// @brief constructs a new task with a given socket -//////////////////////////////////////////////////////////////////////////////// - HttpsCommTask::HttpsCommTask(GeneralServer* server, TRI_socket_t socket, ConnectionInfo&& info, double keepAliveTimeout, SSL_CTX* ctx, int verificationMode, @@ -56,10 +53,6 @@ HttpsCommTask::HttpsCommTask(GeneralServer* server, TRI_socket_t socket, _tmpReadBuffer = new char[READ_BLOCK_SIZE]; } -//////////////////////////////////////////////////////////////////////////////// -/// @brief destructs a task -//////////////////////////////////////////////////////////////////////////////// - HttpsCommTask::~HttpsCommTask() { shutdownSsl(true); diff --git a/arangod/GeneralServer/HttpsCommTask.h b/arangod/GeneralServer/HttpsCommTask.h index f11d390999..925a88adf4 100644 --- a/arangod/GeneralServer/HttpsCommTask.h +++ b/arangod/GeneralServer/HttpsCommTask.h @@ -20,6 +20,7 @@ /// /// @author Dr. Frank Celler /// @author Achim Brandt +// @author Jan Christoph Uhde //////////////////////////////////////////////////////////////////////////////// #ifndef ARANGOD_HTTP_SERVER_HTTPS_COMM_TASK_H @@ -33,121 +34,44 @@ namespace arangodb { namespace rest { class GeneralServer; -//////////////////////////////////////////////////////////////////////////////// -/// @brief https communication -//////////////////////////////////////////////////////////////////////////////// - class HttpsCommTask : public HttpCommTask { HttpsCommTask(HttpsCommTask const&) = delete; HttpsCommTask const& operator=(HttpsCommTask const&) = delete; private: - ////////////////////////////////////////////////////////////////////////////// - /// @brief read block size - ////////////////////////////////////////////////////////////////////////////// - static size_t const READ_BLOCK_SIZE = 10000; public: - ////////////////////////////////////////////////////////////////////////////// - /// @brief constructs a new task with a given socket - ////////////////////////////////////////////////////////////////////////////// - HttpsCommTask(GeneralServer*, TRI_socket_t, ConnectionInfo&&, double keepAliveTimeout, SSL_CTX* ctx, int verificationMode, int (*verificationCallback)(int, X509_STORE_CTX*)); - ////////////////////////////////////////////////////////////////////////////// - /// @brief destructs a task - ////////////////////////////////////////////////////////////////////////////// - protected: ~HttpsCommTask(); protected: bool setup(Scheduler*, EventLoop) override; - bool handleEvent(EventToken, EventType) override; - bool fillReadBuffer() override; - bool handleWrite() override; private: - ////////////////////////////////////////////////////////////////////////////// - /// @brief accepts SSL connection - ////////////////////////////////////////////////////////////////////////////// - bool trySSLAccept(); - - ////////////////////////////////////////////////////////////////////////////// - /// @brief reads from SSL connection - ////////////////////////////////////////////////////////////////////////////// - bool trySSLRead(); - - ////////////////////////////////////////////////////////////////////////////// - /// @brief writes from SSL connection - ////////////////////////////////////////////////////////////////////////////// - bool trySSLWrite(); - - ////////////////////////////////////////////////////////////////////////////// - /// @brief shuts down the SSL connection - ////////////////////////////////////////////////////////////////////////////// - void shutdownSsl(bool initShutdown); private: - ////////////////////////////////////////////////////////////////////////////// - /// @brief accepted done - ////////////////////////////////////////////////////////////////////////////// - bool _accepted; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief read blocked on write - ////////////////////////////////////////////////////////////////////////////// - bool _readBlockedOnWrite; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief write blocked on read - ////////////////////////////////////////////////////////////////////////////// - bool _writeBlockedOnRead; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief temporary buffer - ////////////////////////////////////////////////////////////////////////////// - char* _tmpReadBuffer; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief ssl - ////////////////////////////////////////////////////////////////////////////// - SSL* _ssl; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief context - ////////////////////////////////////////////////////////////////////////////// - SSL_CTX* _ctx; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief verification mode - ////////////////////////////////////////////////////////////////////////////// - int _verificationMode; - - ////////////////////////////////////////////////////////////////////////////// - /// @brief verification callback - ////////////////////////////////////////////////////////////////////////////// - int (*_verificationCallback)(int, X509_STORE_CTX*); }; -} -} +} // rest +} // arango #endif diff --git a/arangod/GeneralServer/VppCommTask.cpp b/arangod/GeneralServer/VppCommTask.cpp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/arangod/GeneralServer/VppCommTask.h b/arangod/GeneralServer/VppCommTask.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/arangod/GeneralServer/VppsCommTask.cpp b/arangod/GeneralServer/VppsCommTask.cpp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/arangod/GeneralServer/VppsCommTask.h b/arangod/GeneralServer/VppsCommTask.h new file mode 100644 index 0000000000..e69de29bb2 From a92add0a9f31dbc701f20f4c84c86b4e06f79a39 Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sat, 23 Jul 2016 14:16:10 +0200 Subject: [PATCH 11/13] renamed RestServerFeature to GeneralServerFeature --- arangod/CMakeLists.txt | 14 +- arangod/Cluster/AgencyComm.cpp | 280 +++++++++--------- arangod/Cluster/HeartbeatThread.cpp | 4 +- arangod/GeneralServer/GeneralCommTask.cpp | 2 +- arangod/GeneralServer/GeneralServer.cpp | 5 +- .../GeneralServerFeature.cpp} | 46 +-- .../GeneralServerFeature.h} | 22 +- arangod/GeneralServer/HttpCommTask.cpp | 39 ++- arangod/GeneralServer/HttpServerJob.cpp | 6 +- arangod/RestHandler/RestAuthHandler.cpp | 4 +- arangod/RestHandler/RestBatchHandler.cpp | 6 +- arangod/RestServer/BootstrapFeature.cpp | 2 +- arangod/RestServer/ConsoleFeature.cpp | 2 +- arangod/RestServer/DatabaseFeature.cpp | 6 +- arangod/RestServer/ScriptFeature.cpp | 2 +- arangod/RestServer/ServerFeature.cpp | 29 +- arangod/RestServer/UnitTestsFeature.cpp | 2 +- arangod/RestServer/VocbaseContext.cpp | 8 +- arangod/RestServer/arangod.cpp | 37 +-- arangod/V8Server/v8-vocbase.cpp | 57 ++-- arangod/VocBase/AuthInfo.cpp | 4 +- arangod/VocBase/server.cpp | 7 +- 22 files changed, 303 insertions(+), 281 deletions(-) rename arangod/{RestServer/RestServerFeature.cpp => GeneralServer/GeneralServerFeature.cpp} (93%) rename arangod/{RestServer/RestServerFeature.h => GeneralServer/GeneralServerFeature.h} (84%) diff --git a/arangod/CMakeLists.txt b/arangod/CMakeLists.txt index e6f23f93cc..da1c8bc248 100644 --- a/arangod/CMakeLists.txt +++ b/arangod/CMakeLists.txt @@ -184,18 +184,19 @@ add_executable(${BIN_ARANGOD} FulltextIndex/fulltext-list.cpp FulltextIndex/fulltext-query.cpp FulltextIndex/fulltext-result.cpp - GeoIndex/GeoIndex.cpp GeneralServer/AsyncJobManager.cpp - GeneralServer/HttpCommTask.cpp - GeneralServer/HttpServerJob.cpp GeneralServer/GeneralCommTask.cpp - GeneralServer/HttpCommTask.cpp - GeneralServer/HttpsCommTask.cpp GeneralServer/GeneralListenTask.cpp GeneralServer/GeneralServer.cpp + GeneralServer/GeneralServerFeature.cpp + GeneralServer/HttpCommTask.cpp + GeneralServer/HttpCommTask.cpp + GeneralServer/HttpServerJob.cpp + GeneralServer/HttpsCommTask.cpp + GeneralServer/PathHandler.cpp GeneralServer/RestHandler.cpp GeneralServer/RestHandlerFactory.cpp - GeneralServer/PathHandler.cpp + GeoIndex/GeoIndex.cpp Indexes/EdgeIndex.cpp Indexes/FulltextIndex.cpp Indexes/GeoIndex2.cpp @@ -245,7 +246,6 @@ add_executable(${BIN_ARANGOD} RestServer/FrontendFeature.cpp RestServer/InitDatabaseFeature.cpp RestServer/QueryRegistryFeature.cpp - RestServer/RestServerFeature.cpp RestServer/ScriptFeature.cpp RestServer/ServerFeature.cpp RestServer/UnitTestsFeature.cpp diff --git a/arangod/Cluster/AgencyComm.cpp b/arangod/Cluster/AgencyComm.cpp index 809e1183f9..649b6c52f4 100644 --- a/arangod/Cluster/AgencyComm.cpp +++ b/arangod/Cluster/AgencyComm.cpp @@ -35,30 +35,31 @@ #include "Basics/json.h" #include "Cluster/ServerState.h" #include "Endpoint/Endpoint.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/Logger.h" #include "Random/RandomGenerator.h" #include "Rest/HttpRequest.h" #include "Rest/HttpResponse.h" -#include "RestServer/RestServerFeature.h" #include "SimpleHttpClient/GeneralClientConnection.h" #include "SimpleHttpClient/SimpleHttpClient.h" #include "SimpleHttpClient/SimpleHttpResult.h" - using namespace arangodb; using namespace arangodb::application_features; using namespace basics::StringUtils; -static void addEmptyVPackObject(std::string const& name, VPackBuilder& builder) { +static void addEmptyVPackObject(std::string const& name, + VPackBuilder& builder) { builder.add(VPackValue(name)); VPackObjectBuilder c(&builder); } - + ////////////////////////////////////////////////////////////////////////////// /// @brief constructs an operation ////////////////////////////////////////////////////////////////////////////// -AgencyOperation::AgencyOperation(std::string const& key, AgencySimpleOperationType opType) +AgencyOperation::AgencyOperation(std::string const& key, + AgencySimpleOperationType opType) : _key(AgencyComm::prefixPath() + key), _opType() { _opType.type = AgencyOperationType::SIMPLE; _opType.simple = opType; @@ -68,13 +69,14 @@ AgencyOperation::AgencyOperation(std::string const& key, AgencySimpleOperationTy /// @brief constructs an operation ////////////////////////////////////////////////////////////////////////////// -AgencyOperation::AgencyOperation(std::string const& key, AgencyValueOperationType opType, - VPackSlice value) +AgencyOperation::AgencyOperation(std::string const& key, + AgencyValueOperationType opType, + VPackSlice value) : _key(AgencyComm::prefixPath() + key), _opType(), _value(value) { _opType.type = AgencyOperationType::VALUE; _opType.value = opType; } - + ////////////////////////////////////////////////////////////////////////////// /// @brief adds the operation formatted as an attribute in a vpack object ////////////////////////////////////////////////////////////////////////////// @@ -85,8 +87,8 @@ void AgencyOperation::toVelocyPack(VPackBuilder& builder) const { VPackObjectBuilder valueOperation(&builder); builder.add("op", VPackValue(_opType.toString())); if (_opType.type == AgencyOperationType::VALUE) { - if (_opType.value == AgencyValueOperationType::OBSERVE - || _opType.value == AgencyValueOperationType::UNOBSERVE) { + if (_opType.value == AgencyValueOperationType::OBSERVE || + _opType.value == AgencyValueOperationType::UNOBSERVE) { builder.add("url", _value); } else { builder.add("new", _value); @@ -103,8 +105,7 @@ void AgencyOperation::toVelocyPack(VPackBuilder& builder) const { ////////////////////////////////////////////////////////////////////////////// AgencyPrecondition::AgencyPrecondition(std::string const& key, Type t, bool e) - : key(AgencyComm::prefixPath() + key), type(t), empty(e) { -} + : key(AgencyComm::prefixPath() + key), type(t), empty(e) {} ////////////////////////////////////////////////////////////////////////////// /// @brief constructs a precondition @@ -112,8 +113,7 @@ AgencyPrecondition::AgencyPrecondition(std::string const& key, Type t, bool e) AgencyPrecondition::AgencyPrecondition(std::string const& key, Type t, VPackSlice s) - : key(AgencyComm::prefixPath() + key), type(t), empty(false), value(s) { -} + : key(AgencyComm::prefixPath() + key), type(t), empty(false), value(s) {} ////////////////////////////////////////////////////////////////////////////// /// @brief adds the precondition formatted as an attribute in a vpack obj @@ -124,7 +124,7 @@ void AgencyPrecondition::toVelocyPack(VPackBuilder& builder) const { builder.add(VPackValue(key)); { VPackObjectBuilder preconditionDefinition(&builder); - switch(type) { + switch (type) { case AgencyPrecondition::EMPTY: builder.add("oldEmpty", VPackValue(empty)); break; @@ -157,13 +157,13 @@ void AgencyWriteTransaction::toVelocyPack(VPackBuilder& builder) const { VPackArrayBuilder guard(&builder); { VPackObjectBuilder guard2(&builder); - for (AgencyOperation const& operation: operations) { + for (AgencyOperation const& operation : operations) { operation.toVelocyPack(builder); } } if (preconditions.size() > 0) { VPackObjectBuilder guard3(&builder); - for (AgencyPrecondition const& precondition: preconditions) { + for (AgencyPrecondition const& precondition : preconditions) { precondition.toVelocyPack(builder); } } @@ -185,7 +185,7 @@ std::string AgencyReadTransaction::toJson() const { void AgencyReadTransaction::toVelocyPack(VPackBuilder& builder) const { VPackArrayBuilder guard2(&builder); - for (std::string const& key: keys) { + for (std::string const& key : keys) { builder.add(VPackValue(key)); } } @@ -287,8 +287,8 @@ std::string AgencyCommResult::errorMessage() const { return arangodb::basics::VelocyPackHelper::getStringValue(body, "message", ""); } catch (VPackException const& e) { - std::string message("VPackException parsing body ("+ _body + "): " - + e.what()); + std::string message("VPackException parsing body (" + _body + "): " + + e.what()); return std::string(message); } } @@ -326,9 +326,7 @@ void AgencyCommResult::clear() { /// get results of query as slice //////////////////////////////////////////////////////////////////////////////// -VPackSlice AgencyCommResult::slice() { - return _vpack->slice(); -} +VPackSlice AgencyCommResult::slice() { return _vpack->slice(); } //////////////////////////////////////////////////////////////////////////////// /// @brief the static global URL prefix @@ -415,7 +413,7 @@ bool AgencyComm::tryConnect() { // mop: not sure if a timeout makes sense here while (true) { - LOG_TOPIC(DEBUG, Logger::AGENCYCOMM) + LOG_TOPIC(DEBUG, Logger::AGENCYCOMM) << "Trying to find an active agency. Checking " << endpointsStr; std::list::iterator it = _globalEndpoints.begin(); @@ -463,7 +461,7 @@ bool AgencyComm::initialize() { /// @brief will try to initialize a new agency ////////////////////////////////////////////////////////////////////////////// -bool AgencyComm::tryInitializeStructure(std::string const& jwtSecret) { +bool AgencyComm::tryInitializeStructure(std::string const& jwtSecret) { VPackBuilder builder; try { VPackObjectBuilder b(&builder); @@ -544,9 +542,7 @@ bool AgencyComm::tryInitializeStructure(std::string const& jwtSecret) { builder.add("NumberOfCoordinators", VPackSlice::nullSlice()); builder.add("NumberOfDBServers", VPackSlice::nullSlice()); builder.add(VPackValue("CleanedServers")); - { - VPackArrayBuilder dd(&builder); - } + { VPackArrayBuilder dd(&builder); } builder.add("Lock", VPackValue("UNLOCKED")); addEmptyVPackObject("MapLocalToID", builder); addEmptyVPackObject("Failed", builder); @@ -565,7 +561,8 @@ bool AgencyComm::tryInitializeStructure(std::string const& jwtSecret) { builder.add("InitDone", VPackValue(true)); builder.add("Secret", VPackValue(encodeHex(jwtSecret))); } catch (std::exception const& e) { - LOG_TOPIC(ERR, Logger::STARTUP) << "Couldn't create initializing structure " << e.what(); + LOG_TOPIC(ERR, Logger::STARTUP) << "Couldn't create initializing structure " + << e.what(); return false; } catch (...) { LOG_TOPIC(ERR, Logger::STARTUP) << "Couldn't create initializing structure"; @@ -573,16 +570,17 @@ bool AgencyComm::tryInitializeStructure(std::string const& jwtSecret) { } try { - LOG_TOPIC(TRACE, Logger::STARTUP) - << "Initializing agency with " << builder.toJson(); + LOG_TOPIC(TRACE, Logger::STARTUP) << "Initializing agency with " + << builder.toJson(); - AgencyOperation initOperation("", AgencyValueOperationType::SET, builder.slice()); + AgencyOperation initOperation("", AgencyValueOperationType::SET, + builder.slice()); AgencyWriteTransaction initTransaction; initTransaction.operations.push_back(initOperation); - + auto result = sendTransactionWithFailover(initTransaction); - + return result.successful(); } catch (std::exception const& e) { LOG(FATAL) << "Fatal error initializing agency " << e.what(); @@ -604,14 +602,14 @@ bool AgencyComm::shouldInitializeStructure() { double timeout = _globalConnectionOptions._requestTimeout; // "InitDone" key should not previously exist auto result = casValue("InitDone", builder.slice(), false, 60.0, timeout); - + if (!result.successful()) { // somebody else has or is initializing the agency - LOG_TOPIC(TRACE, Logger::STARTUP) + LOG_TOPIC(TRACE, Logger::STARTUP) << "someone else is initializing the agency"; return false; } - + return true; } @@ -621,48 +619,49 @@ bool AgencyComm::shouldInitializeStructure() { bool AgencyComm::ensureStructureInitialized() { LOG_TOPIC(TRACE, Logger::STARTUP) << "Checking if agency is initialized"; - - RestServerFeature* restServer = - application_features::ApplicationServer::getFeature("RestServer"); + + GeneralServerFeature* restServer = + application_features::ApplicationServer::getFeature( + "GeneralServer"); while (true) { while (shouldInitializeStructure()) { - LOG_TOPIC(TRACE, Logger::STARTUP) + LOG_TOPIC(TRACE, Logger::STARTUP) << "Agency is fresh. Needs initial structure."; // mop: we initialized it .. great success if (tryInitializeStructure(restServer->jwtSecret())) { LOG_TOPIC(TRACE, Logger::STARTUP) << "Successfully initialized agency"; break; - } + } - LOG_TOPIC(WARN, Logger::STARTUP) + LOG_TOPIC(WARN, Logger::STARTUP) << "Initializing agency failed. We'll try again soon"; // We should really have exclusive access, here, this is strange! sleep(1); } - + AgencyCommResult result = getValues("InitDone"); - + if (result.successful()) { - VPackSlice value = result.slice()[0].get(std::vector( - {prefix(), "InitDone"})); + VPackSlice value = result.slice()[0].get( + std::vector({prefix(), "InitDone"})); if (value.isBoolean() && value.getBoolean()) { // expecting a value of "true" LOG_TOPIC(TRACE, Logger::STARTUP) << "Found an initialized agency"; break; } } - - LOG_TOPIC(TRACE, Logger::STARTUP) + + LOG_TOPIC(TRACE, Logger::STARTUP) << "Waiting for agency to get initialized"; sleep(1); - } // next attempt - + } // next attempt + AgencyCommResult secretResult = getValues("Secret"); - VPackSlice secretValue = secretResult.slice()[0].get(std::vector( - {prefix(), "Secret"})); - + VPackSlice secretValue = secretResult.slice()[0].get( + std::vector({prefix(), "Secret"})); + if (!secretValue.isString()) { LOG(ERR) << "Couldn't find secret in agency!"; return false; @@ -701,8 +700,8 @@ void AgencyComm::disconnect() { bool AgencyComm::addEndpoint(std::string const& endpointSpecification, bool toFront) { - LOG_TOPIC(TRACE, Logger::AGENCYCOMM) - << "adding global agency-endpoint '" << endpointSpecification << "'"; + LOG_TOPIC(TRACE, Logger::AGENCYCOMM) << "adding global agency-endpoint '" + << endpointSpecification << "'"; { WRITE_LOCKER(writeLocker, AgencyComm::_globalLock); @@ -757,7 +756,7 @@ bool AgencyComm::hasEndpoint(std::string const& endpointSpecification) { while (it != _globalEndpoints.end()) { AgencyEndpoint const* agencyEndpoint = (*it); - + if (agencyEndpoint->_endpoint->specification() == endpointSpecification) { return true; } @@ -871,7 +870,6 @@ std::string AgencyComm::getEndpointsString() { //////////////////////////////////////////////////////////////////////////////// bool AgencyComm::setPrefix(std::string const&) { - // agency prefix must not be changed _globalPrefix = "/arango/"; _globalPrefixStripped = "arango"; @@ -963,10 +961,9 @@ AgencyCommResult AgencyComm::sendServerState(double ttl) { //////////////////////////////////////////////////////////////////////////////// std::string AgencyComm::getVersion() { - AgencyCommResult result - = sendWithFailover(arangodb::GeneralRequest::RequestType::GET, - _globalConnectionOptions._requestTimeout, "version", - "", false); + AgencyCommResult result = sendWithFailover( + arangodb::GeneralRequest::RequestType::GET, + _globalConnectionOptions._requestTimeout, "version", "", false); if (result.successful()) { return result._body; @@ -981,11 +978,10 @@ std::string AgencyComm::getVersion() { AgencyCommResult AgencyComm::createDirectory(std::string const& key) { VPackBuilder builder; - { - VPackObjectBuilder dir(&builder); - } - - AgencyOperation operation(key, AgencyValueOperationType::SET, builder.slice()); + { VPackObjectBuilder dir(&builder); } + + AgencyOperation operation(key, AgencyValueOperationType::SET, + builder.slice()); AgencyWriteTransaction transaction(operation); return sendTransactionWithFailover(transaction); @@ -996,12 +992,12 @@ AgencyCommResult AgencyComm::createDirectory(std::string const& key) { //////////////////////////////////////////////////////////////////////////////// AgencyCommResult AgencyComm::setValue(std::string const& key, - std::string const& value, - double ttl) { + std::string const& value, double ttl) { VPackBuilder builder; builder.add(VPackValue(value)); - - AgencyOperation operation(key, AgencyValueOperationType::SET, builder.slice()); + + AgencyOperation operation(key, AgencyValueOperationType::SET, + builder.slice()); operation._ttl = static_cast(ttl); AgencyWriteTransaction transaction(operation); @@ -1015,7 +1011,6 @@ AgencyCommResult AgencyComm::setValue(std::string const& key, AgencyCommResult AgencyComm::setValue(std::string const& key, arangodb::velocypack::Slice const& slice, double ttl) { - AgencyOperation operation(key, AgencyValueOperationType::SET, slice); operation._ttl = static_cast(ttl); AgencyWriteTransaction transaction(operation); @@ -1046,10 +1041,8 @@ bool AgencyComm::exists(std::string const& key) { //////////////////////////////////////////////////////////////////////////////// AgencyCommResult AgencyComm::increment(std::string const& key) { - AgencyWriteTransaction transaction( - AgencyOperation(key, AgencySimpleOperationType::INCREMENT_OP) - ); + AgencyOperation(key, AgencySimpleOperationType::INCREMENT_OP)); return sendTransactionWithFailover(transaction); } @@ -1060,7 +1053,7 @@ AgencyCommResult AgencyComm::increment(std::string const& key) { AgencyCommResult AgencyComm::getValues(std::string const& key) { std::string url(buildUrl()); - + url += "/read"; VPackBuilder builder; { @@ -1071,17 +1064,15 @@ AgencyCommResult AgencyComm::getValues(std::string const& key) { } } - AgencyCommResult result - = sendWithFailover(arangodb::GeneralRequest::RequestType::POST, - _globalConnectionOptions._requestTimeout, url, - builder.toJson(), false); + AgencyCommResult result = sendWithFailover( + arangodb::GeneralRequest::RequestType::POST, + _globalConnectionOptions._requestTimeout, url, builder.toJson(), false); if (!result.successful()) { return result; } - - try { + try { result.setVPack(VPackParser::fromJson(result.body().c_str())); if (!result.slice().isArray()) { @@ -1093,16 +1084,16 @@ AgencyCommResult AgencyComm::getValues(std::string const& key) { result._statusCode = 500; return result; } - + result._body.clear(); result._statusCode = 200; - - } catch(std::exception &e) { - LOG_TOPIC(ERR, Logger::AGENCYCOMM) - << "Error transforming result. " << e.what(); + + } catch (std::exception& e) { + LOG_TOPIC(ERR, Logger::AGENCYCOMM) << "Error transforming result. " + << e.what(); result.clear(); - } catch(...) { - LOG_TOPIC(ERR, Logger::AGENCYCOMM) + } catch (...) { + LOG_TOPIC(ERR, Logger::AGENCYCOMM) << "Error transforming result. Out of memory"; result.clear(); } @@ -1118,8 +1109,7 @@ AgencyCommResult AgencyComm::removeValues(std::string const& key, bool recursive) { AgencyWriteTransaction transaction( AgencyOperation(key, AgencySimpleOperationType::DELETE_OP), - AgencyPrecondition(key, AgencyPrecondition::EMPTY, false) - ); + AgencyPrecondition(key, AgencyPrecondition::EMPTY, false)); return sendTransactionWithFailover(transaction); } @@ -1133,16 +1123,16 @@ AgencyCommResult AgencyComm::casValue(std::string const& key, arangodb::velocypack::Slice const& json, bool prevExist, double ttl, double timeout) { - VPackBuilder newBuilder; newBuilder.add(json); - AgencyOperation operation(key, AgencyValueOperationType::SET, newBuilder.slice()); + AgencyOperation operation(key, AgencyValueOperationType::SET, + newBuilder.slice()); AgencyPrecondition precondition(key, AgencyPrecondition::EMPTY, !prevExist); if (ttl >= 0.0) { operation._ttl = static_cast(ttl); } - + VPackBuilder preBuilder; precondition.toVelocyPack(preBuilder); @@ -1162,17 +1152,18 @@ AgencyCommResult AgencyComm::casValue(std::string const& key, double timeout) { VPackBuilder newBuilder; newBuilder.add(newJson); - + VPackBuilder oldBuilder; oldBuilder.add(oldJson); - - AgencyOperation operation(key, AgencyValueOperationType::SET, newBuilder.slice()); + + AgencyOperation operation(key, AgencyValueOperationType::SET, + newBuilder.slice()); AgencyPrecondition precondition(key, AgencyPrecondition::VALUE, oldBuilder.slice()); if (ttl >= 0.0) { operation._ttl = static_cast(ttl); } - + AgencyWriteTransaction transaction(operation, precondition); return sendTransactionWithFailover(transaction, timeout); } @@ -1181,13 +1172,15 @@ AgencyCommResult AgencyComm::casValue(std::string const& key, /// @brief registers a callback on a key //////////////////////////////////////////////////////////////////////////////// -bool AgencyComm::registerCallback(std::string const& key, std::string const& endpoint) { +bool AgencyComm::registerCallback(std::string const& key, + std::string const& endpoint) { VPackBuilder builder; builder.add(VPackValue(endpoint)); - - AgencyOperation operation(key, AgencyValueOperationType::OBSERVE, builder.slice()); + + AgencyOperation operation(key, AgencyValueOperationType::OBSERVE, + builder.slice()); AgencyWriteTransaction transaction(operation); - + auto result = sendTransactionWithFailover(transaction); return result.successful(); } @@ -1200,10 +1193,11 @@ bool AgencyComm::unregisterCallback(std::string const& key, std::string const& endpoint) { VPackBuilder builder; builder.add(VPackValue(endpoint)); - - AgencyOperation operation(key, AgencyValueOperationType::UNOBSERVE, builder.slice()); + + AgencyOperation operation(key, AgencyValueOperationType::UNOBSERVE, + builder.slice()); AgencyWriteTransaction transaction(operation); - + auto result = sendTransactionWithFailover(transaction); return result.successful(); } @@ -1285,11 +1279,11 @@ uint64_t AgencyComm::uniqid(uint64_t count, double timeout) { continue; } - VPackSlice oldSlice = result.slice()[0].get(std::vector( - {prefix(), "Sync", "LatestID"})); + VPackSlice oldSlice = result.slice()[0].get( + std::vector({prefix(), "Sync", "LatestID"})); if (!(oldSlice.isSmallInt() || oldSlice.isUInt())) { - LOG_TOPIC(WARN, Logger::AGENCYCOMM) + LOG_TOPIC(WARN, Logger::AGENCYCOMM) << "Sync/LatestID in agency is not an unsigned integer, fixing..."; try { VPackBuilder builder; @@ -1309,8 +1303,7 @@ uint64_t AgencyComm::uniqid(uint64_t count, double timeout) { oldValue = 0; try { oldValue = oldSlice.getUInt(); - } - catch (...) { + } catch (...) { } uint64_t const newValue = oldValue + count; @@ -1322,8 +1315,8 @@ uint64_t AgencyComm::uniqid(uint64_t count, double timeout) { continue; } - result = casValue("Sync/LatestID", oldSlice, newBuilder.slice(), - 0.0, timeout); + result = + casValue("Sync/LatestID", oldSlice, newBuilder.slice(), 0.0, timeout); if (result.successful()) { break; @@ -1527,14 +1520,13 @@ void AgencyComm::requeueEndpoint(AgencyEndpoint* agencyEndpoint, std::string AgencyComm::buildUrl() const { return AgencyComm::AGENCY_URL_PREFIX; } - + ////////////////////////////////////////////////////////////////////////////// /// @brief sends a write HTTP request to the agency, handling failover ////////////////////////////////////////////////////////////////////////////// AgencyCommResult AgencyComm::sendTransactionWithFailover( AgencyTransaction const& transaction, double timeout) { - std::string url(buildUrl()); url += transaction.isWriteTransaction() ? "/write" : "/read"; @@ -1553,12 +1545,12 @@ AgencyCommResult AgencyComm::sendTransactionWithFailover( if (!result.successful()) { return result; } - + try { result.setVPack(VPackParser::fromJson(result.body().c_str())); if (transaction.isWriteTransaction()) { - if (!result.slice().isObject() || + if (!result.slice().isObject() || !result.slice().get("results").isArray()) { result._statusCode = 500; return result; @@ -1579,19 +1571,19 @@ AgencyCommResult AgencyComm::sendTransactionWithFailover( return result; } } - + result._body.clear(); - - } catch(std::exception &e) { - LOG_TOPIC(ERR, Logger::AGENCYCOMM) - << "Error transforming result. " << e.what(); + + } catch (std::exception& e) { + LOG_TOPIC(ERR, Logger::AGENCYCOMM) << "Error transforming result. " + << e.what(); result.clear(); - } catch(...) { - LOG_TOPIC(ERR, Logger::AGENCYCOMM) + } catch (...) { + LOG_TOPIC(ERR, Logger::AGENCYCOMM) << "Error transforming result. Out of memory"; result.clear(); } - + return result; } @@ -1600,11 +1592,8 @@ AgencyCommResult AgencyComm::sendTransactionWithFailover( //////////////////////////////////////////////////////////////////////////////// AgencyCommResult AgencyComm::sendWithFailover( - arangodb::GeneralRequest::RequestType method, - double const timeout, - std::string const& url, - std::string const& body, bool isWatch) { - + arangodb::GeneralRequest::RequestType method, double const timeout, + std::string const& url, std::string const& body, bool isWatch) { size_t numEndpoints; { @@ -1633,7 +1622,8 @@ AgencyCommResult AgencyComm::sendWithFailover( TRI_ASSERT(agencyEndpoint != nullptr); try { - result = send(agencyEndpoint->_connection, method, timeout, realUrl, body); + result = + send(agencyEndpoint->_connection, method, timeout, realUrl, body); } catch (...) { result._connected = false; result._statusCode = 0; @@ -1645,8 +1635,8 @@ AgencyCommResult AgencyComm::sendWithFailover( break; } -// LOG(WARN) << result._statusCode; - + // LOG(WARN) << result._statusCode; + if (result._statusCode == (int)arangodb::GeneralResponse::ResponseCode::TEMPORARY_REDIRECT) { // sometimes the agency will return a 307 (temporary redirect) @@ -1686,8 +1676,8 @@ AgencyCommResult AgencyComm::sendWithFailover( if (!AgencyComm::hasEndpoint(endpoint)) { AgencyComm::addEndpoint(endpoint, true); - LOG_TOPIC(DEBUG, Logger::AGENCYCOMM) - << "adding agency-endpoint '" << endpoint << "'"; + LOG_TOPIC(DEBUG, Logger::AGENCYCOMM) << "adding agency-endpoint '" + << endpoint << "'"; // re-check the new endpoint if (AgencyComm::hasEndpoint(endpoint)) { @@ -1695,7 +1685,7 @@ AgencyCommResult AgencyComm::sendWithFailover( continue; } - LOG_TOPIC(ERR, Logger::AGENCYCOMM) + LOG_TOPIC(ERR, Logger::AGENCYCOMM) << "found redirection to unknown endpoint '" << endpoint << "'. Will not follow!"; @@ -1736,9 +1726,9 @@ AgencyCommResult AgencyComm::sendWithFailover( //////////////////////////////////////////////////////////////////////////////// AgencyCommResult AgencyComm::send( - arangodb::httpclient::GeneralClientConnection* connection, - arangodb::GeneralRequest::RequestType method, - double timeout, std::string const& url, std::string const& body) { + arangodb::httpclient::GeneralClientConnection* connection, + arangodb::GeneralRequest::RequestType method, double timeout, + std::string const& url, std::string const& body) { TRI_ASSERT(connection != nullptr); if (method == arangodb::GeneralRequest::RequestType::GET || @@ -1753,7 +1743,7 @@ AgencyCommResult AgencyComm::send( result._connected = false; result._statusCode = 0; - LOG_TOPIC(TRACE, Logger::AGENCYCOMM) + LOG_TOPIC(TRACE, Logger::AGENCYCOMM) << "sending " << arangodb::HttpRequest::translateMethod(method) << " request to agency at endpoint '" << connection->getEndpoint()->specification() << "', url '" << url @@ -1791,7 +1781,7 @@ AgencyCommResult AgencyComm::send( } result._connected = true; - + if (response->getHttpReturnCode() == (int)arangodb::GeneralResponse::ResponseCode::TEMPORARY_REDIRECT) { // temporary redirect. now save location header @@ -1799,8 +1789,8 @@ AgencyCommResult AgencyComm::send( bool found = false; result._location = response->getHeaderField(StaticStrings::Location, found); - LOG_TOPIC(TRACE, Logger::AGENCYCOMM) - << "redirecting to location: '" << result._location << "'"; + LOG_TOPIC(TRACE, Logger::AGENCYCOMM) << "redirecting to location: '" + << result._location << "'"; if (!found) { // a 307 without a location header does not make any sense @@ -1816,10 +1806,10 @@ AgencyCommResult AgencyComm::send( result._body = std::string(sb.c_str(), sb.length()); result._statusCode = response->getHttpReturnCode(); - LOG_TOPIC(TRACE, Logger::AGENCYCOMM) + LOG_TOPIC(TRACE, Logger::AGENCYCOMM) << "request to agency returned status code " << result._statusCode - << ", message: '" << result._message << "', body: '" - << result._body << "'"; + << ", message: '" << result._message << "', body: '" << result._body + << "'"; if (result.successful()) { return result; diff --git a/arangod/Cluster/HeartbeatThread.cpp b/arangod/Cluster/HeartbeatThread.cpp index 184f129cff..9180879e93 100644 --- a/arangod/Cluster/HeartbeatThread.cpp +++ b/arangod/Cluster/HeartbeatThread.cpp @@ -39,9 +39,9 @@ #include "Dispatcher/Dispatcher.h" #include "Dispatcher/DispatcherFeature.h" #include "Dispatcher/Job.h" +#include "GeneralServer/GeneralServerFeature.h" #include "GeneralServer/RestHandlerFactory.h" #include "Logger/Logger.h" -#include "RestServer/RestServerFeature.h" #include "V8/v8-globals.h" #include "VocBase/AuthInfo.h" #include "VocBase/server.h" @@ -375,7 +375,7 @@ void HeartbeatThread::runCoordinator() { if (userVersion > 0 && userVersion != oldUserVersion) { oldUserVersion = userVersion; - RestServerFeature::AUTH_INFO.outdate(); + GeneralServerFeature::AUTH_INFO.outdate(); } } diff --git a/arangod/GeneralServer/GeneralCommTask.cpp b/arangod/GeneralServer/GeneralCommTask.cpp index ab5eec91b9..30edd20376 100644 --- a/arangod/GeneralServer/GeneralCommTask.cpp +++ b/arangod/GeneralServer/GeneralCommTask.cpp @@ -29,10 +29,10 @@ #include "Basics/StaticStrings.h" #include "Basics/StringBuffer.h" #include "GeneralServer/GeneralServer.h" +#include "GeneralServer/GeneralServerFeature.h" #include "GeneralServer/RestHandler.h" #include "GeneralServer/RestHandlerFactory.h" #include "Logger/Logger.h" -#include "RestServer/RestServerFeature.h" #include "Scheduler/Scheduler.h" #include "Scheduler/SchedulerFeature.h" #include "VocBase/server.h" diff --git a/arangod/GeneralServer/GeneralServer.cpp b/arangod/GeneralServer/GeneralServer.cpp index 23c6fa78c7..4e32b24256 100644 --- a/arangod/GeneralServer/GeneralServer.cpp +++ b/arangod/GeneralServer/GeneralServer.cpp @@ -32,10 +32,10 @@ #include "GeneralServer/AsyncJobManager.h" #include "GeneralServer/GeneralCommTask.h" #include "GeneralServer/GeneralListenTask.h" +#include "GeneralServer/GeneralServerFeature.h" #include "GeneralServer/HttpServerJob.h" #include "GeneralServer/RestHandler.h" #include "Logger/Logger.h" -#include "RestServer/RestServerFeature.h" #include "Scheduler/ListenTask.h" #include "Scheduler/Scheduler.h" #include "Scheduler/SchedulerFeature.h" @@ -78,6 +78,7 @@ GeneralServer::GeneralServer( _verificationMode(SSL_VERIFY_NONE), _verificationCallback(nullptr), _sslAllowed(ctx != nullptr) {} + //////////////////////////////////////////////////////////////////////////////// /// @brief destructs a general server //////////////////////////////////////////////////////////////////////////////// @@ -233,7 +234,7 @@ bool GeneralServer::handleRequestAsync(GeneralCommTask* task, // register the job with the job manager if (jobId != nullptr) { - RestServerFeature::JOB_MANAGER->initAsyncJob( + GeneralServerFeature::JOB_MANAGER->initAsyncJob( static_cast(job.get()), hdr); *jobId = job->jobId(); } diff --git a/arangod/RestServer/RestServerFeature.cpp b/arangod/GeneralServer/GeneralServerFeature.cpp similarity index 93% rename from arangod/RestServer/RestServerFeature.cpp rename to arangod/GeneralServer/GeneralServerFeature.cpp index a95d44a9e6..db73195075 100644 --- a/arangod/RestServer/RestServerFeature.cpp +++ b/arangod/GeneralServer/GeneralServerFeature.cpp @@ -20,7 +20,7 @@ /// @author Dr. Frank Celler //////////////////////////////////////////////////////////////////////////////// -#include "RestServerFeature.h" +#include "GeneralServerFeature.h" #include "Agency/AgencyFeature.h" #include "Agency/RestAgencyHandler.h" @@ -79,14 +79,14 @@ using namespace arangodb; using namespace arangodb::rest; using namespace arangodb::options; -rest::RestHandlerFactory* RestServerFeature::HANDLER_FACTORY = nullptr; -rest::AsyncJobManager* RestServerFeature::JOB_MANAGER = nullptr; -RestServerFeature* RestServerFeature::REST_SERVER = nullptr; -AuthInfo RestServerFeature::AUTH_INFO; +rest::RestHandlerFactory* GeneralServerFeature::HANDLER_FACTORY = nullptr; +rest::AsyncJobManager* GeneralServerFeature::JOB_MANAGER = nullptr; +GeneralServerFeature* GeneralServerFeature::GENERAL_SERVER = nullptr; +AuthInfo GeneralServerFeature::AUTH_INFO; -RestServerFeature::RestServerFeature( +GeneralServerFeature::GeneralServerFeature( application_features::ApplicationServer* server) - : ApplicationFeature(server, "RestServer"), + : ApplicationFeature(server, "GeneralServer"), _keepAliveTimeout(300.0), _allowMethodOverride(false), _authentication(true), @@ -111,7 +111,7 @@ RestServerFeature::RestServerFeature( startsAfter("Upgrade"); } -void RestServerFeature::collectOptions( +void GeneralServerFeature::collectOptions( std::shared_ptr options) { options->addSection("server", "Server features"); @@ -180,7 +180,7 @@ void RestServerFeature::collectOptions( new VectorParameter(&_trustedProxies)); } -void RestServerFeature::validateOptions(std::shared_ptr) { +void GeneralServerFeature::validateOptions(std::shared_ptr) { if (!_accessControlAllowOrigins.empty()) { // trim trailing slash from all members for (auto& it : _accessControlAllowOrigins) { @@ -210,9 +210,9 @@ void RestServerFeature::validateOptions(std::shared_ptr) { } if (!_jwtSecret.empty()) { - if (_jwtSecret.length() > RestServerFeature::_maxSecretLength) { + if (_jwtSecret.length() > GeneralServerFeature::_maxSecretLength) { LOG(ERR) << "Given JWT secret too long. Max length is " - << RestServerFeature::_maxSecretLength; + << GeneralServerFeature::_maxSecretLength; FATAL_ERROR_EXIT(); } } @@ -256,32 +256,32 @@ static bool SetRequestContext(GeneralRequest* request, void* data) { } VocbaseContext* ctx = new arangodb::VocbaseContext( - request, vocbase, RestServerFeature::getJwtSecret()); + request, vocbase, GeneralServerFeature::getJwtSecret()); request->setRequestContext(ctx, true); // the "true" means the request is the owner of the context return true; } -void RestServerFeature::generateNewJwtSecret() { +void GeneralServerFeature::generateNewJwtSecret() { _jwtSecret = ""; uint16_t m = 254; - for (size_t i = 0; i < RestServerFeature::_maxSecretLength; i++) { + for (size_t i = 0; i < GeneralServerFeature::_maxSecretLength; i++) { _jwtSecret += (1 + RandomGenerator::interval(m)); } } -void RestServerFeature::prepare() { +void GeneralServerFeature::prepare() { if (_jwtSecret.empty()) { generateNewJwtSecret(); } RestHandlerFactory::setMaintenance(true); - REST_SERVER = this; + GENERAL_SERVER = this; } -void RestServerFeature::start() { +void GeneralServerFeature::start() { _jobManager.reset(new AsyncJobManager(ClusterCommRestCallback)); JOB_MANAGER = _jobManager.get(); @@ -313,10 +313,10 @@ void RestServerFeature::start() { // populate the authentication cache. otherwise no one can access the new // database - RestServerFeature::AUTH_INFO.outdate(); + GeneralServerFeature::AUTH_INFO.outdate(); } -void RestServerFeature::stop() { +void GeneralServerFeature::stop() { for (auto& server : _servers) { server->stopListening(); } @@ -326,17 +326,17 @@ void RestServerFeature::stop() { } } -void RestServerFeature::unprepare() { +void GeneralServerFeature::unprepare() { for (auto& server : _servers) { delete server; } - REST_SERVER = nullptr; + GENERAL_SERVER = nullptr; JOB_MANAGER = nullptr; HANDLER_FACTORY = nullptr; } -void RestServerFeature::buildServers() { +void GeneralServerFeature::buildServers() { TRI_ASSERT(_jobManager != nullptr); EndpointFeature* endpoint = @@ -367,7 +367,7 @@ void RestServerFeature::buildServers() { _servers.push_back(server); } -void RestServerFeature::defineHandlers() { +void GeneralServerFeature::defineHandlers() { TRI_ASSERT(_jobManager != nullptr); AgencyFeature* agency = diff --git a/arangod/RestServer/RestServerFeature.h b/arangod/GeneralServer/GeneralServerFeature.h similarity index 84% rename from arangod/RestServer/RestServerFeature.h rename to arangod/GeneralServer/GeneralServerFeature.h index 34b8ca18e1..732eb945ec 100644 --- a/arangod/RestServer/RestServerFeature.h +++ b/arangod/GeneralServer/GeneralServerFeature.h @@ -20,8 +20,8 @@ /// @author Dr. Frank Celler //////////////////////////////////////////////////////////////////////////////// -#ifndef APPLICATION_FEATURES_REST_SERVER_FEATURE_H -#define APPLICATION_FEATURES_REST_SERVER_FEATURE_H 1 +#ifndef APPLICATION_FEATURES_GENERAL_SERVER_FEATURE_H +#define APPLICATION_FEATURES_GENERAL_SERVER_FEATURE_H 1 #include "ApplicationFeatures/ApplicationFeature.h" @@ -37,7 +37,7 @@ class GeneralServer; class RestServerThread; -class RestServerFeature final +class GeneralServerFeature final : public application_features::ApplicationFeature { public: static rest::RestHandlerFactory* HANDLER_FACTORY; @@ -46,33 +46,33 @@ class RestServerFeature final public: static bool authenticationEnabled() { - return REST_SERVER != nullptr && REST_SERVER->authentication(); + return GENERAL_SERVER != nullptr && GENERAL_SERVER->authentication(); } static bool hasProxyCheck() { - return REST_SERVER != nullptr && REST_SERVER->proxyCheck(); + return GENERAL_SERVER != nullptr && GENERAL_SERVER->proxyCheck(); } static std::vector getTrustedProxies() { - if (REST_SERVER == nullptr) { + if (GENERAL_SERVER == nullptr) { return std::vector(); } - return REST_SERVER->trustedProxies(); + return GENERAL_SERVER->trustedProxies(); } static std::string getJwtSecret() { - if (REST_SERVER == nullptr) { + if (GENERAL_SERVER == nullptr) { return std::string(); } - return REST_SERVER->jwtSecret(); + return GENERAL_SERVER->jwtSecret(); } private: - static RestServerFeature* REST_SERVER; + static GeneralServerFeature* GENERAL_SERVER; static const size_t _maxSecretLength = 64; public: - explicit RestServerFeature(application_features::ApplicationServer*); + explicit GeneralServerFeature(application_features::ApplicationServer*); public: void collectOptions(std::shared_ptr) override final; diff --git a/arangod/GeneralServer/HttpCommTask.cpp b/arangod/GeneralServer/HttpCommTask.cpp index 7a15f27207..3004e099a2 100644 --- a/arangod/GeneralServer/HttpCommTask.cpp +++ b/arangod/GeneralServer/HttpCommTask.cpp @@ -1,13 +1,38 @@ -#include "GeneralServer/HttpCommTask.h" +//////////////////////////////////////////////////////////////////////////////// +/// DISCLAIMER +/// +/// Copyright 2014-2016 ArangoDB GmbH, Cologne, Germany +/// Copyright 2004-2014 triAGENS GmbH, Cologne, Germany +/// +/// 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. +/// +/// Copyright holder is ArangoDB GmbH, Cologne, Germany +/// +/// @author Dr. Frank Celler +/// @author Achim Brandt +//////////////////////////////////////////////////////////////////////////////// +#include "HttpCommTask.h" + +#include "Basics/HybridLogicalClock.h" #include "GeneralServer/GeneralServer.h" +#include "GeneralServer/GeneralServerFeature.h" #include "GeneralServer/RestHandler.h" #include "GeneralServer/RestHandlerFactory.h" -#include "RestServer/RestServerFeature.h" #include "Scheduler/Scheduler.h" #include "Scheduler/SchedulerFeature.h" -#include "Basics/HybridLogicalClock.h" #include "VocBase/server.h" //clock + //////////////////////////////////////////////////////////////////////////////// /// @brief reads data from the socket //////////////////////////////////////////////////////////////////////////////// @@ -243,7 +268,7 @@ bool HttpCommTask::processRead() { return false; } - RestServerFeature::HANDLER_FACTORY->setRequestContext(_request); + GeneralServerFeature::HANDLER_FACTORY->setRequestContext(_request); _request->setClientTaskId(_taskId); // check HTTP protocol version @@ -586,8 +611,8 @@ void HttpCommTask::processRequest() { // execute response WorkItem::uptr handler( - RestServerFeature::HANDLER_FACTORY->createHandler(_request, - response.get())); + GeneralServerFeature::HANDLER_FACTORY->createHandler(_request, + response.get())); // ab hier generell if (handler == nullptr) { @@ -915,7 +940,7 @@ GeneralResponse::ResponseCode HttpCommTask::authenticateRequest() { auto context = (_request == nullptr) ? nullptr : _request->requestContext(); if (context == nullptr && _request != nullptr) { - bool res = RestServerFeature::HANDLER_FACTORY->setRequestContext(_request); + bool res = GeneralServerFeature::HANDLER_FACTORY->setRequestContext(_request); if (!res) { return GeneralResponse::ResponseCode::NOT_FOUND; diff --git a/arangod/GeneralServer/HttpServerJob.cpp b/arangod/GeneralServer/HttpServerJob.cpp index 4dcc1151f7..146aa4b886 100644 --- a/arangod/GeneralServer/HttpServerJob.cpp +++ b/arangod/GeneralServer/HttpServerJob.cpp @@ -29,9 +29,9 @@ #include "GeneralServer/AsyncJobManager.h" #include "GeneralServer/GeneralCommTask.h" #include "GeneralServer/GeneralServer.h" +#include "GeneralServer/GeneralServerFeature.h" #include "GeneralServer/RestHandler.h" #include "Logger/Logger.h" -#include "RestServer/RestServerFeature.h" #include "Scheduler/Scheduler.h" #include "Scheduler/SchedulerFeature.h" @@ -81,8 +81,8 @@ void HttpServerJob::work() { if (_isAsync) { _handler->RequestStatisticsAgent::release(); - RestServerFeature::JOB_MANAGER->finishAsyncJob(_jobId, - _handler->stealResponse()); + GeneralServerFeature::JOB_MANAGER->finishAsyncJob( + _jobId, _handler->stealResponse()); } else { auto data = std::make_unique(); diff --git a/arangod/RestHandler/RestAuthHandler.cpp b/arangod/RestHandler/RestAuthHandler.cpp index 60eb0587ac..e7067e84c1 100644 --- a/arangod/RestHandler/RestAuthHandler.cpp +++ b/arangod/RestHandler/RestAuthHandler.cpp @@ -27,9 +27,9 @@ #include #include "Basics/StringUtils.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/Logger.h" #include "Rest/HttpRequest.h" -#include "RestServer/RestServerFeature.h" #include "Ssl/SslInterface.h" #include "VocBase/AuthInfo.h" @@ -111,7 +111,7 @@ RestHandler::status RestAuthHandler::execute() { std::string const password = passwordSlice.copyString(); AuthResult auth = - RestServerFeature::AUTH_INFO.checkPassword(username, password); + GeneralServerFeature::AUTH_INFO.checkPassword(username, password); if (auth._authorized) { VPackBuilder resultBuilder; diff --git a/arangod/RestHandler/RestBatchHandler.cpp b/arangod/RestHandler/RestBatchHandler.cpp index b6c38eeaf6..0526a459f0 100644 --- a/arangod/RestHandler/RestBatchHandler.cpp +++ b/arangod/RestHandler/RestBatchHandler.cpp @@ -25,11 +25,11 @@ #include "Basics/StaticStrings.h" #include "Basics/StringUtils.h" -#include "Logger/Logger.h" #include "GeneralServer/GeneralServer.h" +#include "GeneralServer/GeneralServerFeature.h" #include "GeneralServer/RestHandlerFactory.h" +#include "Logger/Logger.h" #include "Rest/HttpRequest.h" -#include "RestServer/RestServerFeature.h" using namespace arangodb; using namespace arangodb::basics; @@ -176,7 +176,7 @@ RestHandler::status RestBatchHandler::execute() { { std::unique_ptr response( new HttpResponse(GeneralResponse::ResponseCode::SERVER_ERROR)); - handler = RestServerFeature::HANDLER_FACTORY->createHandler( + handler = GeneralServerFeature::HANDLER_FACTORY->createHandler( request, response.get()); if (handler == nullptr) { diff --git a/arangod/RestServer/BootstrapFeature.cpp b/arangod/RestServer/BootstrapFeature.cpp index 19ed7f3a82..a4db36e610 100644 --- a/arangod/RestServer/BootstrapFeature.cpp +++ b/arangod/RestServer/BootstrapFeature.cpp @@ -53,7 +53,7 @@ BootstrapFeature::BootstrapFeature( startsAfter("Upgrade"); startsAfter("CheckVersion"); startsAfter("FoxxQueues"); - startsAfter("RestServer"); + startsAfter("GeneralServer"); } void BootstrapFeature::collectOptions(std::shared_ptr options) { diff --git a/arangod/RestServer/ConsoleFeature.cpp b/arangod/RestServer/ConsoleFeature.cpp index 184aa07bdb..e682a32a28 100644 --- a/arangod/RestServer/ConsoleFeature.cpp +++ b/arangod/RestServer/ConsoleFeature.cpp @@ -38,7 +38,7 @@ ConsoleFeature::ConsoleFeature(application_features::ApplicationServer* server) _operationMode(OperationMode::MODE_SERVER), _consoleThread(nullptr) { startsAfter("Server"); - startsAfter("RestServer"); + startsAfter("GeneralServer"); startsAfter("Bootstrap"); } diff --git a/arangod/RestServer/DatabaseFeature.cpp b/arangod/RestServer/DatabaseFeature.cpp index 95b87ea563..4385dc20aa 100644 --- a/arangod/RestServer/DatabaseFeature.cpp +++ b/arangod/RestServer/DatabaseFeature.cpp @@ -25,13 +25,13 @@ #include "Basics/StringUtils.h" #include "Cluster/ServerState.h" #include "Cluster/v8-cluster.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/Logger.h" #include "ProgramOptions/ProgramOptions.h" #include "ProgramOptions/Section.h" #include "Rest/Version.h" #include "RestServer/DatabaseServerFeature.h" #include "RestServer/QueryRegistryFeature.h" -#include "RestServer/RestServerFeature.h" #include "V8Server/V8DealerFeature.h" #include "V8Server/v8-query.h" #include "V8Server/v8-vocbase.h" @@ -245,8 +245,8 @@ void DatabaseFeature::openDatabases() { defaults.forceSyncProperties = _forceSyncProperties; // get authentication (if available) - RestServerFeature* rest = - ApplicationServer::getFeature("RestServer"); + GeneralServerFeature* rest = + ApplicationServer::getFeature("GeneralServer"); defaults.requireAuthentication = rest->authentication(); defaults.requireAuthenticationUnixSockets = rest->authenticationUnixSockets(); diff --git a/arangod/RestServer/ScriptFeature.cpp b/arangod/RestServer/ScriptFeature.cpp index 7a6308be4e..34dea20184 100644 --- a/arangod/RestServer/ScriptFeature.cpp +++ b/arangod/RestServer/ScriptFeature.cpp @@ -43,7 +43,7 @@ ScriptFeature::ScriptFeature(application_features::ApplicationServer* server, in _result(result) { startsAfter("Nonce"); startsAfter("Server"); - startsAfter("RestServer"); + startsAfter("GeneralServer"); } void ScriptFeature::collectOptions(std::shared_ptr options) { diff --git a/arangod/RestServer/ServerFeature.cpp b/arangod/RestServer/ServerFeature.cpp index 7f9ec1482d..0dd1debd90 100644 --- a/arangod/RestServer/ServerFeature.cpp +++ b/arangod/RestServer/ServerFeature.cpp @@ -84,7 +84,6 @@ void ServerFeature::collectOptions(std::shared_ptr options) { options->addOption("--javascript.script", "run scripts and exit", new VectorParameter(&_scripts)); - } void ServerFeature::validateOptions(std::shared_ptr) { @@ -119,19 +118,19 @@ void ServerFeature::validateOptions(std::shared_ptr) { if (!_restServer) { ApplicationServer::disableFeatures({"Daemon", "Dispatcher", "Endpoint", - "RestServer", "Scheduler", "SslServer", - "Supervisor"}); + "GeneralServer", "Scheduler", + "SslServer", "Supervisor"}); - DatabaseFeature* database = + DatabaseFeature* database = ApplicationServer::getFeature("Database"); database->disableReplicationApplier(); - StatisticsFeature* statistics = + StatisticsFeature* statistics = ApplicationServer::getFeature("Statistics"); statistics->disableStatistics(); } - V8DealerFeature* v8dealer = + V8DealerFeature* v8dealer = ApplicationServer::getFeature("V8Dealer"); if (_operationMode == OperationMode::MODE_SCRIPT || @@ -154,7 +153,7 @@ void ServerFeature::validateOptions(std::shared_ptr) { void ServerFeature::start() { if (_operationMode != OperationMode::MODE_CONSOLE && _restServer) { - auto scheduler = + auto scheduler = ApplicationServer::getFeature("Scheduler"); scheduler->buildControlCHandler(); @@ -166,9 +165,9 @@ void ServerFeature::start() { // flush all log output before we go on... this is sensible because any // of the following options may print or prompt, and pending log entries - // might overwrite that + // might overwrite that Logger::flush(); - + switch (_operationMode) { case OperationMode::MODE_UNITTESTS: case OperationMode::MODE_SCRIPT: @@ -200,18 +199,18 @@ void ServerFeature::waitForHeartbeat() { usleep(100 * 1000); } } - + std::string ServerFeature::operationModeString(OperationMode mode) { switch (mode) { - case OperationMode::MODE_CONSOLE: + case OperationMode::MODE_CONSOLE: return "console"; - case OperationMode::MODE_UNITTESTS: + case OperationMode::MODE_UNITTESTS: return "unittests"; - case OperationMode::MODE_SCRIPT: + case OperationMode::MODE_SCRIPT: return "script"; - case OperationMode::MODE_SERVER: + case OperationMode::MODE_SERVER: return "server"; - default: + default: return "unknown"; } } diff --git a/arangod/RestServer/UnitTestsFeature.cpp b/arangod/RestServer/UnitTestsFeature.cpp index 99f5832db7..017e90b2cf 100644 --- a/arangod/RestServer/UnitTestsFeature.cpp +++ b/arangod/RestServer/UnitTestsFeature.cpp @@ -43,7 +43,7 @@ UnitTestsFeature::UnitTestsFeature(application_features::ApplicationServer* serv _result(result) { startsAfter("Nonce"); startsAfter("Server"); - startsAfter("RestServer"); + startsAfter("GeneralServer"); startsAfter("Bootstrap"); } diff --git a/arangod/RestServer/VocbaseContext.cpp b/arangod/RestServer/VocbaseContext.cpp index 8130fd77c9..4d452ebcdb 100644 --- a/arangod/RestServer/VocbaseContext.cpp +++ b/arangod/RestServer/VocbaseContext.cpp @@ -32,8 +32,8 @@ #include "Basics/tri-strings.h" #include "Cluster/ServerState.h" #include "Endpoint/ConnectionInfo.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/Logger.h" -#include "RestServer/RestServerFeature.h" #include "Ssl/SslInterface.h" #include "VocBase/AuthInfo.h" #include "VocBase/server.h" @@ -113,7 +113,7 @@ GeneralResponse::ResponseCode VocbaseContext::authenticate() { if (!username.empty() || !dbname.empty()) { AuthLevel level = - RestServerFeature::AUTH_INFO.canUseDatabase(username, dbname); + GeneralServerFeature::AUTH_INFO.canUseDatabase(username, dbname); if (level != AuthLevel::RW) { result = GeneralResponse::ResponseCode::UNAUTHORIZED; @@ -221,7 +221,7 @@ GeneralResponse::ResponseCode VocbaseContext::basicAuthentication( return GeneralResponse::ResponseCode::OK; } - AuthResult result = RestServerFeature::AUTH_INFO.checkAuthentication( + AuthResult result = GeneralServerFeature::AUTH_INFO.checkAuthentication( AuthInfo::AuthType::BASIC, auth); if (!result._authorized) { @@ -250,7 +250,7 @@ GeneralResponse::ResponseCode VocbaseContext::basicAuthentication( GeneralResponse::ResponseCode VocbaseContext::jwtAuthentication( std::string const& auth) { - AuthResult result = RestServerFeature::AUTH_INFO.checkAuthentication( + AuthResult result = GeneralServerFeature::AUTH_INFO.checkAuthentication( AuthInfo::AuthType::JWT, auth); if (!result._authorized) { diff --git a/arangod/RestServer/arangod.cpp b/arangod/RestServer/arangod.cpp index 2575ee5aa2..2ad7bb1a45 100644 --- a/arangod/RestServer/arangod.cpp +++ b/arangod/RestServer/arangod.cpp @@ -43,6 +43,7 @@ #include "Basics/ArangoGlobalContext.h" #include "Cluster/ClusterFeature.h" #include "Dispatcher/DispatcherFeature.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/LoggerBufferFeature.h" #include "Logger/LoggerFeature.h" #include "ProgramOptions/ProgramOptions.h" @@ -58,7 +59,6 @@ #include "RestServer/FrontendFeature.h" #include "RestServer/InitDatabaseFeature.h" #include "RestServer/QueryRegistryFeature.h" -#include "RestServer/RestServerFeature.h" #include "RestServer/ScriptFeature.h" #include "RestServer/ServerFeature.h" #include "RestServer/UnitTestsFeature.h" @@ -92,18 +92,21 @@ static int runServer(int argc, char** argv) { application_features::ApplicationServer server(options); std::vector nonServerFeatures = { - "Action", "Affinity", "Agency", - "Cluster", "Daemon", "Dispatcher", - "Endpoint", "FoxxQueues", "LoggerBufferFeature", - "RestServer", "Server", "Scheduler", - "SslServer", "Statistics", "Supervisor"}; + "Action", "Affinity", + "Agency", "Cluster", + "Daemon", "Dispatcher", + "Endpoint", "FoxxQueues", + "GeneralServer", "LoggerBufferFeature", + "Server", "Scheduler", + "SslServer", "Statistics", + "Supervisor"}; int ret = EXIT_FAILURE; - + #ifdef _WIN32 server.addFeature(new WindowsServiceFeature(&server)); #endif - + server.addFeature(new ActionFeature(&server)); server.addFeature(new AffinityFeature(&server)); server.addFeature(new AgencyFeature(&server)); @@ -119,6 +122,7 @@ static int runServer(int argc, char** argv) { server.addFeature(new FileDescriptorsFeature(&server)); server.addFeature(new FoxxQueuesFeature(&server)); server.addFeature(new FrontendFeature(&server)); + server.addFeature(new GeneralServerFeature(&server)); server.addFeature(new InitDatabaseFeature(&server, nonServerFeatures)); server.addFeature(new LanguageFeature(&server)); server.addFeature(new LogfileManager(&server)); @@ -129,7 +133,6 @@ static int runServer(int argc, char** argv) { server.addFeature(new QueryRegistryFeature(&server)); server.addFeature(new RandomFeature(&server)); server.addFeature(new RecoveryFeature(&server)); - server.addFeature(new RestServerFeature(&server)); server.addFeature(new SchedulerFeature(&server)); server.addFeature(new ScriptFeature(&server, &ret)); server.addFeature(new ServerFeature(&server, &ret)); @@ -179,12 +182,13 @@ static int runServer(int argc, char** argv) { static int ARGC; static char** ARGV; -static void WINAPI ServiceMain (DWORD dwArgc, LPSTR *lpszArgv) { +static void WINAPI ServiceMain(DWORD dwArgc, LPSTR* lpszArgv) { if (!TRI_InitWindowsEventLog()) { return; } // register the service ctrl handler, lpszArgv[0] contains service name - ServiceStatus = RegisterServiceCtrlHandlerA(lpszArgv[0], (LPHANDLER_FUNCTION) ServiceCtrl); + ServiceStatus = + RegisterServiceCtrlHandlerA(lpszArgv[0], (LPHANDLER_FUNCTION)ServiceCtrl); // set start pending SetServiceStatus(SERVICE_START_PENDING, 0, 1, 10000); @@ -203,17 +207,16 @@ int main(int argc, char* argv[]) { if (argc > 1 && TRI_EqualString("--start-service", argv[1])) { ARGC = argc; ARGV = argv; - - SERVICE_TABLE_ENTRY ste[] = {{TEXT(""), (LPSERVICE_MAIN_FUNCTION)ServiceMain}, - {nullptr, nullptr}}; - + + SERVICE_TABLE_ENTRY ste[] = { + {TEXT(""), (LPSERVICE_MAIN_FUNCTION)ServiceMain}, {nullptr, nullptr}}; + if (!StartServiceCtrlDispatcher(ste)) { std::cerr << "FATAL: StartServiceCtrlDispatcher has failed with " << GetLastError() << std::endl; exit(EXIT_FAILURE); } - } - else + } else #endif return runServer(argc, argv); } diff --git a/arangod/V8Server/v8-vocbase.cpp b/arangod/V8Server/v8-vocbase.cpp index 63147619e7..22de96c643 100644 --- a/arangod/V8Server/v8-vocbase.cpp +++ b/arangod/V8Server/v8-vocbase.cpp @@ -23,9 +23,9 @@ #include "v8-vocbaseprivate.h" -#include -#include #include +#include +#include #include #include @@ -50,9 +50,9 @@ #include "Cluster/ClusterInfo.h" #include "Cluster/ClusterMethods.h" #include "Cluster/ServerState.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Rest/Version.h" #include "RestServer/ConsoleThread.h" -#include "RestServer/RestServerFeature.h" #include "RestServer/VocbaseContext.h" #include "Statistics/StatisticsFeature.h" #include "Utils/ExplicitTransaction.h" @@ -555,8 +555,7 @@ static void JS_WaitCollectorWal( std::string const name = TRI_ObjectToString(args[0]); - TRI_vocbase_col_t* col = - TRI_LookupCollectionByNameVocBase(vocbase, name); + TRI_vocbase_col_t* col = TRI_LookupCollectionByNameVocBase(vocbase, name); if (col == nullptr) { TRI_V8_THROW_EXCEPTION(TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND); @@ -942,7 +941,7 @@ static void JS_ReloadAuth(v8::FunctionCallbackInfo const& args) { TRI_V8_THROW_EXCEPTION_USAGE("RELOAD_AUTH()"); } - RestServerFeature::AUTH_INFO.outdate(); + GeneralServerFeature::AUTH_INFO.outdate(); TRI_V8_RETURN_TRUE(); TRI_V8_TRY_CATCH_END @@ -1196,7 +1195,7 @@ static void JS_ExecuteAqlJson(v8::FunctionCallbackInfo const& args) { TRI_V8_THROW_EXCEPTION(res); } } - + TRI_GET_GLOBALS(); arangodb::aql::Query query(true, vocbase, queryBuilder, options, arangodb::aql::PART_MAIN); @@ -2639,31 +2638,34 @@ static void JS_GetTimers(v8::FunctionCallbackInfo const& args) { static void JS_TrustedProxies(v8::FunctionCallbackInfo const& args) { TRI_V8_TRY_CATCH_BEGIN(isolate); - - if (RestServerFeature::hasProxyCheck()) { + + if (GeneralServerFeature::hasProxyCheck()) { v8::Handle result = v8::Array::New(isolate); uint32_t i = 0; - for (auto const& proxyDef: RestServerFeature::getTrustedProxies()) { + for (auto const& proxyDef : GeneralServerFeature::getTrustedProxies()) { result->Set(i++, TRI_V8_STD_STRING(proxyDef)); } TRI_V8_RETURN(result); } else { TRI_V8_RETURN(v8::Null(isolate)); } - + TRI_V8_TRY_CATCH_END } -static void JS_AuthenticationEnabled(v8::FunctionCallbackInfo const& args) { - // mop: one could argue that this is a function because this might be changable on the fly - // at some time but the sad truth is server startup order :S v8 is initialized after RestServerFeature - // :weglaecheln: +static void JS_AuthenticationEnabled( + v8::FunctionCallbackInfo const& args) { + // mop: one could argue that this is a function because this might be + // changable on the fly at some time but the sad truth is server startup + // order + // v8 is initialized after GeneralServerFeature TRI_V8_TRY_CATCH_BEGIN(isolate); v8::HandleScope scope(isolate); - v8::Handle result = v8::Boolean::New(isolate, RestServerFeature::authenticationEnabled()); - + v8::Handle result = + v8::Boolean::New(isolate, GeneralServerFeature::authenticationEnabled()); + TRI_V8_RETURN(result); TRI_V8_TRY_CATCH_END } @@ -2860,7 +2862,7 @@ void TRI_InitV8VocBridge(v8::Isolate* isolate, v8::Handle context, TRI_AddGlobalFunctionVocbase( isolate, context, TRI_V8_ASCII_STRING("AQL_QUERY_CACHE_INVALIDATE"), JS_QueryCacheInvalidateAql, true); - + TRI_AddGlobalFunctionVocbase(isolate, context, TRI_V8_ASCII_STRING("OBJECT_HASH"), JS_ObjectHash, true); @@ -2888,9 +2890,8 @@ void TRI_InitV8VocBridge(v8::Isolate* isolate, v8::Handle context, TRI_V8_ASCII_STRING("PARSE_DATETIME"), JS_ParseDatetime); - TRI_AddGlobalFunctionVocbase(isolate, context, - TRI_V8_ASCII_STRING("ENDPOINTS"), - JS_Endpoints, true); + TRI_AddGlobalFunctionVocbase( + isolate, context, TRI_V8_ASCII_STRING("ENDPOINTS"), JS_Endpoints, true); TRI_AddGlobalFunctionVocbase(isolate, context, TRI_V8_ASCII_STRING("RELOAD_AUTH"), JS_ReloadAuth, true); @@ -2923,11 +2924,13 @@ void TRI_InitV8VocBridge(v8::Isolate* isolate, v8::Handle context, TRI_AddGlobalFunctionVocbase( isolate, context, TRI_V8_ASCII_STRING("GET_TIMERS"), JS_GetTimers, true); - TRI_AddGlobalFunctionVocbase( - isolate, context, TRI_V8_ASCII_STRING("AUTHENTICATION_ENABLED"), JS_AuthenticationEnabled, true); - - TRI_AddGlobalFunctionVocbase( - isolate, context, TRI_V8_ASCII_STRING("TRUSTED_PROXIES"), JS_TrustedProxies, true); + TRI_AddGlobalFunctionVocbase(isolate, context, + TRI_V8_ASCII_STRING("AUTHENTICATION_ENABLED"), + JS_AuthenticationEnabled, true); + + TRI_AddGlobalFunctionVocbase(isolate, context, + TRI_V8_ASCII_STRING("TRUSTED_PROXIES"), + JS_TrustedProxies, true); // ............................................................................. // create global variables // ............................................................................. @@ -2948,7 +2951,7 @@ void TRI_InitV8VocBridge(v8::Isolate* isolate, v8::Handle context, context->Global()->ForceSet(TRI_V8_ASCII_STRING("THREAD_NUMBER"), v8::Number::New(isolate, (double)threadNumber), v8::ReadOnly); - + // whether or not statistics are enabled context->Global()->ForceSet( TRI_V8_ASCII_STRING("ENABLE_STATISTICS"), diff --git a/arangod/VocBase/AuthInfo.cpp b/arangod/VocBase/AuthInfo.cpp index 8365ab4da8..6f2293d6f2 100644 --- a/arangod/VocBase/AuthInfo.cpp +++ b/arangod/VocBase/AuthInfo.cpp @@ -33,9 +33,9 @@ #include "Basics/VelocyPackHelper.h" #include "Basics/WriteLocker.h" #include "Basics/tri-strings.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/Logger.h" #include "RestServer/DatabaseFeature.h" -#include "RestServer/RestServerFeature.h" #include "Ssl/SslInterface.h" #include "Utils/SingleCollectionTransaction.h" #include "Utils/StandaloneTransactionContext.h" @@ -544,7 +544,7 @@ bool AuthInfo::validateJwtHMAC256Signature(std::string const& message, std::string const& signature) { std::string decodedSignature = StringUtils::decodeBase64U(signature); - std::string const& jwtSecret = RestServerFeature::getJwtSecret(); + std::string const& jwtSecret = GeneralServerFeature::getJwtSecret(); return verifyHMAC(jwtSecret.c_str(), jwtSecret.length(), message.c_str(), message.length(), decodedSignature.c_str(), decodedSignature.length(), diff --git a/arangod/VocBase/server.cpp b/arangod/VocBase/server.cpp index 9c0719583b..0eccd20340 100644 --- a/arangod/VocBase/server.cpp +++ b/arangod/VocBase/server.cpp @@ -41,9 +41,9 @@ #include "Basics/memory-map.h" #include "Basics/tri-strings.h" #include "Cluster/ServerState.h" +#include "GeneralServer/GeneralServerFeature.h" #include "Logger/Logger.h" #include "Random/RandomGenerator.h" -#include "RestServer/RestServerFeature.h" #include "Utils/CursorRepository.h" #include "V8Server/V8DealerFeature.h" #include "VocBase/replication-applier.h" @@ -425,7 +425,7 @@ static int OpenDatabases(TRI_server_t* server, bool isUpgrade) { if (!TRI_ExistsFile(parametersFile.c_str())) { // no parameter.json file - + if (TRI_FilesDirectory(databaseDirectory.c_str()).empty()) { // directory is otherwise empty, continue! LOG(WARN) << "ignoring empty database directory '" << databaseDirectory @@ -1998,7 +1998,8 @@ int TRI_GetUserDatabasesServer(TRI_server_t* server, char const* username, char const* dbName = p.second->_name; TRI_ASSERT(dbName != nullptr); - auto level = RestServerFeature::AUTH_INFO.canUseDatabase(username, dbName); + auto level = + GeneralServerFeature::AUTH_INFO.canUseDatabase(username, dbName); if (level == AuthLevel::NONE) { continue; From 96e69b5b92c0612e1110f3f54010c9402b266491 Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sat, 23 Jul 2016 20:04:38 +0200 Subject: [PATCH 12/13] moved create of CommTask into ListenTask --- arangod/GeneralServer/GeneralCommTask.cpp | 17 +-- arangod/GeneralServer/GeneralCommTask.h | 20 ++-- arangod/GeneralServer/GeneralListenTask.cpp | 46 +++++++- arangod/GeneralServer/GeneralListenTask.h | 20 ++-- arangod/GeneralServer/GeneralServer.cpp | 106 +----------------- arangod/GeneralServer/GeneralServer.h | 45 +------- .../GeneralServer/GeneralServerFeature.cpp | 9 +- arangod/GeneralServer/GeneralServerFeature.h | 32 +++++- arangod/GeneralServer/HttpCommTask.cpp | 4 - arangod/GeneralServer/HttpsCommTask.cpp | 1 - arangod/Scheduler/SocketTask.cpp | 45 +++++--- 11 files changed, 132 insertions(+), 213 deletions(-) diff --git a/arangod/GeneralServer/GeneralCommTask.cpp b/arangod/GeneralServer/GeneralCommTask.cpp index 30edd20376..16932ec9c3 100644 --- a/arangod/GeneralServer/GeneralCommTask.cpp +++ b/arangod/GeneralServer/GeneralCommTask.cpp @@ -58,8 +58,7 @@ GeneralCommTask::GeneralCommTask(GeneralServer* server, TRI_socket_t socket, _writeBuffers(), _writeBuffersStats(), _isChunked(false), - _requestPending(false), - _setupDone(false) { + _requestPending(false) { LOG(TRACE) << "connection established, client " << TRI_get_fd_or_handle_of_socket(socket) << ", server ip " << _connectionInfo.serverAddress << ", server port " @@ -122,22 +121,10 @@ void GeneralCommTask::handleSimpleError( } } -bool GeneralCommTask::setup(Scheduler* scheduler, EventLoop loop) { - bool ok = SocketTask::setup(scheduler, loop); - if (!ok) return false; - _scheduler = scheduler; - _loop = loop; - setupDone(); - return true; -} - bool GeneralCommTask::handleEvent(EventToken token, EventType events) { bool result = SocketTask::handleEvent(token, events); if (_clientClosed) _scheduler->destroyTask(this); return result; } -void GeneralCommTask::handleTimeout() { - _clientClosed = true; - _server->handleCommunicationClosed(this); -} +void GeneralCommTask::handleTimeout() { _clientClosed = true; } diff --git a/arangod/GeneralServer/GeneralCommTask.h b/arangod/GeneralServer/GeneralCommTask.h index 545c2b1670..d997917d08 100644 --- a/arangod/GeneralServer/GeneralCommTask.h +++ b/arangod/GeneralServer/GeneralCommTask.h @@ -27,6 +27,8 @@ #include "Scheduler/SocketTask.h" +#include + #include "Basics/Mutex.h" #include "Basics/StringBuffer.h" #include "Basics/WorkItem.h" @@ -55,9 +57,6 @@ class GeneralCommTask : public SocketTask, public RequestStatisticsAgent { void handleSimpleError(GeneralResponse::ResponseCode, int code, std::string const& errorMessage); - // task set up complete - void setupDone() { _setupDone.store(true, std::memory_order_relaxed); } - protected: virtual ~GeneralCommTask(); @@ -68,8 +67,6 @@ class GeneralCommTask : public SocketTask, public RequestStatisticsAgent { virtual bool handleEvent(EventToken token, EventType events) override; // called by TODO - virtual bool setup(Scheduler* scheduler, - EventLoop loop) override; // called by void cleanup() override final { SocketTask::cleanup(); } @@ -91,12 +88,11 @@ class GeneralCommTask : public SocketTask, public RequestStatisticsAgent { bool _startThread; std::deque _writeBuffers; std::deque - _writeBuffersStats; // statistics buffers - bool _isChunked; // true if within a chunked response - bool _requestPending; // true if request is complete but not handled - std::atomic _setupDone; // task ready -}; // Commontask -} // rest -} // arango + _writeBuffersStats; // statistics buffers + bool _isChunked; // true if within a chunked response + bool _requestPending; // true if request is complete but not handled +}; +} +} #endif diff --git a/arangod/GeneralServer/GeneralListenTask.cpp b/arangod/GeneralServer/GeneralListenTask.cpp index f668d7beb2..48c063b134 100644 --- a/arangod/GeneralServer/GeneralListenTask.cpp +++ b/arangod/GeneralServer/GeneralListenTask.cpp @@ -25,6 +25,10 @@ #include "GeneralListenTask.h" #include "GeneralServer/GeneralServer.h" +#include "GeneralServer/GeneralServerFeature.h" +#include "Scheduler/Scheduler.h" +#include "Scheduler/SchedulerFeature.h" +#include "Ssl/SslServerFeature.h" using namespace arangodb; using namespace arangodb::rest; @@ -38,9 +42,45 @@ GeneralListenTask::GeneralListenTask(GeneralServer* server, Endpoint* endpoint, : Task("GeneralListenTask"), ListenTask(endpoint), _server(server), - _connectionType(connectionType) {} + _connectionType(connectionType) { + _keepAliveTimeout = GeneralServerFeature::keepAliveTimeout(); -bool GeneralListenTask::handleConnected(TRI_socket_t s, ConnectionInfo&& info) { - _server->handleConnected(s, std::move(info), _connectionType); + SslServerFeature* ssl = + application_features::ApplicationServer::getFeature( + "SslServer"); + + if (ssl != nullptr) { + _sslContext = ssl->sslContext(); + } + + _verificationMode = GeneralServerFeature::verificationMode(); + _verificationCallback = GeneralServerFeature::verificationCallback(); +} + +bool GeneralListenTask::handleConnected(TRI_socket_t socket, + ConnectionInfo&& info) { + GeneralCommTask* commTask; + + switch (_connectionType) { + case ConnectionType::VPPS: + commTask = + new HttpCommTask(_server, socket, std::move(info), _keepAliveTimeout); + break; + case ConnectionType::VPP: + commTask = + new HttpCommTask(_server, socket, std::move(info), _keepAliveTimeout); + break; + case ConnectionType::HTTPS: + commTask = new HttpsCommTask(_server, socket, std::move(info), + _keepAliveTimeout, _sslContext, + _verificationMode, _verificationCallback); + break; + case ConnectionType::HTTP: + commTask = + new HttpCommTask(_server, socket, std::move(info), _keepAliveTimeout); + break; + } + + SchedulerFeature::SCHEDULER->registerTask(commTask); return true; } diff --git a/arangod/GeneralServer/GeneralListenTask.h b/arangod/GeneralServer/GeneralListenTask.h index b60d4f0605..ba38274f84 100644 --- a/arangod/GeneralServer/GeneralListenTask.h +++ b/arangod/GeneralServer/GeneralListenTask.h @@ -26,6 +26,9 @@ #define ARANGOD_HTTP_SERVER_HTTP_LISTEN_TASK_H 1 #include "Scheduler/ListenTask.h" + +#include + #include "GeneralServer/GeneralDefinitions.h" namespace arangodb { @@ -34,19 +37,11 @@ class Endpoint; namespace rest { class GeneralServer; -//////////////////////////////////////////////////////////////////////////////// -/// @brief task used to establish connections -//////////////////////////////////////////////////////////////////////////////// - class GeneralListenTask : public ListenTask { GeneralListenTask(GeneralListenTask const&) = delete; GeneralListenTask& operator=(GeneralListenTask const&) = delete; public: - ////////////////////////////////////////////////////////////////////////////// - /// @brief listen to given port - ////////////////////////////////////////////////////////////////////////////// - GeneralListenTask(GeneralServer* server, Endpoint* endpoint, ConnectionType connectionType); @@ -54,12 +49,13 @@ class GeneralListenTask : public ListenTask { bool handleConnected(TRI_socket_t s, ConnectionInfo&& info) override; private: - ////////////////////////////////////////////////////////////////////////////// - /// @brief underlying general server - ////////////////////////////////////////////////////////////////////////////// - GeneralServer* _server; ConnectionType _connectionType; + double _keepAliveTimeout = 300.0; + SSL_CTX* _sslContext = nullptr; + int _verificationMode = SSL_VERIFY_NONE; + int (*_verificationCallback)(int, X509_STORE_CTX*) = nullptr +; }; } } diff --git a/arangod/GeneralServer/GeneralServer.cpp b/arangod/GeneralServer/GeneralServer.cpp index 4e32b24256..a4728b15a3 100644 --- a/arangod/GeneralServer/GeneralServer.cpp +++ b/arangod/GeneralServer/GeneralServer.cpp @@ -66,18 +66,12 @@ int GeneralServer::sendChunk(uint64_t taskId, std::string const& data) { //////////////////////////////////////////////////////////////////////////////// GeneralServer::GeneralServer( - double keepAliveTimeout, bool allowMethodOverride, - std::vector const& accessControlAllowOrigins, SSL_CTX* ctx) + bool allowMethodOverride, + std::vector const& accessControlAllowOrigins) : _listenTasks(), _endpointList(nullptr), - _commTasks(), - _keepAliveTimeout(keepAliveTimeout), _allowMethodOverride(allowMethodOverride), - _accessControlAllowOrigins(accessControlAllowOrigins), - _ctx(ctx), - _verificationMode(SSL_VERIFY_NONE), - _verificationCallback(nullptr), - _sslAllowed(ctx != nullptr) {} + _accessControlAllowOrigins(accessControlAllowOrigins) {} //////////////////////////////////////////////////////////////////////////////// /// @brief destructs a general server @@ -85,27 +79,6 @@ GeneralServer::GeneralServer( GeneralServer::~GeneralServer() { stopListening(); } -//////////////////////////////////////////////////////////////////////////////// -/// @brief generates a suitable communication task -//////////////////////////////////////////////////////////////////////////////// - -GeneralCommTask* GeneralServer::createCommTask(TRI_socket_t s, - ConnectionInfo&& info, - ConnectionType conntype) { - switch (conntype) { - case ConnectionType::VPPS: - return new HttpCommTask(this, s, std::move(info), _keepAliveTimeout); - case ConnectionType::VPP: - return new HttpCommTask(this, s, std::move(info), _keepAliveTimeout); - case ConnectionType::HTTPS: - // check _ctx and friends? REVIEW - return new HttpsCommTask(this, s, std::move(info), _keepAliveTimeout, - _ctx, _verificationMode, _verificationCallback); - default: - return new HttpCommTask(this, s, std::move(info), _keepAliveTimeout); - } -} - //////////////////////////////////////////////////////////////////////////////// /// @brief add the endpoint list //////////////////////////////////////////////////////////////////////////////// @@ -138,7 +111,7 @@ void GeneralServer::startListening() { } //////////////////////////////////////////////////////////////////////////////// -/// @brief stops listening +/// @brief removes all listen and comm tasks //////////////////////////////////////////////////////////////////////////////// void GeneralServer::stopListening() { @@ -149,69 +122,6 @@ void GeneralServer::stopListening() { _listenTasks.clear(); } -//////////////////////////////////////////////////////////////////////////////// -/// @brief removes all listen and comm tasks -//////////////////////////////////////////////////////////////////////////////// - -void GeneralServer::stop() { - while (true) { - GeneralCommTask* task = nullptr; - - { - MUTEX_LOCKER(mutexLocker, _commTasksLock); - - if (_commTasks.empty()) { - break; - } - - task = *_commTasks.begin(); - _commTasks.erase(task); - } - - SchedulerFeature::SCHEDULER->destroyTask(task); - } -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief handles connection request -//////////////////////////////////////////////////////////////////////////////// - -void GeneralServer::handleConnected(TRI_socket_t s, ConnectionInfo&& info, - ConnectionType connectionType) { - GeneralCommTask* task = createCommTask(s, std::move(info), connectionType); - - try { - MUTEX_LOCKER(mutexLocker, _commTasksLock); - _commTasks.emplace(task); - } catch (...) { - // destroy the task to prevent a leak - deleteTask(task); - throw; - } - - // registers the task and get the number of the scheduler thread - ssize_t n; - SchedulerFeature::SCHEDULER->registerTask(task, &n); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief handles a connection close -//////////////////////////////////////////////////////////////////////////////// - -void GeneralServer::handleCommunicationClosed(GeneralCommTask* task) { - MUTEX_LOCKER(mutexLocker, _commTasksLock); - _commTasks.erase(task); -} - -//////////////////////////////////////////////////////////////////////////////// -/// @brief handles a connection failure -//////////////////////////////////////////////////////////////////////////////// - -void GeneralServer::handleCommunicationFailure(GeneralCommTask* task) { - MUTEX_LOCKER(mutexLocker, _commTasksLock); - _commTasks.erase(task); -} - //////////////////////////////////////////////////////////////////////////////// /// @brief create a job for asynchronous execution (using the dispatcher) //////////////////////////////////////////////////////////////////////////////// @@ -297,20 +207,12 @@ bool GeneralServer::openEndpoint(Endpoint* endpoint) { if (endpoint->transport() == Endpoint::TransportType::HTTP) { if (endpoint->encryption() == Endpoint::EncryptionType::SSL) { - if (!_sslAllowed) { // we should not end up here - LOG(FATAL) << "no ssl context"; - FATAL_ERROR_EXIT(); - } connectionType = ConnectionType::HTTPS; } else { connectionType = ConnectionType::HTTP; } } else { if (endpoint->encryption() == Endpoint::EncryptionType::SSL) { - if (!_sslAllowed) { // we should not end up here - LOG(FATAL) << "no ssl context"; - FATAL_ERROR_EXIT(); - } connectionType = ConnectionType::VPPS; } else { connectionType = ConnectionType::VPP; diff --git a/arangod/GeneralServer/GeneralServer.h b/arangod/GeneralServer/GeneralServer.h index 6e907c76ca..13fe0784ca 100644 --- a/arangod/GeneralServer/GeneralServer.h +++ b/arangod/GeneralServer/GeneralServer.h @@ -26,14 +26,14 @@ #ifndef ARANGOD_HTTP_SERVER_HTTP_SERVER_H #define ARANGOD_HTTP_SERVER_HTTP_SERVER_H 1 -#include "GeneralServer/GeneralDefinitions.h" #include "Scheduler/TaskManager.h" + #include "Basics/Mutex.h" #include "Endpoint/ConnectionInfo.h" -#include "GeneralServer/RestHandler.h" +#include "GeneralServer/GeneralDefinitions.h" #include "GeneralServer/HttpCommTask.h" #include "GeneralServer/HttpsCommTask.h" -#include +#include "GeneralServer/RestHandler.h" namespace arangodb { class EndpointList; @@ -57,9 +57,8 @@ class GeneralServer : protected TaskManager { static int sendChunk(uint64_t, std::string const&); public: - GeneralServer(double keepAliveTimeout, bool allowMethodOverride, - std::vector const& accessControlAllowOrigins, - SSL_CTX* ctx = nullptr); + GeneralServer(bool allowMethodOverride, + std::vector const& accessControlAllowOrigins); virtual ~GeneralServer(); public: @@ -69,15 +68,6 @@ class GeneralServer : protected TaskManager { // check, if we allow a method override bool allowMethodOverride() { return _allowMethodOverride; } - // generates a suitable communication task - virtual GeneralCommTask* createCommTask( - TRI_socket_t, ConnectionInfo&&, ConnectionType = ConnectionType::HTTP); - - void setVerificationMode(int mode) { _verificationMode = mode; } - void setVerificationCallback(int (*func)(int, X509_STORE_CTX*)) { - _verificationCallback = func; - } - public: // list of trusted origin urls for CORS std::vector const& trustedOrigins() const { @@ -93,18 +83,6 @@ class GeneralServer : protected TaskManager { // stops listining void stopListening(); - // removes all listen and comm tasks - void stop(); - - // handles connection request - void handleConnected(TRI_socket_t s, ConnectionInfo&& info, ConnectionType); - - // handles a connection close - void handleCommunicationClosed(GeneralCommTask*); - - // handles a connection failure - void handleCommunicationFailure(GeneralCommTask*); - // creates a job for asynchronous execution bool handleRequestAsync(GeneralCommTask*, arangodb::WorkItem::uptr&, @@ -138,15 +116,6 @@ class GeneralServer : protected TaskManager { // defined ports and addresses const EndpointList* _endpointList; - // mutex for comm tasks - arangodb::Mutex _commTasksLock; - - // active comm tasks - std::unordered_set _commTasks; - - // keep-alive timeout - double _keepAliveTimeout; - // allow to override the method bool _allowMethodOverride; @@ -154,10 +123,6 @@ class GeneralServer : protected TaskManager { std::vector const _accessControlAllowOrigins; private: - SSL_CTX* _ctx; - int _verificationMode; - int (*_verificationCallback)(int, X509_STORE_CTX*); - bool _sslAllowed; }; } } diff --git a/arangod/GeneralServer/GeneralServerFeature.cpp b/arangod/GeneralServer/GeneralServerFeature.cpp index db73195075..9fc743f977 100644 --- a/arangod/GeneralServer/GeneralServerFeature.cpp +++ b/arangod/GeneralServer/GeneralServerFeature.cpp @@ -87,7 +87,6 @@ AuthInfo GeneralServerFeature::AUTH_INFO; GeneralServerFeature::GeneralServerFeature( application_features::ApplicationServer* server) : ApplicationFeature(server, "GeneralServer"), - _keepAliveTimeout(300.0), _allowMethodOverride(false), _authentication(true), _authenticationUnixSockets(true), @@ -322,7 +321,7 @@ void GeneralServerFeature::stop() { } for (auto& server : _servers) { - server->stop(); + server->stopListening(); } } @@ -345,7 +344,6 @@ void GeneralServerFeature::buildServers() { auto const& endpointList = endpoint->endpointList(); // check if endpointList contains ssl featured server - SSL_CTX* sslContext = nullptr; if (endpointList.hasSsl()) { SslServerFeature* ssl = application_features::ApplicationServer::getFeature( @@ -356,12 +354,11 @@ void GeneralServerFeature::buildServers() { "please use the '--ssl.keyfile' option"; FATAL_ERROR_EXIT(); } - sslContext = ssl->sslContext(); } GeneralServer* server = - new GeneralServer(_keepAliveTimeout, _allowMethodOverride, - _accessControlAllowOrigins, sslContext); + new GeneralServer(_allowMethodOverride, + _accessControlAllowOrigins); server->setEndpointList(&endpointList); _servers.push_back(server); diff --git a/arangod/GeneralServer/GeneralServerFeature.h b/arangod/GeneralServer/GeneralServerFeature.h index 732eb945ec..9e3d936806 100644 --- a/arangod/GeneralServer/GeneralServerFeature.h +++ b/arangod/GeneralServer/GeneralServerFeature.h @@ -25,6 +25,8 @@ #include "ApplicationFeatures/ApplicationFeature.h" +#include + #include "Actions/RestActionHandler.h" #include "VocBase/AuthInfo.h" @@ -39,12 +41,30 @@ class RestServerThread; class GeneralServerFeature final : public application_features::ApplicationFeature { + public: + typedef int (*verification_callback_fptr)(int, X509_STORE_CTX*); + public: static rest::RestHandlerFactory* HANDLER_FACTORY; static rest::AsyncJobManager* JOB_MANAGER; static AuthInfo AUTH_INFO; public: + static double keepAliveTimeout() { + return GENERAL_SERVER != nullptr ? GENERAL_SERVER->_keepAliveTimeout + : 300.0; + }; + + static int verificationMode() { + return GENERAL_SERVER != nullptr ? GENERAL_SERVER->_verificationMode + : SSL_VERIFY_NONE; + }; + + static verification_callback_fptr verificationCallback() { + return GENERAL_SERVER != nullptr ? GENERAL_SERVER->_verificationCallback + : nullptr; + }; + static bool authenticationEnabled() { return GENERAL_SERVER != nullptr && GENERAL_SERVER->authentication(); } @@ -57,6 +77,7 @@ class GeneralServerFeature final if (GENERAL_SERVER == nullptr) { return std::vector(); } + return GENERAL_SERVER->trustedProxies(); } @@ -64,6 +85,7 @@ class GeneralServerFeature final if (GENERAL_SERVER == nullptr) { return std::string(); } + return GENERAL_SERVER->jwtSecret(); } @@ -82,8 +104,14 @@ class GeneralServerFeature final void stop() override final; void unprepare() override final; + public: + void setVerificationMode(int mode) { _verificationMode = mode; } + void setVerificationCallback(int (*func)(int, X509_STORE_CTX*)) { + _verificationCallback = func; + } + private: - double _keepAliveTimeout; + double _keepAliveTimeout = 300.0; bool _allowMethodOverride; bool _authentication; bool _authenticationUnixSockets; @@ -94,6 +122,8 @@ class GeneralServerFeature final std::vector _accessControlAllowOrigins; std::string _jwtSecret; + int _verificationMode; + verification_callback_fptr _verificationCallback; public: bool authentication() const { return _authentication; } diff --git a/arangod/GeneralServer/HttpCommTask.cpp b/arangod/GeneralServer/HttpCommTask.cpp index 3004e099a2..e93e7533b2 100644 --- a/arangod/GeneralServer/HttpCommTask.cpp +++ b/arangod/GeneralServer/HttpCommTask.cpp @@ -844,7 +844,6 @@ void HttpCommTask::signalTask(TaskData* data) { bool HttpCommTask::handleRead() { bool res = true; - if (!_setupDone.load(std::memory_order_relaxed)) return res; if (!_closeRequested) { res = fillReadBuffer(); @@ -862,10 +861,8 @@ bool HttpCommTask::handleRead() { if (_clientClosed) { res = false; - _server->handleCommunicationClosed(this); } else if (!res) { _clientClosed = true; - _server->handleCommunicationFailure(this); } return res; @@ -886,7 +883,6 @@ void HttpCommTask::completedWriteBuffer() { if (!_clientClosed && _closeRequested && !hasWriteBuffer() && _writeBuffers.empty() && !_isChunked) { _clientClosed = true; - _server->handleCommunicationClosed(this); } } diff --git a/arangod/GeneralServer/HttpsCommTask.cpp b/arangod/GeneralServer/HttpsCommTask.cpp index a7292cdcaa..b14425d66a 100644 --- a/arangod/GeneralServer/HttpsCommTask.cpp +++ b/arangod/GeneralServer/HttpsCommTask.cpp @@ -111,7 +111,6 @@ bool HttpsCommTask::handleEvent(EventToken token, EventType revents) { // status is somehow invalid. we got here even though no accept was ever // successful _clientClosed = true; - _server->handleCommunicationFailure(this); _scheduler->destroyTask(this); } diff --git a/arangod/Scheduler/SocketTask.cpp b/arangod/Scheduler/SocketTask.cpp index 76ac11e600..db17cdbf17 100644 --- a/arangod/Scheduler/SocketTask.cpp +++ b/arangod/Scheduler/SocketTask.cpp @@ -24,9 +24,9 @@ #include "SocketTask.h" -#include "Logger/Logger.h" #include "Basics/StringBuffer.h" #include "Basics/socket-utils.h" +#include "Logger/Logger.h" #include "Scheduler/Scheduler.h" #include @@ -122,17 +122,20 @@ bool SocketTask::fillReadBuffer() { return fillReadBuffer(); } - // condition is required like this because g++ 6 will complain about + // condition is required like this because g++ 6 will complain about // if (myerrno != EWOULDBLOCK && myerrno != EAGAIN) // having two identical branches (because EWOULDBLOCK == EAGAIN on Linux). - // however, posix states that there may be systems where EWOULDBLOCK != EAGAIN... + // however, posix states that there may be systems where EWOULDBLOCK != + // EAGAIN... if (myerrno != EWOULDBLOCK && (EWOULDBLOCK == EAGAIN || myerrno != EAGAIN)) { - LOG(DEBUG) << "read from socket failed with " << myerrno << ": " << strerror(myerrno); + LOG(DEBUG) << "read from socket failed with " << myerrno << ": " + << strerror(myerrno); return false; } - TRI_ASSERT(myerrno == EWOULDBLOCK || (EWOULDBLOCK != EAGAIN && myerrno == EAGAIN)); + TRI_ASSERT(myerrno == EWOULDBLOCK || + (EWOULDBLOCK != EAGAIN && myerrno == EAGAIN)); // from man(2) read: // The file descriptor fd refers to a socket and has been marked @@ -141,7 +144,8 @@ bool SocketTask::fillReadBuffer() { // either error to be returned for this case, and does not require these // constants to have the same value, // so a portable application should check for both possibilities. - LOG(TRACE) << "read would block with " << myerrno << ": " << strerror(myerrno); + LOG(TRACE) << "read would block with " << myerrno << ": " + << strerror(myerrno); return true; } @@ -172,13 +176,16 @@ bool SocketTask::handleWrite() { return handleWrite(); } - if (myerrno != EWOULDBLOCK && (EAGAIN == EWOULDBLOCK || myerrno != EAGAIN)) { - LOG(DEBUG) << "writing to socket failed with " << myerrno << ": " << strerror(myerrno); + if (myerrno != EWOULDBLOCK && + (EAGAIN == EWOULDBLOCK || myerrno != EAGAIN)) { + LOG(DEBUG) << "writing to socket failed with " << myerrno << ": " + << strerror(myerrno); return false; } - TRI_ASSERT(myerrno == EWOULDBLOCK || (EWOULDBLOCK != EAGAIN && myerrno == EAGAIN)); + TRI_ASSERT(myerrno == EWOULDBLOCK || + (EWOULDBLOCK != EAGAIN && myerrno == EAGAIN)); nr = 0; } @@ -269,7 +276,8 @@ bool SocketTask::setup(Scheduler* scheduler, EventLoop loop) { LOG(TRACE) << "attempting to convert socket handle to socket descriptor"; if (!TRI_isvalidsocket(_commSocket)) { - LOG(ERR) << "In SocketTask::setup could not convert socket handle to socket descriptor -- invalid socket handle"; + LOG(ERR) << "In SocketTask::setup could not convert socket handle to " + "socket descriptor -- invalid socket handle"; return false; } @@ -282,12 +290,15 @@ bool SocketTask::setup(Scheduler* scheduler, EventLoop loop) { int res = (int)_commSocket.fileHandle; if (res == -1) { - LOG(ERR) << "In SocketTask::setup could not convert socket handle to socket descriptor -- _open_osfhandle(...) failed"; + LOG(ERR) << "In SocketTask::setup could not convert socket handle to " + "socket descriptor -- _open_osfhandle(...) failed"; res = TRI_CLOSE_SOCKET(_commSocket); if (res != 0) { res = WSAGetLastError(); - LOG(ERR) << "In SocketTask::setup closesocket(...) failed with error code: " << res; + LOG(ERR) + << "In SocketTask::setup closesocket(...) failed with error code: " + << res; } TRI_invalidatesocket(&_commSocket); @@ -301,11 +312,6 @@ bool SocketTask::setup(Scheduler* scheduler, EventLoop loop) { _scheduler = scheduler; _loop = loop; - _readWatcher = _scheduler->installSocketEvent(loop, EVENT_SOCKET_READ, this, - _commSocket); - _writeWatcher = _scheduler->installSocketEvent(loop, EVENT_SOCKET_WRITE, this, - _commSocket); - // install timer for keep-alive timeout with some high default value _keepAliveWatcher = _scheduler->installTimerEvent(loop, this, 60.0); @@ -314,6 +320,11 @@ bool SocketTask::setup(Scheduler* scheduler, EventLoop loop) { _tid = Thread::currentThreadId(); + _writeWatcher = _scheduler->installSocketEvent(loop, EVENT_SOCKET_WRITE, this, + _commSocket); + + _readWatcher = _scheduler->installSocketEvent(loop, EVENT_SOCKET_READ, this, + _commSocket); return true; } From a7679fe16f56314ec8d94e0b55be42fc87213750 Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sun, 24 Jul 2016 11:30:39 +0200 Subject: [PATCH 13/13] silenced compiler warning --- arangod/GeneralServer/GeneralListenTask.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arangod/GeneralServer/GeneralListenTask.cpp b/arangod/GeneralServer/GeneralListenTask.cpp index 48c063b134..e49530e2a6 100644 --- a/arangod/GeneralServer/GeneralListenTask.cpp +++ b/arangod/GeneralServer/GeneralListenTask.cpp @@ -59,7 +59,7 @@ GeneralListenTask::GeneralListenTask(GeneralServer* server, Endpoint* endpoint, bool GeneralListenTask::handleConnected(TRI_socket_t socket, ConnectionInfo&& info) { - GeneralCommTask* commTask; + GeneralCommTask* commTask = nullptr; switch (_connectionType) { case ConnectionType::VPPS: @@ -79,6 +79,8 @@ bool GeneralListenTask::handleConnected(TRI_socket_t socket, commTask = new HttpCommTask(_server, socket, std::move(info), _keepAliveTimeout); break; + default: + return false; } SchedulerFeature::SCHEDULER->registerTask(commTask);

    koUxXKN|3{+xytHXU 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